2023-05-09 21:31:55

by Luca Weiss

[permalink] [raw]
Subject: [PATCH 0/3] Provide parent clocks to msm8226 mmcc

Replace most usages of &xo_board with the &rpmcc variant, and also
provide the necessary parent clocks to the mmcc driver.

Signed-off-by: Luca Weiss <[email protected]>
---
Luca Weiss (3):
ARM: dts: qcom: msm8226: Use XO from rpmcc where possible
dt-bindings: clock: qcom,mmcc: define clocks/clock-names for MSM8226
ARM: dts: qcom: msm8226: Provide clocks to mmcc node

.../devicetree/bindings/clock/qcom,mmcc.yaml | 32 ++++++++++++++++++++--
arch/arm/boot/dts/qcom-msm8226.dtsi | 26 ++++++++++++++----
2 files changed, 51 insertions(+), 7 deletions(-)
---
base-commit: f46950f720460ef8b8c5ca68e14a529dd1705832
change-id: 20230509-msm8226-mmcc-parents-24489498e5da

Best regards,
--
Luca Weiss <[email protected]>


2023-05-09 21:51:57

by Luca Weiss

[permalink] [raw]
Subject: [PATCH 2/3] dt-bindings: clock: qcom,mmcc: define clocks/clock-names for MSM8226

Define clock/clock-names properties of the MMCC device node to be used
on MSM8226 platform.

Signed-off-by: Luca Weiss <[email protected]>
---
.../devicetree/bindings/clock/qcom,mmcc.yaml | 32 ++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/qcom,mmcc.yaml b/Documentation/devicetree/bindings/clock/qcom,mmcc.yaml
index acf0c923c24f..422f5776a771 100644
--- a/Documentation/devicetree/bindings/clock/qcom,mmcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,mmcc.yaml
@@ -31,11 +31,11 @@ properties:
- qcom,mmcc-sdm660

clocks:
- minItems: 8
+ minItems: 7
maxItems: 13

clock-names:
- minItems: 8
+ minItems: 7
maxItems: 13

'#clock-cells':
@@ -99,6 +99,34 @@ allOf:
- const: dsi2pllbyte
- const: hdmipll

+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mmcc-msm8226
+ then:
+ properties:
+ clocks:
+ items:
+ - description: Board XO source
+ - description: MMSS GPLL0 voted clock
+ - description: GPLL0 voted clock
+ - description: GPLL1 voted clock
+ - description: GFX3D clock source
+ - description: DSI phy instance 0 dsi clock
+ - description: DSI phy instance 0 byte clock
+
+ clock-names:
+ items:
+ - const: xo
+ - const: mmss_gpll0_vote
+ - const: gpll0_vote
+ - const: gpll1_vote
+ - const: gfx3d_clk_src
+ - const: dsi0pll
+ - const: dsi0pllbyte
+
- if:
properties:
compatible:

--
2.40.1

2023-05-09 22:07:36

by Luca Weiss

[permalink] [raw]
Subject: [PATCH 3/3] ARM: dts: qcom: msm8226: Provide clocks to mmcc node

The mmcc needs several clocks that are being used as parents. Provide
them in dt.

Signed-off-by: Luca Weiss <[email protected]>
---
arch/arm/boot/dts/qcom-msm8226.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi
index 4dd4e26c73a2..3187b6853445 100644
--- a/arch/arm/boot/dts/qcom-msm8226.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8226.dtsi
@@ -392,6 +392,21 @@ mmcc: clock-controller@fd8c0000 {
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
+
+ clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
+ <&gcc GCC_MMSS_GPLL0_CLK_SRC>,
+ <&gcc GPLL0_VOTE>,
+ <&gcc GPLL1_VOTE>,
+ <&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
+ <0>,
+ <0>;
+ clock-names = "xo",
+ "mmss_gpll0_vote",
+ "gpll0_vote",
+ "gpll1_vote",
+ "gfx3d_clk_src",
+ "dsi0pll",
+ "dsi0pllbyte";
};

tlmm: pinctrl@fd510000 {

--
2.40.1

2023-05-09 22:08:59

by Luca Weiss

[permalink] [raw]
Subject: [PATCH 1/3] ARM: dts: qcom: msm8226: Use XO from rpmcc where possible

The xo clock being used everywhere actually goes via the RPM. Since the
rpmcc driver recently got support for this clock we can use this now.

Signed-off-by: Luca Weiss <[email protected]>
---
arch/arm/boot/dts/qcom-msm8226.dtsi | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi
index 42acb9ddb8cc..4dd4e26c73a2 100644
--- a/arch/arm/boot/dts/qcom-msm8226.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8226.dtsi
@@ -176,7 +176,7 @@ sdhc_1: mmc@f9824900 {
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC1_AHB_CLK>,
<&gcc GCC_SDCC1_APPS_CLK>,
- <&xo_board>;
+ <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
pinctrl-names = "default";
pinctrl-0 = <&sdhc1_default_state>;
@@ -192,7 +192,7 @@ sdhc_2: mmc@f98a4900 {
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC2_AHB_CLK>,
<&gcc GCC_SDCC2_APPS_CLK>,
- <&xo_board>;
+ <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
pinctrl-names = "default";
pinctrl-0 = <&sdhc2_default_state>;
@@ -208,7 +208,7 @@ sdhc_3: mmc@f9864900 {
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC3_AHB_CLK>,
<&gcc GCC_SDCC3_APPS_CLK>,
- <&xo_board>;
+ <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
pinctrl-names = "default";
pinctrl-0 = <&sdhc3_default_state>;
@@ -362,7 +362,8 @@ usb_hs_phy: phy {
compatible = "qcom,usb-hs-phy-msm8226",
"qcom,usb-hs-phy";
#phy-cells = <0>;
- clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
+ clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
+ <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
clock-names = "ref", "sleep";
resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
reset-names = "phy", "por";
@@ -617,7 +618,7 @@ adsp: remoteproc@fe200000 {
power-domains = <&rpmpd MSM8226_VDDCX>;
power-domain-names = "cx";

- clocks = <&xo_board>;
+ clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "xo";

memory-region = <&adsp_region>;

--
2.40.1

2023-05-10 07:20:34

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/3] dt-bindings: clock: qcom,mmcc: define clocks/clock-names for MSM8226

On 09/05/2023 23:16, Luca Weiss wrote:
> Define clock/clock-names properties of the MMCC device node to be used
> on MSM8226 platform.
>
> Signed-off-by: Luca Weiss <[email protected]>
> ---

Reviewed-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2023-05-10 15:04:13

by Jeffrey Hugo

[permalink] [raw]
Subject: Re: [PATCH 2/3] dt-bindings: clock: qcom,mmcc: define clocks/clock-names for MSM8226

On 5/9/2023 3:16 PM, Luca Weiss wrote:
> Define clock/clock-names properties of the MMCC device node to be used
> on MSM8226 platform.
>
> Signed-off-by: Luca Weiss <[email protected]>

Acked-by: Jeffrey Hugo <[email protected]>

2023-05-11 08:50:22

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/3] ARM: dts: qcom: msm8226: Use XO from rpmcc where possible



On 9.05.2023 23:16, Luca Weiss wrote:
> The xo clock being used everywhere actually goes via the RPM. Since the
> rpmcc driver recently got support for this clock we can use this now.
>
> Signed-off-by: Luca Weiss <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm/boot/dts/qcom-msm8226.dtsi | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi
> index 42acb9ddb8cc..4dd4e26c73a2 100644
> --- a/arch/arm/boot/dts/qcom-msm8226.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8226.dtsi
> @@ -176,7 +176,7 @@ sdhc_1: mmc@f9824900 {
> interrupt-names = "hc_irq", "pwr_irq";
> clocks = <&gcc GCC_SDCC1_AHB_CLK>,
> <&gcc GCC_SDCC1_APPS_CLK>,
> - <&xo_board>;
> + <&rpmcc RPM_SMD_XO_CLK_SRC>;
> clock-names = "iface", "core", "xo";
> pinctrl-names = "default";
> pinctrl-0 = <&sdhc1_default_state>;
> @@ -192,7 +192,7 @@ sdhc_2: mmc@f98a4900 {
> interrupt-names = "hc_irq", "pwr_irq";
> clocks = <&gcc GCC_SDCC2_AHB_CLK>,
> <&gcc GCC_SDCC2_APPS_CLK>,
> - <&xo_board>;
> + <&rpmcc RPM_SMD_XO_CLK_SRC>;
> clock-names = "iface", "core", "xo";
> pinctrl-names = "default";
> pinctrl-0 = <&sdhc2_default_state>;
> @@ -208,7 +208,7 @@ sdhc_3: mmc@f9864900 {
> interrupt-names = "hc_irq", "pwr_irq";
> clocks = <&gcc GCC_SDCC3_AHB_CLK>,
> <&gcc GCC_SDCC3_APPS_CLK>,
> - <&xo_board>;
> + <&rpmcc RPM_SMD_XO_CLK_SRC>;
> clock-names = "iface", "core", "xo";
> pinctrl-names = "default";
> pinctrl-0 = <&sdhc3_default_state>;
> @@ -362,7 +362,8 @@ usb_hs_phy: phy {
> compatible = "qcom,usb-hs-phy-msm8226",
> "qcom,usb-hs-phy";
> #phy-cells = <0>;
> - clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
> + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> + <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
> clock-names = "ref", "sleep";
> resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>;
> reset-names = "phy", "por";
> @@ -617,7 +618,7 @@ adsp: remoteproc@fe200000 {
> power-domains = <&rpmpd MSM8226_VDDCX>;
> power-domain-names = "cx";
>
> - clocks = <&xo_board>;
> + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
> clock-names = "xo";
>
> memory-region = <&adsp_region>;
>

2023-05-13 08:53:13

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 3/3] ARM: dts: qcom: msm8226: Provide clocks to mmcc node



On 9.05.2023 23:16, Luca Weiss wrote:
> The mmcc needs several clocks that are being used as parents. Provide
> them in dt.
>
> Signed-off-by: Luca Weiss <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm/boot/dts/qcom-msm8226.dtsi | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi
> index 4dd4e26c73a2..3187b6853445 100644
> --- a/arch/arm/boot/dts/qcom-msm8226.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8226.dtsi
> @@ -392,6 +392,21 @@ mmcc: clock-controller@fd8c0000 {
> #clock-cells = <1>;
> #reset-cells = <1>;
> #power-domain-cells = <1>;
> +
> + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
> + <&gcc GCC_MMSS_GPLL0_CLK_SRC>,
> + <&gcc GPLL0_VOTE>,
> + <&gcc GPLL1_VOTE>,
> + <&rpmcc RPM_SMD_GFX3D_CLK_SRC>,
> + <0>,
> + <0>;
> + clock-names = "xo",
> + "mmss_gpll0_vote",
> + "gpll0_vote",
> + "gpll1_vote",
> + "gfx3d_clk_src",
> + "dsi0pll",
> + "dsi0pllbyte";
> };
>
> tlmm: pinctrl@fd510000 {
>

2023-06-13 22:40:48

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 0/3] Provide parent clocks to msm8226 mmcc

On Tue, 09 May 2023 23:16:34 +0200, Luca Weiss wrote:
> Replace most usages of &xo_board with the &rpmcc variant, and also
> provide the necessary parent clocks to the mmcc driver.
>
>

Applied, thanks!

[1/3] ARM: dts: qcom: msm8226: Use XO from rpmcc where possible
commit: e280427384269fba93c7ec0373afe87bc39d7945
[3/3] ARM: dts: qcom: msm8226: Provide clocks to mmcc node
commit: 3f502e372b4d41db1642c0a1285b2cb52ab5f796

Best regards,
--
Bjorn Andersson <[email protected]>