@willy can you help me understand where this is on the schematic? I’m looking at this file: https://dl.radxa.com/rock5/5b+/docs/hw/radxa_rock5bp_v1.2_schematic.pdf
Page 3, “block diagram”, shows only one USB-C port with a DCDC 5V. It is labeled “TYPEC0 With DP”, which is the one on the rear. No mention of the power-only front USB-C. It also says LPDDR4 RAM instead of LPDDR5, so I guess this is a copy-paste error from the 5B’s schematic.
Page 28, “Type-C port”, has a 24+8 pin (32!) USB-C port (J11) that’s connected to VBUS_TYPEC0 and CC1/CC2.
Page 33, “Power Type-C in” shows the front USB-C port connected to TYPEC_POW1, which in turn is connected to a USB-PD negotiation chip (CH224D) and a power distribution chip (WS4684C) that turns it into TYPEC_VIN.
Page 32, “Power DC 5V”, shows two DC-DC convertors (MP8759), one accepting TYPEC_VIN to produce VCC5V0_SYS and another to step that down further to VCC4V0_SYS.
VBUS_TYPEC0 from the rear port isn’t handled by these DC-DC convertors. Instead, back on page 28 there are three consumers:
- FPF2595UCX chip connected to VBUS_TYPEC0 (VONT) and VCC5V0_SYS (VIN). “VONT” seems to be a typo for “VOUT”. One source describes this chip as “advanced load-management switch [that] targets applications requiring a highly integrated solution. It disconnects loads powered from the DC power rail.”
- FUSB302BMPX chip that’s also between VBUS_TYPEC0 and VCC5V0_SYS. This one appears to be a “programmable USB Type-C controller w/PD”.
- WS4684C chip that’s connected to all of TYPEC_VIN, VBUS_TYPEC0 and TYPEC_POW1 (why?). This one appears to be a power source switch.
Asking because I tried a USB-C PD input on the rear port and it negotiated 12V. The system voltages reported in /sys/devices/iio_sysfs_trigger/subsystem/devices/iio:device0/in_voltage?_raw
also remain identical when powering from either front or rear, either 12V PD or 5V raw, except for number 6 (USB-C power, front) and 7 (USB-C DP, rear), which reflect the voltage source. Which means one of these three chips is somehow responsible for processing the 12V on the rear USB-C port.
-
FPF2595UCX also has a signal pin named TYPEC5V_PWREN_H (judging from the >> marker). I think this means it will connect VBUS_TYPEC0 to VCC5V0_SYS if something elsewhere certifies it as safe voltage. TYPEC5V_PWREN_H is an output from RK3588_H VCCIO3 Domain. If so, it’s probably not the step-down regulator.
-
FUSB302BMPX as per its datasheet has no voltage regulator. It needs regulated input instead (VCC5V0_SYS -> VCONN).
-
Which leaves us with the WS4684C that’s connected to all three raw power sources. I guess this one is responsible for connecting VBUS_TYPEC0 (in) to TYPEC_VIN (out) if TYPEC_POW1 has no voltage (judging by the 100k resistor on TYPEC_POW1)?
If I have understood this correctly, it’s safe to supply any acceptable voltage on either of the USB-C ports. The only difference is the front port is power-only with a hardware-controlled PD negotiator, while the rear port has software-controlled PD.
(There are also two GPIO named SARADC_VIN6_dcin and SARADC_VIN7_dcin connected to the front and rear ports that seem to be mislabeled as inputs instead of outputs. I guess these are the sources for the in_voltage[67]_raw
values.)