Difference between revisions of "GPIO Registers"

From 3dbrew
Jump to navigation Jump to search
(Add legacy RTC registers)
Line 1: Line 1:
 
= Registers =
 
= Registers =
 +
 +
== GPIO ==
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
!  Name
 
!  Name
Line 46: Line 49:
 
| 0x40000
 
| 0x40000
 
|}
 
|}
 +
 +
== Legacy RTC ==
 +
{| class="wikitable" border="1"
 +
!  Name
 +
!  Address
 +
!  Width
 +
!  Description
 +
|-
 +
| RTC_CNT (?)
 +
| 0x10147100
 +
| 2
 +
| ???
 +
|-
 +
| RTC_?
 +
| 0x10147110
 +
| 1
 +
| ???
 +
|-
 +
| RTC_?
 +
| 0x10147111
 +
| 1
 +
| ???
 +
|-
 +
| 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_?
 +
| 0x10147150
 +
| 1
 +
| ???
 +
|-
 +
| RTC_?
 +
| 0x10147151
 +
| 1
 +
| ???
 +
|-
 +
| RTC_?
 +
| 0x10147160
 +
| 4
 +
| ???
 +
|-
 +
| RTC_?
 +
| 0x10147164
 +
| 4
 +
| ???
 +
|-
 +
|}
 +
 +
= Descriptions =
  
 
== 0x10147010 ==
 
== 0x10147010 ==
Line 85: Line 159:
 
| 0-2
 
| 0-2
 
| Used for GPIO [[GPIO_Services|bitmask]] 0x7.
 
| Used for GPIO [[GPIO_Services|bitmask]] 0x7.
 +
|-
 +
| 1
 +
| DS EXTKEYIN Pen down (0 = touching, 1 = not touching)
 
|-
 
|-
 
| 3
 
| 3

Revision as of 22:42, 23 July 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 ???
RTC_? 0x10147110 1 ???
RTC_? 0x10147111 1 ???
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_? 0x10147150 1 ???
RTC_? 0x10147151 1 ???
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