summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Poulain <loic.poulain@oss.qualcomm.com>2026-04-21 12:16:06 +0200
committerBjorn Andersson <andersson@kernel.org>2026-07-02 14:31:21 -0500
commitf470169a802ede2f3b17a7ede77974c6fe2f5668 (patch)
tree6b9fd8e1c2740ff7b6fa84cb4b3f3bcf406f3f7c
parent35d89e1e12f297b1dce579cbae924e087451acc7 (diff)
downloadlinux-stable-f470169a802ede2f3b17a7ede77974c6fe2f5668.tar.gz
linux-stable-f470169a802ede2f3b17a7ede77974c6fe2f5668.zip
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>
-rw-r--r--arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts54
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts b/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
index 379b796f261f..95e78ed5da1f 100644
--- a/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-arduino-monza.dts
@@ -246,6 +246,46 @@
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 @@
};
};
+ 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 @@
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";