* [PATCH v5 1/3] dt-bindings: ufs: Add msm8998 compatible string
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
@ 2019-02-25 12:17 ` Marc Gonzalez
2019-02-25 12:17 ` [PATCH v5 2/3] arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load Marc Gonzalez
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Marc Gonzalez @ 2019-02-25 12:17 UTC (permalink / raw)
To: MSM, SCSI
Cc: Jeffrey Hugo, Bjorn Andersson, Andy Gross, David Brown,
Alim Akhtar, Avri Altman, Pedro Sousa, LKML, Lee Jones
Add "qcom,msm8998-ufshc" compatible string.
Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
---
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
index 5111e9130bc3..991e21ee7b44 100644
--- a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
+++ b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
@@ -11,6 +11,7 @@ Required properties:
the appropriate jedec string:
"qcom,msm8994-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
"qcom,msm8996-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
+ "qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
"qcom,sdm845-ufshc", "qcom,ufshc", "jedec,ufs-2.0"
- interrupts : <interrupt mapping for UFS host controller IRQ>
- reg : <registers mapping>
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 2/3] arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
2019-02-25 12:17 ` [PATCH v5 1/3] dt-bindings: ufs: Add msm8998 compatible string Marc Gonzalez
@ 2019-02-25 12:17 ` Marc Gonzalez
2019-02-25 12:18 ` [PATCH v5 3/3] arm64: dts: qcom: msm8998: Add UFS nodes Marc Gonzalez
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Marc Gonzalez @ 2019-02-25 12:17 UTC (permalink / raw)
To: MSM, SCSI
Cc: Jeffrey Hugo, Bjorn Andersson, Andy Gross, David Brown,
Alim Akhtar, Avri Altman, Pedro Sousa, LKML, Lee Jones
The UFS host controller driver needs to set the load on 3 power rails
(l20, l26, s4) but the operation fails silently unless we specify the
regulator-allow-set-load property in the corresponding DT nodes.
Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org>
Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
---
arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
index f0901067b043..19775cae1381 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
@@ -111,6 +111,7 @@
vreg_s4a_1p8: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
+ regulator-allow-set-load;
};
vreg_s5a_2p04: s5 {
regulator-min-microvolt = <1904000>;
@@ -195,6 +196,7 @@
vreg_l20a_2p95: l20 {
regulator-min-microvolt = <2960000>;
regulator-max-microvolt = <2960000>;
+ regulator-allow-set-load;
};
vreg_l21a_2p95: l21 {
regulator-min-microvolt = <2960000>;
@@ -221,6 +223,7 @@
vreg_l26a_1p2: l26 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
+ regulator-allow-set-load;
};
vreg_l28_3p0: l28 {
regulator-min-microvolt = <3008000>;
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 3/3] arm64: dts: qcom: msm8998: Add UFS nodes
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
2019-02-25 12:17 ` [PATCH v5 1/3] dt-bindings: ufs: Add msm8998 compatible string Marc Gonzalez
2019-02-25 12:17 ` [PATCH v5 2/3] arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load Marc Gonzalez
@ 2019-02-25 12:18 ` Marc Gonzalez
2019-02-26 8:22 ` [PATCH v5 0/3] UFS on APQ8098/MSM8998t Lee Jones
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Marc Gonzalez @ 2019-02-25 12:18 UTC (permalink / raw)
To: MSM, SCSI
Cc: Jeffrey Hugo, Bjorn Andersson, Andy Gross, David Brown,
Alim Akhtar, Avri Altman, Pedro Sousa, LKML, Lee Jones
Add host controller and PHY DT nodes.
Signed-off-by: Marc Gonzalez <marc.w.gonzalez@free.fr>
---
arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 19 +++++++
arch/arm64/boot/dts/qcom/msm8998.dtsi | 65 +++++++++++++++++++++++
2 files changed, 84 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
index 19775cae1381..6329ba4777cc 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
@@ -270,6 +270,25 @@
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
};
+&ufshc {
+ vcc-supply = <&vreg_l20a_2p95>;
+ vccq-supply = <&vreg_l26a_1p2>;
+ vccq2-supply = <&vreg_s4a_1p8>;
+ vcc-max-microamp = <750000>;
+ vccq-max-microamp = <560000>;
+ vccq2-max-microamp = <750000>;
+};
+
+&ufsphy {
+ vdda-phy-supply = <&vreg_l1a_0p875>;
+ vdda-pll-supply = <&vreg_l2a_1p2>;
+ vddp-ref-clk-supply = <&vreg_l26a_1p2>;
+ vdda-phy-max-microamp = <51400>;
+ vdda-pll-max-microamp = <14600>;
+ vddp-ref-clk-max-microamp = <100>;
+ vddp-ref-clk-always-on;
+};
+
&usb3 {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 043ff2d2643c..23e2b2f360d1 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -983,6 +983,71 @@
redistributor-stride = <0x0 0x20000>;
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
};
+
+ ufshc: ufshc@1da4000 {
+ compatible = "qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
+ reg = <0x01da4000 0x2500>;
+ interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&ufsphy_lanes>;
+ phy-names = "ufsphy";
+ lanes-per-direction = <2>;
+ power-domains = <&gcc UFS_GDSC>;
+
+ clock-names =
+ "core_clk",
+ "bus_aggr_clk",
+ "iface_clk",
+ "core_clk_unipro",
+ "ref_clk",
+ "tx_lane0_sync_clk",
+ "rx_lane0_sync_clk",
+ "rx_lane1_sync_clk";
+ clocks =
+ <&gcc GCC_UFS_AXI_CLK>,
+ <&gcc GCC_AGGRE1_UFS_AXI_CLK>,
+ <&gcc GCC_UFS_AHB_CLK>,
+ <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
+ <&rpmcc RPM_SMD_LN_BB_CLK1>,
+ <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_RX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_RX_SYMBOL_1_CLK>;
+ freq-table-hz =
+ <50000000 200000000>,
+ <0 0>,
+ <0 0>,
+ <37500000 150000000>,
+ <0 0>,
+ <0 0>,
+ <0 0>,
+ <0 0>;
+
+ resets = <&gcc GCC_UFS_BCR>;
+ reset-names = "rst";
+ };
+
+ ufsphy: phy@1da7000 {
+ compatible = "qcom,msm8998-qmp-ufs-phy";
+ reg = <0x01da7000 0x18c>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ clock-names =
+ "ref",
+ "ref_aux";
+ clocks =
+ <&gcc GCC_UFS_CLKREF_CLK>,
+ <&gcc GCC_UFS_PHY_AUX_CLK>;
+
+ ufsphy_lanes: lanes@1da7400 {
+ reg = <0x01da7400 0x128>,
+ <0x01da7600 0x1fc>,
+ <0x01da7c00 0x1dc>,
+ <0x01da7800 0x128>,
+ <0x01da7a00 0x1fc>;
+ #phy-cells = <0>;
+ };
+ };
};
};
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v5 0/3] UFS on APQ8098/MSM8998t
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
` (2 preceding siblings ...)
2019-02-25 12:18 ` [PATCH v5 3/3] arm64: dts: qcom: msm8998: Add UFS nodes Marc Gonzalez
@ 2019-02-26 8:22 ` Lee Jones
2019-03-25 12:05 ` [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Lee Jones @ 2019-02-26 8:22 UTC (permalink / raw)
To: Marc Gonzalez
Cc: MSM, SCSI, Jeffrey Hugo, Bjorn Andersson, Andy Gross,
David Brown, Alim Akhtar, Avri Altman, Pedro Sousa, LKML
On Mon, 25 Feb 2019, Marc Gonzalez wrote:
> Hello,
>
> This series adds support for the UFS host controller on APQ8098/MSM8998-based boards.
>
> This should be the final rev ;-)
>
> Differences between v4 and v5:
> - Drop patches that have already been accepted or spun off
>
> Differences between v3 and v4:
> - Rebase on top of -next
> - Pick up Douglas Anderson's UFSHC doc fix
> - Document 8998 UFSHC binding
> - Improve UFS PHY binding doc
> - Put the UFS DT patch at the end of the series
>
> Difference between v2 and v3:
> - Add qcom,msm8998-qmp-ufs-phy compat string and match it in the PHY driver
> - Drop vdd-hba-fixed-regulator
> - Write the reg addresses with full 32-bit width
> - Set regulator-allow-set-load only on the 3 rails used by UFS.
> - Revert the patch introducing ufshcd_set_vccq_rail_unused
>
> Difference between v1 and v2:
> - New patch to add 'regulator-allow-set-load' prop to all vreg nodes
> - Rename rpmcc node to 'clock-controller' + Add Review tags
> - Drop UFS pinctrl gymnastics (not required, probably left enabled in bootloader)
> - Delete GCC_UFS_ICE_CORE_CLK (ICE not used upstream, I think)
> - Fix sizes of ufsphy register areas based on Jeffrey's feedback
> - Hack ufshcd_set_vccq_rail_unused into a NOP to work around lock up + reboot
>
>
> Marc Gonzalez (3):
> dt-bindings: ufs: Add msm8998 compatible string
> arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load
> arm64: dts: qcom: msm8998: Add UFS nodes
>
> .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 1 +
> arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 22 +++++++
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 65 +++++++++++++++++++
> 3 files changed, 88 insertions(+)
I assume these are the same patches we've been using in our tree.
If so:
Tested-by: Lee Jones <lee.jones@linaro.org>
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 0/3] UFS on APQ8098/MSM8998
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
` (3 preceding siblings ...)
2019-02-26 8:22 ` [PATCH v5 0/3] UFS on APQ8098/MSM8998t Lee Jones
@ 2019-03-25 12:05 ` Marc Gonzalez
2019-03-27 6:16 ` Bjorn Andersson
2019-03-28 9:37 ` Sibi Sankar
6 siblings, 0 replies; 8+ messages in thread
From: Marc Gonzalez @ 2019-03-25 12:05 UTC (permalink / raw)
To: Bjorn Andersson, Andy Gross
Cc: MSM, SCSI, Jeffrey Hugo, David Brown, Alim Akhtar, Avri Altman,
Pedro Sousa, LKML, Lee Jones
Hello,
What is the status for this series?
https://patchwork.kernel.org/project/linux-arm-msm/list/?series=84611
Regards.
On 25/02/2019 13:16, Marc Gonzalez wrote:
> Hello,
>
> This series adds support for the UFS host controller on APQ8098/MSM8998-based boards.
>
> This should be the final rev ;-)
>
> Differences between v4 and v5:
> - Drop patches that have already been accepted or spun off
>
> Differences between v3 and v4:
> - Rebase on top of -next
> - Pick up Douglas Anderson's UFSHC doc fix
> - Document 8998 UFSHC binding
> - Improve UFS PHY binding doc
> - Put the UFS DT patch at the end of the series
>
> Difference between v2 and v3:
> - Add qcom,msm8998-qmp-ufs-phy compat string and match it in the PHY driver
> - Drop vdd-hba-fixed-regulator
> - Write the reg addresses with full 32-bit width
> - Set regulator-allow-set-load only on the 3 rails used by UFS.
> - Revert the patch introducing ufshcd_set_vccq_rail_unused
>
> Difference between v1 and v2:
> - New patch to add 'regulator-allow-set-load' prop to all vreg nodes
> - Rename rpmcc node to 'clock-controller' + Add Review tags
> - Drop UFS pinctrl gymnastics (not required, probably left enabled in bootloader)
> - Delete GCC_UFS_ICE_CORE_CLK (ICE not used upstream, I think)
> - Fix sizes of ufsphy register areas based on Jeffrey's feedback
> - Hack ufshcd_set_vccq_rail_unused into a NOP to work around lock up + reboot
>
>
> Marc Gonzalez (3):
> dt-bindings: ufs: Add msm8998 compatible string
> arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load
> arm64: dts: qcom: msm8998: Add UFS nodes
>
> .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 1 +
> arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 22 +++++++
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 65 +++++++++++++++++++
> 3 files changed, 88 insertions(+)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 0/3] UFS on APQ8098/MSM8998
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
` (4 preceding siblings ...)
2019-03-25 12:05 ` [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
@ 2019-03-27 6:16 ` Bjorn Andersson
2019-03-28 9:37 ` Sibi Sankar
6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2019-03-27 6:16 UTC (permalink / raw)
To: Marc Gonzalez
Cc: MSM, SCSI, Jeffrey Hugo, Andy Gross, David Brown, Alim Akhtar,
Avri Altman, Pedro Sousa, LKML, Lee Jones
On Mon 25 Feb 04:16 PST 2019, Marc Gonzalez wrote:
> Hello,
>
> This series adds support for the UFS host controller on APQ8098/MSM8998-based boards.
>
> This should be the final rev ;-)
>
> Differences between v4 and v5:
> - Drop patches that have already been accepted or spun off
>
> Differences between v3 and v4:
> - Rebase on top of -next
> - Pick up Douglas Anderson's UFSHC doc fix
> - Document 8998 UFSHC binding
> - Improve UFS PHY binding doc
> - Put the UFS DT patch at the end of the series
>
> Difference between v2 and v3:
> - Add qcom,msm8998-qmp-ufs-phy compat string and match it in the PHY driver
> - Drop vdd-hba-fixed-regulator
> - Write the reg addresses with full 32-bit width
> - Set regulator-allow-set-load only on the 3 rails used by UFS.
> - Revert the patch introducing ufshcd_set_vccq_rail_unused
>
> Difference between v1 and v2:
> - New patch to add 'regulator-allow-set-load' prop to all vreg nodes
> - Rename rpmcc node to 'clock-controller' + Add Review tags
> - Drop UFS pinctrl gymnastics (not required, probably left enabled in bootloader)
> - Delete GCC_UFS_ICE_CORE_CLK (ICE not used upstream, I think)
> - Fix sizes of ufsphy register areas based on Jeffrey's feedback
> - Hack ufshcd_set_vccq_rail_unused into a NOP to work around lock up + reboot
>
>
> Marc Gonzalez (3):
> dt-bindings: ufs: Add msm8998 compatible string
> arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load
> arm64: dts: qcom: msm8998: Add UFS nodes
>
Picked up with Lee's tested-by.
Thanks,
Bjorn
> .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 1 +
> arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 22 +++++++
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 65 +++++++++++++++++++
> 3 files changed, 88 insertions(+)
>
> --
> 2.17.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 0/3] UFS on APQ8098/MSM8998
2019-02-25 12:16 [PATCH v5 0/3] UFS on APQ8098/MSM8998 Marc Gonzalez
` (5 preceding siblings ...)
2019-03-27 6:16 ` Bjorn Andersson
@ 2019-03-28 9:37 ` Sibi Sankar
6 siblings, 0 replies; 8+ messages in thread
From: Sibi Sankar @ 2019-03-28 9:37 UTC (permalink / raw)
To: Marc Gonzalez
Cc: MSM, SCSI, Jeffrey Hugo, Bjorn Andersson, Andy Gross,
David Brown, Alim Akhtar, Avri Altman, Pedro Sousa, LKML,
Lee Jones, linux-arm-msm-owner
On 2019-02-25 17:46, Marc Gonzalez wrote:
> Hello,
>
> This series adds support for the UFS host controller on
> APQ8098/MSM8998-based boards.
>
> This should be the final rev ;-)
Tested-by: Sibi Sankar <sibis@codeaurora.org>
>
> Differences between v4 and v5:
> - Drop patches that have already been accepted or spun off
>
> Differences between v3 and v4:
> - Rebase on top of -next
> - Pick up Douglas Anderson's UFSHC doc fix
> - Document 8998 UFSHC binding
> - Improve UFS PHY binding doc
> - Put the UFS DT patch at the end of the series
>
> Difference between v2 and v3:
> - Add qcom,msm8998-qmp-ufs-phy compat string and match it in the PHY
> driver
> - Drop vdd-hba-fixed-regulator
> - Write the reg addresses with full 32-bit width
> - Set regulator-allow-set-load only on the 3 rails used by UFS.
> - Revert the patch introducing ufshcd_set_vccq_rail_unused
>
> Difference between v1 and v2:
> - New patch to add 'regulator-allow-set-load' prop to all vreg nodes
> - Rename rpmcc node to 'clock-controller' + Add Review tags
> - Drop UFS pinctrl gymnastics (not required, probably left enabled in
> bootloader)
> - Delete GCC_UFS_ICE_CORE_CLK (ICE not used upstream, I think)
> - Fix sizes of ufsphy register areas based on Jeffrey's feedback
> - Hack ufshcd_set_vccq_rail_unused into a NOP to work around lock up +
> reboot
>
>
> Marc Gonzalez (3):
> dt-bindings: ufs: Add msm8998 compatible string
> arm64: dts: qcom: msm8998: Allow UFSHC driver to set-load
> arm64: dts: qcom: msm8998: Add UFS nodes
>
> .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 1 +
> arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 22 +++++++
> arch/arm64/boot/dts/qcom/msm8998.dtsi | 65 +++++++++++++++++++
> 3 files changed, 88 insertions(+)
--
-- Sibi Sankar --
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.
^ permalink raw reply [flat|nested] 8+ messages in thread