2023-03-24 20:27:23

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/5] arm64: dts: qcom: msm8916-thwc-ufi001c: add function to pin config

Bindings require pin configuration nodes to have the function, even if
it is GPIO:

msm8916-thwc-ufi001c.dtb: pinctrl@1000000: sim-ctrl-default-state: 'oneOf' conditional failed, one must be fixed:
'esim-sel-pins', 'sim-en-pins', 'sim-sel-pins' do not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts b/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts
index 8433c9710b1c..978f0abcdf8f 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts
@@ -44,18 +44,21 @@ &msmgpio {
sim_ctrl_default: sim-ctrl-default-state {
esim-sel-pins {
pins = "gpio0", "gpio3";
+ function = "gpio";
bias-disable;
output-low;
};

sim-en-pins {
pins = "gpio1";
+ function = "gpio";
bias-disable;
output-low;
};

sim-sel-pins {
pins = "gpio2";
+ function = "gpio";
bias-disable;
output-high;
};
--
2.34.1


2023-03-24 20:27:59

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 3/5] arm64: dts: qcom: msm8994-msft-lumia: drop simple-bus from clocks

'clocks' node is not a bus, but just a placeholder for clocks:

msm8992-msft-lumia-octagon-talkman.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
From schema: dtschema/schemas/simple-bus.yaml
msm8992-msft-lumia-octagon-talkman.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
From schema: dtschema/schemas/simple-bus.yaml

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi b/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi
index 0c112b7b57ea..2861bcdf87b7 100644
--- a/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi
@@ -46,8 +46,6 @@ chosen {
};

clocks {
- compatible = "simple-bus";
-
divclk4: divclk4 {
compatible = "fixed-clock";
#clock-cells = <0>;
--
2.34.1

2023-03-24 20:28:35

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 4/5] arm64: dts: qcom: msm8996-xiaomi: drop simple-bus from clocks

'clocks' node is not a bus, but just a placeholder for clocks:

msm8996-xiaomi-gemini.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
From schema: dtschema/schemas/simple-bus.yaml
msm8996-xiaomi-gemini.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
From schema: dtschema/schemas/simple-bus.yaml

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
index 446b1d23dec0..1ce5df0a3405 100644
--- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
@@ -12,8 +12,6 @@

/ {
clocks {
- compatible = "simple-bus";
-
divclk1_cdc: divclk1 {
compatible = "gpio-gate-clock";
clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
--
2.34.1

2023-03-24 20:28:45

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 2/5] arm64: dts: qcom: apq8096-db820c: drop simple-bus from clocks

'clocks' node is not a bus, but just a placeholder for clocks:

apq8096-db820c.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
From schema: dtschema/schemas/simple-bus.yaml
apq8096-db820c.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
From schema: dtschema/schemas/simple-bus.yaml

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/apq8096-db820c.dts | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
index 4476e2e22816..b599909c4463 100644
--- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
+++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
@@ -63,7 +63,6 @@ chosen {
};

clocks {
- compatible = "simple-bus";
divclk4: divclk4 {
compatible = "fixed-clock";
#clock-cells = <0>;
--
2.34.1

2023-03-24 20:29:42

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 5/5] arm64: dts: qcom: sdm630: move DSI opp-table into DSI node

The soc node is supposed to have only device nodes with MMIO addresses,
so move the DSI OPP into the DSI controller node to fix:

sda660-inforce-ifc6560.dtb: soc: opp-table-dsi: {'compatible': ['operating-points-v2'], ... should not be valid under {'type': 'object'}
From schema: dtschema/schemas/simple-bus.yaml

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/sdm630.dtsi | 38 ++++++++++++++--------------
1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
index 5add1951d963..ef63aa86ad67 100644
--- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
@@ -1450,25 +1450,6 @@ mmcc: clock-controller@c8c0000 {
<0>;
};

- dsi_opp_table: opp-table-dsi {
- compatible = "operating-points-v2";
-
- opp-131250000 {
- opp-hz = /bits/ 64 <131250000>;
- required-opps = <&rpmpd_opp_svs>;
- };
-
- opp-210000000 {
- opp-hz = /bits/ 64 <210000000>;
- required-opps = <&rpmpd_opp_svs_plus>;
- };
-
- opp-262500000 {
- opp-hz = /bits/ 64 <262500000>;
- required-opps = <&rpmpd_opp_nom>;
- };
- };
-
mdss: display-subsystem@c900000 {
compatible = "qcom,mdss";
reg = <0x0c900000 0x1000>,
@@ -1610,6 +1591,25 @@ dsi0: dsi@c994000 {

status = "disabled";

+ dsi_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-131250000 {
+ opp-hz = /bits/ 64 <131250000>;
+ required-opps = <&rpmpd_opp_svs>;
+ };
+
+ opp-210000000 {
+ opp-hz = /bits/ 64 <210000000>;
+ required-opps = <&rpmpd_opp_svs_plus>;
+ };
+
+ opp-262500000 {
+ opp-hz = /bits/ 64 <262500000>;
+ required-opps = <&rpmpd_opp_nom>;
+ };
+ };
+
ports {
#address-cells = <1>;
#size-cells = <0>;
--
2.34.1

2023-03-25 12:04:35

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/5] arm64: dts: qcom: msm8916-thwc-ufi001c: add function to pin config



On 24.03.2023 21:22, Krzysztof Kozlowski wrote:
> Bindings require pin configuration nodes to have the function, even if
> it is GPIO:
>
> msm8916-thwc-ufi001c.dtb: pinctrl@1000000: sim-ctrl-default-state: 'oneOf' conditional failed, one must be fixed:
> 'esim-sel-pins', 'sim-en-pins', 'sim-sel-pins' do not match any of the regexes: 'pinctrl-[0-9]+'
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts b/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts
> index 8433c9710b1c..978f0abcdf8f 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-thwc-ufi001c.dts
> @@ -44,18 +44,21 @@ &msmgpio {
> sim_ctrl_default: sim-ctrl-default-state {
> esim-sel-pins {
> pins = "gpio0", "gpio3";
> + function = "gpio";
> bias-disable;
> output-low;
> };
>
> sim-en-pins {
> pins = "gpio1";
> + function = "gpio";
> bias-disable;
> output-low;
> };
>
> sim-sel-pins {
> pins = "gpio2";
> + function = "gpio";
> bias-disable;
> output-high;
> };

2023-03-25 12:06:15

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/5] arm64: dts: qcom: apq8096-db820c: drop simple-bus from clocks



On 24.03.2023 21:22, Krzysztof Kozlowski wrote:
> 'clocks' node is not a bus, but just a placeholder for clocks:
>
> apq8096-db820c.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
> From schema: dtschema/schemas/simple-bus.yaml
> apq8096-db820c.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
> From schema: dtschema/schemas/simple-bus.yaml
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm64/boot/dts/qcom/apq8096-db820c.dts | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> index 4476e2e22816..b599909c4463 100644
> --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dts
> @@ -63,7 +63,6 @@ chosen {
> };
>
> clocks {
> - compatible = "simple-bus";
> divclk4: divclk4 {
> compatible = "fixed-clock";
> #clock-cells = <0>;

2023-03-25 12:07:42

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 4/5] arm64: dts: qcom: msm8996-xiaomi: drop simple-bus from clocks



On 24.03.2023 21:22, Krzysztof Kozlowski wrote:
> 'clocks' node is not a bus, but just a placeholder for clocks:
>
> msm8996-xiaomi-gemini.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
> From schema: dtschema/schemas/simple-bus.yaml
> msm8996-xiaomi-gemini.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
> From schema: dtschema/schemas/simple-bus.yaml
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> index 446b1d23dec0..1ce5df0a3405 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> @@ -12,8 +12,6 @@
>
> / {
> clocks {
> - compatible = "simple-bus";
> -
> divclk1_cdc: divclk1 {
> compatible = "gpio-gate-clock";
> clocks = <&rpmcc RPM_SMD_DIV_CLK1>;

2023-03-25 12:08:14

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 5/5] arm64: dts: qcom: sdm630: move DSI opp-table into DSI node



On 24.03.2023 21:22, Krzysztof Kozlowski wrote:
> The soc node is supposed to have only device nodes with MMIO addresses,
> so move the DSI OPP into the DSI controller node to fix:
>
> sda660-inforce-ifc6560.dtb: soc: opp-table-dsi: {'compatible': ['operating-points-v2'], ... should not be valid under {'type': 'object'}
> From schema: dtschema/schemas/simple-bus.yaml
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Nit: you also changed its node name and didn't mention that, but I
don't see that as anything major so it's gtg as-is

Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm64/boot/dts/qcom/sdm630.dtsi | 38 ++++++++++++++--------------
> 1 file changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm630.dtsi b/arch/arm64/boot/dts/qcom/sdm630.dtsi
> index 5add1951d963..ef63aa86ad67 100644
> --- a/arch/arm64/boot/dts/qcom/sdm630.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm630.dtsi
> @@ -1450,25 +1450,6 @@ mmcc: clock-controller@c8c0000 {
> <0>;
> };
>
> - dsi_opp_table: opp-table-dsi {
> - compatible = "operating-points-v2";
> -
> - opp-131250000 {
> - opp-hz = /bits/ 64 <131250000>;
> - required-opps = <&rpmpd_opp_svs>;
> - };
> -
> - opp-210000000 {
> - opp-hz = /bits/ 64 <210000000>;
> - required-opps = <&rpmpd_opp_svs_plus>;
> - };
> -
> - opp-262500000 {
> - opp-hz = /bits/ 64 <262500000>;
> - required-opps = <&rpmpd_opp_nom>;
> - };
> - };
> -
> mdss: display-subsystem@c900000 {
> compatible = "qcom,mdss";
> reg = <0x0c900000 0x1000>,
> @@ -1610,6 +1591,25 @@ dsi0: dsi@c994000 {
>
> status = "disabled";
>
> + dsi_opp_table: opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-131250000 {
> + opp-hz = /bits/ 64 <131250000>;
> + required-opps = <&rpmpd_opp_svs>;
> + };
> +
> + opp-210000000 {
> + opp-hz = /bits/ 64 <210000000>;
> + required-opps = <&rpmpd_opp_svs_plus>;
> + };
> +
> + opp-262500000 {
> + opp-hz = /bits/ 64 <262500000>;
> + required-opps = <&rpmpd_opp_nom>;
> + };
> + };
> +
> ports {
> #address-cells = <1>;
> #size-cells = <0>;

2023-03-25 12:09:09

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 3/5] arm64: dts: qcom: msm8994-msft-lumia: drop simple-bus from clocks



On 24.03.2023 21:22, Krzysztof Kozlowski wrote:
> 'clocks' node is not a bus, but just a placeholder for clocks:
>
> msm8992-msft-lumia-octagon-talkman.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
> From schema: dtschema/schemas/simple-bus.yaml
> msm8992-msft-lumia-octagon-talkman.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
> From schema: dtschema/schemas/simple-bus.yaml
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi b/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi
> index 0c112b7b57ea..2861bcdf87b7 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994-msft-lumia-octagon.dtsi
> @@ -46,8 +46,6 @@ chosen {
> };
>
> clocks {
> - compatible = "simple-bus";
> -
> divclk4: divclk4 {
> compatible = "fixed-clock";
> #clock-cells = <0>;

2023-03-25 12:11:14

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 5/5] arm64: dts: qcom: sdm630: move DSI opp-table into DSI node

On 25/03/2023 13:04, Konrad Dybcio wrote:
>
>
> On 24.03.2023 21:22, Krzysztof Kozlowski wrote:
>> The soc node is supposed to have only device nodes with MMIO addresses,
>> so move the DSI OPP into the DSI controller node to fix:
>>
>> sda660-inforce-ifc6560.dtb: soc: opp-table-dsi: {'compatible': ['operating-points-v2'], ... should not be valid under {'type': 'object'}
>> From schema: dtschema/schemas/simple-bus.yaml
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
> Nit: you also changed its node name and didn't mention that, but I
> don't see that as anything major so it's gtg as-is

Because the binding expect a child named "opp-table", so I assumed it is
obvious when you move the table into the device's node.

Best regards,
Krzysztof

2023-03-26 03:18:39

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/5] arm64: dts: qcom: msm8916-thwc-ufi001c: add function to pin config

On Fri, 24 Mar 2023 21:22:40 +0100, Krzysztof Kozlowski wrote:
> Bindings require pin configuration nodes to have the function, even if
> it is GPIO:
>
> msm8916-thwc-ufi001c.dtb: pinctrl@1000000: sim-ctrl-default-state: 'oneOf' conditional failed, one must be fixed:
> 'esim-sel-pins', 'sim-en-pins', 'sim-sel-pins' do not match any of the regexes: 'pinctrl-[0-9]+'
>
>
> [...]

Applied, thanks!

[2/5] arm64: dts: qcom: apq8096-db820c: drop simple-bus from clocks
commit: 704e26678c8d50d8988e30a47edddbb361e9e973
[3/5] arm64: dts: qcom: msm8994-msft-lumia: drop simple-bus from clocks
commit: 5574a5022df4cf67fdcf8c94bfbafb2cc296beee
[4/5] arm64: dts: qcom: msm8996-xiaomi: drop simple-bus from clocks
commit: 338958e30c6897b7978019b5ea3fa1897cd511ba
[5/5] arm64: dts: qcom: sdm630: move DSI opp-table into DSI node
commit: a2e5260d07555834d14431399cefdd3220b917d6

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

2023-04-07 19:29:05

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/5] arm64: dts: qcom: msm8916-thwc-ufi001c: add function to pin config

On Fri, 24 Mar 2023 21:22:40 +0100, Krzysztof Kozlowski wrote:
> Bindings require pin configuration nodes to have the function, even if
> it is GPIO:
>
> msm8916-thwc-ufi001c.dtb: pinctrl@1000000: sim-ctrl-default-state: 'oneOf' conditional failed, one must be fixed:
> 'esim-sel-pins', 'sim-en-pins', 'sim-sel-pins' do not match any of the regexes: 'pinctrl-[0-9]+'
>
>
> [...]

Applied, thanks!

[1/5] arm64: dts: qcom: msm8916-thwc-ufi001c: add function to pin config
commit: d4a7e17f402de8ebdbae4844b011a5b18f93e341

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

2023-09-04 09:35:45

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/5] arm64: dts: qcom: apq8096-db820c: drop simple-bus from clocks

On 31/08/2023 11:04, Dmitry Baryshkov wrote:
> On Fri, 24 Mar 2023 at 22:23, Krzysztof Kozlowski
> <[email protected]> wrote:
>>
>> 'clocks' node is not a bus, but just a placeholder for clocks:
>>
>> apq8096-db820c.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
>> From schema: dtschema/schemas/simple-bus.yaml
>> apq8096-db820c.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
>> From schema: dtschema/schemas/simple-bus.yaml
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> This patch broke audio support on DB820c. Now the divclk1 clock is not
> registered, as drivers/clk/clk-gpio.c doesn't have CLK_OF_DECLARE().
>
> Stephen, What would be the best way to fix this? Add CLK_OF_DECLARE
> support to clk-gpio.c? Or simply move divclk1 from /clocks into a
> separate device?
>
> What is the rule, which clock drivers must support such device-less
> binding using /clocks/foo nodes?

Uh, sorry for that, I think my patch is incomplete. I did not notice
that not all clocks have CLK_OF_DECLARE. How about moving all the clocks
out of "clocks" node to the root? Then they should be instantiated,
regardless of having CLK_OF_DECLARE.

Best regards,
Krzysztof

2023-09-05 20:04:30

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH 2/5] arm64: dts: qcom: apq8096-db820c: drop simple-bus from clocks

On Fri, 1 Sept 2023 at 11:04, Krzysztof Kozlowski
<[email protected]> wrote:
>
> On 31/08/2023 11:04, Dmitry Baryshkov wrote:
> > On Fri, 24 Mar 2023 at 22:23, Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> 'clocks' node is not a bus, but just a placeholder for clocks:
> >>
> >> apq8096-db820c.dtb: clocks: $nodename:0: 'clocks' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
> >> From schema: dtschema/schemas/simple-bus.yaml
> >> apq8096-db820c.dtb: clocks: xo-board: {'compatible': ['fixed-clock'], '#clock-cells': [[0]], ...
> >> From schema: dtschema/schemas/simple-bus.yaml
> >>
> >> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> >
> > This patch broke audio support on DB820c. Now the divclk1 clock is not
> > registered, as drivers/clk/clk-gpio.c doesn't have CLK_OF_DECLARE().
> >
> > Stephen, What would be the best way to fix this? Add CLK_OF_DECLARE
> > support to clk-gpio.c? Or simply move divclk1 from /clocks into a
> > separate device?
> >
> > What is the rule, which clock drivers must support such device-less
> > binding using /clocks/foo nodes?
>
> Uh, sorry for that, I think my patch is incomplete. I did not notice
> that not all clocks have CLK_OF_DECLARE. How about moving all the clocks
> out of "clocks" node to the root? Then they should be instantiated,
> regardless of having CLK_OF_DECLARE.

We can do this, but first I'd like to understand the rule with /clocks/.

--
With best wishes
Dmitry