* [PATCH v3 0/3] Enable UFS on QCS615
@ 2024-11-22 6:44 Xin Liu
2024-11-22 6:44 ` [PATCH v3 1/3] dt-bindings: ufs: qcom: Add UFS Host Controller for QCS615 Xin Liu
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Xin Liu @ 2024-11-22 6:44 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio
Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman,
Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree,
linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz,
quic_sayalil
From: Sayali Lokhande <quic_sayalil@quicinc.com>
Add UFS support to the QCS615 Ride platform. The UFS host controller and
QMP UFS PHY hardware of QCS615 are derived from SM6115. Include the
relevant binding documents accordingly. Additionally, configure UFS-related
clock, power, and interconnect settings in the device tree.
This patch series depends on below patch series:
https://lore.kernel.org/all/20240926-add_initial_support_for_qcs615-v3-0-e37617e91c62@quicinc.com/
https://lore.kernel.org/all/20241011063112.19087-1-quic_qqzhou@quicinc.com/
Signed-off-by: Xin Liu <quic_liuxin@quicinc.com>
---
Changes in v3:
- PATCH 1/3: Adjust the order of SOB.
- PATCH 2/3:Modify some formatting issues: Wrong indentation,
split into one entry per line.
- Link to v2: https://lore.kernel.org/all/20241119022050.2995511-1-quic_liuxin@quicinc.com/
Changes in v2:
- PATCH 1/3: Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- PATCH 2/3:Use an OPP table instead of freq-table-hz.And modify
some formatting issues.
- PATCH 3/3:Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
- Link to v1: https://lore.kernel.org/all/20241017042300.872963-1-quic_liuxin@quicinc.com/
---
Xin Liu (3):
dt-bindings: ufs: qcom: Add UFS Host Controller for QCS615
arm64: dts: qcom: qcs615: add UFS node
arm64: dts: qcom: qcs615-ride: Enable UFS node
.../devicetree/bindings/ufs/qcom,ufs.yaml | 2 +
arch/arm64/boot/dts/qcom/qcs615-ride.dts | 16 +++
arch/arm64/boot/dts/qcom/qcs615.dtsi | 114 ++++++++++++++++++
3 files changed, 132 insertions(+)
---
base-commit: c83f0b825741bcb9d8a7be67c63f6b9045d30f5a
--
2.34.1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH v3 1/3] dt-bindings: ufs: qcom: Add UFS Host Controller for QCS615 2024-11-22 6:44 [PATCH v3 0/3] Enable UFS on QCS615 Xin Liu @ 2024-11-22 6:44 ` Xin Liu 2024-11-22 6:44 ` [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node Xin Liu 2024-11-22 6:44 ` [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable " Xin Liu 2 siblings, 0 replies; 10+ messages in thread From: Xin Liu @ 2024-11-22 6:44 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil, Krzysztof Kozlowski From: Sayali Lokhande <quic_sayalil@quicinc.com> Document the Universal Flash Storage(UFS) Host Controller on the Qualcomm QCS615 Platform. Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> --- Documentation/devicetree/bindings/ufs/qcom,ufs.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml index cde334e3206b..a03fff5df5ef 100644 --- a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml +++ b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml @@ -26,6 +26,7 @@ properties: - qcom,msm8994-ufshc - qcom,msm8996-ufshc - qcom,msm8998-ufshc + - qcom,qcs615-ufshc - qcom,qcs8300-ufshc - qcom,sa8775p-ufshc - qcom,sc7180-ufshc @@ -243,6 +244,7 @@ allOf: compatible: contains: enum: + - qcom,qcs615-ufshc - qcom,sm6115-ufshc - qcom,sm6125-ufshc then: -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node 2024-11-22 6:44 [PATCH v3 0/3] Enable UFS on QCS615 Xin Liu 2024-11-22 6:44 ` [PATCH v3 1/3] dt-bindings: ufs: qcom: Add UFS Host Controller for QCS615 Xin Liu @ 2024-11-22 6:44 ` Xin Liu 2024-12-02 14:44 ` Manivannan Sadhasivam 2024-12-05 21:21 ` Konrad Dybcio 2024-11-22 6:44 ` [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable " Xin Liu 2 siblings, 2 replies; 10+ messages in thread From: Xin Liu @ 2024-11-22 6:44 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil From: Sayali Lokhande <quic_sayalil@quicinc.com> Add the UFS Host Controller node and its PHY for QCS615 SoC. Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> --- arch/arm64/boot/dts/qcom/qcs615.dtsi | 114 +++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi index 590beb37f441..5e501511e6db 100644 --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi @@ -458,6 +458,120 @@ mmss_noc: interconnect@1740000 { qcom,bcm-voters = <&apps_bcm_voter>; }; + ufs_mem_hc: ufshc@1d84000 { + compatible = "qcom,qcs615-ufshc", "qcom,ufshc", "jedec,ufs-2.0"; + reg = <0x0 0x01d84000 0x0 0x3000>, + <0x0 0x01d90000 0x0 0x8000>; + reg-names = "std", + "ice"; + + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; + + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, + <&gcc GCC_UFS_PHY_AHB_CLK>, + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, + <&gcc GCC_UFS_PHY_ICE_CORE_CLK>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>; + clock-names = "core_clk", + "bus_aggr_clk", + "iface_clk", + "core_clk_unipro", + "core_clk_ice", + "ref_clk", + "tx_lane0_sync_clk", + "rx_lane0_sync_clk"; + + resets = <&gcc GCC_UFS_PHY_BCR>; + reset-names = "rst"; + + operating-points-v2 = <&ufs_opp_table>; + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>; + interconnect-names = "ufs-ddr", + "cpu-ufs"; + + power-domains = <&gcc UFS_PHY_GDSC>; + required-opps = <&rpmhpd_opp_nom>; + + iommus = <&apps_smmu 0x300 0x0>; + dma-coherent; + + lanes-per-direction = <1>; + + phys = <&ufs_mem_phy>; + phy-names = "ufsphy"; + + #reset-cells = <1>; + + status = "disabled"; + + ufs_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-50000000 { + opp-hz = /bits/ 64 <50000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <37500000>, + /bits/ 64 <75000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>; + required-opps = <&rpmhpd_opp_low_svs>; + }; + + opp-100000000 { + opp-hz = /bits/ 64 <100000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <75000000>, + /bits/ 64 <150000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>; + required-opps = <&rpmhpd_opp_svs>; + }; + + opp-200000000 { + opp-hz = /bits/ 64 <200000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <150000000>, + /bits/ 64 <300000000>, + /bits/ 64 <0>, + /bits/ 64 <0>, + /bits/ 64 <0>; + required-opps = <&rpmhpd_opp_nom>; + }; + }; + }; + + ufs_mem_phy: phy@1d87000 { + compatible = "qcom,qcs615-qmp-ufs-phy", "qcom,sm6115-qmp-ufs-phy"; + reg = <0x0 0x01d87000 0x0 0xe00>; + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>, + <&gcc GCC_UFS_MEM_CLKREF_CLK>; + clock-names = "ref", + "ref_aux", + "qref"; + + power-domains = <&gcc UFS_PHY_GDSC>; + + resets = <&ufs_mem_hc 0>; + reset-names = "ufsphy"; + + #clock-cells = <1>; + #phy-cells = <0>; + + status = "disabled"; + }; + tcsr_mutex: hwlock@1f40000 { compatible = "qcom,tcsr-mutex"; reg = <0x0 0x01f40000 0x0 0x20000>; -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node 2024-11-22 6:44 ` [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node Xin Liu @ 2024-12-02 14:44 ` Manivannan Sadhasivam 2024-12-05 21:21 ` Konrad Dybcio 1 sibling, 0 replies; 10+ messages in thread From: Manivannan Sadhasivam @ 2024-12-02 14:44 UTC (permalink / raw) To: Xin Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil On Fri, Nov 22, 2024 at 02:44:27PM +0800, Xin Liu wrote: > From: Sayali Lokhande <quic_sayalil@quicinc.com> > > Add the UFS Host Controller node and its PHY for QCS615 SoC. > > Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> > Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> > Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> - Mani > --- > arch/arm64/boot/dts/qcom/qcs615.dtsi | 114 +++++++++++++++++++++++++++ > 1 file changed, 114 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi > index 590beb37f441..5e501511e6db 100644 > --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi > +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi > @@ -458,6 +458,120 @@ mmss_noc: interconnect@1740000 { > qcom,bcm-voters = <&apps_bcm_voter>; > }; > > + ufs_mem_hc: ufshc@1d84000 { > + compatible = "qcom,qcs615-ufshc", "qcom,ufshc", "jedec,ufs-2.0"; > + reg = <0x0 0x01d84000 0x0 0x3000>, > + <0x0 0x01d90000 0x0 0x8000>; > + reg-names = "std", > + "ice"; > + > + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; > + > + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, > + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, > + <&gcc GCC_UFS_PHY_AHB_CLK>, > + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, > + <&gcc GCC_UFS_PHY_ICE_CORE_CLK>, > + <&rpmhcc RPMH_CXO_CLK>, > + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, > + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>; > + clock-names = "core_clk", > + "bus_aggr_clk", > + "iface_clk", > + "core_clk_unipro", > + "core_clk_ice", > + "ref_clk", > + "tx_lane0_sync_clk", > + "rx_lane0_sync_clk"; > + > + resets = <&gcc GCC_UFS_PHY_BCR>; > + reset-names = "rst"; > + > + operating-points-v2 = <&ufs_opp_table>; > + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS > + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, > + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS > + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>; > + interconnect-names = "ufs-ddr", > + "cpu-ufs"; > + > + power-domains = <&gcc UFS_PHY_GDSC>; > + required-opps = <&rpmhpd_opp_nom>; > + > + iommus = <&apps_smmu 0x300 0x0>; > + dma-coherent; > + > + lanes-per-direction = <1>; > + > + phys = <&ufs_mem_phy>; > + phy-names = "ufsphy"; > + > + #reset-cells = <1>; > + > + status = "disabled"; > + > + ufs_opp_table: opp-table { > + compatible = "operating-points-v2"; > + > + opp-50000000 { > + opp-hz = /bits/ 64 <50000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <37500000>, > + /bits/ 64 <75000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <0>; > + required-opps = <&rpmhpd_opp_low_svs>; > + }; > + > + opp-100000000 { > + opp-hz = /bits/ 64 <100000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <75000000>, > + /bits/ 64 <150000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <0>; > + required-opps = <&rpmhpd_opp_svs>; > + }; > + > + opp-200000000 { > + opp-hz = /bits/ 64 <200000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <150000000>, > + /bits/ 64 <300000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <0>; > + required-opps = <&rpmhpd_opp_nom>; > + }; > + }; > + }; > + > + ufs_mem_phy: phy@1d87000 { > + compatible = "qcom,qcs615-qmp-ufs-phy", "qcom,sm6115-qmp-ufs-phy"; > + reg = <0x0 0x01d87000 0x0 0xe00>; > + clocks = <&rpmhcc RPMH_CXO_CLK>, > + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>, > + <&gcc GCC_UFS_MEM_CLKREF_CLK>; > + clock-names = "ref", > + "ref_aux", > + "qref"; > + > + power-domains = <&gcc UFS_PHY_GDSC>; > + > + resets = <&ufs_mem_hc 0>; > + reset-names = "ufsphy"; > + > + #clock-cells = <1>; > + #phy-cells = <0>; > + > + status = "disabled"; > + }; > + > tcsr_mutex: hwlock@1f40000 { > compatible = "qcom,tcsr-mutex"; > reg = <0x0 0x01f40000 0x0 0x20000>; > -- > 2.34.1 > -- மணிவண்ணன் சதாசிவம் -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node 2024-11-22 6:44 ` [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node Xin Liu 2024-12-02 14:44 ` Manivannan Sadhasivam @ 2024-12-05 21:21 ` Konrad Dybcio 2024-12-09 7:56 ` Xin Liu 1 sibling, 1 reply; 10+ messages in thread From: Konrad Dybcio @ 2024-12-05 21:21 UTC (permalink / raw) To: Xin Liu, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil On 22.11.2024 7:44 AM, Xin Liu wrote: > From: Sayali Lokhande <quic_sayalil@quicinc.com> > > Add the UFS Host Controller node and its PHY for QCS615 SoC. > > Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> > Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> > Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> > --- [...] > + > + operating-points-v2 = <&ufs_opp_table>; > + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS > + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, > + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS > + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>; QCOM_ICC_TAG_ACTIVE_ONLY for the cpu path > + interconnect-names = "ufs-ddr", > + "cpu-ufs"; > + > + power-domains = <&gcc UFS_PHY_GDSC>; > + required-opps = <&rpmhpd_opp_nom>; this contradicts the levels in the OPP table: > + > + iommus = <&apps_smmu 0x300 0x0>; > + dma-coherent; > + > + lanes-per-direction = <1>; > + > + phys = <&ufs_mem_phy>; > + phy-names = "ufsphy"; > + > + #reset-cells = <1>; > + > + status = "disabled"; > + > + ufs_opp_table: opp-table { > + compatible = "operating-points-v2"; > + > + opp-50000000 { > + opp-hz = /bits/ 64 <50000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <37500000>, > + /bits/ 64 <75000000>, > + /bits/ 64 <0>, > + /bits/ 64 <0>, > + /bits/ 64 <0>; > + required-opps = <&rpmhpd_opp_low_svs>; > + }; > + Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node 2024-12-05 21:21 ` Konrad Dybcio @ 2024-12-09 7:56 ` Xin Liu 2024-12-12 16:11 ` Konrad Dybcio 0 siblings, 1 reply; 10+ messages in thread From: Xin Liu @ 2024-12-09 7:56 UTC (permalink / raw) To: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil 在 2024/12/6 5:21, Konrad Dybcio 写道: > On 22.11.2024 7:44 AM, Xin Liu wrote: >> From: Sayali Lokhande <quic_sayalil@quicinc.com> >> >> Add the UFS Host Controller node and its PHY for QCS615 SoC. >> >> Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> >> Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> >> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> >> --- > > [...] > >> + >> + operating-points-v2 = <&ufs_opp_table>; >> + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS >> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, >> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS >> + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>; > > QCOM_ICC_TAG_ACTIVE_ONLY for the cpu path I need to ask you for advice. I have reviewed the ufs_mem_hc of many devices and found that all of them use QCOM_ICC_TAG_ALWAYS for their interconnects cpu path. Why do I need to use QCOM_ICC_TAG_ACTIVE_ONLY here? > >> + interconnect-names = "ufs-ddr", >> + "cpu-ufs"; >> + >> + power-domains = <&gcc UFS_PHY_GDSC>; >> + required-opps = <&rpmhpd_opp_nom>; > > this contradicts the levels in the OPP table: The required-opps here corresponds to opp-200000000 in the opp_table below. Similarly, I referred to sm8550.dtsi, whose required-opps also corresponds to the opp table. > >> + >> + iommus = <&apps_smmu 0x300 0x0>; >> + dma-coherent; >> + >> + lanes-per-direction = <1>; >> + >> + phys = <&ufs_mem_phy>; >> + phy-names = "ufsphy"; >> + >> + #reset-cells = <1>; >> + >> + status = "disabled"; >> + >> + ufs_opp_table: opp-table { >> + compatible = "operating-points-v2"; >> + >> + opp-50000000 { >> + opp-hz = /bits/ 64 <50000000>, >> + /bits/ 64 <0>, >> + /bits/ 64 <0>, >> + /bits/ 64 <37500000>, >> + /bits/ 64 <75000000>, >> + /bits/ 64 <0>, >> + /bits/ 64 <0>, >> + /bits/ 64 <0>; >> + required-opps = <&rpmhpd_opp_low_svs>; >> + }; >> + > > Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node 2024-12-09 7:56 ` Xin Liu @ 2024-12-12 16:11 ` Konrad Dybcio 0 siblings, 0 replies; 10+ messages in thread From: Konrad Dybcio @ 2024-12-12 16:11 UTC (permalink / raw) To: Xin Liu, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil On 9.12.2024 8:56 AM, Xin Liu wrote: > > > 在 2024/12/6 5:21, Konrad Dybcio 写道: >> On 22.11.2024 7:44 AM, Xin Liu wrote: >>> From: Sayali Lokhande <quic_sayalil@quicinc.com> >>> >>> Add the UFS Host Controller node and its PHY for QCS615 SoC. >>> >>> Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> >>> Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> >>> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> >>> --- >> >> [...] >> >>> + >>> + operating-points-v2 = <&ufs_opp_table>; >>> + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS >>> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, >>> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS >>> + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>; >> >> QCOM_ICC_TAG_ACTIVE_ONLY for the cpu path > I need to ask you for advice. I have reviewed the ufs_mem_hc of many devices and found that all of them use QCOM_ICC_TAG_ALWAYS for their interconnects cpu path. Why do I need to use QCOM_ICC_TAG_ACTIVE_ONLY here? QCOM_ICC_TAG_ACTIVE_ONLY instructs RPMh to shut off the interconnect path when the CPUs go offline (without OS intervention) to save power and bus bandwidth. It's the natural choice for paths that directly connect hardware to the CPU, as nothing else should be accessing these ports. Currently, many platforms do not set that, because nobody cared enough to point it out :( One day when we lay some more groundwork on the suspend side, I'll send a treewide fixup. >> >>> + interconnect-names = "ufs-ddr", >>> + "cpu-ufs"; >>> + >>> + power-domains = <&gcc UFS_PHY_GDSC>; >>> + required-opps = <&rpmhpd_opp_nom>; >> >> this contradicts the levels in the OPP table: > The required-opps here corresponds to opp-200000000 in the opp_table below. Similarly, I referred to sm8550.dtsi, whose required-opps also corresponds to the opp table. What I'm saying is, specifying required-opps of NOM here will make VDD_CX always stay at >= NOM, because the vote is max()-ed Konrad -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable UFS node 2024-11-22 6:44 [PATCH v3 0/3] Enable UFS on QCS615 Xin Liu 2024-11-22 6:44 ` [PATCH v3 1/3] dt-bindings: ufs: qcom: Add UFS Host Controller for QCS615 Xin Liu 2024-11-22 6:44 ` [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node Xin Liu @ 2024-11-22 6:44 ` Xin Liu 2024-12-02 14:48 ` Manivannan Sadhasivam 2 siblings, 1 reply; 10+ messages in thread From: Xin Liu @ 2024-11-22 6:44 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Manivannan Sadhasivam, Bjorn Andersson, Konrad Dybcio Cc: Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil, Konrad Dybcio From: Sayali Lokhande <quic_sayalil@quicinc.com> Enable UFS on the Qualcomm QCS615 Ride platform. Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> --- arch/arm64/boot/dts/qcom/qcs615-ride.dts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts index ee6cab3924a6..79634646350b 100644 --- a/arch/arm64/boot/dts/qcom/qcs615-ride.dts +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts @@ -214,6 +214,22 @@ &uart0 { status = "okay"; }; +&ufs_mem_hc { + vcc-supply = <&vreg_l17a>; + vcc-max-microamp = <600000>; + vccq2-supply = <&vreg_s4a>; + vccq2-max-microamp = <600000>; + + status = "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply = <&vreg_l5a>; + vdda-pll-supply = <&vreg_l12a>; + + status = "okay"; +}; + &watchdog { clocks = <&sleep_clk>; }; -- 2.34.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable UFS node 2024-11-22 6:44 ` [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable " Xin Liu @ 2024-12-02 14:48 ` Manivannan Sadhasivam 2024-12-09 8:31 ` Xin Liu 0 siblings, 1 reply; 10+ messages in thread From: Manivannan Sadhasivam @ 2024-12-02 14:48 UTC (permalink / raw) To: Xin Liu Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil, Konrad Dybcio On Fri, Nov 22, 2024 at 02:44:28PM +0800, Xin Liu wrote: > From: Sayali Lokhande <quic_sayalil@quicinc.com> > > Enable UFS on the Qualcomm QCS615 Ride platform. > > Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> > Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> One question below. > --- > arch/arm64/boot/dts/qcom/qcs615-ride.dts | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts > index ee6cab3924a6..79634646350b 100644 > --- a/arch/arm64/boot/dts/qcom/qcs615-ride.dts > +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts > @@ -214,6 +214,22 @@ &uart0 { > status = "okay"; > }; > > +&ufs_mem_hc { No 'reset-gpios' to reset the UFS device? - Mani -- மணிவண்ணன் சதாசிவம் -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable UFS node 2024-12-02 14:48 ` Manivannan Sadhasivam @ 2024-12-09 8:31 ` Xin Liu 0 siblings, 0 replies; 10+ messages in thread From: Xin Liu @ 2024-12-09 8:31 UTC (permalink / raw) To: Manivannan Sadhasivam Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio, Vinod Koul, Kishon Vijay Abraham I, Alim Akhtar, Avri Altman, Bart Van Assche, Andy Gross, linux-arm-msm, linux-phy, devicetree, linux-kernel, linux-scsi, quic_jiegan, quic_aiquny, quic_tingweiz, quic_sayalil, Konrad Dybcio 在 2024/12/2 22:48, Manivannan Sadhasivam 写道: > On Fri, Nov 22, 2024 at 02:44:28PM +0800, Xin Liu wrote: >> From: Sayali Lokhande <quic_sayalil@quicinc.com> >> >> Enable UFS on the Qualcomm QCS615 Ride platform. >> >> Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com> >> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> >> Co-developed-by: Xin Liu <quic_liuxin@quicinc.com> >> Signed-off-by: Xin Liu <quic_liuxin@quicinc.com> > > Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > One question below. > >> --- >> arch/arm64/boot/dts/qcom/qcs615-ride.dts | 16 ++++++++++++++++ >> 1 file changed, 16 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts >> index ee6cab3924a6..79634646350b 100644 >> --- a/arch/arm64/boot/dts/qcom/qcs615-ride.dts >> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts >> @@ -214,6 +214,22 @@ &uart0 { >> status = "okay"; >> }; >> >> +&ufs_mem_hc { > > No 'reset-gpios' to reset the UFS device? I will check it, and fix it next version. > > - Mani > -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-12-12 17:10 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-11-22 6:44 [PATCH v3 0/3] Enable UFS on QCS615 Xin Liu 2024-11-22 6:44 ` [PATCH v3 1/3] dt-bindings: ufs: qcom: Add UFS Host Controller for QCS615 Xin Liu 2024-11-22 6:44 ` [PATCH v3 2/3] arm64: dts: qcom: qcs615: add UFS node Xin Liu 2024-12-02 14:44 ` Manivannan Sadhasivam 2024-12-05 21:21 ` Konrad Dybcio 2024-12-09 7:56 ` Xin Liu 2024-12-12 16:11 ` Konrad Dybcio 2024-11-22 6:44 ` [PATCH v3 3/3] arm64: dts: qcom: qcs615-ride: Enable " Xin Liu 2024-12-02 14:48 ` Manivannan Sadhasivam 2024-12-09 8:31 ` Xin Liu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox