Editing Syscon Hardware
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
<div style="float:right">[[File: | <div style="float:right">[[File:SYSCON_GEN1.JPG|thumb|Syscon 1st Generation (BGA Packaging)]]<br />[[File:Pyramid Syscon live probing.jpg|thumb|Pyramid Syscon live probing]]</div> | ||
Syscon is the main power controller chip of the PS3. It is responsible for powering up the various power systems and for configuring and initialising the [[CELL BE|BE]], [[RSX]] and [[South Bridge|SB]] via dedicated SPI buses. The Syscon is a SoC and based on a ARM7TDMI-S (in the [[Mullion]] syscons) or a NEC 78K0R (in the [[Sherwood]] syscons) design. There is external access by "JTAG" (disabled from factory on retail models), an EEPROM programming interface (only on Mullion) and Serial (UART). | |||
= Serialnumbers per SKU = | |||
== Retail == | |||
{| class="wikitable" | |||
{| class="wikitable" | |||
|- | |- | ||
! [[CECHAxx]]<br>[[CECHBxx]] !! [[CECHCxx]]<br>[[CECHExx]] !! [[CECHGxx]] !! [[CECHHxx]] !! [[CECHJxx]]<br>[[CECHKxx]] !! colspan=6 | [[Syscon Hardware|Syscon]] !! rowspan=2 | Default platform config | |||
|- | |- | ||
! [[COK-001]] !! [[COK-002]] !! [[SEM-001]] !! [[DIA-001]] !! [[DIA-002]] !! Model !! [[More System Information#First_section|SoftID]] !! ROM !! FLASH !! EEPROM !! RAM | |||
|- | |- | ||
| | | {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || [[CXR713120-201GB]] || 0B8E || rowspan=7 | 384KB || rowspan=7 {{no}}|| rowspan=3 | 32KB || rowspan=7 | 64KB || | ||
|- | |- | ||
| | | {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || [[CXR713120-202GB]] || 0C16 || | ||
|- | |- | ||
| | | {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || [[CXR713120-203GB]] || 0D52 || | ||
|- | |- | ||
| | | {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || [[CXR714120-301GB]] || 0DBF || rowspan=4 | 20KB || | ||
|- | |- | ||
| | | {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || [[CXR714120-302GB]] || 0E69 || | ||
|-{{cellcolors|#f0f0f0}} | |||
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || [[CXR714120-303GB]] || 0F29 || [[CECHCxx]]/[[COK-002]] Refurbished, new 65nm RSX, new syscon | |||
|-{{cellcolors|#f0f0f0}} | |||
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || [[CXR714120-304GB]] || 0F38 || [[CECHAxx]]/[[COK-001]] Refurbished, new 40nm RSX, new syscon | |||
|- | |- | ||
| | |} | ||
{| class="wikitable" | |||
|- | |- | ||
| | ! colspan=3 | PS3 !! colspan=6 | [[Syscon Hardware|Syscon]] !! rowspan=2 | Notes | ||
|- | |- | ||
| | ! [[SKU Models|Model]] !! [[Product Sub Code]] !! [[Motherboard Revisions|Motherboard]] !! Model !! [[More System Information#First_section|SoftID]] !! ROM !! FLASH !! EEPROM !! RAM | ||
|- | |- | ||
| < | | [[CECHLxx]]<br />[[CECHMxx]]<br />[[CECHPxx]]<br />[[CECHQxx]] || 0x08 || [[VER-001]] || [[SW-301]] or<br />[[SW-302]] || 065D || N/A || 512KB || N/A || 50KB || | ||
|- | |- | ||
| | | [[CECH-20xx]] || 0x09 || [[DYN-001]] || [[SW2-301]] || 0832 || rowspan=10 | N/A || rowspan=10 | 768KB || rowspan=10 | N/A || rowspan=10 | 50KB || | ||
|- | |- | ||
| | | [[CECH-21xx]] || 0x0A || [[SUR-001]] || [[SW2-301]] or<br />[[SW2-302]] || 08A0 || | ||
|- | |- | ||
| | | [[CECH-25xx]] || 0x0B || [[JTP-001]] or<br />[[JSD-00x|JSD-001]] || [[SW2-301]] or<br />[[SW2-302]] or<br />[[SW2-303]] || 08C2 || | ||
|- | |- | ||
| | | [[CECH-30xx]] || 0x0C || [[KTE-001]] || [[SW3-301]] || 0918 || | ||
|- | |- | ||
| | | [[CECH-40xx]] || 0x0D || [[MSX-001]] or<br />[[MPX-00x|MPX-001]] || [[SW3-302]] || 098F || | ||
|- | |- | ||
| | | [[CECH-42xx]] || ? || [[NPX-001]] || ? || ? || | ||
|- | |- | ||
| | | [[CECH-42xx]] || ? || [[PPX-001]] || ? || ? || | ||
|- | |- | ||
| | | [[CECH-42xx]]A || ? || [[PQX-001]] || [[SW3-304]] || ? || | ||
|- | |- | ||
| | | [[CECH-43xx]] || ? || [[RTX-001]] || ? || ? || | ||
|- | |- | ||
| | | [[CECH-43xx]] || ? || [[REX-001]] || ? || ? || | ||
|- | |- | ||
|} | |} | ||
*Notes | |||
**There is no mention in wiki about [[SW3-303]] but probably was used in the early PS3 [[CECH-42xx]] models | |||
== Non retail == | |||
{| class="wikitable sortable" | |||
{| class="wikitable | |||
|- | |- | ||
! | ! [[SKU Models|Model]] !! [[Product Sub Code]] !! [[Motherboard Revisions|Motherboard]] !! [[Syscon Hardware|Syscon<br />part no.]] !! Syscon<br />[[More System Information#First_section|Soft ID]] !! Active JTAG !! Notes | ||
|- | |- | ||
| [[CEB-2040]] || - || [[MPU-501]] || CXR713F120<abbr title="A ?">..</abbr> '''GB-000''' || ? || ?No? || Retail prototype. See [[Talk:CXR713F120A]] | |||
|- | |- | ||
| [[DEH-H1001-D]] || 0x01 || [[COOKIE-13]] || [[CXR713F120A]] '''GB-???''' || 0B67 || No || Preproduction. See [[Talk:CXR713F120A]] | |||
|- | |- | ||
| | | [[DEH-H1000A(S)(-E(S))]] || 0x01 || [[COK-001 (Prototype)]] || [[CXR713F120A]] '''GB-???''' || 0B67 || No || Preproduction. See [[Talk:CXR713F120A]] | ||
|- | |- | ||
| [[DECR-1000|DECR1000(A/J)]] || 0x01 || [[TMU-520]] || [[CXR713F120A]] '''GB-101''' || 03FB || No || Reference tool. See [[Talk:CXR713F120A]] | |||
| | |||
|- | |- | ||
| [[DECR-1400|DECR1400(A/J)]] || 0x01 || [[DEB-001]] || [[CXR714120-302GB]] || ? || ? || Reference tool | |||
| | |||
|- | |- | ||
| [[DEH-FH1500J-A]] || 0x08 || [[VERTIGO-02]] || D79F0073 ([[SW-301]]) || 0658 || ?Yes? || Preproduction | |||
| | |||
|- | |- | ||
| [[DEH-ML00AK-G]] || 0x0D || [[MPX-001 (Prototype) ]] || D79F0123 ([[SW3-302]]) || 098F || ?No? || Preproduction | |||
| | |||
|- | |- | ||
| [[DECHA|DECHA00A/J]] || 0x01 || [[COK-001]] || [[CXR713120-201GB]] ? || 0C16 || No || Found when searching for 40nm RSX | |||
| | |||
|- | |- | ||
<!-- Not Prototype debug units - see retail --> | |||
! | |||
|} | |} | ||
Line 238: | Line 165: | ||
| 0x17 || '''tmpforcp <zone ID>''' || Reference Tool's temperature For Communication Processor || Gets the temperature of reference tool | | 0x17 || '''tmpforcp <zone ID>''' || Reference Tool's temperature For Communication Processor || Gets the temperature of reference tool | ||
|- | |- | ||
| 0x18 || rowspan=" | | 0x18 || rowspan="7" colspan="3" style="background:lightgrey; color:#ff0000; text-align: center;" | Invalid CMDs | ||
|- | |- | ||
| 0x19 | | 0x19 | ||
Line 247: | Line 174: | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
|- | |- | ||
| 0x1E | | 0x1E | ||
Line 277: | Line 202: | ||
! Packet ID !! Command/Action !! Logs !! Notes | ! Packet ID !! Command/Action !! Logs !! Notes | ||
|- | |- | ||
| 0x00 || '''version''' || version\nv1.0.4_c2\n (END) || | | 0x00 || '''version''' || <pre> version\nv1.0.4_c2\n (END) </pre> || | ||
|- | |- | ||
| 0x01 || '''bringup''' || (END) || | | 0x01 || '''bringup''' || <pre> (END) </pre> || | ||
|- | |- | ||
| 0x02 || '''shutdown''' || Do nothing. (PowerOff State)\n (END) || Returns (END) if the system is on | | 0x02 || '''shutdown''' || <pre> Do nothing. (PowerOff State)\n (END) </pre> || Returns (END) if the system is on | ||
|- | |- | ||
| 0x03 || '''firmud''' || Start...\nErase User Program Area\n (END) || This will brick your SYSCON if you don't feed it any argument or feed to it the wrong argument! | | 0x03 || '''firmud''' || <pre> Start...\nErase User Program Area\n (END) </pre> || This will brick your SYSCON if you don't feed it any argument or feed to it the wrong argument! | ||
|- | |- | ||
| 0x04 || '''bsn''' || bsn\nNANNNNNNNNNA\n (END) || N is digit and A is char (removed for privacy) | | 0x04 || '''bsn''' || <pre> bsn\nNANNNNNNNNNA\n (END) </pre> || N is digit and A is char (removed for privacy) | ||
|- | |- | ||
| 0x05 || '''halt''' || halt\n (END) || | | 0x05 || '''halt''' || <pre> halt\n (END)</pre> || | ||
|- | |- | ||
| 0x06 || '''cp ready''' || cp ready\nCP READY: OK\n (END) || | | 0x06 || '''cp ready''' || <pre> cp ready\nCP READY: OK\n (END) </pre> || | ||
|- | |- | ||
| 0x07 || '''cp busy''' || cp ready\nCP BUSY: OK\n (END) || STATUS light blinks forever | | 0x07 || '''cp busy''' || <pre> cp ready\nCP BUSY: OK\n (END) </pre> || STATUS light blinks forever | ||
|- | |- | ||
| 0x08 || '''cp reset''' || No response || Should reset CP to factory settings | | 0x08 || '''cp reset''' || No response || Should reset CP to factory settings | ||
|- | |- | ||
| 0x09 || '''bestat''' || (PowerOff State)\n (END) || | | 0x09 || '''bestat''' || <pre> (PowerOff State)\n (END) </pre>|| | ||
|- | |- | ||
| 0x0A || '''powersw''' || (END) || | | 0x0A || '''powersw''' || <pre> (END) </pre> || | ||
|- | |- | ||
| 0x0B || '''resetsw''' || (END) || | | 0x0B || '''resetsw''' || <pre> (END) </pre> || | ||
|- | |- | ||
| 0x0C || '''bootbeep stat''' || BOOT BEEP: ON\n (END) || when it's off BOOT BEEP status changes to OFF | | 0x0C || '''bootbeep stat''' || <pre> BOOT BEEP: ON\n (END) </pre> || when it's off BOOT BEEP status changes to OFF | ||
|- | |- | ||
| 0x0D || '''bootbeep on''' || BOOT BEEP ON: DONE\n (END) || | | 0x0D || '''bootbeep on''' || <pre> BOOT BEEP ON: DONE\n (END) </pre> || | ||
|- | |- | ||
| 0x0E || '''bootbeep off''' || BOOT BEEP OFF: DONE\n (END) || | | 0x0E || '''bootbeep off''' || <pre> BOOT BEEP OFF: DONE\n (END) </pre> || | ||
|- | |- | ||
| 0x0F || '''Reset syscon''' || || | | 0x0F || '''Reset syscon''' || || | ||
|- | |- | ||
| 0x10 || '''xdrdiag info''' || 32\n (END) || | | 0x10 || '''xdrdiag info''' || <pre> 32\n (END) </pre> || | ||
|- | |- | ||
| 0x11 || '''xdrdiag start''' || DIAG START\n (END) || | | 0x11 || '''xdrdiag start''' || <pre> DIAG START\n (END) </pre> || | ||
|- | |- | ||
| 0x12 || '''xdrdiag result''' || XDR OK\n (END) || will return ERROR NOT STARTED if xdrdiag start wasn't run previously | | 0x12 || '''xdrdiag result''' || <pre> XDR OK\n (END) </pre> || will return ERROR NOT STARTED if xdrdiag start wasn't run previously | ||
|- | |- | ||
| 0x13 || '''xiodiag''' || 0 903\n (END) || | | 0x13 || '''xiodiag''' || <pre> 0 903\n (END) </pre> || | ||
|- | |- | ||
| 0x14 || '''fandiag''' || ERROR FAN ACTIVE\n (END) || | | 0x14 || '''fandiag''' || <pre> ERROR FAN ACTIVE\n (END) </pre> || | ||
|- | |- | ||
| 0x15 || '''errlog''' || ofst[ %d]:err_code:0x%08X, clock:0x%08X YYYY/MM/DD HH:MM:SS || bunch of error logs. ends with (END) once they're over | | 0x15 || '''errlog''' || <pre> ofst[ %d]:err_code:0x%08X, clock:0x%08X YYYY/MM/DD HH:MM:SS </pre> || bunch of error logs. ends with (END) once they're over | ||
|- | |- | ||
| 0x16 || '''Read line''' || || | | 0x16 || '''Read line''' || || | ||
Line 325: | Line 250: | ||
| 0x17 || '''tmpforcp <zone ID>''' || | | 0x17 || '''tmpforcp <zone ID>''' || | ||
|- | |- | ||
| 0x20 || '''cp beepremote''' || (END) || | | 0x20 || '''cp beepremote''' || <pre> (END)</pre> || | ||
|- | |- | ||
| 0x21 || '''cp beep2kn1n3''' || (END) || sends a beep different than SYSCON beep :) | | 0x21 || '''cp beep2kn1n3''' || <pre> (END)</pre> || sends a beep different than SYSCON beep :) | ||
|- | |- | ||
| 0x22 || '''cp beep2kn2n3''' || (END) || sends two beeps different than SYSCON beeps :) | | 0x22 || '''cp beep2kn2n3''' || <pre> (END)</pre> || sends two beeps different than SYSCON beeps :) | ||
|- | |- | ||
| ?? || '''csum''' || <pre>Checksum: [027460C9] [68269779] [C19A855E]\n (END)</pre> || displays 3 hexadecimal numbers inside rect parenthesis. the numbers are always the same, except when syscon version changes (v1.0.5_c1) | |||
|- | |- | ||
| Checksum: [02746F91] [682F04DA] [27688CF5]\n (END) || Another response (v1.0.4_c2) | | ?? || '''csum''' || <pre>Checksum: [02746F91] [682F04DA] [27688CF5]\n (END)</pre> || Another response (v1.0.4_c2) | ||
|- | |- | ||
| Checksum: [0274C877] [684DA659] [EA426BB1]\n (END) || Another response (v1.0.4_c1) | | ?? || '''csum''' || <pre>Checksum: [0274C877] [684DA659] [EA426BB1]\n (END)</pre> || Another response (v1.0.4_c1) | ||
|- | |- | ||
| Checksum: [027B4064] [6B450C64] [4FBF6DA3]\n (END) || Another response (v1.0.3_c1) | | ?? || '''csum''' || <pre>Checksum: [027B4064] [6B450C64] [4FBF6DA3]\n (END)</pre> || Another response (v1.0.3_c1) | ||
|- | |- | ||
| Checksum: [027E1B71] [6CDA9F25] [E0C67065]\n (END) || Another response (v1.0.1_c1) | | ?? || '''csum''' || <pre>Checksum: [027E1B71] [6CDA9F25] [E0C67065]\n (END)</pre> || Another response (v1.0.1_c1) | ||
|- | |- | ||
| Checksum: [02812855] [6E83917C] [D40F70A5]\n (END) || Another response (v0.9.14_c1) | | ?? || '''csum''' || <pre>Checksum: [02812855] [6E83917C] [D40F70A5]\n (END)</pre> || Another response (v0.9.14_c1) | ||
|- | |- | ||
| Checksum: [02835059] [6FC5C632] [BB9BBEC3]\n (END) || Another response (v0.9.9_c1) | | ?? || '''csum''' || <pre>Checksum: [02835059] [6FC5C632] [BB9BBEC3]\n (END)</pre> || Another response (v0.9.9_c1) | ||
|- | |- | ||
| Checksum: [026F7951] [66CB09FF] [4EA06B56]\n (END) || Another response (v0.8.4_c8) | | ?? || '''csum''' || <pre>Checksum: [026F7951] [66CB09FF] [4EA06B56]\n (END)</pre> || Another response (v0.8.4_c8) | ||
|- | |- | ||
| ?? || '''osbo''' || done\n (END) || | | ?? || '''osbo''' || <pre>done\n (END)</pre> || | ||
|- | |- | ||
| ?? || '''scopen''' || SC_READY\nERROR 1\n\n*** Invalid Argument ***\n\n[mullion]$ || | | ?? || '''scopen''' || <pre>SC_READY\nERROR 1\n\n*** Invalid Argument ***\n\n[mullion]$</pre> || | ||
|- | |- | ||
| ?? || '''scclose''' || \n\n\nSC_SUCCESS\n\n[mullion]$ || | | ?? || '''scclose''' || <pre>\n\n\nSC_SUCCESS\n\n[mullion]$</pre> || | ||
|- | |- | ||
|} | |} | ||
Line 411: | Line 336: | ||
== Syscon UART == | == Syscon UART == | ||
{| class="wikitable" | {| class="wikitable" | ||
! BGA !! Name !! Description | ! BGA !! Name !! Description | ||
Line 420: | Line 346: | ||
|} | |} | ||
You can attach a 3.3v TTL cable (LV-TTL) to the UART on syscon (UART0_TxD, UART0_RxD). (Convenient solder points are available on JSD-001 / JTP-001 by the NOR test points. They are marked as '?' in [[:File:JSD-001 NOR - nor testpoints.png|marcan' noraliser / judges' NORway install picture]], closest to the ground at the bottom - RX is left, TX is right) Baud rate is 57600. There is a simple plaintext protocol involved. This varies on different syscon models. Example: | |||
File:JSD-001 | |||
'''<command>:<hash>''' | '''<command>:<hash>''' | ||
Line 536: | Line 447: | ||
* Max size of a command on DECR is 135, 140 if you count with C:<hash>: | * Max size of a command on DECR is 135, 140 if you count with C:<hash>: | ||
== | == Syscon EEPROM (SPI) == | ||
{| class="wikitable" | {| class="wikitable" | ||
! BGA !! Name !! Description | ! BGA !! Name !! Description | ||
|- | |- | ||
Line 564: | Line 470: | ||
|} | |} | ||
{| class="wikitable" | == Syscon JTAG == | ||
It is disabled in factory after production on retail models. | |||
{| class="wikitable" | |||
! BGA !! Name !! Description | |||
|- | |||
| L8 || JRTCK || Return Test Clock | |||
|- | |||
| K8 || JTCK || Test Clock | |||
|- | |||
| K9 || JTDO || Test Data Out | |||
|- | |||
| L9 || JTMS || Test Mode State / Test Mode Select | |||
|- | |||
| K7 || JTDI || Test Data In | |||
|- | |||
| L7 || JNTRST || Test Reset | |||
|- | |||
|} | |||
= Syscon underlying ports = | |||
== Syscon BE SPI Bus == | |||
{| class="wikitable" | |||
! BGA !! Name !! Description | ! BGA !! Name !! Description | ||
|- | |- | ||
Line 586: | Line 516: | ||
|} | |} | ||
{| class="wikitable" | == Syscon RSX SPI Bus == | ||
{| class="wikitable" | |||
! BGA !! Name !! Description | ! BGA !! Name !! Description | ||
|- | |- | ||
Line 606: | Line 537: | ||
|} | |} | ||
{| class="wikitable" | == Syscon SB SPI Bus == | ||
{| class="wikitable" | |||
! BGA !! Name !! Description | ! BGA !! Name !! Description | ||
|- | |- | ||
Line 626: | Line 558: | ||
|} | |} | ||
<!--// Remote Power ON/OFF (from network, HDMI CEC commands, etc...) is managed by devices connected to the southbridge (ethernet/wifi/BT, HDMI controller, etc...) //--> | |||
{{Motherboard Components}}<noinclude>[[Category:Main]]</noinclude> | {{Motherboard Components}}<noinclude>[[Category:Main]]</noinclude> |