From: Wesley Cheng <quic_wcheng@quicinc.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Melody Olvera <quic_molvera@quicinc.com>
Cc: Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
"Catalin Marinas" <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
"Bjorn Andersson" <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>,
Trilok Soni <quic_tsoni@quicinc.com>,
<linux-arm-msm@vger.kernel.org>, <linux-phy@lists.infradead.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-usb@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 7/7] arm64: dts: qcom: sm8750: Add USB support to SM8750 platforms
Date: Mon, 3 Feb 2025 19:21:52 -0800 [thread overview]
Message-ID: <4a18ddb1-a7f4-41ae-b115-516b1710cbde@quicinc.com> (raw)
In-Reply-To: <lk26ltslmijj7tj2kst2wsvd6d2hyj3zjzcwavwl63evjhcgdh@ewqliiijispu>
On 1/14/2025 2:38 AM, Dmitry Baryshkov wrote:
> On Mon, Jan 13, 2025 at 01:52:13PM -0800, Melody Olvera wrote:
>> From: Wesley Cheng <quic_wcheng@quicinc.com>
>>
>> Enable USB support on SM8750 MTP and QRD variants. SM8750 has a QMP combo
>> PHY for the SSUSB path, and a M31 eUSB2 PHY for the HSUSB path.
>>
>> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
>> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
>> ---
>> arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 24 ++++++
>> arch/arm64/boot/dts/qcom/sm8750-qrd.dts | 24 ++++++
>> arch/arm64/boot/dts/qcom/sm8750.dtsi | 134 ++++++++++++++++++++++++++++++++
> Separate SoC and board patches.
>
>> 3 files changed, 182 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm8750-mtp.dts b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts
>> index 9e3aacad7bdab6848e86f8e45e04907e1c752a07..059eccbbc3fb05fc8806e36d35dc469d44443a26 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8750-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts
>> @@ -792,3 +792,27 @@ &tlmm {
>> &uart7 {
>> status = "okay";
>> };
>> +
>> +&usb_1 {
>> + status = "okay";
>> +};
>> +
>> +&usb_1_dwc3 {
>> + dr_mode = "peripheral";
>> +};
>> +
>> +&usb_1_hsphy {
>> + vdd-supply = <&vreg_l2d_0p88>;
>> + vdda12-supply = <&vreg_l3g_1p2>;
>> +
>> + phys = <&pmih0108_eusb2_repeater>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&usb_dp_qmpphy {
>> + vdda-phy-supply = <&vreg_l3g_1p2>;
>> + vdda-pll-supply = <&vreg_l2d_0p88>;
>> +
>> + status = "okay";
>> +};
>> diff --git a/arch/arm64/boot/dts/qcom/sm8750-qrd.dts b/arch/arm64/boot/dts/qcom/sm8750-qrd.dts
>> index f77efab0aef9bab751a947173bcdcc27df7295a8..01c0af643626917614fbd68cf8962ef947ca6548 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8750-qrd.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8750-qrd.dts
>> @@ -790,3 +790,27 @@ &tlmm {
>> &uart7 {
>> status = "okay";
>> };
>> +
>> +&usb_1 {
>> + status = "okay";
>> +};
>> +
>> +&usb_1_dwc3 {
>> + dr_mode = "peripheral";
>> +};
>> +
>> +&usb_1_hsphy {
>> + vdd-supply = <&vreg_l2d_0p88>;
>> + vdda12-supply = <&vreg_l3g_1p2>;
>> +
>> + phys = <&pmih0108_eusb2_repeater>;
>> +
>> + status = "okay";
>> +};
>> +
>> +&usb_dp_qmpphy {
>> + vdda-phy-supply = <&vreg_l3g_1p2>;
>> + vdda-pll-supply = <&vreg_l2d_0p88>;
>> +
>> + status = "okay";
>> +};
>> diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> index 3bbd7d18598ee0a3a0d5130c03a3166e1fc14d82..54522fd3d0e11c3cff02beaf1d249fe654cacc0f 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
>> @@ -10,6 +10,7 @@
>> #include <dt-bindings/interconnect/qcom,icc.h>
>> #include <dt-bindings/interconnect/qcom,sm8750-rpmh.h>
>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +#include <dt-bindings/phy/phy-qcom-qmp.h>
>> #include <dt-bindings/power/qcom,rpmhpd.h>
>> #include <dt-bindings/power/qcom-rpmpd.h>
>> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>> @@ -1966,6 +1967,139 @@ lpass_lpicx_noc: interconnect@7420000 {
>> #interconnect-cells = <2>;
>> };
>>
>> + usb_1_hsphy: phy@88e3000 {
>> + compatible = "qcom,sm8750-m31-eusb2-phy";
>> + reg = <0x0 0x88e3000 0x0 0x29c>;
>> +
>> + clocks = <&tcsrcc TCSR_USB2_CLKREF_EN>;
>> + clock-names = "ref";
>> +
>> + resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
>> +
>> + #phy-cells = <0>;
>> +
>> + status = "disabled";
>> + };
>> +
>> + usb_dp_qmpphy: phy@88e8000 {
>> + compatible = "qcom,sm8750-qmp-usb3-dp-phy";
>> + reg = <0x0 0x088e8000 0x0 0x3000>;
>> +
>> + clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
>> + <&rpmhcc RPMH_CXO_CLK>,
>> + <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
>> + <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
>> + clock-names = "aux",
>> + "ref",
>> + "com_aux",
>> + "usb3_pipe";
>> +
>> + resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
>> + <&gcc GCC_USB3_DP_PHY_PRIM_BCR>;
>> + reset-names = "phy",
>> + "common";
>> +
>> + power-domains = <&gcc GCC_USB3_PHY_GDSC>;
>> +
>> + #clock-cells = <1>;
>> + #phy-cells = <1>;
> Missing orientation-switch and ports{} description.
At least for this initial submission/series, we haven't yet defined the PMIC GLINK connections yet, so does it make sense to include these now? Basically, even if we define that connection, since I'm not aware if the enablement of PMIC GLINK has been added, it would be nil, as it would be the one responsible for registering the type C port.
>> +
>> + status = "disabled";
>> + };
>> +
>> + usb_1: usb@a6f8800 {
>> + compatible = "qcom,sm8750-dwc3", "qcom,dwc3";
>> + reg = <0x0 0x0a6f8800 0x0 0x400>;
>> + status = "disabled";
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> +
>> + clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
>> + <&gcc GCC_USB30_PRIM_MASTER_CLK>,
>> + <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
>> + <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
>> + <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>> + <&tcsrcc TCSR_USB3_CLKREF_EN>;
>> + clock-names = "cfg_noc",
>> + "core",
>> + "iface",
>> + "sleep",
>> + "mock_utmi",
>> + "xo";
>> +
>> + assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
>> + <&gcc GCC_USB30_PRIM_MASTER_CLK>;
>> + assigned-clock-rates = <19200000>, <200000000>;
>> +
>> + interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
>> + <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
>> + <&pdc 14 IRQ_TYPE_EDGE_BOTH>,
>> + <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
>> + <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
>> + interrupt-names = "pwr_event",
>> + "hs_phy_irq",
>> + "dp_hs_phy_irq",
>> + "dm_hs_phy_irq",
>> + "ss_phy_irq";
>> +
>> + power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
>> + required-opps = <&rpmhpd_opp_nom>;
>> +
>> + resets = <&gcc GCC_USB30_PRIM_BCR>;
>> +
>> + interconnects = <&aggre1_noc MASTER_USB3_0 0 &mc_virt SLAVE_EBI1 0>,
>> + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>;
>> + interconnect-names = "usb-ddr", "apps-usb";
>> +
>> + usb_1_dwc3: usb@a600000 {
>> + compatible = "snps,dwc3";
>> + reg = <0x0 0x0a600000 0x0 0xe000>;
>> +
>> + interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
>> +
>> + iommus = <&apps_smmu 0x40 0x0>;
>> +
>> + phys = <&usb_1_hsphy>, <&usb_dp_qmpphy QMP_USB43DP_USB3_PHY>;
>> + phy-names = "usb2-phy", "usb3-phy";
>> +
>> + snps,hird-threshold = /bits/ 8 <0x0>;
>> + snps,usb2-gadget-lpm-disable;
>> + snps,dis_u2_susphy_quirk;
>> + snps,dis_enblslpm_quirk;
>> + snps,dis-u1-entry-quirk;
>> + snps,dis-u2-entry-quirk;
>> + snps,is-utmi-l1-suspend;
>> + snps,usb3_lpm_capable;
>> + snps,usb2-lpm-disable;
>> + snps,has-lpm-erratum;
>> + tx-fifo-resize;
>> +
>> + dr_mode = "peripheral";
> This goes to the board files.
>
>> +
>> + dma-coherent;
>> +
>> + ports {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + port@0 {
>> + reg = <0>;
>> +
>> + usb_1_dwc3_hs: endpoint {
>> + };
>> + };
>> +
>> + port@1 {
>> + reg = <1>;
>> +
>> + usb_1_dwc3_ss: endpoint {
> QMP endpoint.
Same as above comment.
Thanks
Wesley Cheng
next prev parent reply other threads:[~2025-02-04 3:22 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-13 21:52 [PATCH 0/7] phy: qcom: Introduce USB support for SM8750 Melody Olvera
2025-01-13 21:52 ` [PATCH 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: Add SM8750 to QMP PHY Melody Olvera
2025-01-14 7:28 ` Krzysztof Kozlowski
2025-01-13 21:52 ` [PATCH 2/7] dt-bindings: phy: Add the M31 based eUSB2 PHY bindings Melody Olvera
2025-01-13 23:27 ` Rob Herring (Arm)
2025-01-14 10:12 ` Dmitry Baryshkov
2025-02-21 3:16 ` Wesley Cheng
2025-02-21 3:48 ` Dmitry Baryshkov
2025-01-16 19:30 ` Konrad Dybcio
2025-01-13 21:52 ` [PATCH 3/7] dt-bindings: usb: qcom,dwc3: Add SM8750 compatible Melody Olvera
2025-01-13 23:27 ` Rob Herring (Arm)
2025-01-14 7:34 ` Krzysztof Kozlowski
2025-01-13 21:52 ` [PATCH 4/7] phy: qcom: qmp-combo: Add new PHY sequences for SM8750 Melody Olvera
2025-01-14 8:59 ` neil.armstrong
2025-02-04 3:32 ` Wesley Cheng
2025-01-14 10:23 ` Dmitry Baryshkov
2025-02-04 3:31 ` Wesley Cheng
2025-02-04 14:59 ` Dmitry Baryshkov
2025-02-22 2:43 ` Wesley Cheng
2025-02-22 5:14 ` Dmitry Baryshkov
2025-01-13 21:52 ` [PATCH 5/7] phy: qcom: Add M31 based eUSB2 PHY driver Melody Olvera
2025-01-14 8:57 ` neil.armstrong
2025-01-14 10:34 ` Dmitry Baryshkov
2025-02-26 20:23 ` Wesley Cheng
2025-02-27 1:55 ` Dmitry Baryshkov
2025-01-16 8:45 ` Philipp Zabel
2025-01-13 21:52 ` [PATCH 6/7] arm64: defconfig: Add M31 eUSB2 PHY config Melody Olvera
2025-01-14 7:35 ` Krzysztof Kozlowski
2025-01-13 21:52 ` [PATCH 7/7] arm64: dts: qcom: sm8750: Add USB support to SM8750 platforms Melody Olvera
2025-01-14 10:38 ` Dmitry Baryshkov
2025-02-04 3:21 ` Wesley Cheng [this message]
2025-02-04 15:19 ` Dmitry Baryshkov
2025-01-22 11:10 ` Krzysztof Kozlowski
2025-02-27 18:29 ` Dmitry Baryshkov
2025-02-27 19:28 ` Wesley Cheng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4a18ddb1-a7f4-41ae-b115-516b1710cbde@quicinc.com \
--to=quic_wcheng@quicinc.com \
--cc=andersson@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=kishon@kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=quic_molvera@quicinc.com \
--cc=quic_satyap@quicinc.com \
--cc=quic_tsoni@quicinc.com \
--cc=robh@kernel.org \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®