* [PATCH] arm64: dts: qcom: talos-lyra-evk: Add CYPD6129 Type-C support
@ 2026-10-12 13:11 Akash Kumar
0 siblings, 0 replies; only message in thread
From: Akash Kumar @ 2026-10-12 13:11 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Dmitry Baryshkov, Krzysztof Kozlowski, Conor Dooley
Cc: linux-kernel, linux-arm-msm, devicetree
Add support for the Cypress CYPD6129 dual Type-C PD controller on the
Talos Lyra EVK.
Enable the controller on I2C5 at address 0x40, configure its GPIO86
interrupt and wakeup support, and describe both USB Type-C connectors.
Connect the connectors to USB1 and USB2 through USB role-switch
remote-endpoint links.
Configure both USB controllers in OTG mode with usb-role-switch support
so that the CYPD6129 controller can manage their USB data roles.
USB1 is routed to the daughter-card board-to-board connector. Add a
fixed USB1 VBUS regulator controlled by PM8150 GPIO10 to provide and
control VBUS for the USB port on the daughter card. Configure the
corresponding PM8150 GPIO pinctrl state and keep the regulator enabled
for the board configuration.
Add the TLMM GPIO64 VBUS boost enable as a GPIO hog. This enables the
5 V boost converter required to generate the VBUS supply for the USB
daughter-card connector. The boost converter output is set to 5 V by
the feedback network consisting of R2403 and R2401:
VOUT = 0.6 * (1 + R2403 / R2401)
= 0.6 * (1 + 75K / 10K)
= 5 V
The changes also add the I2C5 alias, CYPD6129 pinctrl configuration,
wakeup-source properties, USB endpoint connections, and the required
VBUS power-control GPIO descriptions.
Signed-off-by: Akash Kumar <akakum@qti.qualcomm.com>
---
arch/arm64/boot/dts/qcom/talos-lyra-evk.dts | 119 +++++++++++++++++++-
1 file changed, 117 insertions(+), 2 deletions(-)
---
base-commit: b7e62b4d28bc0d2f16f03904616da78e4478aa88
change-id: 20261012-talos-lyra-evk-v2-v2-0-dcc9316ebb59
base commit link: https://lore.kernel.org/all/20261012-talos-lyra-evk-v2-v2-0-dcc9316ebb59@oss.qualcomm.com/
Link to Driver and DT-Binding change: https://lore.kernel.org/all/20261012091658.635441-1-akash.kumar@oss.qualcomm.com/
---
diff --git a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts
index cfb563658fe0..2cd5a2562f3e 100644
--- a/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts
+++ b/arch/arm64/boot/dts/qcom/talos-lyra-evk.dts
@@ -11,6 +11,10 @@ / {
compatible = "qcom,talos-lyra-evk", "qcom,qcs615", "qcom,sm6150";
chassis-type = "embedded";
+ aliases {
+ i2c5 = &i2c5;
+ };
+
dp0-connector {
compatible = "dp-connector";
label = "DP0";
@@ -25,6 +29,16 @@ dp0_connector_in: endpoint {
};
};
+ regulator-usb1-vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "USB1_VBUS";
+ gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&usb1_en>;
+ pinctrl-names = "default";
+ enable-active-high;
+ regulator-always-on;
+ };
+
};
&i2c5 {
@@ -59,6 +73,68 @@ expander3: gpio@3c {
#gpio-cells = <2>;
gpio-controller;
};
+
+ typec@40 {
+ compatible = "cypress,cypd6129";
+ reg = <0x40>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <86 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&usb0_intr_state>;
+ pinctrl-names = "default";
+ wakeup-source;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ /*
+ * connector@0 is the USB0 Type-C port with SuperSpeed support,
+ * routed to usb_1. connector@1 is the USB1 Type-C port with
+ * USB 2.0 HS-only support, routed to usb_2.
+ */
+ ccg_typec_con0: 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_ccg_port_0_hs: endpoint {
+ remote-endpoint = <&usb_1_dwc3_hs>;
+ };
+ };
+ };
+ };
+
+ ccg_typec_con1: connector@1 {
+ compatible = "usb-c-connector";
+ reg = <1>;
+ label = "USB-C";
+ data-role = "dual";
+ power-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ ucsi_ccg_port_1_hs: endpoint {
+ remote-endpoint = <&usb_2_dwc3_hs>;
+ };
+ };
+ };
+ };
+ };
};
&mdss {
@@ -74,6 +150,15 @@ &mdss_dp0_out {
remote-endpoint = <&dp0_connector_in>;
};
+&pm8150_gpios {
+ usb1_en: usb1-en-state {
+ pins = "gpio10";
+ function = "normal";
+ output-enable;
+ power-source = <0>;
+ };
+};
+
&pon_pwrkey {
status = "okay";
};
@@ -94,10 +179,33 @@ tpm@0 {
};
};
+&tlmm {
+ usb0_intr_state: usb0-intr-state {
+ pins = "gpio86";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ vbus_boost_5v: vbus-boost-5v-hog {
+ gpio-hog;
+ gpios = <64 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "vbus-boost-5v";
+ };
+};
+
&usb_1 {
- dr_mode = "peripheral";
+ dr_mode = "otg";
+ usb-role-switch;
status = "okay";
+
+ port {
+ usb_1_dwc3_hs: endpoint {
+ remote-endpoint = <&ucsi_ccg_port_0_hs>;
+ };
+ };
};
&usb_1_hsphy {
@@ -109,9 +217,16 @@ &usb_1_hsphy {
};
&usb_2 {
- dr_mode = "host";
+ dr_mode = "otg";
+ usb-role-switch;
status = "okay";
+
+ port {
+ usb_2_dwc3_hs: endpoint {
+ remote-endpoint = <&ucsi_ccg_port_1_hs>;
+ };
+ };
};
&usb_2_hsphy {
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-12 13:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-12 13:11 [PATCH] arm64: dts: qcom: talos-lyra-evk: Add CYPD6129 Type-C support Akash Kumar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®