From: Krishna Kurapati Date: Wed, 18 Dec 2024 12:12:57 +0000 (+0800) Subject: arm64: dts: qcom: qcs615-ride: Enable secondary USB controller on QCS615 Ride X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b8993bd786c1681ce0aa65b7a04159bf712c1e21;p=users%2Fwilly%2Fxarray.git arm64: dts: qcom: qcs615-ride: Enable secondary USB controller on QCS615 Ride Enable secondary USB controller on QCS615 Ride platform. The secondary USB controller is made "host", as it is a Type-A port. Secondary USB controller of QCS615 Ride has Type-A port exposed for connecting peripheral. The VBUS to the peripheral is provided by TPS2549IRTERQ1 regulator connected to the port. The regulator has an enable pin controlled by PM8150. Model it as fixed regulator and keep it Always-On at boot, since the regulator is GPIO controlled regulator. Signed-off-by: Krishna Kurapati Co-developed-by: Song Xue Signed-off-by: Song Xue Reviewed-by: Konrad Dybcio Link: https://lore.kernel.org/r/20241218-add_usb_host_mode_for_qcs615-v3-2-d9d29fe39a4b@quicinc.com Signed-off-by: Bjorn Andersson --- diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts index f41319ff47b9..66f988104697 100644 --- a/arch/arm64/boot/dts/qcom/qcs615-ride.dts +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts @@ -4,6 +4,7 @@ */ /dts-v1/; +#include #include #include "qcs615.dtsi" #include "pm8150.dtsi" @@ -33,6 +34,16 @@ #clock-cells = <0>; }; }; + + regulator-usb2-vbus { + compatible = "regulator-fixed"; + regulator-name = "USB2_VBUS"; + gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&usb2_en>; + pinctrl-names = "default"; + enable-active-high; + regulator-always-on; + }; }; &apps_rsc { @@ -203,6 +214,15 @@ <&sleep_clk>; }; +&pm8150_gpios { + usb2_en: usb2-en-state { + pins = "gpio10"; + function = "normal"; + output-enable; + power-source = <0>; + }; +}; + &pon_pwrkey { status = "okay"; }; @@ -248,6 +268,22 @@ dr_mode = "peripheral"; }; +&usb_hsphy_2 { + vdd-supply = <&vreg_l5a>; + vdda-pll-supply = <&vreg_l12a>; + vdda-phy-dpdm-supply = <&vreg_l13a>; + + status = "okay"; +}; + +&usb_2 { + status = "okay"; +}; + +&usb_2_dwc3 { + dr_mode = "host"; +}; + &watchdog { clocks = <&sleep_clk>; };