Difference between revisions of "Testpads"

From Nintendo Switch Brew
Jump to navigation Jump to search
(Undo revision 4861 by Godzivan (talk))
 
(44 intermediate revisions by 11 users not shown)
Line 23: Line 23:
 
| 3 || Battery Vdd || || || || ||
 
| 3 || Battery Vdd || || || || ||
 
|-
 
|-
| 4 || ?? || Square wave || 0-3.3V || || 329kHz? (undersampled?) || Square wave when screen on, but looks like vias to Speaker R
+
| 4 || Speaker R + || Square wave || 0-3.3V || || || Speaker Right +
 
|-
 
|-
| 5 || ?? || Square wave || 0-3.3V || || 329kHz? (undersampled?) || Square wave when screen on, but looks like vias to Speaker R
+
| 5 || Speaker R - || Square wave || 0-3.3V || || || Speaker Right -
 
|-
 
|-
 
| 6 || Weak GND? || || || || ||
 
| 6 || Weak GND? || || || || ||
 
|-
 
|-
| 7 || SDA || I2C || 0-1.8V || || ||
+
| 7 || SDA || I2C || 0-1.8V || || || I2C Port 0
 
|-
 
|-
| 8 || SCL || I2C || 0-1.8V  || || ||  
+
| 8 || SCL || I2C || 0-1.8V  || || || I2C Port 0
 
|-
 
|-
| 9 || USB-PWR-WAVE? || Square wave || 0-3.3V || K-4, K-5? || ~11 Hz ||  
+
| 9 || USB-PWR-WAVE? || Square wave || 0-3.3V || K-5 || ~11 Hz || USB CC2
 
|-
 
|-
| 10 || USB-PWR-WAVE? || Square wave || 0-3.3V || K-4, K-5? || ~11 Hz ||  
+
| 10 || USB-PWR-WAVE? || Square wave || 0-3.3V || K-4 || ~11 Hz || USB CC1
 
|}
 
|}
  
Line 42: Line 42:
 
{| class=wikitable
 
{| class=wikitable
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 +
|-
 +
| 1 ||  || DBVDD || || || || from ALC5639 pin 43
 
|-
 
|-
 
| 2 || D+ || USB-C || || || || Cluster B - 3
 
| 2 || D+ || USB-C || || || || Cluster B - 3
 
|-
 
|-
 
| 3 || D- || USB-C || || || || Cluster B - 2
 
| 3 || D- || USB-C || || || || Cluster B - 2
 +
|-
 +
| 4 || +3.3V || XRST || || || || from M92T36 pin 4
 +
|-
 +
| 5 || +3.3V || VSVR || || || || to M92T36 pin 6, P13USB, CPU, Light sensor, EMMC (Generated by EN IC)
 +
|-
 +
| 5(b) || VUSB || VB || || || || from USB to M92T36 pin 9
 +
|-
 +
| 6 || GND ||  || || || ||
 
|}
 
|}
  
 +
=== Cluster C ===
 +
The JTAG pins are multiplexed between NV_JTAG and ARM_JTAG by the TRST pin:
  
=== Cluster C ===
+
* NV_JTAG contains a single TAP (ID 0x221173D7) for boundary scan board verification.
 +
* ARM_JTAG contains two debugging TAPs for CoreSight (ID 0x5BA00477) and BPMP (ID 0x4F1F0F0F).
 +
 
 +
Note: NV_JTAG and ARM_JTAG are locked out by [[Fuses#Cache|FUSE_ARM_JTAG_DIS]] on production devices.
  
 
{| class=wikitable
 
{| class=wikitable
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
|-
 
|-
| 1 || ?? || || 0-1.8V || || || No clue. This is definitely important, we just have no idea how. May need to interface with dock for comms.
+
| 1 || JTAG_TDI || || 0-1.8V || || ||  
 +
|-
 +
| 2 || UART1_RX || || 0-1.8V || || || UART-A RX
 +
|-
 +
| 3 || UART1_TX || || 0-1.8V || || || UART-A TX
 +
|-
 +
| 4 || JTAG_TCK || || 0-1.8V || || ||
 
|-
 
|-
| 2 || UART-A RX || || 0-1.8V || || ||
+
| 5 || JTAG_RTCK || || 0-1.8V || || || Unused for NV_JTAG
 
|-
 
|-
| 3 || UART-A TX || || 0-1.8V || || ||
+
| 6 || UART1_RTS || || 0-1.8V || || || UART-A RTS Flow control
 
|-
 
|-
| 4 || ?? || || 0-1.8V || || ||  
+
| 7 || JTAG_TDO || || 0-1.8V || || ||  
 
|-
 
|-
| 5 || ?? || || 0-1.8V || || ||  
+
| 8 || UART1_CTS || || 0-1.8V || || || UART-A CTS Flow control
 
|-
 
|-
| 6 || ?? || || 0-1.8V || || ||  
+
| 9 || JTAG_TMS || || 0-1.8V || || ||  
 
|-
 
|-
| 7 || ?? || || 0-1.8V || || ||  
+
| 10 || JTAG_TRST_N || || 0-1.8V || || || Not a TAP reset; Multiplexes between NV_JTAG (HI) and ARM_JTAG (LO)
 
|-
 
|-
| 8 || ?? || || 0-1.8V || || ||  
+
| 11 || +1.8V || || 0-1.8V || || ||  
 +
|}
 +
 
 +
=== Cluster D ===
 +
 
 +
{| class=wikitable
 +
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
|-
 
|-
| 9 || ?? || || 0-1.8V || || ||  
+
| 1 || GND || || || || ||
 
|-
 
|-
| 10 || ?? || || 0-1.8V || || ||  
+
| 2 || Pwr Rail || || 0v8 || || || CPU Buck
 
|-
 
|-
| 11 || ?? || || 0-1.8V || || ||  
+
| 3 || Pwr Rail || || 1v15 || || || From PMIC
 +
|-
 +
| 4 || Speaker L + || || || || || Speaker Left +
 +
|-
 +
| 5 || Speaker L - || || || || || Speaker Left -
 
|}
 
|}
  
Line 82: Line 113:
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
|-
 
|-
| 1 || VOL (-)  || || || || || Button Vol -
+
| 1 || Vol (+)  || || || || || Button Vol (+)
 +
|-
 +
| 2 || Rail  || || 1v1 || || || From PMIC
 
|-
 
|-
 
| 10 || Reset || || || || ||
 
| 10 || Reset || || || || ||
 +
|-
 +
| 11 || Power Button || Pushbutton || 4V-0V || || || Active low
 
|}
 
|}
  
Line 91: Line 126:
 
{| class=wikitable
 
{| class=wikitable
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 +
|-
 +
| 1 || SD card detect || || || || ||
 +
|-
 +
| 2 || GND || || || || ||
 +
|-
 +
| 3 || Rail || DC || 0v8 || || || GPU Buck
 +
|-
 +
| 4 || Vol(-) || || || || || Button Vol (-)
 +
|-
 +
| 5 || Li-Ion Batt Vdd Mirror || || || || || Power Supply
 
|-
 
|-
 
| 9 || BUTTON_HOME || || || || || RCM strap
 
| 9 || BUTTON_HOME || || || || || RCM strap
 +
|}
 +
 +
=== Cluster H ===
 +
 +
{| class=wikitable
 +
! Pad # || Name || Type || Levels || Continuity || Frequency || Comment
 +
|-
 +
| 1 ||  || || || || ||
 +
|-
 +
| 2 ||  || || || || ||
 +
|-
 +
| 3 ||  || || || || ||
 +
|-
 +
| 4 || Screen_on || On/Off || 0-1.8v || I-2 ||  || Screen power state, active high
 +
|-
 +
| 5 ||  || Flow control || 0-1.8V || I-5 || Flow control for pad I-4? ||
 +
|-
 +
| 6 ||  || || || || ||
 +
|-
 +
| 7 ||  || UART || 0-1.8V || I-4 || 1.5MBaud?||
 +
|-
 +
| 8 ||  || UART || 0-1.8V || I-3 || 1.5MBaud?||
 +
|-
 +
| 9 ||  || || ||  || ||
 +
|-
 +
| 10 ||  || || 5V || H-12 || || Power for JoyCon charge circuit and fan
 +
|-
 +
| 11 ||  || || || || || Goes to a small ceramic cap near WiFi/BT IC?
 +
|-
 +
| 12 ||  || || || H-10 || || On the same trace
 
|}
 
|}
  
Line 104: Line 179:
 
| 2 || Screen_on || On/Off || 0-1.8V || || || Screen power state, active high
 
| 2 || Screen_on || On/Off || 0-1.8V || || || Screen power state, active high
 
|-
 
|-
| 3 || || UART || 0-1.8V || || 1.5MBaud? ||  
+
| 3 || || UART || 0-1.8V || || 1.5MBaud? || Communication CPU -> Bluetooth using HCI
 
|-
 
|-
| 4 || || UART || 0-1.8V || || 1.5MBaud? ||  
+
| 4 || || UART || 0-1.8V || || 1.5MBaud? || Communication Bluetooth -> CPU using HCI
 
|-
 
|-
 
| 5 || || Flow control || 0-1.8V || || || Flow control for pad I-4?
 
| 5 || || Flow control || 0-1.8V || || || Flow control for pad I-4?
Line 146: Line 221:
 
| 3 || D+ || USB-C || || || || Cluster B - 2
 
| 3 || D+ || USB-C || || || || Cluster B - 2
 
|-
 
|-
| 4 || USB-PWR-WAVE? || Square wave || 0V-3.3V || A-9, A-10? || ~11 Hz ||
+
| 4 || USB-PWR-WAVE? || Square wave || 0V-3.3V || A-10 || ~11 Hz || USB CC2
 
|-
 
|-
| 5 || USB-PWR-WAVE? || Square wave || 0V-3.3V || A-9, A-10? || ~11 Hz || Appears to mirror K4. Duty cycle 66.67%. Low on screen lock. Off until first interaction.
+
| 5 || USB-PWR-WAVE? || Square wave || 0V-3.3V || A-9 || ~11 Hz || USB CC1
 
|-
 
|-
| 6 || USB-C V+ || Supply power || || || ||
+
| 6 || USB-C V+ || Supply power || || || || support fast charger : "normal mode = 5V+"  "Fast changer = 12V+"
 
|-
 
|-
| 7 || Unknown || Power supply? || ~3V-0V || None known || N/A || 0 when usb-c not plugged in, falls slowly on first interaction if USB-C plugged in. Power draw related?
+
| 7 || BQ24193 VBUS + M92T36 VEX || Power supply? || ~3V-0V || None known || N/A || 0 when usb-c not plugged in, falls slowly on first interaction if USB-C plugged in. Power draw related?
 
|}
 
|}
  

Latest revision as of 09:04, 23 January 2024

The Nintendo Switch mainboard has a series of testpads on the front and back, presumably used in factory test, diagnostics, and early board bringup procedures.

Raw Logic captures

These are reference materials, taken from poking at I/O on various testpads. https://github.com/hedgeberg/Switch-Logic-Captures

Photos

Switchre side1.jpg Switchre side2.jpg

Pinouts

Cluster A

Pad # Name Type Levels Continuity Frequency Comment
1 Batt GND?
2 Battery pulse? Pulse train 0-3.3V L-5?
3 Battery Vdd
4 Speaker R + Square wave 0-3.3V Speaker Right +
5 Speaker R - Square wave 0-3.3V Speaker Right -
6 Weak GND?
7 SDA I2C 0-1.8V I2C Port 0
8 SCL I2C 0-1.8V I2C Port 0
9 USB-PWR-WAVE? Square wave 0-3.3V K-5 ~11 Hz USB CC2
10 USB-PWR-WAVE? Square wave 0-3.3V K-4 ~11 Hz USB CC1

Cluster B

Pad # Name Type Levels Continuity Frequency Comment
1 DBVDD from ALC5639 pin 43
2 D+ USB-C Cluster B - 3
3 D- USB-C Cluster B - 2
4 +3.3V XRST from M92T36 pin 4
5 +3.3V VSVR to M92T36 pin 6, P13USB, CPU, Light sensor, EMMC (Generated by EN IC)
5(b) VUSB VB from USB to M92T36 pin 9
6 GND

Cluster C

The JTAG pins are multiplexed between NV_JTAG and ARM_JTAG by the TRST pin:

  • NV_JTAG contains a single TAP (ID 0x221173D7) for boundary scan board verification.
  • ARM_JTAG contains two debugging TAPs for CoreSight (ID 0x5BA00477) and BPMP (ID 0x4F1F0F0F).

Note: NV_JTAG and ARM_JTAG are locked out by FUSE_ARM_JTAG_DIS on production devices.

Pad # Name Type Levels Continuity Frequency Comment
1 JTAG_TDI 0-1.8V
2 UART1_RX 0-1.8V UART-A RX
3 UART1_TX 0-1.8V UART-A TX
4 JTAG_TCK 0-1.8V
5 JTAG_RTCK 0-1.8V Unused for NV_JTAG
6 UART1_RTS 0-1.8V UART-A RTS Flow control
7 JTAG_TDO 0-1.8V
8 UART1_CTS 0-1.8V UART-A CTS Flow control
9 JTAG_TMS 0-1.8V
10 JTAG_TRST_N 0-1.8V Not a TAP reset; Multiplexes between NV_JTAG (HI) and ARM_JTAG (LO)
11 +1.8V 0-1.8V

Cluster D

Pad # Name Type Levels Continuity Frequency Comment
1 GND
2 Pwr Rail 0v8 CPU Buck
3 Pwr Rail 1v15 From PMIC
4 Speaker L + Speaker Left +
5 Speaker L - Speaker Left -

Cluster E

Pad # Name Type Levels Continuity Frequency Comment
1 Vol (+) Button Vol (+)
2 Rail 1v1 From PMIC
10 Reset
11 Power Button Pushbutton 4V-0V Active low

Cluster G

Pad # Name Type Levels Continuity Frequency Comment
1 SD card detect
2 GND
3 Rail DC 0v8 GPU Buck
4 Vol(-) Button Vol (-)
5 Li-Ion Batt Vdd Mirror Power Supply
9 BUTTON_HOME RCM strap

Cluster H

Pad # Name Type Levels Continuity Frequency Comment
1
2
3
4 Screen_on On/Off 0-1.8v I-2 Screen power state, active high
5 Flow control 0-1.8V I-5 Flow control for pad I-4?
6
7 UART 0-1.8V I-4 1.5MBaud?
8 UART 0-1.8V I-3 1.5MBaud?
9
10 5V H-12 Power for JoyCon charge circuit and fan
11 Goes to a small ceramic cap near WiFi/BT IC?
12 H-10 On the same trace

Cluster I

Pad # Name Type Levels Continuity Frequency Comment
1 GND
2 Screen_on On/Off 0-1.8V Screen power state, active high
3 UART 0-1.8V 1.5MBaud? Communication CPU -> Bluetooth using HCI
4 UART 0-1.8V 1.5MBaud? Communication Bluetooth -> CPU using HCI
5 Flow control 0-1.8V Flow control for pad I-4?
6 0-1.8V Needs testing with chip/touch screen interface board plugged in

Cluster J

Pad # Name Type Levels Continuity Frequency Comment
1 ? Edge 0-1.8V Turns on around same time as pad J-3
2 GND
3 ? Edge 0-1.8V Turns on around same time as pad J-1, slightly after
4 Power button Pushbutton 4V-0V Active low
5 ? Constant? 0V Ground?-NT
6 ? Edge 0-1.8V Turns on with pad J-6, ~1s after J-1/J-3
7 ? Edge 0-1.8V Turns on with pad J-5, ~1s after J-1/J-3
8 ? Edge? 0-1.8V Turns on ~1s after J-6/J-7, turns off at unknown point

Cluster K

Pad # Name Type Levels Continuity Frequency Comment
1 GND
2 D- USB-C Cluster B - 3
3 D+ USB-C Cluster B - 2
4 USB-PWR-WAVE? Square wave 0V-3.3V A-10 ~11 Hz USB CC2
5 USB-PWR-WAVE? Square wave 0V-3.3V A-9 ~11 Hz USB CC1
6 USB-C V+ Supply power support fast charger : "normal mode = 5V+" "Fast changer = 12V+"
7 BQ24193 VBUS + M92T36 VEX Power supply? ~3V-0V None known N/A 0 when usb-c not plugged in, falls slowly on first interaction if USB-C plugged in. Power draw related?

Cluster L

TODO: Update diagram

Pad # Name Type Levels Continuity Frequency Comment
1 Li-Ion Batt Vdd Mirror Power Supply Std. Li-Ion
2 GND
3 Li-Ion Batt Vdd Battery Input Std. Li-Ion
4 Mirrored Ground? Holds steady @ 0, looks like a decoupled isolated ground
5 Battery pulse? <1 Hz Duty cycle ~0%
6 GND