arm64: dts: qcom: monaco-arduino-monza: add USB-C controller and connector

Add the Cypress USB Type-C controller and associated connector.
The controller is connected over I2C12 and wired to the USB1 DWC3.
The USB-C connector routes both high-speed and super-speed signals.

Enable dual-role data and power over the USB-C connector.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260421101606.411335-1-loic.poulain@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Loic Poulain 2026-04-21 12:16:06 +02:00 committed by Bjorn Andersson
parent 35d89e1e12
commit f470169a80

View File

@ -246,6 +246,46 @@ &i2c12 {
status = "okay";
typec@8 {
compatible = "cypress,cypd4226";
reg = <0x08>;
pinctrl-0 = <&typec_default_state>;
pinctrl-names = "default";
interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
#address-cells = <1>;
#size-cells = <0>;
connector@0 {
compatible = "usb-c-connector";
reg = <0>;
label = "USB-C";
data-role = "dual";
power-role = "dual";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
ucsi_hs_ccg_p0: endpoint {
remote-endpoint = <&usb_1_dwc3_hs>;
};
};
port@1 {
reg = <1>;
ucsi_ss_ccg_p0: endpoint {
remote-endpoint = <&usb_1_dwc3_ss>;
};
};
};
};
};
max98091: audio-codec@10 {
compatible = "maxim,max98091";
reg = <0x10>;
@ -393,6 +433,12 @@ perst-pins {
};
};
typec_default_state: typec-default-state {
pins = "gpio3";
function = "gpio";
bias-disable;
};
ethernet0_default: ethernet0-default-state {
ethernet0_mdc: ethernet0-mdc-pins {
pins = "gpio5";
@ -469,6 +515,14 @@ &usb_1 {
status = "okay";
};
&usb_1_dwc3_hs {
remote-endpoint = <&ucsi_hs_ccg_p0>;
};
&usb_1_dwc3_ss {
remote-endpoint = <&ucsi_ss_ccg_p0>;
};
/* Internally connected to the MCU (e.g. for DFU). */
&usb_2 {
dr_mode = "host";