RaphaelTouchscreen

来自WordPress中文文档
跳转至: 导航搜索

Built-in MSM7201A touchscreen controller.

TS init related base is at phys 0xa8100000 and there are 6 regs (see memory map).

offset wince value notes
+0x00 0x8015 when changed to 0x0, +0x04 changes to match what is written here
+0x04 0x8015 when changed to 0x0 while +0x00 is 0x8015, touchscreen is disabled until corrected
+0x08 0x0 seems impossible to change to another value, haret does not even register a pfw on this address
+0x10 0x4e0074 when +0x00, +0x14 or +0x18 is modified, this value changes a bit, seems like a status reg, can take up to a second before it changes
+0x14 0x2 seems impossible to change, same behaviour as +0x08
+0x18 0xa seems to enable/disable the touchscreen, when set to 0x0 touchscreen is inoperable, when set to 0xa, touchscreen is re-enabled, tried some other values but seem to have no impact

interrupt warning

The touchscreen provides two interrupts which are only functional on edge (rising/falling), when high or low is enabled, the interrupt does not fire. TCHSCRN1 is fired upon touch, TCHSCRN2 is fired upon release. However, TCHSCRN2 does not fire consistently. On brief touches there's a 1 out of 10 (or so..) chance the 2nd interrupt does not fire, which makes interrupts unreliable.

tracing

When using HaRET, add tracing for these addresses with:

newvar tsinit gpios
clearvar tsinit
addlist tsinit p2v(0xa8100000)
addlist tsinit p2v(0xa8100004)
addlist tsinit p2v(0xa8100008)
addlist tsinit p2v(0xa8100010)
addlist tsinit p2v(0xa8100014)
addlist tsinit p2v(0xa8100018)
watch tsinit <nr_of_seconds>

For the other touchscreen registers, add tracing with:

newvar tsdata gpios
clearvar tsdata
addlist tsdata p2v(0xaa300100)
addlist tsdata p2v(0xaa300104)
addlist tsdata p2v(0xaa300108)
addlist tsdata p2v(0xaa30010c)
addlist tsdata p2v(0xaa300110)
addlist tsdata p2v(0xaa300114)
addlist tsdata p2v(0xaa300118)
addlist tsdata p2v(0xaa30011c)
addlist tsdata p2v(0xaa300138)
addlist tsdata p2v(0xaa30013c)
addlist tsdata p2v(0xaa300158)
addlist tsdata p2v(0xaa30015c)
addlist tsdata p2v(0xaa300178)
addlist tsdata p2v(0xaa30017c)

Back to Raphael Main Page or Back to Raphael Research