The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "S5L8720 Timers (Hardware)"
Posixninja (talk | contribs) |
|||
Line 1: | Line 1: | ||
+ | ==S5L8720 Timer Hardware== |
||
+ | Base Address: 0x3C700000 |
||
+ | ==Common Registers== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |Register |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" |Function |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |- |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |align="left" width="100px" |0x118 |
||
+ | |align="left" |Timer 4-7 IRQ Status, write to clear interrupt request |
||
+ | |} |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ====IRQ Status Register (0x118)==== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |Bit |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="60px" |Access |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" |Function |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |- |
||
+ | |2-0||R||Timer 7 Flags (execute handler 1 to 3) |
||
+ | |- |
||
+ | |7-3||x||No Function / Unknown |
||
+ | |- |
||
+ | |10-8||R||Timer 6 Flags (execute handler 1 to 3) |
||
+ | |- |
||
+ | |15-11||x||No Function / Unknown |
||
+ | |- |
||
+ | |18-16||R||Timer 5 Flags (execute handler 1 to 3) |
||
+ | |- |
||
+ | |23-19||x||No Function / Unknown |
||
+ | |- |
||
+ | |26-24||R||Timer 4 Flags (execute handler 1 to 3) |
||
+ | |- |
||
+ | |31-27||x||No Function / Unknown |
||
+ | |} |
||
+ | RW: Read/Write Access, x: Don't know |
||
+ | ==RTC Registers== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |Register |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" |Function |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |- |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |0x80 |
||
+ | |RTC Ticks High |
||
+ | |- |
||
+ | |0x84 |
||
+ | |RTC Ticks Low |
||
+ | |- |
||
+ | |0x88 |
||
+ | |On init: 0xA, then after the others: 0x18010 |
||
+ | |- |
||
+ | |0x8C |
||
+ | |On init: 0xFFFFFFFF |
||
+ | |- |
||
+ | |0x90 |
||
+ | |On init: 0xFFFFFFFF |
||
+ | |- |
||
+ | |0x94 |
||
+ | |On init: 0xFFFFFFFF |
||
+ | |- |
||
+ | |0x98 |
||
+ | |On init: 0xFFFFFFFF |
||
+ | |} |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ==Timers== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ===Timer Bases=== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |TimerNumber |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |- |
||
+ | |Base ||align="center"| 0x0 ||align="center"| 0x20 ||align="center"| 0x40 ||align="center"| 0x60 |
||
+ | |align="center"| 0xA0 ||align="center"| 0xC0 ||align="center"| 0xE0 ||align="center"| 0x100 |
||
+ | |- |
||
+ | |Width ||align="center"| 16Bit ||align="center"| 16Bit ||align="center"| 16Bit ||align="center"| 16Bit |
||
+ | |align="center"| 32Bit ||align="center"| 32Bit ||align="center"| 32Bit ||align="center"| 32Bit |
||
+ | |} |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ===Timer Registers=== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |Register |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" |Name |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |- |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |0x00 |
||
+ | |Config Register |
||
+ | |- |
||
+ | |0x04 |
||
+ | |Control Register |
||
+ | |- |
||
+ | |0x08 |
||
+ | |Compare Buffer Register (TCMPB) |
||
+ | |- |
||
+ | |0x0C |
||
+ | |Counter Buffer register (TCNTB) |
||
+ | |- |
||
+ | |0x10 |
||
+ | |10-Bit Prescaler |
||
+ | |- |
||
+ | |0x14 |
||
+ | |Observation Register (TCNTO) |
||
+ | |} |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ===Register Description=== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ====Config Register==== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |Bit |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="60px" |Access |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" |Function |
||
+ | |- |
||
+ | |2-0||x||No Function / Unknown |
||
+ | |- |
||
+ | |3||RW||Switches Bit 23 (TOUT) randomly if set... |
||
+ | |- |
||
+ | |4||RW||Compare Mode: Counter runs up to TCMPB (Modebit 0) |
||
+ | |- |
||
+ | |5||RW||Auto-Reload: (Modebit 1) |
||
+ | {| |
||
+ | |1 = One-Shoot |
||
+ | |- |
||
+ | |0 = Interval Mode |
||
+ | |- |
||
+ | |Counter runs up to TCMPB |
||
+ | |} |
||
+ | |- |
||
+ | |6||RW||Clock Select |
||
+ | {| |
||
+ | |0 ||=>||align="right"|133MHz Timer Clock |
||
+ | |- |
||
+ | |1 and Divider = 1 and Prescaler = 0 ||=>||align="right"|133MHz Timer Clock |
||
+ | |- |
||
+ | |1 and (Divider > 1 or Prescaler > 0) ||=>||align="right"|24MHz Timer Clock |
||
+ | |} |
||
+ | |- |
||
+ | |7||RW||Unknown |
||
+ | |- |
||
+ | |10-8||RW||Divider |
||
+ | |- |
||
+ | |11||RW||Invert TOUT |
||
+ | |- |
||
+ | |14-12||RW||Unknown |
||
+ | |- |
||
+ | |15||x||No Function / Unknown |
||
+ | |- |
||
+ | |22-16||x||Unknown |
||
+ | |- |
||
+ | |23||RW |
||
+ | |Timer Out (TOUT) |
||
+ | {| |
||
+ | |In mode 0x00: Bit 23 = Toggle when TCNT = 0 |
||
+ | |- |
||
+ | |In mode 0x01: Bit 23 = (TCNT >= TCMP) |
||
+ | |- |
||
+ | |In mode 0x10: Bit 23 = (TCNT >= TCMP) |
||
+ | |- |
||
+ | |In mode 0x11: Bit 23 = Toggle when TCNT = TCMP |
||
+ | |} |
||
+ | |- |
||
+ | |24||RW||Counting Direction: 0 = Up, 1 = Down (Only on Timer 4-7) |
||
+ | |- |
||
+ | |27-25||x||No Function / Unknown |
||
+ | |- |
||
+ | |28||RW||When counting down, count down starting at TCMPB (Only on Timer 4-7) |
||
+ | |- |
||
+ | |31-29||x||No Function / Unknown |
||
+ | |} |
||
+ | RW: Read/Write Access, x: Don't know |
||
+ | ====Control Register==== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | {| style="width:100%" border="1" |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="100px" |Bit |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" width="60px" |Access |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | !align="left" |Function |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | |- |
||
+ | |0||RW||Start / Stop |
||
+ | |- |
||
+ | |1||RW||Manual Update |
||
+ | |- |
||
+ | |3-2||x||No Function/ Unknown |
||
+ | |- |
||
+ | |4||RW||Resets all counter registers to 0 |
||
+ | |- |
||
+ | |31-5||x||No Function/ Unknown |
||
+ | |} |
||
+ | RW: Read/Write Access, x: Don't know |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | ==References== |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | Information gathered from: |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | *Reversing iBoot |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | *openiBoot |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
+ | *Playing with the registers when iBoot is running |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | |||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
||
− | Haxed by 1337Urmom at The Pois0nhack team |
Latest revision as of 07:24, 7 November 2009
Contents
S5L8720 Timer Hardware
Base Address: 0x3C700000
Common Registers
Register | Function |
---|---|
0x118 | Timer 4-7 IRQ Status, write to clear interrupt request |
IRQ Status Register (0x118)
Bit | Access | Function |
---|---|---|
2-0 | R | Timer 7 Flags (execute handler 1 to 3) |
7-3 | x | No Function / Unknown |
10-8 | R | Timer 6 Flags (execute handler 1 to 3) |
15-11 | x | No Function / Unknown |
18-16 | R | Timer 5 Flags (execute handler 1 to 3) |
23-19 | x | No Function / Unknown |
26-24 | R | Timer 4 Flags (execute handler 1 to 3) |
31-27 | x | No Function / Unknown |
RW: Read/Write Access, x: Don't know
RTC Registers
Register | Function |
---|---|
0x80 | RTC Ticks High |
0x84 | RTC Ticks Low |
0x88 | On init: 0xA, then after the others: 0x18010 |
0x8C | On init: 0xFFFFFFFF |
0x90 | On init: 0xFFFFFFFF |
0x94 | On init: 0xFFFFFFFF |
0x98 | On init: 0xFFFFFFFF |
Timers
Timer Bases
TimerNumber | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
Base | 0x0 | 0x20 | 0x40 | 0x60 | 0xA0 | 0xC0 | 0xE0 | 0x100 |
Width | 16Bit | 16Bit | 16Bit | 16Bit | 32Bit | 32Bit | 32Bit | 32Bit |
Timer Registers
Register | Name |
---|---|
0x00 | Config Register |
0x04 | Control Register |
0x08 | Compare Buffer Register (TCMPB) |
0x0C | Counter Buffer register (TCNTB) |
0x10 | 10-Bit Prescaler |
0x14 | Observation Register (TCNTO) |
Register Description
Config Register
Bit | Access | Function | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
2-0 | x | No Function / Unknown | |||||||||
3 | RW | Switches Bit 23 (TOUT) randomly if set... | |||||||||
4 | RW | Compare Mode: Counter runs up to TCMPB (Modebit 0) | |||||||||
5 | RW | Auto-Reload: (Modebit 1)
| |||||||||
6 | RW | Clock Select
| |||||||||
7 | RW | Unknown | |||||||||
10-8 | RW | Divider | |||||||||
11 | RW | Invert TOUT | |||||||||
14-12 | RW | Unknown | |||||||||
15 | x | No Function / Unknown | |||||||||
22-16 | x | Unknown | |||||||||
23 | RW | Timer Out (TOUT)
| |||||||||
24 | RW | Counting Direction: 0 = Up, 1 = Down (Only on Timer 4-7) | |||||||||
27-25 | x | No Function / Unknown | |||||||||
28 | RW | When counting down, count down starting at TCMPB (Only on Timer 4-7) | |||||||||
31-29 | x | No Function / Unknown |
RW: Read/Write Access, x: Don't know
Control Register
Bit | Access | Function |
---|---|---|
0 | RW | Start / Stop |
1 | RW | Manual Update |
3-2 | x | No Function/ Unknown |
4 | RW | Resets all counter registers to 0 |
31-5 | x | No Function/ Unknown |
RW: Read/Write Access, x: Don't know
References
Information gathered from:
- Reversing iBoot
- openiBoot
- Playing with the registers when iBoot is running