All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry
@ 2022-09-27 11:38 Dmitry Baryshkov
  2022-09-27 11:38 ` [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks Dmitry Baryshkov
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2022-09-27 11:38 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Stephen Boyd,
	Michael Turquette, Rob Herring, Krzysztof Kozlowski, Taniya Das
  Cc: linux-arm-msm, linux-clk, devicetree, Christian Marangi

Add the reference to the pll4 clock to the DT.

Changes since v1:
 - Add dt-bindings and DTS changes

Dmitry Baryshkov (3):
  dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks
  clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry
  ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device

 .../devicetree/bindings/clock/qcom,gcc-ipq8064.yaml      | 9 +++++++--
 arch/arm/boot/dts/qcom-ipq8064.dtsi                      | 4 ++--
 drivers/clk/qcom/gcc-ipq806x.c                           | 4 +++-
 3 files changed, 12 insertions(+), 5 deletions(-)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks
  2022-09-27 11:38 [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
@ 2022-09-27 11:38 ` Dmitry Baryshkov
  2022-09-29 22:22   ` Rob Herring
  2022-09-27 11:38 ` [PATCH v2 2/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2022-09-27 11:38 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Stephen Boyd,
	Michael Turquette, Rob Herring, Krzysztof Kozlowski, Taniya Das
  Cc: linux-arm-msm, linux-clk, devicetree, Christian Marangi

On IPQ8064 (and related platforms) the GCC uses PLL4 clock provided by
the LCC clock controller. Mention this in the bindings.

To remain compatible with older bindings, make it optional, as the
driver will fallback to getting the `pll4' clock from the system clocks
list.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../devicetree/bindings/clock/qcom,gcc-ipq8064.yaml      | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml
index 9eb91dd22557..d1f93ee9ff69 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml
@@ -27,14 +27,18 @@ properties:
       - const: syscon
 
   clocks:
+    minItems: 2
     items:
       - description: PXO source
       - description: CXO source
+      - description: PLL4 from LCC
 
   clock-names:
+    minItems: 2
     items:
       - const: pxo
       - const: cxo
+      - const: pll4
 
   thermal-sensor:
     type: object
@@ -51,13 +55,14 @@ unevaluatedProperties: false
 
 examples:
   - |
+    #include <dt-bindings/clock/qcom,lcc-ipq806x.h>
     #include <dt-bindings/interrupt-controller/arm-gic.h>
 
     gcc: clock-controller@900000 {
       compatible = "qcom,gcc-ipq8064", "syscon";
       reg = <0x00900000 0x4000>;
-      clocks = <&pxo_board>, <&cxo_board>;
-      clock-names = "pxo", "cxo";
+      clocks = <&pxo_board>, <&cxo_board>, <&lcc PLL4>;
+      clock-names = "pxo", "cxo", "pll4";
       #clock-cells = <1>;
       #reset-cells = <1>;
       #power-domain-cells = <1>;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry
  2022-09-27 11:38 [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
  2022-09-27 11:38 ` [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks Dmitry Baryshkov
@ 2022-09-27 11:38 ` Dmitry Baryshkov
  2022-09-27 13:15   ` Konrad Dybcio
  2022-09-27 11:38 ` [PATCH v2 3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device Dmitry Baryshkov
  2022-11-07  3:12 ` (subset) [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Bjorn Andersson
  3 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2022-09-27 11:38 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Stephen Boyd,
	Michael Turquette, Rob Herring, Krzysztof Kozlowski, Taniya Das
  Cc: linux-arm-msm, linux-clk, devicetree, Christian Marangi

Use parent_data for the last remaining entry (pll4). This clock is
provided by the lcc device.

Fixes: cb02866f9a74 ("clk: qcom: gcc-ipq806x: convert parent_names to parent_data")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/clk/qcom/gcc-ipq806x.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
index 718de17a1e60..6447f3e81b55 100644
--- a/drivers/clk/qcom/gcc-ipq806x.c
+++ b/drivers/clk/qcom/gcc-ipq806x.c
@@ -79,7 +79,9 @@ static struct clk_regmap pll4_vote = {
 	.enable_mask = BIT(4),
 	.hw.init = &(struct clk_init_data){
 		.name = "pll4_vote",
-		.parent_names = (const char *[]){ "pll4" },
+		.parent_data = &(const struct clk_parent_data){
+			.fw_name = "pll4", .name = "pll4",
+		},
 		.num_parents = 1,
 		.ops = &clk_pll_vote_ops,
 	},
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device
  2022-09-27 11:38 [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
  2022-09-27 11:38 ` [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks Dmitry Baryshkov
  2022-09-27 11:38 ` [PATCH v2 2/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
@ 2022-09-27 11:38 ` Dmitry Baryshkov
  2022-09-27 13:16   ` Konrad Dybcio
  2022-11-07  3:12 ` (subset) [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Bjorn Andersson
  3 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2022-09-27 11:38 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Stephen Boyd,
	Michael Turquette, Rob Herring, Krzysztof Kozlowski, Taniya Das
  Cc: linux-arm-msm, linux-clk, devicetree, Christian Marangi

Add a link to LCC's PLL4 clock to the GCC device node following the
bindings (and driver needs).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm/boot/dts/qcom-ipq8064.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index 90c08b51680a..a79f8b5fe12d 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -513,8 +513,8 @@ mux {
 
 		gcc: clock-controller@900000 {
 			compatible = "qcom,gcc-ipq8064", "syscon";
-			clocks = <&pxo_board>, <&cxo_board>;
-			clock-names = "pxo", "cxo";
+			clocks = <&pxo_board>, <&cxo_board>, <&lcc PLL4>;
+			clock-names = "pxo", "cxo", "pll4";
 			reg = <0x00900000 0x4000>;
 			#clock-cells = <1>;
 			#reset-cells = <1>;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry
  2022-09-27 11:38 ` [PATCH v2 2/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
@ 2022-09-27 13:15   ` Konrad Dybcio
  0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2022-09-27 13:15 UTC (permalink / raw)
  To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Stephen Boyd,
	Michael Turquette, Rob Herring, Krzysztof Kozlowski, Taniya Das
  Cc: linux-arm-msm, linux-clk, devicetree, Christian Marangi



On 27.09.2022 13:38, Dmitry Baryshkov wrote:
> Use parent_data for the last remaining entry (pll4). This clock is
> provided by the lcc device.
> 
> Fixes: cb02866f9a74 ("clk: qcom: gcc-ipq806x: convert parent_names to parent_data")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>

Konrad
>  drivers/clk/qcom/gcc-ipq806x.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
> index 718de17a1e60..6447f3e81b55 100644
> --- a/drivers/clk/qcom/gcc-ipq806x.c
> +++ b/drivers/clk/qcom/gcc-ipq806x.c
> @@ -79,7 +79,9 @@ static struct clk_regmap pll4_vote = {
>  	.enable_mask = BIT(4),
>  	.hw.init = &(struct clk_init_data){
>  		.name = "pll4_vote",
> -		.parent_names = (const char *[]){ "pll4" },
> +		.parent_data = &(const struct clk_parent_data){
> +			.fw_name = "pll4", .name = "pll4",
> +		},
>  		.num_parents = 1,
>  		.ops = &clk_pll_vote_ops,
>  	},

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device
  2022-09-27 11:38 ` [PATCH v2 3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device Dmitry Baryshkov
@ 2022-09-27 13:16   ` Konrad Dybcio
  0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2022-09-27 13:16 UTC (permalink / raw)
  To: Dmitry Baryshkov, Andy Gross, Bjorn Andersson, Stephen Boyd,
	Michael Turquette, Rob Herring, Krzysztof Kozlowski, Taniya Das
  Cc: linux-arm-msm, linux-clk, devicetree, Christian Marangi



On 27.09.2022 13:38, Dmitry Baryshkov wrote:
> Add a link to LCC's PLL4 clock to the GCC device node following the
> bindings (and driver needs).
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>

Konrad
>  arch/arm/boot/dts/qcom-ipq8064.dtsi | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> index 90c08b51680a..a79f8b5fe12d 100644
> --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> @@ -513,8 +513,8 @@ mux {
>  
>  		gcc: clock-controller@900000 {
>  			compatible = "qcom,gcc-ipq8064", "syscon";
> -			clocks = <&pxo_board>, <&cxo_board>;
> -			clock-names = "pxo", "cxo";
> +			clocks = <&pxo_board>, <&cxo_board>, <&lcc PLL4>;
> +			clock-names = "pxo", "cxo", "pll4";
>  			reg = <0x00900000 0x4000>;
>  			#clock-cells = <1>;
>  			#reset-cells = <1>;

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks
  2022-09-27 11:38 ` [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks Dmitry Baryshkov
@ 2022-09-29 22:22   ` Rob Herring
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2022-09-29 22:22 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: linux-clk, Konrad Dybcio, Stephen Boyd, Taniya Das,
	Christian Marangi, linux-arm-msm, Michael Turquette, Rob Herring,
	devicetree, Bjorn Andersson, Andy Gross, Krzysztof Kozlowski

On Tue, 27 Sep 2022 14:38:24 +0300, Dmitry Baryshkov wrote:
> On IPQ8064 (and related platforms) the GCC uses PLL4 clock provided by
> the LCC clock controller. Mention this in the bindings.
> 
> To remain compatible with older bindings, make it optional, as the
> driver will fallback to getting the `pll4' clock from the system clocks
> list.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/clock/qcom,gcc-ipq8064.yaml      | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (subset) [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry
  2022-09-27 11:38 [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2022-09-27 11:38 ` [PATCH v2 3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device Dmitry Baryshkov
@ 2022-11-07  3:12 ` Bjorn Andersson
  3 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2022-11-07  3:12 UTC (permalink / raw)
  To: mturquette, krzysztof.kozlowski+dt, dmitry.baryshkov,
	Rob Herring, quic_tdas, konrad.dybcio, sboyd, Andy Gross
  Cc: Christian Marangi, linux-arm-msm, devicetree, linux-clk

On Tue, 27 Sep 2022 14:38:23 +0300, Dmitry Baryshkov wrote:
> Add the reference to the pll4 clock to the DT.
> 
> Changes since v1:
>  - Add dt-bindings and DTS changes
> 
> Dmitry Baryshkov (3):
>   dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks
>   clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry
>   ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device
> 
> [...]

Applied, thanks!

[3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device
      commit: da6b4c059283166c1939143574b3ade96817304e

Best regards,
-- 
Bjorn Andersson <andersson@kernel.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-11-07  3:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-27 11:38 [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
2022-09-27 11:38 ` [PATCH v2 1/3] dt-bindings: clock: qcom,gcc-ipq8064: add pll4 to used clocks Dmitry Baryshkov
2022-09-29 22:22   ` Rob Herring
2022-09-27 11:38 ` [PATCH v2 2/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Dmitry Baryshkov
2022-09-27 13:15   ` Konrad Dybcio
2022-09-27 11:38 ` [PATCH v2 3/3] ARM: dts: qcom-ipq8064: use pll4 clock for the gcc device Dmitry Baryshkov
2022-09-27 13:16   ` Konrad Dybcio
2022-11-07  3:12 ` (subset) [PATCH v2 0/3] clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry Bjorn Andersson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.