GPIO Registers: Difference between revisions
Jump to navigation
Jump to search
Updated RTC_CNT information |
|||
| Line 57: | Line 57: | ||
! Description | ! Description | ||
|- | |- | ||
| RTC_CNT | | [[#RTC_CNT|RTC_CNT]] | ||
| 0x10147100 | | 0x10147100 | ||
| 2 | | 2 | ||
| | | Control register | ||
|- | |- | ||
| RTC_REG_STAT1 | | RTC_REG_STAT1 | ||
| Line 229: | Line 229: | ||
| 1-15 | | 1-15 | ||
| Unused by GPIO-sysmodule and TwlBg. | | Unused by GPIO-sysmodule and TwlBg. | ||
|} | |||
== Legacy RTC == | |||
=== RTC_CNT (0x10147100) === | |||
{| class="wikitable" border="1" | |||
! Bit | |||
! Description | |||
|- | |||
| 0 | |||
| Latch STAT1 | |||
|- | |||
| 1 | |||
| Latch STAT2 | |||
|- | |||
| 2 | |||
| Latch CLKADJ | |||
|- | |||
| 3 | |||
| Latch FREE | |||
|- | |||
| 4 | |||
| Latch TIME | |||
|- | |||
| 5 | |||
| Latch ALRMTIM1 | |||
|- | |||
| 6 | |||
| Latch ALRMTIM2 | |||
|- | |||
| 7 | |||
| Latch COUNT | |||
|- | |||
| 8 | |||
| Latch FOUT1 | |||
|- | |||
| 9 | |||
| Latch FOUT2 | |||
|- | |||
| 10 | |||
| Latch ALRMDAT1 | |||
|- | |||
| 11 | |||
| Latch ALRMDAT2 | |||
|- | |||
| 12 | |||
| ARM7 Busy? This may be chipselect | |||
|- | |||
| 13 | |||
| ARM7 read command received? (writing 1 clears it seems) | |||
|- | |||
| 14 | |||
| ARM7 write command recieved? (writing 1 clears it seems) | |||
|- | |||
| 15 | |||
| DS SIO SI pin (rtc irq pin) | |||
|} | |} | ||
Revision as of 18:18, 29 September 2019
Registers
GPIO
| Name | Address | Width | GPIO bitmasks associated with this register |
|---|---|---|---|
| GPIO_DATA0 | 0x10147000 | 2 | 0x1, 0x2, 0x4 |
| GPIO_DATA1 | 0x10147010 | 4 | 0x8, 0x10 |
| GPIO_DATA2 | 0x10147014 | 2 | 0x20 |
| GPIO_DATA3 | 0x10147020 | 2 | 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000 |
| GPIO_DATA3_INTERRUPT_CLEAR | 0x10147022 | 2 | 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000 |
| ?? | 0x10147024 | 2 | 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000 |
| ? | 0x10147026 | 2 | ? |
| GPIO_DATA4 | 0x10147028 | 2 | 0x40000 |
Legacy RTC
| Name | Address | Width | Description |
|---|---|---|---|
| RTC_CNT | 0x10147100 | 2 | Control register |
| RTC_REG_STAT1 | 0x10147110 | 1 | Rtc status register 1 (command 0). Bitswapped |
| RTC_REG_STAT2 | 0x10147111 | 1 | Rtc status register 2 (command 1). Bitswapped |
| RTC_REG_CLKADJ | 0x10147112 | 1 | Rtc clock adjustment register (command 6). Bitswapped |
| RTC_REG_FREE | 0x10147113 | 1 | The free general purpose rtc register (command 7). Bitswapped |
| RTC_REG_TIME1 | 0x10147120 | 4 | Byte-wise bit-swapped (bit7 is bit0, etc.) BCD RTC (byte0 = seconds, byte1 = minutes, byte2 = hours, byte3 = day of week) |
| RTC_REG_TIME2 | 0x10147124 | 4 (3?) | Day, month and year all byte-wise bit-swapped |
| RTC_REG_ALRMTIM1 | 0x10147130 | 4 (3?) | Rtc alarm time register 1 (command 4). Byte-wise bit-swapped |
| RTC_REG_ALRMTIM2 | 0x10147134 | 4 (3?) | Rtc alarm time register 2 (command 5). Byte-wise bit-swapped |
| RTC_REG_COUNT | 0x10147140 | 4 (3?) | Rtc dsi counter register (ex command 0). Byte-wise bit-swapped |
| RTC_REG_FOUT1 | 0x10147150 | 1 | Rtc dsi fout register 1 (ex command 1). Bitswapped |
| RTC_REG_FOUT2 | 0x10147151 | 1 | Rtc dsi fout register 2 (ex command 2). Bitswapped |
| RTC_REG_ALRMDAT1 | 0x10147160 | 4 (3?) | Rtc dsi alarm date register 1 (ex command 4). Byte-wise bit-swapped |
| RTC_REG_ALRMDAT2 | 0x10147164 | 4 (3?) | Rtc dsi alarm date register 2 (ex command 5). Byte-wise bit-swapped |
Descriptions
0x10147010
| Bit | Description |
|---|---|
| 24 | Enable/disable? GPIO interrupt 0x64 (bitmask 0x8) |
| 25 | Enable/disable? GPIO interrupt 0x66 (bitmask 0x10) |
0x10147026
| Bit | Description |
|---|---|
| 0-8 | ? |
| 9 | Enable/disable interrupt 0x71. |
| 10-15 | ? |
GPIO_DATA
GPIO_DATA0
| Bit | Description |
|---|---|
| 0-2 | Used for GPIO bitmask 0x7. |
| 1 | DS EXTKEYIN Pen down (0 = touching, 1 = not touching) |
| 3 | Unused by GPIO-sysmodule and TwlBg. |
| 4 | Only used by Boot11. |
| 5-15 | Unused by GPIO-sysmodule and TwlBg. |
GPIO_DATA1
| Bit | Description |
|---|---|
| 0-1 | Used for GPIO bitmask 0x18. |
| 2-31 | Unused by GPIO-sysmodule and TwlBg. |
GPIO_DATA2
| Bit | Description |
|---|---|
| 0 | Used for GPIO bitmask 0x20. |
| 1-15 | Unused by GPIO-sysmodule and TwlBg. |
GPIO_DATA3
| Bit | Description |
|---|---|
| 0-11 | Used for GPIO bitmask 0x3FFC0. |
| 12-31 | Unused by GPIO-sysmodule and TwlBg. |
GPIO_DATA4
| Bit | Description |
|---|---|
| 0 | Used for GPIO bitmask 0x40000. |
| 1-15 | Unused by GPIO-sysmodule and TwlBg. |
Legacy RTC
RTC_CNT (0x10147100)
| Bit | Description |
|---|---|
| 0 | Latch STAT1 |
| 1 | Latch STAT2 |
| 2 | Latch CLKADJ |
| 3 | Latch FREE |
| 4 | Latch TIME |
| 5 | Latch ALRMTIM1 |
| 6 | Latch ALRMTIM2 |
| 7 | Latch COUNT |
| 8 | Latch FOUT1 |
| 9 | Latch FOUT2 |
| 10 | Latch ALRMDAT1 |
| 11 | Latch ALRMDAT2 |
| 12 | ARM7 Busy? This may be chipselect |
| 13 | ARM7 read command received? (writing 1 clears it seems) |
| 14 | ARM7 write command recieved? (writing 1 clears it seems) |
| 15 | DS SIO SI pin (rtc irq pin) |
Default values
After bootrom initialization, these are the values of the registers:
| Address | Value |
|---|---|
| 0x10147000 | 0x0003 |
| 0x10147010 | 0x00000002 |
| 0x10147014 | 0x0000 |
| 0x10147020 | 0x00000DFB |
| 0x10147024 | 0x00000000 |
| 0x10147028 | 0x0000 |