Difference between revisions of "N88AP/Device Tree"

From The iPhone Wiki
Jump to: navigation, search
(Interrupts)
m (IAdam1n moved page N88ap/Device Tree to N88AP/Device Tree without leaving a redirect: Updating.)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
{{lowercase}}
  +
This page is a dump of the [[N88AP|iPhone 3GS]]'s [[Device Tree]].
  +
 
== Address Spaces ==
 
== Address Spaces ==
  +
/arm-io: base = 80000000
<pre>
 
/arm-io: base = 80000000
+
/arm-io/vic: BF200000:00030000
/arm-io/vic: BF200000:00030000
+
/arm-io/gpio: 83000000:00001000
/arm-io/gpio: 83000000:00001000
+
/arm-io/pmgr: BF100000:00002000
/arm-io/pmgr: BF100000:00002000
+
/arm-io/pmgr: BFC00000:00001000
/arm-io/pmgr: BFC00000:00001000
+
/arm-io/pmgr: C0000000:00004000
/arm-io/pmgr: C0000000:00004000
+
/arm-io/pmgr: CFFFC000:00004000
/arm-io/pmgr: CFFFC000:00004000
+
/arm-io/cdma: 87000000:0001C000
/arm-io/cdma: 87000000:0001C000
+
/arm-io/cdma: 87800000:00009000
/arm-io/cdma: 87800000:00009000
+
/arm-io/dart0: BFE00000:00001000
/arm-io/dart0: BFE00000:00001000
+
/arm-io/dart1: BFF00000:00001000
/arm-io/dart1: BFF00000:00001000
+
/arm-io/sdio: 80000000:00001000
/arm-io/sdio: 80000000:00001000
+
/arm-io/sha1: 80100000:00001000
/arm-io/sha1: 80100000:00001000
+
/arm-io/ceata: 81000000:00001000
/arm-io/ceata: 81000000:00001000
+
/arm-io/flash-controller0: 81200000:00001000
/arm-io/flash-controller0: 81200000:00001000
+
/arm-io/flash-controller0: 81300000:00001000
/arm-io/flash-controller0: 81300000:00001000
+
/arm-io/sgx: 85300000:00001000
/arm-io/sgx: 85300000:00001000
+
/arm-io/scaler: 85500000:00001000
/arm-io/scaler: 85500000:00001000
+
/arm-io/tv-out: 85600000:00001000
/arm-io/tv-out: 85600000:00001000
+
/arm-io/tv-out: 85200000:00001000
/arm-io/tv-out: 85200000:00001000
+
/arm-io/tv-out: 85100000:00001000
/arm-io/tv-out: 85100000:00001000
+
/arm-io/isp: 88300000:000D4000
/arm-io/isp: 88300000:000D4000
+
/arm-io/isp: 88100000:00001000
/arm-io/isp: 88100000:00001000
+
/arm-io/venc: 88000000:00001000
/arm-io/venc: 88000000:00001000
+
/arm-io/vxd: 85000000:00100000
/arm-io/vxd: 85000000:00100000
+
/arm-io/spi0: 82000000:00001000
/arm-io/spi0: 82000000:00001000
+
/arm-io/spi0/nor-flash: base = 00000000
/arm-io/spi0/nor-flash: base = 00000000
+
/arm-io/spi0/nor-flash/diagnostic-data: 00006000:00002000
/arm-io/spi0/nor-flash/diagnostic-data: 00006000:00002000
+
/arm-io/spi0/nor-flash/diagnostic-data: 00004000:00002000
/arm-io/spi0/nor-flash/diagnostic-data: 00004000:00002000
+
/arm-io/spi0/nor-flash/nvram: 000FC000:00002000
/arm-io/spi0/nor-flash/nvram: 000FC000:00002000
+
/arm-io/spi0/nor-flash/nvram: 000FE000:00002000
/arm-io/spi0/nor-flash/nvram: 000FE000:00002000
+
/arm-io/spi0/nor-flash/raw-device: 00008000:000F4000
/arm-io/spi0/nor-flash/raw-device: 00008000:000F4000
+
/arm-io/spi0/nor-flash/raw-device: 00000000:00001000
/arm-io/spi0/nor-flash/raw-device: 00000000:00001000
+
/arm-io/spi1: 82100000:00001000
/arm-io/spi1: 82100000:00001000
+
/arm-io/spi2: 82200000:00001000
/arm-io/spi2: 82200000:00001000
+
/arm-io/uart0: 82500000:00001000
/arm-io/uart0: 82500000:00001000
+
/arm-io/uart1: 82600000:00001000
/arm-io/uart1: 82600000:00001000
+
/arm-io/uart2: 82700000:00001000
/arm-io/uart2: 82700000:00001000
+
/arm-io/uart3: 82800000:00001000
/arm-io/uart3: 82800000:00001000
+
/arm-io/uart4: 82900000:00001000
/arm-io/uart4: 82900000:00001000
+
/arm-io/pke: 83100000:00001000
/arm-io/pke: 83100000:00001000
+
/arm-io/i2c0: 83200000:00001000
/arm-io/i2c0: 83200000:00001000
+
/arm-io/i2c2: 83400000:00001000
/arm-io/i2c2: 83400000:00001000
+
/arm-io/pwm: 83500000:00001000
/arm-io/pwm: 83500000:00001000
+
/arm-io/otgphyctrl: 86000000:00001000
/arm-io/otgphyctrl: 86000000:00001000
+
/arm-io/usb-otg: 86100000:00010000
/arm-io/usb-otg: 86100000:00010000
+
/arm-io/iop: 86300000:00001000
/arm-io/iop: 86300000:00001000
+
/arm-io/iop: BF300000:00001000
/arm-io/iop: BF300000:00001000
+
/arm-io/clcd: 85400000:00003000
/arm-io/clcd: 85400000:00003000
+
/arm-io/mipi-dsim: 89000000:00001000
/arm-io/mipi-dsim: 89000000:00001000
+
/arm-io/swi: 89100000:00001000
/arm-io/swi: 89100000:00001000
+
/arm-io/audio-complex: 84300000:00005000
/arm-io/audio-complex: 84300000:00005000
+
/arm-io/audio-complex: 84400000:00001000
/arm-io/audio-complex: 84400000:00001000
+
/arm-io/i2s0: 84500000:00001000
/arm-io/i2s0: 84500000:00001000
+
/arm-io/i2s1: 84501000:00001000
/arm-io/i2s1: 84501000:00001000
+
/arm-io/i2s2: 84502000:00001000
/arm-io/i2s2: 84502000:00001000
+
/arm-io/amc: 84100000:00003000
/arm-io/amc: 84100000:00003000
+
/arm-io/amc: 84000000:00038000
/arm-io/amc: 84000000:00038000
+
/arm-io/jpeg: 88200000:00001000
  +
009016B0: / [bootrom]
/arm-io/jpeg: 88200000:00001000
 
  +
00901FF0: /chosen
009016B0: / [bootrom]
 
  +
00902740: /cpus
00901FF0: /chosen
 
  +
00902780: /chosen/memory-map
00902740: /cpus
 
  +
009028C0: /options
00902780: /chosen/memory-map
 
  +
009028E0: /chosen/iBoot
009028C0: /options
 
  +
00903010: /aliases
009028E0: /chosen/iBoot
 
  +
00903050: /cpus/cpu0 [cpu]
00903010: /aliases
 
  +
ipi_dispatch = /arm-io/vic['IPID'](0x00000000)
00903050: /cpus/cpu0 [cpu]
 
  +
00903CE0: /memory [memory]
interrupt-parent = /arm-io/vic
 
  +
00904460: /arm-io [s5l8920x-io]
009041E0: /vram [vram]
 
  +
00904BE0: /buttons [buttons]
clock_gate = /arm-io/pmgr['clkG']()
 
  +
button_voldown = /arm-io/gpio['GPIO'](0x00001601, 0x00000000)
00904BE0: /buttons [buttons]
 
  +
00904C20: /arm-io/vic [interrupt-controller]
interrupt-parent = /arm-io/gpio
 
  +
00905280: /arm-io/gpio [interrupt-controller]
core_voltage_2 = /arm-io/swi['corV'](0x003C0003)
 
  +
interrupt-parent = /arm-io/vic
00905280: /arm-io/gpio [interrupt-controller]
 
  +
device_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00010101)
009080F0: /arm-io/sdio [sdio]
 
  +
interrupt-parent = /arm-io/vic
device_wake = /arm-io/gpio['GPIO'](0x00001404, 0x00000101)
 
  +
009095E0: /arm-io/flash-controller0 [fmi]
interrupt-parent = /arm-io/vic
 
  +
device1_reset = /arm-io/pmgr['ARST'](0x00000027)
009095E0: /arm-io/flash-controller0 [fmi]
 
  +
00909D90: /arm-io/flash-controller0/disk [nand]
interrupt-parent = /arm-io/vic
 
  +
interrupt-parent = /arm-io/vic
amp_enable = /arm-io/gpio['GPIO'](0x00000A03, 0x00000101)
 
  +
sensor_shutdown = /arm-io/gpio['GPIO'](0x00000306, 0x02000101)
0090B9E0: /arm-io/isp [isp]
 
  +
interrupt-parent = /arm-io/vic
sensor_extclk = /arm-io/gpio['GPIO'](0x00000307, 0x02000101)
 
  +
spi_cs0 = /arm-io/gpio['GPIO'](0x00001204, 0x00000001)
0090CE80: /arm-io/spi0 [spi]
 
  +
interrupt-parent = /arm-io/vic
spi_cs0 = /arm-io/gpio['GPIO'](0x00001204, 0x00000001)
 
  +
spi_cs0 = /arm-io/gpio['GPIO'](0x00001300, 0x00010001)
0090D5F0: /arm-io/spi1 [spi]
 
  +
interrupt-parent = /arm-io/vic
spi_cs0 = /arm-io/gpio['GPIO'](0x00001300, 0x00010001)
 
  +
sclk = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)
0090EFA0: /arm-io/spi2 [spi]
 
mosi = /arm-io/gpio['GPIO'](0x00001302, 0x03000102)
+
mrdy = /arm-io/gpio['GPIO'](0x00001802, 0x00000101)
mrdy = /arm-io/gpio['GPIO'](0x00001802, 0x00000101)
+
interrupt-parent = /arm-io/gpio
interrupt-parent = /arm-io/gpio
+
dma-parent = /arm-io/cdma
  +
0090EFE0: /arm-io/spi1/multi-touch [multi-touch]
dma-parent = /arm-io/cdma
 
  +
reset = /arm-io/gpio['GPIO'](0x00001401, 0x00010001)
0090EFE0: /arm-io/spi1/multi-touch [multi-touch]
 
  +
interrupt-parent = /arm-io/gpio
power_ldo = /arm-io/i2c0/pmu['pmuL'](0x0708020B)
 
interrupt-parent = /arm-io/gpio
+
00910B00: /arm-io/uart0 [uart]
  +
tx = /arm-io/gpio['GPIO'](0x00000906, 0x00000102)
00910B00: /arm-io/uart0 [uart]
 
  +
interrupt-parent = /arm-io/vic
tx = /arm-io/gpio['GPIO'](0x00000906, 0x00000102)
 
009111C0: /arm-io/uart0/iap
+
009112D0: /arm-io/uart1 [uart]
  +
tx = /arm-io/gpio['GPIO'](0x00000802, 0x00000102)
009112D0: /arm-io/uart1 [uart]
 
  +
interrupt-parent = /arm-io/vic
rts = /arm-io/gpio['GPIO'](0x00000804, 0x00000101)
 
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/cdma
dma-parent = /arm-io/cdma
+
00911E40: /arm-io/uart2 [uart]
  +
tx = /arm-io/gpio['GPIO'](0x00000706, 0x00000102)
00911E40: /arm-io/uart2 [uart]
 
  +
interrupt-parent = /arm-io/vic
tx = /arm-io/gpio['GPIO'](0x00000706, 0x00000102)
 
00911E80: /arm-io/uart1/debug
+
009129A0: /arm-io/uart3 [uart]
  +
tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)
009129A0: /arm-io/uart3 [uart]
 
  +
interrupt-parent = /arm-io/vic
rts = /arm-io/gpio['GPIO'](0x00000900, 0x00000002)
 
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/cdma
dma-parent = /arm-io/cdma
+
009129E0: /arm-io/uart2/umts [umts]
009129E0: /arm-io/uart2/umts [umts]
+
00913680: /arm-io/uart4 [uart]
  +
tx = /arm-io/gpio['GPIO'](0x00000902, 0x00000102)
00913680: /arm-io/uart4 [uart]
 
  +
interrupt-parent = /arm-io/vic
tx = /arm-io/gpio['GPIO'](0x00000902, 0x00000102)
 
  +
009136C0: /arm-io/uart3/bluetooth [bluetooth]
interrupt-parent = /arm-io/vic
 
  +
bt_wake = /arm-io/gpio['GPIO'](0x00001602, 0x00000101)
009136C0: /arm-io/uart3/bluetooth [bluetooth]
 
  +
00914460: /arm-io/uart4/gas-gauge [gas-gauge]
bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)
 
  +
battery_swi = /arm-io/i2c0/pmu['GPIO'](0x00000005, 0x00000100)
00914460: /arm-io/uart4/gas-gauge [gas-gauge]
 
  +
00914570: /arm-io/pke [pke]
battery_swi = /arm-io/i2c0/pmu['GPIO'](0x00000005, 0x00000100)
 
  +
iic_sda = /arm-io/gpio['GPIO'](0x00000401, 0x00010101)
00914EB0: /arm-io/i2c0 [i2c]
 
iic_sda = /arm-io/gpio['GPIO'](0x00000401, 0x00010101)
+
iic_scl = /arm-io/gpio['GPIO'](0x00000400, 0x00010101)
  +
interrupt-parent = /arm-io/vic
iic_scl = /arm-io/gpio['GPIO'](0x00000400, 0x00010101)
 
  +
iic_sda = /arm-io/gpio['GPIO'](0x00000405, 0x00010101)
009156D0: /arm-io/i2c2 [i2c]
 
iic_sda = /arm-io/gpio['GPIO'](0x00000405, 0x00010101)
+
iic_scl = /arm-io/gpio['GPIO'](0x00000404, 0x00010101)
  +
interrupt-parent = /arm-io/vic
iic_scl = /arm-io/gpio['GPIO'](0x00000404, 0x00010101)
 
  +
00915710: /arm-io/i2c0/accelerometer [accelerometer]
interrupt-parent = /arm-io/vic
 
  +
interrupt-parent = /arm-io/gpio
00915710: /arm-io/i2c0/accelerometer [accelerometer]
 
  +
00915C20: /arm-io/i2c0/compass1 [compass1]
interrupt-parent = /arm-io/gpio
 
  +
interrupt-parent = /arm-io/gpio
00915C40: /arm-io/i2c0/compass [compass]
 
  +
009163F0: /arm-io/i2c0/audio0 [audio-control]
interrupt-parent = /arm-io/gpio
 
  +
reset = /arm-io/gpio['GPIO'](0x00001406, 0x00010001)
009163F0: /arm-io/i2c0/audio0 [audio-control]
 
reset = /arm-io/gpio['GPIO'](0x00001406, 0x00010001)
+
mclk_control = /arm-io/pwm/codec-mclk['pwmC']()
mclk_control = /arm-io/pwm/codec-mclk['pwmC']()
+
hp_detect = /arm-io/i2c0/pmu['GPIO'](0x00000004, 0x00000100)
hp_detect = /arm-io/i2c0/pmu['GPIO'](0x00000004, 0x00000100)
+
interrupt-parent = /arm-io/i2c0/pmu
interrupt-parent = /arm-io/i2c0/pmu
+
00916F40: /arm-io/i2c0/pmu [interrupt-controller]
  +
keepact = /arm-io/gpio['GPIO'](0x00000501, 0x00000101)
00916F40: /arm-io/i2c0/pmu [interrupt-controller]
 
00917F70: /arm-io/i2c0/mikey [mikey]
+
interrupt-parent = /arm-io/i2c0/pmu
interrupt-parent = /arm-io/i2c0/pmu
+
00918520: /arm-io/i2c0/tethered [tethered]
00918520: /arm-io/i2c0/tethered [tethered]
+
00919030: /arm-io/pwm [pwm]
00919030: /arm-io/pwm [pwm]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
00919070: /arm-io/i2c2/als [als]
00919070: /arm-io/i2c2/als [als]
+
interrupt-parent = /arm-io/gpio
  +
00919C20: /arm-io/otgphyctrl [otgphyctrl]
interrupt-parent = /arm-io/gpio
 
  +
accessory_detect = /dock['accD']()
0091A610: /arm-io/usb-otg [usb-otg]
 
usb_suspend = /charger['CHRG'](0x00000001)
+
usb_brick_detect = /charger['CHRG'](0x00000002)
  +
interrupt-parent = /arm-io/vic
usb_brick_detect = /charger['CHRG'](0x00000002)
 
0091B210: /arm-io/iop [iop]
+
device_reset = /arm-io/pmgr['ARST'](0x0000002E)
device_reset = /arm-io/pmgr['ARST'](0x0000002E)
+
jtag_enable = /arm-io/gpio['GPIO'](0x00001503, 0x00000101)
  +
interrupt-parent = /arm-io/vic
jtag_enable = /arm-io/gpio['GPIO'](0x00001503, 0x00000101)
 
  +
0091B250: /arm-io/usb-otg/usb-device [usb-device]
interrupt-parent = /arm-io/vic
 
  +
interrupt-parent = /arm-io/vic
0091B250: /arm-io/usb-otg/usb-device [usb-device]
 
  +
0091B660: /arm-io/usb-otg/usb-host [usb-host]
interrupt-parent = /arm-io/vic
 
  +
interrupt-parent = /arm-io/vic
0091B660: /arm-io/usb-otg/usb-host [usb-host]
 
lcd_enable = /arm-io/mipi-dsim/lcd['lcdE']()
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
0091C9F0: /arm-io/mipi-dsim [mipi-dsim]
  +
interrupt-parent = /arm-io/vic
0091C9F0: /arm-io/mipi-dsim [mipi-dsim]
 
interrupt-parent = /arm-io/vic
+
0091D0E0: /arm-io/mipi-dsim/lcd [lcd]
  +
reset = /arm-io/gpio['GPIO'](0x00000500, 0x00000001)
0091D0E0: /arm-io/mipi-dsim/lcd [lcd]
 
  +
interrupt-parent = /arm-io/gpio
lcd_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80100)
 
  +
0091DDE0: /arm-io/audio-complex [audio-complex]
interrupt-parent = /arm-io/gpio
 
  +
dma-parent = /arm-io/cdma
0091DDE0: /arm-io/audio-complex [audio-complex]
 
dma-parent = /arm-io/cdma
+
0091E490: /arm-io/i2s0 [i2s]
0091E490: /arm-io/i2s0 [i2s]
+
mclk_frequency = /arm-io/audio-complex['MCLK']()
mclk_frequency = /arm-io/audio-complex['MCLK']()
+
dout = /arm-io/gpio['GPIO'](0x00001703, 0x02000000)
  +
interrupt-parent = /arm-io/vic
dout = /arm-io/gpio['GPIO'](0x00001703, 0x02000000)
 
mclk_frequency = /arm-io/audio-complex['MCLK']()
+
dout = /arm-io/gpio['GPIO'](0x00001800, 0x02000000)
  +
interrupt-parent = /arm-io/vic
dout = /arm-io/gpio['GPIO'](0x00001800, 0x02000000)
 
dma-parent = /arm-io/audio-complex
+
0091EE30: /arm-io/i2s0/audio0 [audio-data]
0091EE30: /arm-io/i2s0/audio0 [audio-data]
+
0091F230: /arm-io/i2s2 [i2s]
  +
dout = /arm-io/gpio['GPIO'](0x00001805, 0x02000000)
0091F230: /arm-io/i2s2 [i2s]
 
  +
interrupt-parent = /arm-io/vic
dout = /arm-io/gpio['GPIO'](0x00001805, 0x02000000)
 
0091FA80: /arm-io/i2s1/audio1 [audio-data]
+
00920790: /arm-io/amc [amc]
00920790: /arm-io/amc [amc]
+
device_reset = /arm-io/pmgr['ARST'](0x00000018)
device_reset = /arm-io/pmgr['ARST'](0x00000018)
+
interrupt-parent = /arm-io/vic
  +
009207D0: /arm-io/i2s2/audio2 [audio-data]
interrupt-parent = /arm-io/vic
 
  +
009225C0: /dock [dock]
interrupt-parent = /arm-io/vic
 
  +
read_acc = /arm-io/i2c0/pmu['pmuA'](0x00000003)
009225C0: /dock [dock]
 
acc_sw_en = /arm-io/i2c0/pmu['pmuL'](0x80000005)
+
acc_detect = /arm-io/i2c0/pmu['STAT'](0x00000005)
acc_detect = /arm-io/i2c0/pmu['STAT'](0x00000005)
+
acc_pwr = /arm-io/i2c0/pmu['pmuL'](0x0CE40005)
acc_pwr = /arm-io/i2c0/pmu['pmuL'](0x0CE40005)
+
interrupt-parent = /arm-io/i2c0/pmu
  +
00922D60: /charger [charger]
interrupt-parent = /arm-io/i2c0/pmu
 
  +
battery_pack = /dock['accA'](0x0000000B)
00922D60: /charger [charger]
 
  +
set_dmonitor = /arm-io/otgphyctrl['DMON'](0x00000000)
battery_pack = /dock['accA'](0x0000000B)
 
  +
00923410: /baseband [baseband]
set_dmonitor = /arm-io/otgphyctrl['DMON'](0x00000000)
 
  +
bb_rst = /arm-io/gpio['GPIO'](0x00001407, 0x00000101)
00923410: /baseband [baseband]
 
ipi_dispatch = /arm-io/vic['IPID'](0x00000000)
+
cpu_idle = /arm-io/pmgr['cpuI']()
cpu_idle = /arm-io/pmgr['cpuI']()
+
interrupt-parent = /arm-io/vic
00903CE0: /memory [memory]
+
00903F20: /pram [pram]
00903F20: /pram [pram]
+
009041E0: /vram [vram]
00904460: /arm-io [s5l8920x-io]
+
clock_gate = /arm-io/pmgr['clkG']()
button_voldown = /arm-io/gpio['GPIO'](0x00001601, 0x00000000)
+
button_volup = /arm-io/gpio['GPIO'](0x00001600, 0x00000000)
button_volup = /arm-io/gpio['GPIO'](0x00001600, 0x00000000)
+
wake_button_menu = /arm-io/i2c0/pmu['STAT'](0x00000180)
wake_button_menu = /arm-io/i2c0/pmu['STAT'](0x00000180)
+
wake_button_hold = /arm-io/i2c0/pmu['STAT'](0x00000181)
wake_button_hold = /arm-io/i2c0/pmu['STAT'](0x00000181)
+
button_hold = /arm-io/gpio['GPIO'](0x00001607, 0x00000100)
button_hold = /arm-io/gpio['GPIO'](0x00001607, 0x00000100)
+
button_menu = /arm-io/gpio['GPIO'](0x00001606, 0x00000100)
button_menu = /arm-io/gpio['GPIO'](0x00001606, 0x00000100)
+
button_ringerab = /arm-io/gpio['GPIO'](0x00001403, 0x00000000)
button_ringerab = /arm-io/gpio['GPIO'](0x00001403, 0x00000000)
+
interrupt-parent = /arm-io/gpio
00904C20: /arm-io/vic [interrupt-controller]
+
00905260: /arm-io/pmgr [timer]
00905260: /arm-io/pmgr [timer]
+
core_voltage_1 = /arm-io/swi['corV'](0x003C0002)
core_voltage_1 = /arm-io/swi['corV'](0x003C0002)
+
core_voltage_0 = /arm-io/swi['corV'](0x003C0001)
core_voltage_0 = /arm-io/swi['corV'](0x003C0001)
+
core_voltage_2 = /arm-io/swi['corV'](0x003C0003)
interrupt-parent = /arm-io/vic
+
009070B0: /arm-io/cdma [cdma]
009070B0: /arm-io/cdma [cdma]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
00907710: /arm-io/dart0 [dart]
00907710: /arm-io/dart0 [dart]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
00907BE0: /arm-io/dart1 [dart]
00907BE0: /arm-io/dart1 [dart]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
009080F0: /arm-io/sdio [sdio]
device_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00010101)
+
device_wake = /arm-io/gpio['GPIO'](0x00001404, 0x00000101)
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/cdma
dma-parent = /arm-io/cdma
+
00908B70: /arm-io/sha1 [sha1]
00908B70: /arm-io/sha1 [sha1]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/cdma
dma-parent = /arm-io/cdma
+
009090C0: /arm-io/ceata [ceata]
009090C0: /arm-io/ceata [ceata]
+
interrupt-parent = /arm-io/vic
device1_reset = /arm-io/pmgr['ARST'](0x00000027)
+
device0_reset = /arm-io/pmgr['ARST'](0x00000026)
device0_reset = /arm-io/pmgr['ARST'](0x00000026)
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
00909D50: /arm-io/sgx [sgx]
00909D50: /arm-io/sgx [sgx]
+
perf_advise = /arm-io/pmgr['PRFA']()
perf_advise = /arm-io/pmgr['PRFA']()
+
interrupt-parent = /arm-io/vic
00909D90: /arm-io/flash-controller0/disk [nand]
+
0090A990: /arm-io/scaler [scaler]
0090A990: /arm-io/scaler [scaler]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
0090AF50: /arm-io/tv-out [tv-out]
0090AF50: /arm-io/tv-out [tv-out]
+
video_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80002)
video_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80002)
+
amp_enable = /arm-io/gpio['GPIO'](0x00000A03, 0x00000101)
interrupt-parent = /arm-io/vic
+
0090B9E0: /arm-io/isp [isp]
sensor_shutdown = /arm-io/gpio['GPIO'](0x00000306, 0x02000101)
+
device_reset = /arm-io/pmgr['ARST'](0x00000012)
device_reset = /arm-io/pmgr['ARST'](0x00000012)
+
sensor_extclk = /arm-io/gpio['GPIO'](0x00000307, 0x02000101)
interrupt-parent = /arm-io/vic
+
0090C4E0: /arm-io/venc [venc]
0090C4E0: /arm-io/venc [venc]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
0090C990: /arm-io/vxd [vxd]
0090C990: /arm-io/vxd [vxd]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
0090CE80: /arm-io/spi0 [spi]
interrupt-parent = /arm-io/vic
+
0090D5F0: /arm-io/spi1 [spi]
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/cdma
dma-parent = /arm-io/cdma
+
0090D630: /arm-io/spi0/nor-flash [nor-flash]
0090D630: /arm-io/spi0/nor-flash [nor-flash]
+
0090DAE0: /arm-io/spi0/nor-flash/diagnostic-data [diagnostic-data]
0090DAE0: /arm-io/spi0/nor-flash/diagnostic-data [diagnostic-data]
+
0090DE30: /arm-io/spi0/nor-flash/raw-device [raw-device]
0090DE30: /arm-io/spi0/nor-flash/raw-device [raw-device]
+
0090DE50: /arm-io/spi0/nor-flash/nvram [nvram]
0090DE50: /arm-io/spi0/nor-flash/nvram [nvram]
+
0090EFA0: /arm-io/spi2 [spi]
sclk = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)
+
srdy = /arm-io/gpio['GPIO'](0x00001304, 0x00000100)
srdy = /arm-io/gpio['GPIO'](0x00001304, 0x00000100)
+
fail_gpio = /arm-io/gpio['GPIO'](0x00000804, 0x00000102)
fail_gpio = /arm-io/gpio['GPIO'](0x00000804, 0x00000102)
+
mosi = /arm-io/gpio['GPIO'](0x00001302, 0x03000102)
reset = /arm-io/gpio['GPIO'](0x00001401, 0x00010001)
+
clock_enable = /arm-io/i2c0/pmu['GPIO'](0x00000000, 0x02000101)
clock_enable = /arm-io/i2c0/pmu['GPIO'](0x00000000, 0x02000101)
+
enable_cs = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)
enable_cs = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)
+
power_ldo = /arm-io/i2c0/pmu['pmuL'](0x0708020B)
interrupt-parent = /arm-io/vic
+
009111C0: /arm-io/uart0/iap
tx = /arm-io/gpio['GPIO'](0x00000802, 0x00000102)
+
rts = /arm-io/gpio['GPIO'](0x00000804, 0x00000101)
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/cdma
dma-parent = /arm-io/cdma
+
00911E80: /arm-io/uart1/debug
tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)
+
rts = /arm-io/gpio['GPIO'](0x00000900, 0x00000002)
bt_wake = /arm-io/gpio['GPIO'](0x00001602, 0x00000101)
+
bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)
00914570: /arm-io/pke [pke]
+
interrupt-parent = /arm-io/vic
interrupt-parent = /arm-io/vic
+
00914EB0: /arm-io/i2c0 [i2c]
interrupt-parent = /arm-io/vic
+
009156D0: /arm-io/i2c2 [i2c]
00915C20: /arm-io/i2c0/compass1 [compass1]
+
00915C40: /arm-io/i2c0/compass [compass]
keepact = /arm-io/gpio['GPIO'](0x00000501, 0x00000101)
+
suspend_helper = /arm-io/pmgr['Sush']()
suspend_helper = /arm-io/pmgr['Sush']()
+
swi_write = /arm-io/swi['swiB']()
swi_write = /arm-io/swi['swiB']()
+
interrupt-parent = /arm-io/gpio
interrupt-parent = /arm-io/gpio
+
00917F70: /arm-io/i2c0/mikey [mikey]
00919C20: /arm-io/otgphyctrl [otgphyctrl]
+
00919C60: /arm-io/pwm/vibrator [pwm]
00919C60: /arm-io/pwm/vibrator [pwm]
+
00919EC0: /arm-io/pwm/codec-mclk [pwm]
00919EC0: /arm-io/pwm/codec-mclk [pwm]
+
0091A610: /arm-io/usb-otg [usb-otg]
accessory_detect = /dock['accD']()
+
usb_500_100 = /charger['CHRG'](0x00000000)
usb_500_100 = /charger['CHRG'](0x00000000)
+
usb_swap_config = /dock['accA'](0x0000000A)
usb_swap_config = /dock['accA'](0x0000000A)
+
usb_suspend = /charger['CHRG'](0x00000001)
interrupt-parent = /arm-io/vic
+
0091B210: /arm-io/iop [iop]
interrupt-parent = /arm-io/vic
+
0091C310: /arm-io/clcd [clcd]
0091C310: /arm-io/clcd [clcd]
+
lcd_enable = /arm-io/mipi-dsim/lcd['lcdE']()
interrupt-parent = /arm-io/vic
+
0091D0A0: /arm-io/swi [swi]
0091D0A0: /arm-io/swi [swi]
+
interrupt-parent = /arm-io/vic
reset = /arm-io/gpio['GPIO'](0x00000500, 0x00000001)
+
lcd_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80100)
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/audio-complex
dma-parent = /arm-io/audio-complex
+
0091E5B0: /arm-io/i2s1 [i2s]
0091E5B0: /arm-io/i2s1 [i2s]
+
mclk_frequency = /arm-io/audio-complex['MCLK']()
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/audio-complex
interrupt-parent = /arm-io/vic
+
dma-parent = /arm-io/audio-complex
dma-parent = /arm-io/audio-complex
+
0091FA80: /arm-io/i2s1/audio1 [audio-data]
009207D0: /arm-io/i2s2/audio2 [audio-data]
+
00921260: /arm-io/jpeg [jpeg]
00921260: /arm-io/jpeg [jpeg]
+
interrupt-parent = /arm-io/vic
read_acc = /arm-io/i2c0/pmu['pmuA'](0x00000003)
+
acc_sw_en = /arm-io/i2c0/pmu['pmuL'](0x80000005)
bb_rst = /arm-io/gpio['GPIO'](0x00001407, 0x00000101)
+
bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)
bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)
+
radio_on = /arm-io/gpio['GPIO'](0x00001405, 0x00000101)
radio_on = /arm-io/gpio['GPIO'](0x00001405, 0x00000101)
+
bb_on = /arm-io/i2c0/pmu['GPIO'](0x00000002, 0x00010001)
bb_on = /arm-io/i2c0/pmu['GPIO'](0x00000002, 0x00010001)
+
bb_usart0_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F02, 0x00010101)
bb_usart0_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F02, 0x00010101)
+
wlan_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00000001)
wlan_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00000001)
+
dock_uart_ctrl = /arm-io/i2c0/pmu['GPIO'](0x00000003, 0x00010101)
dock_uart_ctrl = /arm-io/i2c0/pmu['GPIO'](0x00000003, 0x00010101)
+
reset_det = /arm-io/gpio['GPIO'](0x00001500, 0x00010000)
reset_det = /arm-io/gpio['GPIO'](0x00001500, 0x00010000)
+
umts_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F03, 0x00010101)
umts_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F03, 0x00010101)
+
sdio0_clk = /arm-io/gpio['GPIO'](0x00001102, 0x00010102)
sdio0_clk = /arm-io/gpio['GPIO'](0x00001102, 0x00010102)
+
uart3_tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)
uart3_tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)
+
interrupt-parent = /arm-io/gpio
interrupt-parent = /arm-io/gpio
 
</pre>
 
== GPIO ==
 
<pre>
 
<gpio>
 
0x0 = gpio_multi-touch_clock_enable
 
0x2 = gpio_baseband_bb_on
 
0x3 = gpio_baseband_dock_uart_ctrl
 
0x4 = gpio_audio0_hp_detect
 
0x5 = gpio_gas-gauge_battery_swi
 
0x306 = gpio_isp_sensor_shutdown
 
0x307 = gpio_isp_sensor_extclk
 
0x400 = gpio_i2c0_iic_scl
 
0x401 = gpio_i2c0_iic_sda
 
0x404 = gpio_i2c2_iic_scl
 
0x405 = gpio_i2c2_iic_sda
 
0x500 = gpio_lcd_reset
 
0x501 = gpio_pmu_keepact
 
0x706 = gpio_uart2_tx
 
0x802 = gpio_uart1_tx
 
0x804 = gpio_uart1_rts
 
0x806 = gpio_baseband_uart3_tx
 
0x900 = gpio_uart3_rts
 
0x902 = gpio_uart4_tx
 
0x906 = gpio_uart0_tx
 
0xA03 = gpio_tv-out_amp_enable
 
0xF02 = gpio_baseband_bb_usart0_rxd_ctrl
 
0xF03 = gpio_baseband_umts_rxd_ctrl
 
0x1102 = gpio_baseband_sdio0_clk
 
0x1204 = gpio_spi0_spi_cs0
 
0x1300 = gpio_multi-touch_enable_cs
 
0x1302 = gpio_spi2_mosi
 
0x1304 = gpio_spi2_srdy
 
0x1401 = gpio_multi-touch_reset
 
0x1403 = gpio_buttons_button_ringerab
 
0x1404 = gpio_sdio_device_wake
 
0x1405 = gpio_baseband_radio_on
 
0x1406 = gpio_audio0_reset
 
0x1407 = gpio_baseband_bb_rst
 
0x1500 = gpio_baseband_reset_det
 
0x1502 = gpio_usb_plugged_in // not in devtree for some reason
 
0x1503 = gpio_iop_jtag_enable
 
0x1506 = gpio_baseband_bt_reset
 
0x1600 = gpio_buttons_button_volup
 
0x1601 = gpio_buttons_button_voldown
 
0x1602 = gpio_bluetooth_bt_wake
 
0x1605 = gpio_baseband_wlan_reset
 
0x1606 = gpio_buttons_button_menu
 
0x1607 = gpio_buttons_button_hold
 
0x1703 = gpio_i2s0_dout
 
0x1800 = gpio_i2s1_dout
 
0x1802 = gpio_spi2_mrdy
 
0x1805 = gpio_i2s2_dout
 
</pre>
 
   
  +
== GPIO ==
  +
<gpio>
  +
0x0 = gpio_multi-touch_clock_enable
  +
0x2 = gpio_baseband_bb_on
  +
0x3 = gpio_baseband_dock_uart_ctrl
  +
0x4 = gpio_audio0_hp_detect
  +
0x5 = gpio_gas-gauge_battery_swi
  +
0x306 = gpio_isp_sensor_shutdown
  +
0x307 = gpio_isp_sensor_extclk
  +
0x400 = gpio_i2c0_iic_scl
  +
0x401 = gpio_i2c0_iic_sda
  +
0x404 = gpio_i2c2_iic_scl
  +
0x405 = gpio_i2c2_iic_sda
  +
0x500 = gpio_lcd_reset
  +
0x501 = gpio_pmu_keepact
  +
0x706 = gpio_uart2_tx
  +
0x802 = gpio_uart1_tx
  +
0x804 = gpio_uart1_rts
  +
0x806 = gpio_baseband_uart3_tx
  +
0x900 = gpio_uart3_rts
  +
0x902 = gpio_uart4_tx
  +
0x906 = gpio_uart0_tx
  +
0xA03 = gpio_tv-out_amp_enable
  +
0xF02 = gpio_baseband_bb_usart0_rxd_ctrl
  +
0xF03 = gpio_baseband_umts_rxd_ctrl
  +
0x1102 = gpio_baseband_sdio0_clk
  +
0x1204 = gpio_spi0_spi_cs0
  +
0x1300 = gpio_multi-touch_enable_cs
  +
0x1302 = gpio_spi2_mosi
  +
0x1304 = gpio_spi2_srdy
  +
0x1401 = gpio_multi-touch_reset
  +
0x1403 = gpio_buttons_button_ringerab
  +
0x1404 = gpio_sdio_device_wake
  +
0x1405 = gpio_baseband_radio_on
  +
0x1406 = gpio_audio0_reset
  +
0x1407 = gpio_baseband_bb_rst
  +
0x1500 = gpio_baseband_reset_det
  +
0x1502 = gpio_usb_plugged_in // not in devtree for some reason
  +
0x1503 = gpio_iop_jtag_enable
  +
0x1506 = gpio_baseband_bt_reset
  +
0x1600 = gpio_buttons_button_volup
  +
0x1601 = gpio_buttons_button_voldown
  +
0x1602 = gpio_bluetooth_bt_wake
  +
0x1605 = gpio_baseband_wlan_reset
  +
0x1606 = gpio_buttons_button_menu
  +
0x1607 = gpio_buttons_button_hold
  +
0x1703 = gpio_i2s0_dout
  +
0x1800 = gpio_i2s1_dout
  +
0x1802 = gpio_spi2_mrdy
  +
0x1805 = gpio_i2s2_dout
  +
 
== Interrupts ==
 
== Interrupts ==
  +
<interrupts for /arm-io/gpio>
<pre>
 
  +
int 00000000 = /arm-io/spi1/multi-touch
<interrupts for /arm-io/gpio>
 
int 00000000 = /arm-io/spi1/multi-touch
+
int 00000001 = /arm-io/i2c2/als
int 00000001 = /arm-io/i2c2/als
+
int 00000002 = /arm-io/mipi-dsim/lcd
int 00000002 = /arm-io/mipi-dsim/lcd
+
int 00000003 = /arm-io/i2c0/compass
int 00000003 = /arm-io/i2c0/compass
+
int 00000004 = /baseband
int 00000004 = /baseband
+
int 00000005 = /buttons
int 00000005 = /buttons
+
int 00000007 = /buttons
int 00000007 = /buttons
+
int 00000090 = /arm-io/i2c0/compass
int 00000090 = /arm-io/i2c0/compass
+
int 0000009C = /arm-io/spi2
int 0000009C = /arm-io/spi2
+
int 0000009D = /arm-io/i2c0/pmu
int 0000009D = /arm-io/i2c0/pmu
+
int 0000009E = /arm-io/i2c2/als
int 0000009E = /arm-io/i2c2/als
+
int 000000A2 = /arm-io/i2c0/accelerometer
  +
int 000000A3 = /buttons
int 000000A2 = /arm-io/i2c0/accelerometer
 
  +
int 000000B4 = /arm-io/spi1/multi-touch
int 000000B1 = /buttons
 
  +
int 000000B6 = /buttons
int 000000B4 = /arm-io/spi1/multi-touch
 
  +
<interrupts for /arm-io/i2c0/pmu>
int 000000B7 = /buttons
 
  +
int 00000000 = /cpus/cpu0
<interrupts for /arm-io/vic>
 
  +
int 00000002 = /arm-io/nmi // not in devicetree, nand management interface
int 00000000 = /cpus/cpu0
 
  +
int 00000003 = /arm-io/iop(dma)
int 00000002 = /arm-io/nmi // not in devicetree, nand management interface
 
int 00000003 = /arm-io/iop(dma)
+
int 00000005 = /arm-io/pmu // also not in devicetree
int 00000005 = /arm-io/pmu // also not in devicetree
+
int 00000007 = /arm-io/swi
int 00000007 = /arm-io/swi
+
int 00000009 = /arm-io/isp
int 00000009 = /arm-io/isp
+
int 0000000A = /arm-io/isp
int 0000000A = /arm-io/isp
+
int 0000000C = /arm-io/scaler
int 0000000C = /arm-io/scaler
+
int 0000000E = /arm-io/usb-otg/usb-host
int 0000000E = /arm-io/usb-otg/usb-host
+
int 0000000F = /arm-io/pwm
int 0000000F = /arm-io/pwm
+
int 00000010 = /arm-io/pke
int 00000010 = /arm-io/pke
+
int 00000011 = /arm-io/i2c2
int 00000011 = /arm-io/i2c2
+
int 00000013 = /arm-io/i2c0
int 00000013 = /arm-io/i2c0
+
int 00000014 = /arm-io/uart4
int 00000014 = /arm-io/uart4
+
int 00000015 = /arm-io/uart3
int 00000015 = /arm-io/uart3
+
int 00000016 = /arm-io/uart2
int 00000016 = /arm-io/uart2
+
int 00000017 = /arm-io/uart1
int 00000017 = /arm-io/uart1
+
int 00000018 = /arm-io/uart0
int 00000018 = /arm-io/uart0
+
int 0000001C = /arm-io/spi1
int 0000001C = /arm-io/spi1
+
int 0000001D = /arm-io/spi0
int 0000001D = /arm-io/spi0
+
int 0000001E = /arm-io/flash-controller0
int 0000001E = /arm-io/flash-controller0
+
int 0000001F = /arm-io/flash-controller0
int 0000001F = /arm-io/flash-controller0
+
int 00000020 = /arm-io/ceata
int 00000020 = /arm-io/ceata
+
int 00000021 = /arm-io/sha1
int 00000021 = /arm-io/sha1
+
int 00000022 = /arm-io/sdio
int 00000022 = /arm-io/sdio
+
int 00000023 = /arm-io/tv-out
int 00000023 = /arm-io/tv-out
+
int 00000024 = /arm-io/mipi-dsim
int 00000024 = /arm-io/mipi-dsim
+
int 00000025 = /arm-io/clcd
int 00000025 = /arm-io/clcd
+
int 00000026 = /arm-io/venc
int 00000026 = /arm-io/venc
+
int 00000027 = /arm-io/tv-out
int 00000027 = /arm-io/tv-out
+
int 00000029 = /arm-io/sgx
int 00000029 = /arm-io/sgx
+
int 0000002A = /arm-io/vxd
int 0000002A = /arm-io/vxd
+
int 0000002B = /arm-io/cdma
int 0000002B = /arm-io/cdma
+
int 0000002C = /arm-io/cdma
int 0000002C = /arm-io/cdma
+
int 0000002D = /arm-io/cdma
int 0000002D = /arm-io/cdma
+
int 0000002E = /arm-io/cdma
int 0000002E = /arm-io/cdma
+
int 0000002F = /arm-io/cdma
int 0000002F = /arm-io/cdma
+
int 00000030 = /arm-io/cdma
int 00000030 = /arm-io/cdma
+
int 00000031 = /arm-io/cdma
int 00000031 = /arm-io/cdma
+
int 00000032 = /arm-io/cdma
int 00000032 = /arm-io/cdma
+
int 00000033 = /arm-io/cdma
int 00000033 = /arm-io/cdma
+
int 00000034 = /arm-io/cdma
int 00000034 = /arm-io/cdma
+
int 00000035 = /arm-io/cdma
int 00000035 = /arm-io/cdma
+
int 00000036 = /arm-io/cdma
int 00000036 = /arm-io/cdma
+
int 00000037 = /arm-io/cdma
int 00000037 = /arm-io/cdma
+
int 00000038 = /arm-io/cdma
int 00000038 = /arm-io/cdma
+
int 00000039 = /arm-io/cdma
int 00000039 = /arm-io/cdma
+
int 0000003A = /arm-io/cdma
int 0000003A = /arm-io/cdma
+
int 0000003B = /arm-io/cdma
int 0000003B = /arm-io/cdma
+
int 0000003C = /arm-io/cdma
int 0000003C = /arm-io/cdma
+
int 0000003D = /arm-io/cdma
int 0000003D = /arm-io/cdma
+
int 0000003E = /arm-io/cdma
int 0000003E = /arm-io/cdma
+
int 0000003F = /arm-io/cdma
int 0000003F = /arm-io/cdma
+
int 00000040 = /arm-io/cdma
int 00000040 = /arm-io/cdma
+
int 00000041 = /arm-io/cdma
int 00000041 = /arm-io/cdma
+
int 00000042 = /arm-io/cdma
int 00000042 = /arm-io/cdma
+
int 00000043 = /arm-io/cdma
int 00000043 = /arm-io/cdma
+
int 00000044 = /arm-io/cdma
int 00000044 = /arm-io/cdma
+
int 00000045 = /arm-io/cdma
int 00000045 = /arm-io/cdma
+
int 00000046 = /arm-io/amc
int 00000046 = /arm-io/amc
+
int 00000047 = /arm-io/amc
int 00000047 = /arm-io/amc
+
int 00000048 = /arm-io/amc
int 00000048 = /arm-io/amc
+
int 00000049 = /arm-io/amc
int 00000049 = /arm-io/amc
+
int 0000004A = /arm-io/amc
int 0000004A = /arm-io/amc
+
int 0000004B = /arm-io/amc
int 0000004B = /arm-io/amc
+
int 0000004C = /arm-io/amc
int 0000004C = /arm-io/amc
+
int 0000004D = /arm-io/amc
int 0000004D = /arm-io/amc
+
int 0000004E = /arm-io/amc
int 0000004E = /arm-io/amc
+
int 0000004F = /arm-io/amc
int 0000004F = /arm-io/amc
+
int 00000050 = /arm-io/amc
int 00000050 = /arm-io/amc
+
int 00000051 = /arm-io/amc
int 00000051 = /arm-io/amc
+
int 00000052 = /arm-io/amc
int 00000052 = /arm-io/amc
+
int 00000053 = /arm-io/amc
int 00000053 = /arm-io/amc
+
int 00000054 = /arm-io/amc
int 00000054 = /arm-io/amc
+
int 00000055 = /arm-io/amc
int 00000055 = /arm-io/amc
+
int 00000056 = /arm-io/amc
int 00000056 = /arm-io/amc
+
int 00000057 = /arm-io/amc
int 00000057 = /arm-io/amc
+
int 00000058 = /arm-io/amc
int 00000058 = /arm-io/amc
+
int 00000059 = /arm-io/dart1
int 00000059 = /arm-io/dart1
+
int 0000005A = /arm-io/dart0
int 0000005A = /arm-io/dart0
+
int 0000005D = /arm-io/jpeg
int 0000005D = /arm-io/jpeg
+
int 0000005E = /arm-io/gpio
int 0000005E = /arm-io/gpio
+
int 0000005F = /cpus/cpu0
  +
int 0000005F = /cpus/cpu0
 
int 000000A3 = /buttons
+
int 000000A8 = /baseband
int 000000A8 = /baseband
+
int 000000AF = /arm-io/mipi-dsim/lcd
int 000000AF = /arm-io/mipi-dsim/lcd
+
int 000000B0 = /buttons
int 000000B0 = /buttons
+
int 000000B1 = /buttons
int 000000B6 = /buttons
+
int 000000B7 = /buttons
<interrupts for /arm-io/i2c0/pmu>
+
int 00000000 = /arm-io/i2c0/mikey
int 00000000 = /arm-io/i2c0/mikey
+
int 00000005 = /dock
int 00000005 = /dock
+
int 00000014 = /arm-io/i2c0/audio0
int 00000014 = /arm-io/i2c0/audio0
+
int 00000017 = /arm-io/i2c0/mikey
int 00000017 = /arm-io/i2c0/mikey
+
int 00000054 = /arm-io/i2c0/mikey
int 00000054 = /arm-io/i2c0/mikey
+
<interrupts for /arm-io/vic>
</pre>
 
 
 
== DMA Channels ==
 
== DMA Channels ==
  +
<dma channels for /arm-io/audio-complex>
<pre>
 
<dma channels for /arm-io/audio-complex>
+
dma 00000000 = /arm-io/i2s0
dma 00000000 = /arm-io/i2s0
+
dma 00000001 = /arm-io/i2s0
dma 00000001 = /arm-io/i2s0
+
dma 00000002 = /arm-io/i2s1
dma 00000002 = /arm-io/i2s1
+
dma 00000003 = /arm-io/i2s1
dma 00000003 = /arm-io/i2s1
+
dma 00000004 = /arm-io/i2s2
dma 00000004 = /arm-io/i2s2
+
dma 00000005 = /arm-io/i2s2
dma 00000005 = /arm-io/i2s2
+
<dma channels for /arm-io/cdma>
<dma channels for /arm-io/cdma>
+
dma 00000000 = /arm-io/audio-complex
dma 00000000 = /arm-io/audio-complex
+
dma 00000003 = /arm-io/sdio
dma 00000003 = /arm-io/sdio
+
dma 00000004 = /arm-io/sha1
dma 00000004 = /arm-io/sha1
+
dma 0000000A = /arm-io/uart1
dma 0000000A = /arm-io/uart1
+
dma 0000000B = /arm-io/uart2
dma 0000000B = /arm-io/uart2
+
dma 0000000C = /arm-io/uart3
dma 0000000C = /arm-io/uart3
+
dma 0000000D = /arm-io/uart3
dma 0000000D = /arm-io/uart3
+
dma 00000010 = /arm-io/spi2
dma 00000010 = /arm-io/spi2
+
dma 00000011 = /arm-io/spi2
dma 00000011 = /arm-io/spi2
+
dma 00000012 = /arm-io/spi1
dma 00000012 = /arm-io/spi1
+
dma 00000013 = /arm-io/spi1
dma 00000013 = /arm-io/spi1
+
dma 00000015 = /arm-io/audio-complex
dma 00000015 = /arm-io/audio-complex
+
dma 00000016 = /arm-io/audio-complex
dma 00000016 = /arm-io/audio-complex
+
dma 00000017 = /arm-io/audio-complex
dma 00000017 = /arm-io/audio-complex
+
dma 00000018 = /arm-io/audio-complex
dma 00000018 = /arm-io/audio-complex
+
dma 00010001 = /arm-io/uart3
dma 00010001 = /arm-io/uart3
+
dma 00010004 = /arm-io/spi2
dma 00010004 = /arm-io/spi2
+
dma 00040002 = /arm-io/audio-complex
dma 00040002 = /arm-io/audio-complex
+
dma 00100004 = /arm-io/sha1
dma 00100004 = /arm-io/sha1
+
dma 80000020 = /arm-io/sdio
dma 80000020 = /arm-io/sdio
+
dma 801000A0 = /arm-io/sha1
dma 801000A0 = /arm-io/sha1
+
dma 82100010 = /arm-io/spi1
dma 82100010 = /arm-io/spi1
+
dma 82100020 = /arm-io/spi1
dma 82100020 = /arm-io/spi1
+
dma 82200010 = /arm-io/spi2
dma 82200010 = /arm-io/spi2
+
dma 82200020 = /arm-io/spi2
dma 82200020 = /arm-io/spi2
+
dma 82600024 = /arm-io/uart1
dma 82600024 = /arm-io/uart1
+
dma 82700024 = /arm-io/uart2
dma 82700024 = /arm-io/uart2
+
dma 82800020 = /arm-io/uart3
dma 82800020 = /arm-io/uart3
+
dma 82800024 = /arm-io/uart3
dma 82800024 = /arm-io/uart3
+
dma 84000000 = /arm-io/audio-complex
dma 84000000 = /arm-io/audio-complex
+
dma 84000004 = /arm-io/audio-complex
dma 84000004 = /arm-io/audio-complex
+
dma 84000008 = /arm-io/audio-complex
dma 84000008 = /arm-io/audio-complex
+
dma 8400000C = /arm-io/audio-complex
  +
dma 8400000C = /arm-io/audio-complex
 
</pre>
 
 
 
== Clock Gates ==
 
== Clock Gates ==
  +
<clock gates for clock id 16>
<pre>
 
  +
gate 00000010 = /arm-io/sdio
<clock gates for clock id 16>
 
  +
<clock gates for clock id 17>
gate 00000010 = /arm-io/sdio
 
  +
gate 00000011 = /arm-io/sha1
<clock gates for clock id 17>
 
  +
<clock gates for clock id 18>
gate 00000011 = /arm-io/sha1
 
  +
gate 00000012 = /arm-io/ceata
<clock gates for clock id 18>
 
  +
<clock gates for clock id 19>
gate 00000012 = /arm-io/ceata
 
  +
gate 00000013 = /arm-io/flash-controller0
<clock gates for clock id 19>
 
gate 00000013 = /arm-io/flash-controller0
+
gate 00000014 = /arm-io/flash-controller0
  +
<clock gates for clock id 21>
gate 00000014 = /arm-io/flash-controller0
 
  +
gate 00000015 = /arm-io/spi0
<clock gates for clock id 21>
 
  +
<clock gates for clock id 22>
gate 00000015 = /arm-io/spi0
 
  +
gate 00000016 = /arm-io/spi1
<clock gates for clock id 22>
 
  +
<clock gates for clock id 23>
gate 00000016 = /arm-io/spi1
 
  +
gate 00000017 = /arm-io/spi2
<clock gates for clock id 23>
 
  +
<clock gates for clock id 26>
gate 00000017 = /arm-io/spi2
 
  +
gate 0000001A = /arm-io/uart0
<clock gates for clock id 26>
 
  +
<clock gates for clock id 27>
gate 0000001A = /arm-io/uart0
 
  +
gate 0000001B = /arm-io/uart1
<clock gates for clock id 27>
 
  +
<clock gates for clock id 28>
gate 0000001B = /arm-io/uart1
 
  +
gate 0000001C = /arm-io/uart2
<clock gates for clock id 28>
 
  +
<clock gates for clock id 29>
gate 0000001C = /arm-io/uart2
 
  +
gate 0000001D = /arm-io/uart3
<clock gates for clock id 29>
 
  +
<clock gates for clock id 30>
gate 0000001D = /arm-io/uart3
 
  +
gate 0000001E = /arm-io/uart4
<clock gates for clock id 30>
 
  +
<clock gates for clock id 31>
gate 0000001E = /arm-io/uart4
 
  +
gate 0000001F = /arm-io/pke
<clock gates for clock id 31>
 
  +
<clock gates for clock id 32>
gate 0000001F = /arm-io/pke
 
  +
gate 00000020 = /arm-io/i2c0
<clock gates for clock id 32>
 
  +
<clock gates for clock id 34>
gate 00000020 = /arm-io/i2c0
 
  +
gate 00000022 = /arm-io/i2c2
<clock gates for clock id 34>
 
  +
<clock gates for clock id 35>
gate 00000022 = /arm-io/i2c2
 
  +
gate 00000023 = /arm-io/pwm
<clock gates for clock id 35>
 
  +
<clock gates for clock id 36>
gate 00000023 = /arm-io/pwm
 
  +
gate 00000024 = /arm-io/otgphyctrl
<clock gates for clock id 36>
 
  +
<clock gates for clock id 37>
gate 00000024 = /arm-io/otgphyctrl
 
  +
gate 00000025 = /arm-io/usb-otg
<clock gates for clock id 37>
 
  +
<clock gates for clock id 39>
gate 00000025 = /arm-io/usb-otg
 
  +
gate 00000027 = /arm-io/iop
<clock gates for clock id 39>
 
  +
<clock gates for clock id 40>
gate 00000027 = /arm-io/iop
 
  +
gate 00000028 = /arm-io/vxd
<clock gates for clock id 40>
 
  +
<clock gates for clock id 41>
gate 00000028 = /arm-io/vxd
 
  +
gate 00000029 = /arm-io/sgx
<clock gates for clock id 41>
 
  +
<clock gates for clock id 42>
gate 00000029 = /arm-io/sgx
 
  +
gate 0000002A = /arm-io/clcd
<clock gates for clock id 42>
 
  +
<clock gates for clock id 43>
gate 0000002A = /arm-io/clcd
 
  +
gate 0000002B = /arm-io/scaler
<clock gates for clock id 43>
 
  +
<clock gates for clock id 44>
gate 0000002B = /arm-io/scaler
 
  +
gate 0000002C = /arm-io/tv-out
<clock gates for clock id 44>
 
  +
<clock gates for clock id 45>
gate 0000002C = /arm-io/tv-out
 
  +
gate 0000002D = /arm-io/dart0
<clock gates for clock id 45>
 
  +
<clock gates for clock id 46>
gate 0000002D = /arm-io/dart0
 
  +
gate 0000002E = /arm-io/venc
<clock gates for clock id 46>
 
  +
<clock gates for clock id 47>
gate 0000002E = /arm-io/venc
 
  +
gate 0000002F = /arm-io/jpeg
<clock gates for clock id 47>
 
  +
<clock gates for clock id 48>
gate 0000002F = /arm-io/jpeg
 
  +
gate 00000030 = /arm-io/isp
<clock gates for clock id 48>
 
gate 00000031 = /arm-io/isp
+
gate 00000032 = /arm-io/isp
  +
<clock gates for clock id 51>
gate 00000032 = /arm-io/isp
 
  +
gate 00000033 = /arm-io/dart1
<clock gates for clock id 51>
 
  +
<clock gates for clock id 52>
gate 00000033 = /arm-io/dart1
 
  +
gate 00000034 = /arm-io/mipi-dsim
<clock gates for clock id 52>
 
  +
<clock gates for clock id 53>
gate 00000034 = /arm-io/mipi-dsim
 
  +
gate 00000035 = /arm-io/swi
<clock gates for clock id 53>
 
  +
<clock gates for clock id 55>
gate 00000036 = /arm-io/swi
 
  +
gate 00000037 = /arm-io/audio-complex
<clock gates for clock id 55>
 
  +
<clock gates for clock id 56>
gate 00000037 = /arm-io/audio-complex
 
  +
gate 00000038 = /arm-io/amc
<clock gates for clock id 56>
 
  +
<clock gates for clock id 57>
gate 00000038 = /arm-io/amc
 
  +
gate 00000039 = /arm-io/i2s0
<clock gates for clock id 57>
 
  +
<clock gates for clock id 58>
gate 00000039 = /arm-io/i2s0
 
  +
gate 0000003A = /arm-io/i2s1
<clock gates for clock id 58>
 
  +
<clock gates for clock id 59>
gate 0000003A = /arm-io/i2s1
 
  +
gate 0000003B = /arm-io/i2s2
<clock gates for clock id 59>
 
  +
gate 0000003B = /arm-io/i2s2
 
  +
[[Category:Device Trees]]
</pre>
 
gate 00000030 = /arm-io/isp
+
gate 00000031 = /arm-io/isp
gate 00000035 = /arm-io/swi
+
gate 00000036 = /arm-io/swi

Latest revision as of 09:09, 13 October 2015

This page is a dump of the iPhone 3GS's Device Tree.

Address Spaces

/arm-io: base = 80000000
/arm-io/vic: BF200000:00030000
/arm-io/gpio: 83000000:00001000
/arm-io/pmgr: BF100000:00002000
/arm-io/pmgr: BFC00000:00001000
/arm-io/pmgr: C0000000:00004000
/arm-io/pmgr: CFFFC000:00004000
/arm-io/cdma: 87000000:0001C000
/arm-io/cdma: 87800000:00009000
/arm-io/dart0: BFE00000:00001000
/arm-io/dart1: BFF00000:00001000
/arm-io/sdio: 80000000:00001000
/arm-io/sha1: 80100000:00001000
/arm-io/ceata: 81000000:00001000
/arm-io/flash-controller0: 81200000:00001000
/arm-io/flash-controller0: 81300000:00001000
/arm-io/sgx: 85300000:00001000
/arm-io/scaler: 85500000:00001000
/arm-io/tv-out: 85600000:00001000
/arm-io/tv-out: 85200000:00001000
/arm-io/tv-out: 85100000:00001000
/arm-io/isp: 88300000:000D4000
/arm-io/isp: 88100000:00001000
/arm-io/venc: 88000000:00001000
/arm-io/vxd: 85000000:00100000
/arm-io/spi0: 82000000:00001000
/arm-io/spi0/nor-flash: base = 00000000
/arm-io/spi0/nor-flash/diagnostic-data: 00006000:00002000
/arm-io/spi0/nor-flash/diagnostic-data: 00004000:00002000
/arm-io/spi0/nor-flash/nvram: 000FC000:00002000
/arm-io/spi0/nor-flash/nvram: 000FE000:00002000
/arm-io/spi0/nor-flash/raw-device: 00008000:000F4000
/arm-io/spi0/nor-flash/raw-device: 00000000:00001000
/arm-io/spi1: 82100000:00001000
/arm-io/spi2: 82200000:00001000
/arm-io/uart0: 82500000:00001000
/arm-io/uart1: 82600000:00001000
/arm-io/uart2: 82700000:00001000
/arm-io/uart3: 82800000:00001000
/arm-io/uart4: 82900000:00001000
/arm-io/pke: 83100000:00001000
/arm-io/i2c0: 83200000:00001000
/arm-io/i2c2: 83400000:00001000
/arm-io/pwm: 83500000:00001000
/arm-io/otgphyctrl: 86000000:00001000
/arm-io/usb-otg: 86100000:00010000
/arm-io/iop: 86300000:00001000
/arm-io/iop: BF300000:00001000
/arm-io/clcd: 85400000:00003000
/arm-io/mipi-dsim: 89000000:00001000
/arm-io/swi: 89100000:00001000
/arm-io/audio-complex: 84300000:00005000
/arm-io/audio-complex: 84400000:00001000
/arm-io/i2s0: 84500000:00001000
/arm-io/i2s1: 84501000:00001000
/arm-io/i2s2: 84502000:00001000
/arm-io/amc: 84100000:00003000
/arm-io/amc: 84000000:00038000
/arm-io/jpeg: 88200000:00001000
009016B0: / [bootrom]
00901FF0: /chosen
00902740: /cpus
00902780: /chosen/memory-map
009028C0: /options
009028E0: /chosen/iBoot
00903010: /aliases
00903050: /cpus/cpu0 [cpu]
	ipi_dispatch = /arm-io/vic['IPID'](0x00000000)
	cpu_idle = /arm-io/pmgr['cpuI']()
	interrupt-parent = /arm-io/vic
00903CE0: /memory [memory]
00903F20: /pram [pram]
009041E0: /vram [vram]
00904460: /arm-io [s5l8920x-io]
	clock_gate = /arm-io/pmgr['clkG']()
00904BE0: /buttons [buttons]
	button_voldown = /arm-io/gpio['GPIO'](0x00001601, 0x00000000)
	button_volup = /arm-io/gpio['GPIO'](0x00001600, 0x00000000)
	wake_button_menu = /arm-io/i2c0/pmu['STAT'](0x00000180)
	wake_button_hold = /arm-io/i2c0/pmu['STAT'](0x00000181)
	button_hold = /arm-io/gpio['GPIO'](0x00001607, 0x00000100)
	button_menu = /arm-io/gpio['GPIO'](0x00001606, 0x00000100)
	button_ringerab = /arm-io/gpio['GPIO'](0x00001403, 0x00000000)
	interrupt-parent = /arm-io/gpio
00904C20: /arm-io/vic [interrupt-controller]
00905260: /arm-io/pmgr [timer]
	core_voltage_1 = /arm-io/swi['corV'](0x003C0002)
	core_voltage_0 = /arm-io/swi['corV'](0x003C0001)
	core_voltage_2 = /arm-io/swi['corV'](0x003C0003)
00905280: /arm-io/gpio [interrupt-controller]
	interrupt-parent = /arm-io/vic
009070B0: /arm-io/cdma [cdma]
	interrupt-parent = /arm-io/vic
00907710: /arm-io/dart0 [dart]
	interrupt-parent = /arm-io/vic
00907BE0: /arm-io/dart1 [dart]
	interrupt-parent = /arm-io/vic
009080F0: /arm-io/sdio [sdio]
	device_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00010101)
	device_wake = /arm-io/gpio['GPIO'](0x00001404, 0x00000101)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/cdma
00908B70: /arm-io/sha1 [sha1]
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/cdma
009090C0: /arm-io/ceata [ceata]
	interrupt-parent = /arm-io/vic
009095E0: /arm-io/flash-controller0 [fmi]
	device1_reset = /arm-io/pmgr['ARST'](0x00000027)
	device0_reset = /arm-io/pmgr['ARST'](0x00000026)
	interrupt-parent = /arm-io/vic
00909D50: /arm-io/sgx [sgx]
	perf_advise = /arm-io/pmgr['PRFA']()
	interrupt-parent = /arm-io/vic
00909D90: /arm-io/flash-controller0/disk [nand]
0090A990: /arm-io/scaler [scaler]
	interrupt-parent = /arm-io/vic
0090AF50: /arm-io/tv-out [tv-out]
	video_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80002)
	amp_enable = /arm-io/gpio['GPIO'](0x00000A03, 0x00000101)
	interrupt-parent = /arm-io/vic
0090B9E0: /arm-io/isp [isp]
	sensor_shutdown = /arm-io/gpio['GPIO'](0x00000306, 0x02000101)
	device_reset = /arm-io/pmgr['ARST'](0x00000012)
	sensor_extclk = /arm-io/gpio['GPIO'](0x00000307, 0x02000101)
	interrupt-parent = /arm-io/vic
0090C4E0: /arm-io/venc [venc]
	interrupt-parent = /arm-io/vic
0090C990: /arm-io/vxd [vxd]
	interrupt-parent = /arm-io/vic
0090CE80: /arm-io/spi0 [spi]
	spi_cs0 = /arm-io/gpio['GPIO'](0x00001204, 0x00000001)
	interrupt-parent = /arm-io/vic
0090D5F0: /arm-io/spi1 [spi]
	spi_cs0 = /arm-io/gpio['GPIO'](0x00001300, 0x00010001)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/cdma
0090D630: /arm-io/spi0/nor-flash [nor-flash]
0090DAE0: /arm-io/spi0/nor-flash/diagnostic-data [diagnostic-data]
0090DE30: /arm-io/spi0/nor-flash/raw-device [raw-device]
0090DE50: /arm-io/spi0/nor-flash/nvram [nvram]
0090EFA0: /arm-io/spi2 [spi]
	sclk = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)
	srdy = /arm-io/gpio['GPIO'](0x00001304, 0x00000100)
	fail_gpio = /arm-io/gpio['GPIO'](0x00000804, 0x00000102)
	mosi = /arm-io/gpio['GPIO'](0x00001302, 0x03000102)
	mrdy = /arm-io/gpio['GPIO'](0x00001802, 0x00000101)
	interrupt-parent = /arm-io/gpio
	dma-parent = /arm-io/cdma
0090EFE0: /arm-io/spi1/multi-touch [multi-touch]
	reset = /arm-io/gpio['GPIO'](0x00001401, 0x00010001)
	clock_enable = /arm-io/i2c0/pmu['GPIO'](0x00000000, 0x02000101)
	enable_cs = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)
	power_ldo = /arm-io/i2c0/pmu['pmuL'](0x0708020B)
	interrupt-parent = /arm-io/gpio
00910B00: /arm-io/uart0 [uart]
	tx = /arm-io/gpio['GPIO'](0x00000906, 0x00000102)
	interrupt-parent = /arm-io/vic
009111C0: /arm-io/uart0/iap
009112D0: /arm-io/uart1 [uart]
	tx = /arm-io/gpio['GPIO'](0x00000802, 0x00000102)
	rts = /arm-io/gpio['GPIO'](0x00000804, 0x00000101)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/cdma
00911E40: /arm-io/uart2 [uart]
	tx = /arm-io/gpio['GPIO'](0x00000706, 0x00000102)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/cdma
00911E80: /arm-io/uart1/debug
009129A0: /arm-io/uart3 [uart]
	tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)
	rts = /arm-io/gpio['GPIO'](0x00000900, 0x00000002)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/cdma
009129E0: /arm-io/uart2/umts [umts]
00913680: /arm-io/uart4 [uart]
	tx = /arm-io/gpio['GPIO'](0x00000902, 0x00000102)
	interrupt-parent = /arm-io/vic
009136C0: /arm-io/uart3/bluetooth [bluetooth]
	bt_wake = /arm-io/gpio['GPIO'](0x00001602, 0x00000101)
	bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)
00914460: /arm-io/uart4/gas-gauge [gas-gauge]
	battery_swi = /arm-io/i2c0/pmu['GPIO'](0x00000005, 0x00000100)
00914570: /arm-io/pke [pke]
	interrupt-parent = /arm-io/vic
00914EB0: /arm-io/i2c0 [i2c]
	iic_sda = /arm-io/gpio['GPIO'](0x00000401, 0x00010101)
	iic_scl = /arm-io/gpio['GPIO'](0x00000400, 0x00010101)
	interrupt-parent = /arm-io/vic
009156D0: /arm-io/i2c2 [i2c]
	iic_sda = /arm-io/gpio['GPIO'](0x00000405, 0x00010101)
	iic_scl = /arm-io/gpio['GPIO'](0x00000404, 0x00010101)
	interrupt-parent = /arm-io/vic
00915710: /arm-io/i2c0/accelerometer [accelerometer]
	interrupt-parent = /arm-io/gpio
00915C20: /arm-io/i2c0/compass1 [compass1]
00915C40: /arm-io/i2c0/compass [compass]
	interrupt-parent = /arm-io/gpio
009163F0: /arm-io/i2c0/audio0 [audio-control]
	reset = /arm-io/gpio['GPIO'](0x00001406, 0x00010001)
	mclk_control = /arm-io/pwm/codec-mclk['pwmC']()
	hp_detect = /arm-io/i2c0/pmu['GPIO'](0x00000004, 0x00000100)
	interrupt-parent = /arm-io/i2c0/pmu
00916F40: /arm-io/i2c0/pmu [interrupt-controller]
	keepact = /arm-io/gpio['GPIO'](0x00000501, 0x00000101)
	suspend_helper = /arm-io/pmgr['Sush']()
	swi_write = /arm-io/swi['swiB']()
	interrupt-parent = /arm-io/gpio
00917F70: /arm-io/i2c0/mikey [mikey]
	interrupt-parent = /arm-io/i2c0/pmu
00918520: /arm-io/i2c0/tethered [tethered]
00919030: /arm-io/pwm [pwm]
	interrupt-parent = /arm-io/vic
00919070: /arm-io/i2c2/als [als]
	interrupt-parent = /arm-io/gpio
00919C20: /arm-io/otgphyctrl [otgphyctrl]
00919C60: /arm-io/pwm/vibrator [pwm]
00919EC0: /arm-io/pwm/codec-mclk [pwm]
0091A610: /arm-io/usb-otg [usb-otg]
	accessory_detect = /dock['accD']()
	usb_500_100 = /charger['CHRG'](0x00000000)
	usb_swap_config = /dock['accA'](0x0000000A)
	usb_suspend = /charger['CHRG'](0x00000001)
	usb_brick_detect = /charger['CHRG'](0x00000002)
	interrupt-parent = /arm-io/vic
0091B210: /arm-io/iop [iop]
	device_reset = /arm-io/pmgr['ARST'](0x0000002E)
	jtag_enable = /arm-io/gpio['GPIO'](0x00001503, 0x00000101)
	interrupt-parent = /arm-io/vic
0091B250: /arm-io/usb-otg/usb-device [usb-device]
	interrupt-parent = /arm-io/vic
0091B660: /arm-io/usb-otg/usb-host [usb-host]
	interrupt-parent = /arm-io/vic
0091C310: /arm-io/clcd [clcd]
	lcd_enable = /arm-io/mipi-dsim/lcd['lcdE']()
	interrupt-parent = /arm-io/vic
0091C9F0: /arm-io/mipi-dsim [mipi-dsim]
	interrupt-parent = /arm-io/vic
0091D0A0: /arm-io/swi [swi]
	interrupt-parent = /arm-io/vic
0091D0E0: /arm-io/mipi-dsim/lcd [lcd]
	reset = /arm-io/gpio['GPIO'](0x00000500, 0x00000001)
	lcd_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80100)
	interrupt-parent = /arm-io/gpio
0091DDE0: /arm-io/audio-complex [audio-complex]
	dma-parent = /arm-io/cdma
0091E490: /arm-io/i2s0 [i2s]
	mclk_frequency = /arm-io/audio-complex['MCLK']()
	dout = /arm-io/gpio['GPIO'](0x00001703, 0x02000000)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/audio-complex
0091E5B0: /arm-io/i2s1 [i2s]
	mclk_frequency = /arm-io/audio-complex['MCLK']()
	dout = /arm-io/gpio['GPIO'](0x00001800, 0x02000000)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/audio-complex
0091EE30: /arm-io/i2s0/audio0 [audio-data]
0091F230: /arm-io/i2s2 [i2s]
	dout = /arm-io/gpio['GPIO'](0x00001805, 0x02000000)
	interrupt-parent = /arm-io/vic
	dma-parent = /arm-io/audio-complex
0091FA80: /arm-io/i2s1/audio1 [audio-data]
00920790: /arm-io/amc [amc]
	device_reset = /arm-io/pmgr['ARST'](0x00000018)
	interrupt-parent = /arm-io/vic
009207D0: /arm-io/i2s2/audio2 [audio-data]
00921260: /arm-io/jpeg [jpeg]
	interrupt-parent = /arm-io/vic
009225C0: /dock [dock]
	read_acc = /arm-io/i2c0/pmu['pmuA'](0x00000003)
	acc_sw_en = /arm-io/i2c0/pmu['pmuL'](0x80000005)
	acc_detect = /arm-io/i2c0/pmu['STAT'](0x00000005)
	acc_pwr = /arm-io/i2c0/pmu['pmuL'](0x0CE40005)
	interrupt-parent = /arm-io/i2c0/pmu
00922D60: /charger [charger]
	battery_pack = /dock['accA'](0x0000000B)
	set_dmonitor = /arm-io/otgphyctrl['DMON'](0x00000000)
00923410: /baseband [baseband]
	bb_rst = /arm-io/gpio['GPIO'](0x00001407, 0x00000101)
	bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)
	radio_on = /arm-io/gpio['GPIO'](0x00001405, 0x00000101)
	bb_on = /arm-io/i2c0/pmu['GPIO'](0x00000002, 0x00010001)
	bb_usart0_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F02, 0x00010101)
	wlan_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00000001)
	dock_uart_ctrl = /arm-io/i2c0/pmu['GPIO'](0x00000003, 0x00010101)
	reset_det = /arm-io/gpio['GPIO'](0x00001500, 0x00010000)
	umts_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F03, 0x00010101)
	sdio0_clk = /arm-io/gpio['GPIO'](0x00001102, 0x00010102)
	uart3_tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)
	interrupt-parent = /arm-io/gpio

GPIO

<gpio>
0x0 = gpio_multi-touch_clock_enable
0x2 = gpio_baseband_bb_on
0x3 = gpio_baseband_dock_uart_ctrl
0x4 = gpio_audio0_hp_detect
0x5 = gpio_gas-gauge_battery_swi
0x306 = gpio_isp_sensor_shutdown
0x307 = gpio_isp_sensor_extclk
0x400 = gpio_i2c0_iic_scl
0x401 = gpio_i2c0_iic_sda
0x404 = gpio_i2c2_iic_scl
0x405 = gpio_i2c2_iic_sda
0x500 = gpio_lcd_reset
0x501 = gpio_pmu_keepact
0x706 = gpio_uart2_tx
0x802 = gpio_uart1_tx
0x804 = gpio_uart1_rts
0x806 = gpio_baseband_uart3_tx
0x900 = gpio_uart3_rts
0x902 = gpio_uart4_tx
0x906 = gpio_uart0_tx
0xA03 = gpio_tv-out_amp_enable
0xF02 = gpio_baseband_bb_usart0_rxd_ctrl
0xF03 = gpio_baseband_umts_rxd_ctrl
0x1102 = gpio_baseband_sdio0_clk
0x1204 = gpio_spi0_spi_cs0
0x1300 = gpio_multi-touch_enable_cs
0x1302 = gpio_spi2_mosi
0x1304 = gpio_spi2_srdy
0x1401 = gpio_multi-touch_reset
0x1403 = gpio_buttons_button_ringerab
0x1404 = gpio_sdio_device_wake
0x1405 = gpio_baseband_radio_on
0x1406 = gpio_audio0_reset
0x1407 = gpio_baseband_bb_rst
0x1500 = gpio_baseband_reset_det
0x1502 = gpio_usb_plugged_in          // not in devtree for some reason
0x1503 = gpio_iop_jtag_enable
0x1506 = gpio_baseband_bt_reset
0x1600 = gpio_buttons_button_volup
0x1601 = gpio_buttons_button_voldown
0x1602 = gpio_bluetooth_bt_wake
0x1605 = gpio_baseband_wlan_reset
0x1606 = gpio_buttons_button_menu
0x1607 = gpio_buttons_button_hold
0x1703 = gpio_i2s0_dout
0x1800 = gpio_i2s1_dout
0x1802 = gpio_spi2_mrdy
0x1805 = gpio_i2s2_dout

Interrupts

<interrupts for /arm-io/gpio>
	int 00000000 = /arm-io/spi1/multi-touch
	int 00000001 = /arm-io/i2c2/als
	int 00000002 = /arm-io/mipi-dsim/lcd
	int 00000003 = /arm-io/i2c0/compass
	int 00000004 = /baseband
	int 00000005 = /buttons
	int 00000007 = /buttons
	int 00000090 = /arm-io/i2c0/compass
	int 0000009C = /arm-io/spi2
	int 0000009D = /arm-io/i2c0/pmu
	int 0000009E = /arm-io/i2c2/als
	int 000000A2 = /arm-io/i2c0/accelerometer
	int 000000A3 = /buttons
	int 000000A8 = /baseband
	int 000000AF = /arm-io/mipi-dsim/lcd
	int 000000B0 = /buttons
	int 000000B1 = /buttons
	int 000000B4 = /arm-io/spi1/multi-touch
	int 000000B6 = /buttons
	int 000000B7 = /buttons
<interrupts for /arm-io/i2c0/pmu>
	int 00000000 = /arm-io/i2c0/mikey
	int 00000005 = /dock
	int 00000014 = /arm-io/i2c0/audio0
	int 00000017 = /arm-io/i2c0/mikey
	int 00000054 = /arm-io/i2c0/mikey
<interrupts for /arm-io/vic>
	int 00000000 = /cpus/cpu0
	int 00000002 = /arm-io/nmi // not in devicetree, nand management interface
	int 00000003 = /arm-io/iop(dma)
	int 00000005 = /arm-io/pmu // also not in devicetree
	int 00000007 = /arm-io/swi
	int 00000009 = /arm-io/isp
	int 0000000A = /arm-io/isp
	int 0000000C = /arm-io/scaler
	int 0000000E = /arm-io/usb-otg/usb-host
	int 0000000F = /arm-io/pwm
	int 00000010 = /arm-io/pke
	int 00000011 = /arm-io/i2c2
	int 00000013 = /arm-io/i2c0
	int 00000014 = /arm-io/uart4
	int 00000015 = /arm-io/uart3
	int 00000016 = /arm-io/uart2
	int 00000017 = /arm-io/uart1
	int 00000018 = /arm-io/uart0
	int 0000001C = /arm-io/spi1
	int 0000001D = /arm-io/spi0
	int 0000001E = /arm-io/flash-controller0
	int 0000001F = /arm-io/flash-controller0
	int 00000020 = /arm-io/ceata
	int 00000021 = /arm-io/sha1
	int 00000022 = /arm-io/sdio
	int 00000023 = /arm-io/tv-out
	int 00000024 = /arm-io/mipi-dsim
	int 00000025 = /arm-io/clcd
	int 00000026 = /arm-io/venc
	int 00000027 = /arm-io/tv-out
	int 00000029 = /arm-io/sgx
	int 0000002A = /arm-io/vxd
	int 0000002B = /arm-io/cdma
	int 0000002C = /arm-io/cdma
	int 0000002D = /arm-io/cdma
	int 0000002E = /arm-io/cdma
	int 0000002F = /arm-io/cdma
	int 00000030 = /arm-io/cdma
	int 00000031 = /arm-io/cdma
	int 00000032 = /arm-io/cdma
	int 00000033 = /arm-io/cdma
	int 00000034 = /arm-io/cdma
	int 00000035 = /arm-io/cdma
	int 00000036 = /arm-io/cdma
	int 00000037 = /arm-io/cdma
	int 00000038 = /arm-io/cdma
	int 00000039 = /arm-io/cdma
	int 0000003A = /arm-io/cdma
	int 0000003B = /arm-io/cdma
	int 0000003C = /arm-io/cdma
	int 0000003D = /arm-io/cdma
	int 0000003E = /arm-io/cdma
	int 0000003F = /arm-io/cdma
	int 00000040 = /arm-io/cdma
	int 00000041 = /arm-io/cdma
	int 00000042 = /arm-io/cdma
	int 00000043 = /arm-io/cdma
	int 00000044 = /arm-io/cdma
	int 00000045 = /arm-io/cdma
	int 00000046 = /arm-io/amc
	int 00000047 = /arm-io/amc
	int 00000048 = /arm-io/amc
	int 00000049 = /arm-io/amc
	int 0000004A = /arm-io/amc
	int 0000004B = /arm-io/amc
	int 0000004C = /arm-io/amc
	int 0000004D = /arm-io/amc
	int 0000004E = /arm-io/amc
	int 0000004F = /arm-io/amc
	int 00000050 = /arm-io/amc
	int 00000051 = /arm-io/amc
	int 00000052 = /arm-io/amc
	int 00000053 = /arm-io/amc
	int 00000054 = /arm-io/amc
	int 00000055 = /arm-io/amc
	int 00000056 = /arm-io/amc
	int 00000057 = /arm-io/amc
	int 00000058 = /arm-io/amc
	int 00000059 = /arm-io/dart1
	int 0000005A = /arm-io/dart0
	int 0000005D = /arm-io/jpeg
	int 0000005E = /arm-io/gpio
	int 0000005F = /cpus/cpu0

DMA Channels

<dma channels for /arm-io/audio-complex>
	dma 00000000 = /arm-io/i2s0
	dma 00000001 = /arm-io/i2s0
	dma 00000002 = /arm-io/i2s1
	dma 00000003 = /arm-io/i2s1
	dma 00000004 = /arm-io/i2s2
	dma 00000005 = /arm-io/i2s2
<dma channels for /arm-io/cdma>
	dma 00000000 = /arm-io/audio-complex
	dma 00000003 = /arm-io/sdio
	dma 00000004 = /arm-io/sha1
	dma 0000000A = /arm-io/uart1
	dma 0000000B = /arm-io/uart2
	dma 0000000C = /arm-io/uart3
	dma 0000000D = /arm-io/uart3
	dma 00000010 = /arm-io/spi2
	dma 00000011 = /arm-io/spi2
	dma 00000012 = /arm-io/spi1
	dma 00000013 = /arm-io/spi1
	dma 00000015 = /arm-io/audio-complex
	dma 00000016 = /arm-io/audio-complex
	dma 00000017 = /arm-io/audio-complex
	dma 00000018 = /arm-io/audio-complex
	dma 00010001 = /arm-io/uart3
	dma 00010004 = /arm-io/spi2
	dma 00040002 = /arm-io/audio-complex
	dma 00100004 = /arm-io/sha1
	dma 80000020 = /arm-io/sdio
	dma 801000A0 = /arm-io/sha1
	dma 82100010 = /arm-io/spi1
	dma 82100020 = /arm-io/spi1
	dma 82200010 = /arm-io/spi2
	dma 82200020 = /arm-io/spi2
	dma 82600024 = /arm-io/uart1
	dma 82700024 = /arm-io/uart2
	dma 82800020 = /arm-io/uart3
	dma 82800024 = /arm-io/uart3
	dma 84000000 = /arm-io/audio-complex
	dma 84000004 = /arm-io/audio-complex
	dma 84000008 = /arm-io/audio-complex
	dma 8400000C = /arm-io/audio-complex

Clock Gates

<clock gates for clock id 16>
	gate 00000010 = /arm-io/sdio
<clock gates for clock id 17>
	gate 00000011 = /arm-io/sha1
<clock gates for clock id 18>
	gate 00000012 = /arm-io/ceata
<clock gates for clock id 19>
	gate 00000013 = /arm-io/flash-controller0
	gate 00000014 = /arm-io/flash-controller0
<clock gates for clock id 21>
	gate 00000015 = /arm-io/spi0
<clock gates for clock id 22>
	gate 00000016 = /arm-io/spi1
<clock gates for clock id 23>
	gate 00000017 = /arm-io/spi2
<clock gates for clock id 26>
	gate 0000001A = /arm-io/uart0
<clock gates for clock id 27>
	gate 0000001B = /arm-io/uart1
<clock gates for clock id 28>
	gate 0000001C = /arm-io/uart2
<clock gates for clock id 29>
	gate 0000001D = /arm-io/uart3
<clock gates for clock id 30>
	gate 0000001E = /arm-io/uart4
<clock gates for clock id 31>
	gate 0000001F = /arm-io/pke
<clock gates for clock id 32>
	gate 00000020 = /arm-io/i2c0
<clock gates for clock id 34>
	gate 00000022 = /arm-io/i2c2
<clock gates for clock id 35>
	gate 00000023 = /arm-io/pwm
<clock gates for clock id 36>
	gate 00000024 = /arm-io/otgphyctrl
<clock gates for clock id 37>
	gate 00000025 = /arm-io/usb-otg
<clock gates for clock id 39>
	gate 00000027 = /arm-io/iop
<clock gates for clock id 40>
	gate 00000028 = /arm-io/vxd
<clock gates for clock id 41>
	gate 00000029 = /arm-io/sgx
<clock gates for clock id 42>
	gate 0000002A = /arm-io/clcd
<clock gates for clock id 43>
	gate 0000002B = /arm-io/scaler
<clock gates for clock id 44>
	gate 0000002C = /arm-io/tv-out
<clock gates for clock id 45>
	gate 0000002D = /arm-io/dart0
<clock gates for clock id 46>
	gate 0000002E = /arm-io/venc
<clock gates for clock id 47>
	gate 0000002F = /arm-io/jpeg
<clock gates for clock id 48>
	gate 00000030 = /arm-io/isp
	gate 00000031 = /arm-io/isp
	gate 00000032 = /arm-io/isp
<clock gates for clock id 51>
	gate 00000033 = /arm-io/dart1
<clock gates for clock id 52>
	gate 00000034 = /arm-io/mipi-dsim
<clock gates for clock id 53>
	gate 00000035 = /arm-io/swi
	gate 00000036 = /arm-io/swi
<clock gates for clock id 55>
	gate 00000037 = /arm-io/audio-complex
<clock gates for clock id 56>
	gate 00000038 = /arm-io/amc
<clock gates for clock id 57>
	gate 00000039 = /arm-io/i2s0
<clock gates for clock id 58>
	gate 0000003A = /arm-io/i2s1
<clock gates for clock id 59>
	gate 0000003B = /arm-io/i2s2