]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: qcom: qcs8300-ride: Enable second USB controller on QCS8300 Ride
authorManish Nagar <quic_mnagar@quicinc.com>
Mon, 10 Mar 2025 10:47:43 +0000 (16:17 +0530)
committerBjorn Andersson <andersson@kernel.org>
Fri, 14 Mar 2025 16:58:22 +0000 (11:58 -0500)
Enable secondary USB controller on QCS8300 Ride platform. Since it is a
Type-A port, the dr_mode has been set to "host". The VBUS to connected
peripherals is provided by TPS2559QWDRCTQ1 regulator connected to the
port. The regulator has an enable pin controlled by PMM8650. Model it as
fixed regulator and keep it Always-On at boot, since the regulator is
GPIO controlled regulator.

Co-developed-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
Signed-off-by: Manish Nagar <quic_mnagar@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250310104743.976265-1-quic_mnagar@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/qcs8300-ride.dts

index 2835b81d86ff69350b89a1666d6900b4aac03155..3ff8f398cad31a36fa46060855b075c8c2020aa7 100644 (file)
        chosen {
                stdout-path = "serial0:115200n8";
        };
+
+       regulator-usb2-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "USB2_VBUS";
+               gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&usb2_en>;
+               pinctrl-names = "default";
+               enable-active-high;
+               regulator-always-on;
+       };
 };
 
 &apps_rsc {
        };
 };
 
+&pmm8650au_1_gpios {
+       usb2_en: usb2-en-state {
+               pins = "gpio7";
+               function = "normal";
+               output-enable;
+               power-source = <0>;
+       };
+};
+
 &qupv3_id_0 {
        status = "okay";
 };
        status = "okay";
 };
 
+&usb_2_hsphy {
+       vdda-pll-supply = <&vreg_l7a>;
+       vdda18-supply = <&vreg_l7c>;
+       vdda33-supply = <&vreg_l9a>;
+
+       status = "okay";
+};
+
 &usb_qmpphy {
        vdda-phy-supply = <&vreg_l7a>;
        vdda-pll-supply = <&vreg_l5a>;
 &usb_1_dwc3 {
        dr_mode = "peripheral";
 };
+
+&usb_2 {
+       status = "okay";
+};
+
+&usb_2_dwc3 {
+       dr_mode = "host";
+};