Message ID | 20241218-add_usb_host_mode_for_qcs615-v3-2-d9d29fe39a4b@quicinc.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: Add DT support for secondary USB on QCS615 | expand |
On 18.12.2024 1:12 PM, Song Xue wrote: > From: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> > > 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 <krishna.kurapati@oss.qualcomm.com> > Co-developed-by: Song Xue <quic_songxue@quicinc.com> > Signed-off-by: Song Xue <quic_songxue@quicinc.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts index f41319ff47b983d771da52775fa78b4385c4e532..66f988104697367e87c1a9e688b3e1ff4c10a644 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 <dt-bindings/gpio/gpio.h> #include <dt-bindings/regulator/qcom,rpmh-regulator.h> #include "qcs615.dtsi" #include "pm8150.dtsi" @@ -33,6 +34,16 @@ xo_board_clk: xo-board-clk { #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 @@ &gcc { <&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 @@ &usb_1_dwc3 { 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>; };