Talk:Syscon SPI

From PS3 Developer wiki
Revision as of 04:18, 14 December 2021 by MikeM6464 (talk | contribs) (Dump notes on SPI bus sniffing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Diff of Multiple triple-beep packets

The following is a dump of 5 triple-beep packets to see if there are any major differences between them over the SPI bus.

  • The only substantial thing that differs between each of the beeps is the counters
 > There is either noise on the line or the HW block responsible may be passing out uninitialized/don't care memory
  • No packets are transmitted from BE -> SC until the packet is kicked (0x8E100)
  • Seems to be some dedicated logic to deal with transmitting the buffer/registers via SPI
  • SC always writes to 0x9104 after any SPI writes
  • 0xb000 maps to 0x8D000 SB MMIO space
  • 0xa000 maps to 0x8C000 SB MMIO space
  • 0x9000 maps to 0x509000 SB MMIO space


 SB_INT Asserted before SC performs the initial read
 
 Read 0x9004 - SC -> BE | BE -> SC
 1| 30 90 04 30 70 00 C6 | FF FF FC FF 00 00 01
 2| 30 90 04 30 70 00 C6 | FF FF FC FF 00 00 01
 3| 30 90 04 00 00 00 00 | F7 FF FC FF 00 00 01
 4| 30 90 04 30 70 00 C6 | FF FF FC FF 00 00 01
 5| 30 90 04 30 70 AB 6F | FF FF FC FF 00 00 01
 
 SB_INT deasserted during once the last byte is transferred from the above read
 
 Read 0x9000
 1| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 2| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 3| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 4| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 5| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 
 Read 0xbff0 (BE Packet TX Counter)
 1| 30 BF F0 FF FF FF FF | FF FF FE 00 F8 00 F8
 2| 30 BF F0 FF FF FF FF | FF FF FE 00 F9 00 F9
 3| 30 BF F0 FF FF FF FF | FF FF FA 00 FA 00 FA
 4| 30 BF F0 FF FF FF FF | FF FF FE 00 FB 00 FB
 5| 30 BF F0 FF FF FF FF | FF FF FE 00 FC 00 FC
 
 Read 0xaff4 (SC Packet RX Counter)
 1| 30 AF F4 FF FF FF FF | FF FF FC 00 F7 00 F7
 2| 30 AF F4 FF FF FF FF | FF FF FC 00 F8 00 F8
 3| 30 AF F4 FF FF FF FF | FF FF FC 00 F9 00 F9
 4| 30 AF F4 FF FF FF FF | FF FF FC 00 FA 00 FA
 5| 30 AF F4 FF FF FF FF | FF FF FC 00 FB 00 FB
 
 Read 0xaff0 (SC Packet TX Counter)
 1| 30 AF F0 FF FF FF FF | BF FF F7 00 FC 00 FC
 2| 30 AF F0 FF FF FF FF | FF FF FF 00 FD 00 FD
 3| 30 AF F0 FF FF FF FF | FF FF FF 00 FE 00 FE
 4| 30 AF F0 FF FF FF FF | FF FF FF 00 FF 00 FF
 5| 30 AF F0 FF FF FF FF | FF FF FF 01 00 01 00
 
 Read 0xbff4 (BE Packet TX ACK Counter)
 1| 30 BF F4 FF FF FF FF | FF FF FC 00 FC 00 FC
 2| 30 BF F4 FF FF FF FF | FF FF FC 00 FD 00 FD
 3| 30 BF F4 FF FF FF FF | FF FF FC 00 FE 00 FE
 4| 30 BF F4 FF FF FF FF | FF FF FC 00 FF 00 FF
 5| 30 BF F4 FF FF FF FF | FF FF FD 01 00 01 00
 
 Read 0xb000 (0xd000 in MMIO space)
 1| 30 B0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FE 16 01 16 20 00 00 80 4D 00 00 00 01 00 08 00 08
 2| 30 B0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FE 16 01 16 20 00 00 80 4D 00 00 00 01 00 08 00 08
 3| 30 B0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FE 16 01 16 20 00 00 80 4D 00 00 00 01 00 08 00 08
 4| 30 B0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FE 16 01 16 20 00 00 80 4D 00 00 00 01 00 08 00 08
 5| 30 B0 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FE 16 01 16 20 00 00 80 4D 00 00 00 01 00 08 00 08
 
 Read 0xb010
 1| 30 B0 10 FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FC 20 29 0A 00 00 00 01 B6 00 00 FD CB
 2| 30 B0 10 FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FC 20 29 0A 00 00 00 01 B6 00 00 FD CB
 3| 30 B0 10 FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FC 20 29 0A 00 00 00 01 B6 00 00 FD CB
 4| 30 B0 10 FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FC 20 29 0A 00 00 00 01 B6 00 00 FD CB
 5| 30 B0 10 FF FF FF FF FF FF FF FF FF FF FF FF | FF FF FC 20 29 0A 00 00 00 01 B6 00 00 FD CB
 
 Write 0xaff4 (Syscon Packet RX counter)
 1| 31 AF F4 00 F8 00 F8 | FF FF FF FF FF FF FF
 2| 31 AF F4 00 F9 00 F9 | FF FF FF FF FF FF FF
 3| 31 AF F4 00 FA 00 FA | 7F FF FF FF FF FF FB
 4| 31 AF F4 00 FB 00 FB | BF FF F7 FF FF FF FF
 5| 31 AF F4 00 FC 00 FC | FF FF FF FF FD FF FF
 
 Write 0x9104 (SC -> BE Doorbell? Maybe for the RX Counter written previously?)
 1| 31 91 04 00 00 00 01 | FF FF FF FF FF FF FF
 2| 31 91 04 00 00 00 01 | FF FF FF FF FF FF FF
 3| 31 91 04 00 00 00 01 | FF FF FF FF FF FF FF
 4| 31 91 04 00 00 00 01 | FF FF EF FF FF FF FF
 5| 31 91 04 00 00 00 01 | F7 FF FF FF FF FF FF
 
 1ms gap here...
 
 Read 0xbff0
 1| 30 BF F0 FF FF FF FF | FF FF FC 00 F8 00 F8
 2| 30 BF F0 FF FF FF FF | FF FF FC 00 F9 00 F9
 3| 30 BF F0 FF FF FF FF | FF FF FC 00 FA 00 FA
 4| 30 BF F0 FF FF FF FF | FF FF FC 00 FB 00 FB
 5| 30 BF F0 FF FF FF FF | FF FF FC 00 FC 00 FC
 
 Read 0xaff4
 1| 30 AF F4 FF FF FF FF | FF FF FC 00 F8 00 F8
 2| 30 AF F4 FF FF FF FF | FF FF FC 00 F9 00 F9
 3| 30 AF F4 FF FF FF FF | FF FF FC 00 FA 00 FA
 4| 30 AF F4 FF FF FF FF | FF FF FC 00 FB 00 FB
 5| 30 AF F4 FF FF FF FF | FF EF FC 00 FC 00 FC
 
 Read 0xaff0
 1| 30 AF F0 FF FF FF FF | FF FF FF 00 FC 00 FC
 2| 30 AF F0 FF FF FF FF | FF FF FF 00 FD 00 FD
 3| 30 AF F0 FF FF FF FF | FF FF FF 00 FE 00 FE
 4| 30 AF F0 FF FF FF FF | FF FF FF 00 FF 00 FF
 5| 30 AF F0 FF FF FF FF | FF BF FF 01 00 01 00
 
 Read 0xbff4
 1| 30 BF F4 FF FF FF FF | FF FF FC 00 FC 00 FC
 2| 30 BF F4 FF FF FF FF | 7F FF FC 00 FD 00 FD
 3| 30 BF F4 FF FF FF FF | FF FF FC 00 FE 00 FE
 4| 30 BF F4 FF FF FF FF | FF FF FC 00 FF 00 FF
 5| 30 BF F4 FF FF FF FF | FF FF FD 01 00 01 00
 
 Write 0xa000
 1| 31 A0 00 16 01 16 20 00 00 80 4D 00 00 00 01 00 01 00 01 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
 2| 31 A0 00 16 01 16 20 00 00 80 4D 00 00 00 01 00 01 00 01 | FF EF FF FF FF FF FF FF FF FF EF FF FF FF FF 7F FF FF FF
 3| 31 A0 00 16 01 16 20 00 00 80 4D 00 00 00 01 00 01 00 01 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
 4| 31 A0 00 16 01 16 20 00 00 80 4D 00 00 00 01 00 01 00 01 | F7 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
 5| 31 A0 00 16 01 16 20 00 00 80 4D 00 00 00 01 00 01 00 01 | 7F FF FF FF FF FF FF FF FF FF FF DF FF FF FF FF FF FF FF
 
 Write 0xa010
 1| 31 A0 10 00 00 00 00 | FF FF FF FF FF FF FF
 2| 31 A0 10 00 00 00 00 | FF FF FF FF FF FF FF
 3| 31 A0 10 00 00 00 00 | FF FF FF FF FF FF FF
 4| 31 A0 10 00 00 00 00 | FF BF FF FF FF FF FF
 5| 31 A0 10 00 00 00 00 | BF FF FF FF FF FF FF
 
 Write 0xa014
 1| 31 A0 14 00 00 FE E3 | FF FF FF FF FF FF FF
 2| 31 A0 14 00 00 FE E3 | FF FF FE FF FF FF FF
 3| 31 A0 14 00 00 FE E3 | FF FF FF FF FF FF FF
 4| 31 A0 14 00 00 FE E3 | FF FF FF FF FF FF FF
 5| 31 A0 14 00 00 FE E3 | FF FF F7 FF FF FF FF
 
 Write 0xaff0 (SC Packet TX Counter)
 1| 31 AF F0 00 FD 00 FD | FF BF FF FF FF FF FF
 2| 31 AF F0 00 FE 00 FE | F7 FF FF FF FF FF FF
 3| 31 AF F0 00 FF 00 FF | FF FF FF FF FF FF FF
 4| 31 AF F0 01 00 01 00 | FF FF FF FF FF FF 7F
 5| 31 AF F0 01 01 01 01 | FF FF FF FF FF FF FF
 
 Write 0x9104 (Doorbell?)
 1| 31 91 04 00 00 00 01 | FF FF FF FF FF FF FF
 2| 31 91 04 00 00 00 01 | F7 FF FF FF FF FF FF
 3| 31 91 04 00 00 00 01 | 7F FF FF FF FF FF FF
 4| 31 91 04 00 00 00 01 | FF FF FF BF FF FF FF
 5| 31 91 04 00 00 00 01 | FF FF FF FF FF FF FF
 
 SB_INT asserted again at the end of the write of 0x9104 above
 
 Read 0x9004
 1| 30 90 04 00 00 0F 00 | FF FF FC FF 00 00 01
 2| 30 90 04 AB 6F 00 C6 | FF FF FC FF 00 00 01
 3| 30 90 04 30 70 00 C6 | FF FF FC FF 00 00 01
 4| 30 90 04 68 EE 3C 70 | FF FF FC FF 00 00 01
 5| 30 90 04 30 70 00 C6 | FB FF FC FF 00 00 01
 
 SB_INT deasserted after the 0x9004 read completes
 
 Read 0x9000
 1| 30 90 00 18 70 00 86 | FF FD FC 00 00 00 0F
 2| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 3| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 4| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 5| 30 90 00 18 70 00 86 | FF FF FC 00 00 00 0F
 
 1ms gap here...
 
 Read 0xbff0
 1| 30 BF F0 FF FF FF FF | FF FF FE 00 F8 00 F8
 2| 30 BF F0 FF FF FF FF | FF FF FE 00 F9 00 F9
 3| 30 BF F0 FF FF FF FF | FF FF FE 00 FA 00 FA
 4| 30 BF F0 FF FF FF FF | FF FF FE 00 FB 00 FB
 5| 30 BF F0 FF FF FF FF | FF FF FE 00 FC 00 FC
 
 Read 0xaff4
 1| 30 AF F4 FF FF FF FF | FF FF FC 00 F8 00 F8
 2| 30 AF F4 FF FF FF FF | BF FF F4 00 F9 00 F9
 3| 30 AF F4 FF FF FF FF | FF FF FC 00 FA 00 FA
 4| 30 AF F4 FF FF FF FF | FF FF F4 00 FB 00 FB
 5| 30 AF F4 FF FF FF FF | FF FF FC 00 FC 00 FC
 
 Read 0xaff0
 1| 30 AF F0 FF FF FF FF | FF FF FF 00 FD 00 FD
 2| 30 AF F0 FF FF FF FF | FF FF FF 00 FE 00 FE
 3| 30 AF F0 FF FF FF FF | FF BF FF 00 FF 00 FF
 4| 30 AF F0 FF FF FF FF | BF FF F7 01 00 01 00
 5| 30 AF F0 FF FF FF FF | FF FF FF 01 01 01 01
 
 Read 0xbff4
 1| 30 BF F4 FF FF FF FF | FF FF FC 00 FD 00 FD
 2| 30 BF F4 FF FF FF FF | FF FF FC 00 FE 00 FE
 3| 30 BF F4 FF FF FF FF | FF FF FC 00 FF 00 FF
 4| 30 BF F4 FF FF FF FF | 7F FF FD 01 00 01 00
 5| 30 BF F4 FF FF FF FF | FF FF FD 01 01 01 01