Syscon Hardware: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
Line 3: Line 3:


= Memory Layout =
= Memory Layout =
* TODO
{| class="wikitable sortable"
|-
! Offset !! Size !! Description !! Notes
|-
| 0x00000 || 0x20000 || Code Area ||
|-
| 0x20000 || 0xD0000 || Reserved ||
|-
| 0xF0000 || 0x800 || SFR Area ||
|-
| 0xF0800 || 0x800 || Reserved ||
|-
| 0xF1000 || 0x1000 || Data Area ||
|-
| 0xF2000 || 0xCF00 || Mirror || Mirror of a portion of code area
|-
| 0xFEF00 || 0xFE0 || RAM ||
|-
| 0xFFEE0 || 0x20 || GPR ||
|-
| 0xFFF00 || 0x100 || SFR 2nd Area ||
|-
|}


= Commands =
= Commands =

Revision as of 19:44, 30 September 2018

Syscon is, together with Aeolia, one of the main chips responsible for taking care of the functioning of APU, peripherals, etc. It is actually internally codenamed Colwick on the ps4 and the chip's structure is the same as one of a Renesas RL78.

Memory Layout

Offset Size Description Notes
0x00000 0x20000 Code Area
0x20000 0xD0000 Reserved
0xF0000 0x800 SFR Area
0xF0800 0x800 Reserved
0xF1000 0x1000 Data Area
0xF2000 0xCF00 Mirror Mirror of a portion of code area
0xFEF00 0xFE0 RAM
0xFFEE0 0x20 GPR
0xFFF00 0x100 SFR 2nd Area

Commands

Command ID Name Description Notes
0x00 Reset Detects synchronization in communication
0x9A Baud Rate Set Sets the baud rate for single-wire UART.
0x20 Chip Erase Erases the entire flash memory area.
0x22 Block Erase Erases a specified area in the flash memory.
0x40 Programming Writes data to a specified area in the flash memory.
0x13 Verify Compares the contents in a specified area in the flash memory with data transmitted from the programmer.
0x32 Block Blank Check Checks the erase status of a specified block in the flash memory.
0xC0 Silicon Signature Acquires 78K0R/Kx3 information (part number, flash memory configuration, etc.).
0xC5 Version Get Acquires version information of the 78K0R/Kx3 and firmware.
0xB0 Checksum Acquires checksum data of a specified area.
0xA0 Security Set Sets security information.

Statuses

Command ID Name Description Notes
04 Command number error Error returned if a command not supported is received
05 Parameter error Error returned if command information (parameter) is invalid
06 Normal acknowledgment (ACK) Normal acknowledgment
07 Checksum error Error returned if data in a frame transmitted from the programmer is abnormal
0F Verify error Error returned if a verify error has occurred upon verifying data transmitted from the programmer
10 Protect error Error returned if an attempt is made to execute processing that is prohibited by the Security Set command
15 Negative acknowledgment (NACK) Negative acknowledgment
1A MRG10 error Erase verify error
1B MRG11 error Internal verify error or blank check error during data write
1C Write error Write error
FF Processing in progress (BUSY) Busy response

Command Frame Format

  • SOH | LEN | COM | INFO | SUM | ETX

Data Frame Format

  • STX | LEN | DAT | SUM | ETX/ETB

Description of each symbol

Name Description Notes
SOH Command Frame Header 0x01 Always
STX Data Frame Header 0x02 Always
LEN Length of info In Command Frame: length of COM + command info length/ In Data frame: Data info length
COM Command number
SUM Checksum checksum of command (initial byte (0x00) - LEN - COM )
ETB Footer of data frame 0x17 Always
ETX Command frame footer 0x03 Always