From 4fd071c02b470f133722c656470216ca4973fbe5 Mon Sep 17 00:00:00 2001 From: Prashanth K Date: Tue, 19 Apr 2022 12:29:11 +0530 Subject: [PATCH] ARM: dts: msm: Add QMP PHY node for Cinder Add QMP phy node for SS USB support in Cinder. Added the voltage regulators in RU & DU DT files. Change-Id: Ie1c83f29a523333834c0e6cccf9b33a19f38574a --- qcom/cinder-du.dtsi | 7 +++ qcom/cinder-ru.dtsi | 7 +++ qcom/cinder-usb.dtsi | 132 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 145 insertions(+), 1 deletion(-) diff --git a/qcom/cinder-du.dtsi b/qcom/cinder-du.dtsi index 7adbeef7..6d8e47db 100644 --- a/qcom/cinder-du.dtsi +++ b/qcom/cinder-du.dtsi @@ -155,4 +155,11 @@ vdda33-supply = <&L2A>; qcom,vdd-voltage-level = <0 888000 920000>; }; + + usb_qmp_phy { + vdd-supply = <&L8A>; + qcom,vdd-voltage-level = <0 888000 920000>; + qcom,vdd-max-load-uA = <47000>; + core-supply = <&L3A>; + }; }; diff --git a/qcom/cinder-ru.dtsi b/qcom/cinder-ru.dtsi index ae98a702..67ed0621 100644 --- a/qcom/cinder-ru.dtsi +++ b/qcom/cinder-ru.dtsi @@ -150,4 +150,11 @@ vdda33-supply = <&L2A>; qcom,vdd-voltage-level = <0 880000 920000>; }; + + usb_qmp_phy { + vdd-supply = <&L5A>; + qcom,vdd-voltage-level = <0 880000 920000>; + qcom,vdd-max-load-uA = <47000>; + core-supply = <&L3A>; + }; }; diff --git a/qcom/cinder-usb.dtsi b/qcom/cinder-usb.dtsi index 3da74151..d036e312 100644 --- a/qcom/cinder-usb.dtsi +++ b/qcom/cinder-usb.dtsi @@ -1,4 +1,5 @@ #include +#include &soc { usb0: ssusb@a600000 { @@ -48,7 +49,7 @@ qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>; dma-coherent; - usb-phy = <&usb2_phy0>, <&usb_nop_phy>; + usb-phy = <&usb2_phy0>, <&usb_qmp_phy>; interrupts = ; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x0>; @@ -78,6 +79,135 @@ reset-names = "phy_reset"; }; + /* USB port related QMP USB UNI PHY */ + usb_qmp_phy: ssphy@88e5000 { + compatible = "qcom,usb-ssphy-qmp-v2"; + reg = <0x88e5000 0x2000>, + <0x88E528C 0x4>; + reg-names = "qmp_phy_base", + "pcs_clamp_enable_reg"; + + clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>, + <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>, + <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK_SRC>, + <&usb3_phy_wrapper_gcc_usb30_pipe_clk>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_USB2_CLKREF_EN>, + <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>; + clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux", + "pipe_clk_ext_src", "ref_clk_src", + "ref_clk", "com_aux_clk"; + + resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, + <&gcc GCC_USB3PHY_PHY_PRIM_BCR>; + reset-names = "phy_reset", "phy_phy_reset"; + + qcom,qmp-phy-init-seq = + /* */ + ; + + qcom,qmp-phy-reg-offset = + ; + }; + usb_nop_phy: usb_nop_phy { compatible = "usb-nop-xceiv"; };