GPIO Registers

From 3dbrew
Revision as of 14:19, 21 September 2019 by Gericom (talk | contribs) (→‎Legacy RTC)
Jump to navigation Jump to search

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 ???
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_RAW 0x10147120 4 Byte-wise bit-swapped (bit7 is bit0, etc.) BCD RTC (byte0 = seconds, byte1 = minutes, byte2 = hours, byte3 = day(?))
RTC_? 0x10147124 4 RTC offset?
RTC_? 0x10147130 4 ???
RTC_? 0x10147134 4 ???
RTC_? 0x10147140 4 Some sort of byte-wise bit-swapped seconds counter
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_? 0x10147160 4 ???
RTC_? 0x10147164 4 ???

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.

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