Message ID | 20241211-add_usb_host_mode_for_qcs615-v2-1-2c4abdf67635@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | arm64: dts: qcom: Add DT support for secondary USB on QCS615 | expand |
On 11.12.2024 9:26 AM, Song Xue wrote: > From: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> > > Add support for secondary USB controller and its high-speed phy > on QCS615. > > 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> > --- > arch/arm64/boot/dts/qcom/qcs615.dtsi | 76 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 76 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi > index b8388dcca94cd8f4e6f1360305d5f6c7fff4eec3..651c6c8b8bc40886139fa235874e834928e14e77 100644 > --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi > +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi > @@ -3079,6 +3079,20 @@ usb_1_hsphy: phy@88e2000 { > status = "disabled"; > }; > > + usb_hsphy_2: phy@88e3000 { > + compatible = "qcom,qcs615-qusb2-phy"; > + reg = <0x0 0x088e3000 0x0 0x180>; > + > + clocks = <&gcc GCC_AHB2PHY_WEST_CLK>, <&rpmhcc RPMH_CXO_CLK>; > + clock-names = "cfg_ahb", "ref"; Having this be a vertical list would be nice Nonetheless, this looks good and the magic numbers all line up with what the computer tells me. You may want to check with Krishna Kurapati whether snps,parkmode-disable-ss-quirk here as well. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On 12/12/2024 11:40 PM, Konrad Dybcio wrote: > On 11.12.2024 9:26 AM, Song Xue wrote: >> From: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> >> >> Add support for secondary USB controller and its high-speed phy >> on QCS615. >> >> 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> >> --- >> arch/arm64/boot/dts/qcom/qcs615.dtsi | 76 ++++++++++++++++++++++++++++++++++++ >> 1 file changed, 76 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi >> index b8388dcca94cd8f4e6f1360305d5f6c7fff4eec3..651c6c8b8bc40886139fa235874e834928e14e77 100644 >> --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi >> +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi >> @@ -3079,6 +3079,20 @@ usb_1_hsphy: phy@88e2000 { >> status = "disabled"; >> }; >> >> + usb_hsphy_2: phy@88e3000 { >> + compatible = "qcom,qcs615-qusb2-phy"; >> + reg = <0x0 0x088e3000 0x0 0x180>; >> + >> + clocks = <&gcc GCC_AHB2PHY_WEST_CLK>, <&rpmhcc RPMH_CXO_CLK>; >> + clock-names = "cfg_ahb", "ref"; > > Having this be a vertical list would be nice > > Nonetheless, this looks good and the magic numbers all line > up with what the computer tells me. You may want to check > with Krishna Kurapati whether snps,parkmode-disable-ss-quirk > here as well. > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Thanks for the review Konrad. This is HS only controller and this quirk is not necessary. Regards, Krishna,
On 11/12/2024 09:26, Song Xue wrote: > From: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> > > Add support for secondary USB controller and its high-speed phy > on QCS615. > > 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> Please use subject prefixes matching the subsystem. You can get them for example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory your patch is touching. For bindings, the preferred subjects are explained here: https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters Best regards, Krzysztof
On 12/13/2024 3:54 PM, Krzysztof Kozlowski wrote: > On 11/12/2024 09:26, Song Xue wrote: >> From: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> >> >> Add support for secondary USB controller and its high-speed phy >> on QCS615. >> >> 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> > > > Please use subject prefixes matching the subsystem. You can get them for > example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory > your patch is touching. For bindings, the preferred subjects are > explained here: > https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters > > Let me fix in next version. Thanks Song > > Best regards, > Krzysztof
diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi index b8388dcca94cd8f4e6f1360305d5f6c7fff4eec3..651c6c8b8bc40886139fa235874e834928e14e77 100644 --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi @@ -3079,6 +3079,20 @@ usb_1_hsphy: phy@88e2000 { status = "disabled"; }; + usb_hsphy_2: phy@88e3000 { + compatible = "qcom,qcs615-qusb2-phy"; + reg = <0x0 0x088e3000 0x0 0x180>; + + clocks = <&gcc GCC_AHB2PHY_WEST_CLK>, <&rpmhcc RPMH_CXO_CLK>; + clock-names = "cfg_ahb", "ref"; + + resets = <&gcc GCC_QUSB2PHY_SEC_BCR>; + + #phy-cells = <0>; + + status = "disabled"; + }; + usb_qmpphy: phy@88e6000 { compatible = "qcom,qcs615-qmp-usb3-phy"; reg = <0x0 0x88e6000 0x0 0x1000>; @@ -3168,6 +3182,68 @@ usb_1_dwc3: usb@a600000 { snps,usb3_lpm_capable; }; }; + + usb_2: usb@a8f8800 { + compatible = "qcom,qcs615-dwc3", "qcom,dwc3"; + reg = <0x0 0x0a8f8800 0x0 0x400>; + + clocks = <&gcc GCC_CFG_NOC_USB2_SEC_AXI_CLK>, + <&gcc GCC_USB20_SEC_MASTER_CLK>, + <&gcc GCC_AGGRE_USB2_SEC_AXI_CLK>, + <&gcc GCC_USB20_SEC_SLEEP_CLK>, + <&gcc GCC_USB20_SEC_MOCK_UTMI_CLK>, + <&gcc GCC_USB2_PRIM_CLKREF_CLK>; + clock-names = "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi", + "xo"; + + assigned-clocks = <&gcc GCC_USB20_SEC_MOCK_UTMI_CLK>, + <&gcc GCC_USB20_SEC_MASTER_CLK>; + assigned-clock-rates = <19200000>, <200000000>; + + interrupts-extended = <&intc GIC_SPI 663 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 662 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 11 IRQ_TYPE_EDGE_BOTH>, + <&pdc 10 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "pwr_event", + "hs_phy_irq", + "dp_hs_phy_irq", + "dm_hs_phy_irq"; + + power-domains = <&gcc USB20_SEC_GDSC>; + required-opps = <&rpmhpd_opp_nom>; + + resets = <&gcc GCC_USB20_SEC_BCR>; + + qcom,select-utmi-as-pipe-clk; + + #address-cells = <2>; + #size-cells = <2>; + ranges; + + status = "disabled"; + + usb_2_dwc3: usb@a800000 { + compatible = "snps,dwc3"; + reg = <0x0 0x0a800000 0x0 0xcd00>; + + iommus = <&apps_smmu 0xe0 0x0>; + interrupts = <GIC_SPI 664 IRQ_TYPE_LEVEL_HIGH>; + + phys = <&usb_hsphy_2>; + phy-names = "usb2-phy"; + + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + snps,has-lpm-erratum; + snps,hird-threshold = /bits/ 8 <0x10>; + + maximum-speed = "high-speed"; + }; + }; }; arch_timer: timer {