2022-12-10 12:24:35

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node

The SoC node is a simple-bus and its schema expect to have nodes only
with unit addresses:

sc7180-trogdor-lazor-r3.dtb: soc@0: opp-table-qspi: {'compatible': ['operating-points-v2'], 'phandle': [[186]], 'opp-75000000':
... 'required-opps': [[47]]}} should not be valid under {'type': 'object'}

Move to top-level OPP tables:
- QUP which is shared between multiple nodes,
- QSPI which cannot be placed in its node due to address/size cells.

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

diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index ea886cf08b4d..735581097295 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -538,6 +538,44 @@ cpu6_opp16: opp-2553600000 {
};
};

+ qspi_opp_table: opp-table-qspi {
+ compatible = "operating-points-v2";
+
+ opp-75000000 {
+ opp-hz = /bits/ 64 <75000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-150000000 {
+ opp-hz = /bits/ 64 <150000000>;
+ required-opps = <&rpmhpd_opp_svs>;
+ };
+
+ opp-300000000 {
+ opp-hz = /bits/ 64 <300000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+ };
+
+ qup_opp_table: opp-table-qup {
+ compatible = "operating-points-v2";
+
+ opp-75000000 {
+ opp-hz = /bits/ 64 <75000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-100000000 {
+ opp-hz = /bits/ 64 <100000000>;
+ required-opps = <&rpmhpd_opp_svs>;
+ };
+
+ opp-128000000 {
+ opp-hz = /bits/ 64 <128000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+ };
+
memory@80000000 {
device_type = "memory";
/* We expect the bootloader to fill in the size */
@@ -739,25 +777,6 @@ opp-384000000 {
};
};

- qup_opp_table: opp-table-qup {
- compatible = "operating-points-v2";
-
- opp-75000000 {
- opp-hz = /bits/ 64 <75000000>;
- required-opps = <&rpmhpd_opp_low_svs>;
- };
-
- opp-100000000 {
- opp-hz = /bits/ 64 <100000000>;
- required-opps = <&rpmhpd_opp_svs>;
- };
-
- opp-128000000 {
- opp-hz = /bits/ 64 <128000000>;
- required-opps = <&rpmhpd_opp_nom>;
- };
- };
-
qupv3_id_0: geniqup@8c0000 {
compatible = "qcom,geni-se-qup";
reg = <0 0x008c0000 0 0x6000>;
@@ -2655,25 +2674,6 @@ opp-202000000 {
};
};

- qspi_opp_table: opp-table-qspi {
- compatible = "operating-points-v2";
-
- opp-75000000 {
- opp-hz = /bits/ 64 <75000000>;
- required-opps = <&rpmhpd_opp_low_svs>;
- };
-
- opp-150000000 {
- opp-hz = /bits/ 64 <150000000>;
- required-opps = <&rpmhpd_opp_svs>;
- };
-
- opp-300000000 {
- opp-hz = /bits/ 64 <300000000>;
- required-opps = <&rpmhpd_opp_nom>;
- };
- };
-
qspi: spi@88dc000 {
compatible = "qcom,sc7180-qspi", "qcom,qspi-v1";
reg = <0 0x088dc000 0 0x600>;
--
2.34.1


2022-12-10 13:01:42

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node



On 10.12.2022 12:57, Krzysztof Kozlowski wrote:
> The SoC node is a simple-bus and its schema expect to have nodes only
> with unit addresses:
>
> sc7180-trogdor-lazor-r3.dtb: soc@0: opp-table-qspi: {'compatible': ['operating-points-v2'], 'phandle': [[186]], 'opp-75000000':
> ... 'required-opps': [[47]]}} should not be valid under {'type': 'object'}
>
> Move to top-level OPP tables:
> - QUP which is shared between multiple nodes,
> - QSPI which cannot be placed in its node due to address/size cells.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sc7180.dtsi | 76 ++++++++++++++--------------
> 1 file changed, 38 insertions(+), 38 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
> index ea886cf08b4d..735581097295 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
> @@ -538,6 +538,44 @@ cpu6_opp16: opp-2553600000 {
> };
> };
>
> + qspi_opp_table: opp-table-qspi {
> + compatible = "operating-points-v2";
> +
> + opp-75000000 {
> + opp-hz = /bits/ 64 <75000000>;
> + required-opps = <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-150000000 {
> + opp-hz = /bits/ 64 <150000000>;
> + required-opps = <&rpmhpd_opp_svs>;
> + };
> +
> + opp-300000000 {
> + opp-hz = /bits/ 64 <300000000>;
> + required-opps = <&rpmhpd_opp_nom>;
> + };
> + };
> +
> + qup_opp_table: opp-table-qup {
> + compatible = "operating-points-v2";
> +
> + opp-75000000 {
> + opp-hz = /bits/ 64 <75000000>;
> + required-opps = <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-100000000 {
> + opp-hz = /bits/ 64 <100000000>;
> + required-opps = <&rpmhpd_opp_svs>;
> + };
> +
> + opp-128000000 {
> + opp-hz = /bits/ 64 <128000000>;
> + required-opps = <&rpmhpd_opp_nom>;
> + };
> + };
> +
> memory@80000000 {
Sidenote: memory@ should be moved above opp-*, alphabetically

For this:

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

Konrad
> device_type = "memory";
> /* We expect the bootloader to fill in the size */
> @@ -739,25 +777,6 @@ opp-384000000 {
> };
> };
>
> - qup_opp_table: opp-table-qup {
> - compatible = "operating-points-v2";
> -
> - opp-75000000 {
> - opp-hz = /bits/ 64 <75000000>;
> - required-opps = <&rpmhpd_opp_low_svs>;
> - };
> -
> - opp-100000000 {
> - opp-hz = /bits/ 64 <100000000>;
> - required-opps = <&rpmhpd_opp_svs>;
> - };
> -
> - opp-128000000 {
> - opp-hz = /bits/ 64 <128000000>;
> - required-opps = <&rpmhpd_opp_nom>;
> - };
> - };
> -
> qupv3_id_0: geniqup@8c0000 {
> compatible = "qcom,geni-se-qup";
> reg = <0 0x008c0000 0 0x6000>;
> @@ -2655,25 +2674,6 @@ opp-202000000 {
> };
> };
>
> - qspi_opp_table: opp-table-qspi {
> - compatible = "operating-points-v2";
> -
> - opp-75000000 {
> - opp-hz = /bits/ 64 <75000000>;
> - required-opps = <&rpmhpd_opp_low_svs>;
> - };
> -
> - opp-150000000 {
> - opp-hz = /bits/ 64 <150000000>;
> - required-opps = <&rpmhpd_opp_svs>;
> - };
> -
> - opp-300000000 {
> - opp-hz = /bits/ 64 <300000000>;
> - required-opps = <&rpmhpd_opp_nom>;
> - };
> - };
> -
> qspi: spi@88dc000 {
> compatible = "qcom,sc7180-qspi", "qcom,qspi-v1";
> reg = <0 0x088dc000 0 0x600>;

2022-12-11 20:28:33

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node

On 10/12/2022 13:29, Konrad Dybcio wrote:
>
>
> On 10.12.2022 12:57, Krzysztof Kozlowski wrote:
>> The SoC node is a simple-bus and its schema expect to have nodes only
>> with unit addresses:
>>
>> sc7180-trogdor-lazor-r3.dtb: soc@0: opp-table-qspi: {'compatible': ['operating-points-v2'], 'phandle': [[186]], 'opp-75000000':
>> ... 'required-opps': [[47]]}} should not be valid under {'type': 'object'}
>>
>> Move to top-level OPP tables:
>> - QUP which is shared between multiple nodes,
>> - QSPI which cannot be placed in its node due to address/size cells.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
>> arch/arm64/boot/dts/qcom/sc7180.dtsi | 76 ++++++++++++++--------------
>> 1 file changed, 38 insertions(+), 38 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
>> index ea886cf08b4d..735581097295 100644
>> --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
>> @@ -538,6 +538,44 @@ cpu6_opp16: opp-2553600000 {
>> };
>> };
>>
>> + qspi_opp_table: opp-table-qspi {
>> + compatible = "operating-points-v2";
>> +
>> + opp-75000000 {
>> + opp-hz = /bits/ 64 <75000000>;
>> + required-opps = <&rpmhpd_opp_low_svs>;
>> + };
>> +
>> + opp-150000000 {
>> + opp-hz = /bits/ 64 <150000000>;
>> + required-opps = <&rpmhpd_opp_svs>;
>> + };
>> +
>> + opp-300000000 {
>> + opp-hz = /bits/ 64 <300000000>;
>> + required-opps = <&rpmhpd_opp_nom>;
>> + };
>> + };
>> +
>> + qup_opp_table: opp-table-qup {
>> + compatible = "operating-points-v2";
>> +
>> + opp-75000000 {
>> + opp-hz = /bits/ 64 <75000000>;
>> + required-opps = <&rpmhpd_opp_low_svs>;
>> + };
>> +
>> + opp-100000000 {
>> + opp-hz = /bits/ 64 <100000000>;
>> + required-opps = <&rpmhpd_opp_svs>;
>> + };
>> +
>> + opp-128000000 {
>> + opp-hz = /bits/ 64 <128000000>;
>> + required-opps = <&rpmhpd_opp_nom>;
>> + };
>> + };
>> +
>> memory@80000000 {
> Sidenote: memory@ should be moved above opp-*, alphabetically
>
> For this:
>
> Reviewed-by: Konrad Dybcio <[email protected]>

You sure? Because before there is already opp for cpu...

Best regards,
Krzysztof

2022-12-12 09:48:32

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node

On 12/12/2022 10:18, Konrad Dybcio wrote:
>
>
> On 12.12.2022 10:17, Krzysztof Kozlowski wrote:
>> On 12/12/2022 10:15, Konrad Dybcio wrote:
>>>>>> +
>>>>>> + qup_opp_table: opp-table-qup {
>>>>>> + compatible = "operating-points-v2";
>>>>>> +
>>>>>> + opp-75000000 {
>>>>>> + opp-hz = /bits/ 64 <75000000>;
>>>>>> + required-opps = <&rpmhpd_opp_low_svs>;
>>>>>> + };
>>>>>> +
>>>>>> + opp-100000000 {
>>>>>> + opp-hz = /bits/ 64 <100000000>;
>>>>>> + required-opps = <&rpmhpd_opp_svs>;
>>>>>> + };
>>>>>> +
>>>>>> + opp-128000000 {
>>>>>> + opp-hz = /bits/ 64 <128000000>;
>>>>>> + required-opps = <&rpmhpd_opp_nom>;
>>>>>> + };
>>>>>> + };
>>>>>> +
>>>>>> memory@80000000 {
>>>>> Sidenote: memory@ should be moved above opp-*, alphabetically
>>>>>
>>>>> For this:
>>>>>
>>>>> Reviewed-by: Konrad Dybcio <[email protected]>
>>>>
>>>> You sure? Because before there is already opp for cpu...
>>> Which are called opp-table-cpuN and not cpuN-opp-table, 'm' comes
>>> before 'o'.
>>
>> So you want to have broken order?
>> opp-table-cpu
>> memory
>> opp-table-qup
>> ?
>>
>> They are at least all together in my patch.
> No, I meant:
>
> memory
> opp-table-cpu
> opp-table-qup

OK, I'll correct the opp-table-cpu/memory order in separate patch.

Best regards,
Krzysztof

2022-12-12 10:10:25

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node



On 12.12.2022 10:17, Krzysztof Kozlowski wrote:
> On 12/12/2022 10:15, Konrad Dybcio wrote:
>>>>> +
>>>>> + qup_opp_table: opp-table-qup {
>>>>> + compatible = "operating-points-v2";
>>>>> +
>>>>> + opp-75000000 {
>>>>> + opp-hz = /bits/ 64 <75000000>;
>>>>> + required-opps = <&rpmhpd_opp_low_svs>;
>>>>> + };
>>>>> +
>>>>> + opp-100000000 {
>>>>> + opp-hz = /bits/ 64 <100000000>;
>>>>> + required-opps = <&rpmhpd_opp_svs>;
>>>>> + };
>>>>> +
>>>>> + opp-128000000 {
>>>>> + opp-hz = /bits/ 64 <128000000>;
>>>>> + required-opps = <&rpmhpd_opp_nom>;
>>>>> + };
>>>>> + };
>>>>> +
>>>>> memory@80000000 {
>>>> Sidenote: memory@ should be moved above opp-*, alphabetically
>>>>
>>>> For this:
>>>>
>>>> Reviewed-by: Konrad Dybcio <[email protected]>
>>>
>>> You sure? Because before there is already opp for cpu...
>> Which are called opp-table-cpuN and not cpuN-opp-table, 'm' comes
>> before 'o'.
>
> So you want to have broken order?
> opp-table-cpu
> memory
> opp-table-qup
> ?
>
> They are at least all together in my patch.
No, I meant:

memory
opp-table-cpu
opp-table-qup

Konrad
>
> Best regards,
> Krzysztof
>

2022-12-12 10:24:41

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node



On 11.12.2022 21:14, Krzysztof Kozlowski wrote:
> On 10/12/2022 13:29, Konrad Dybcio wrote:
>>
>>
>> On 10.12.2022 12:57, Krzysztof Kozlowski wrote:
>>> The SoC node is a simple-bus and its schema expect to have nodes only
>>> with unit addresses:
>>>
>>> sc7180-trogdor-lazor-r3.dtb: soc@0: opp-table-qspi: {'compatible': ['operating-points-v2'], 'phandle': [[186]], 'opp-75000000':
>>> ... 'required-opps': [[47]]}} should not be valid under {'type': 'object'}
>>>
>>> Move to top-level OPP tables:
>>> - QUP which is shared between multiple nodes,
>>> - QSPI which cannot be placed in its node due to address/size cells.
>>>
>>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>>> ---
>>> arch/arm64/boot/dts/qcom/sc7180.dtsi | 76 ++++++++++++++--------------
>>> 1 file changed, 38 insertions(+), 38 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
>>> index ea886cf08b4d..735581097295 100644
>>> --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
>>> @@ -538,6 +538,44 @@ cpu6_opp16: opp-2553600000 {
>>> };
>>> };
>>>
>>> + qspi_opp_table: opp-table-qspi {
>>> + compatible = "operating-points-v2";
>>> +
>>> + opp-75000000 {
>>> + opp-hz = /bits/ 64 <75000000>;
>>> + required-opps = <&rpmhpd_opp_low_svs>;
>>> + };
>>> +
>>> + opp-150000000 {
>>> + opp-hz = /bits/ 64 <150000000>;
>>> + required-opps = <&rpmhpd_opp_svs>;
>>> + };
>>> +
>>> + opp-300000000 {
>>> + opp-hz = /bits/ 64 <300000000>;
>>> + required-opps = <&rpmhpd_opp_nom>;
>>> + };
>>> + };
>>> +
>>> + qup_opp_table: opp-table-qup {
>>> + compatible = "operating-points-v2";
>>> +
>>> + opp-75000000 {
>>> + opp-hz = /bits/ 64 <75000000>;
>>> + required-opps = <&rpmhpd_opp_low_svs>;
>>> + };
>>> +
>>> + opp-100000000 {
>>> + opp-hz = /bits/ 64 <100000000>;
>>> + required-opps = <&rpmhpd_opp_svs>;
>>> + };
>>> +
>>> + opp-128000000 {
>>> + opp-hz = /bits/ 64 <128000000>;
>>> + required-opps = <&rpmhpd_opp_nom>;
>>> + };
>>> + };
>>> +
>>> memory@80000000 {
>> Sidenote: memory@ should be moved above opp-*, alphabetically
>>
>> For this:
>>
>> Reviewed-by: Konrad Dybcio <[email protected]>
>
> You sure? Because before there is already opp for cpu...
Which are called opp-table-cpuN and not cpuN-opp-table, 'm' comes
before 'o'.

Konrad
>
> Best regards,
> Krzysztof
>

2022-12-12 10:43:48

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node

On 12/12/2022 10:15, Konrad Dybcio wrote:
>>>> +
>>>> + qup_opp_table: opp-table-qup {
>>>> + compatible = "operating-points-v2";
>>>> +
>>>> + opp-75000000 {
>>>> + opp-hz = /bits/ 64 <75000000>;
>>>> + required-opps = <&rpmhpd_opp_low_svs>;
>>>> + };
>>>> +
>>>> + opp-100000000 {
>>>> + opp-hz = /bits/ 64 <100000000>;
>>>> + required-opps = <&rpmhpd_opp_svs>;
>>>> + };
>>>> +
>>>> + opp-128000000 {
>>>> + opp-hz = /bits/ 64 <128000000>;
>>>> + required-opps = <&rpmhpd_opp_nom>;
>>>> + };
>>>> + };
>>>> +
>>>> memory@80000000 {
>>> Sidenote: memory@ should be moved above opp-*, alphabetically
>>>
>>> For this:
>>>
>>> Reviewed-by: Konrad Dybcio <[email protected]>
>>
>> You sure? Because before there is already opp for cpu...
> Which are called opp-table-cpuN and not cpuN-opp-table, 'm' comes
> before 'o'.

So you want to have broken order?
opp-table-cpu
memory
opp-table-qup
?

They are at least all together in my patch.

Best regards,
Krzysztof

2022-12-28 04:56:10

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node

On Sat, 10 Dec 2022 12:57:01 +0100, Krzysztof Kozlowski wrote:
> The SoC node is a simple-bus and its schema expect to have nodes only
> with unit addresses:
>
> sc7180-trogdor-lazor-r3.dtb: soc@0: opp-table-qspi: {'compatible': ['operating-points-v2'], 'phandle': [[186]], 'opp-75000000':
> ... 'required-opps': [[47]]}} should not be valid under {'type': 'object'}
>
> Move to top-level OPP tables:
> - QUP which is shared between multiple nodes,
> - QSPI which cannot be placed in its node due to address/size cells.
>
> [...]

Applied, thanks!

[1/4] arm64: dts: qcom: sc7180: move QUP and QSPI opp tables out of SoC node
commit: 524dfd2ddbd74ed5b4cbb3e002984cf95878c827
[2/4] arm64: dts: qcom: sdm845: move DSI/QUP/QSPI opp tables out of SoC node
commit: 85966125ecfe75735d8a02f00c83545aaad0ba88
[3/4] arm64: dts: qcom: sdm845: move sound node out of soc
commit: d0b014a74823cc52dde447d0af61ff14fce5a785
[4/4] arm64: dts: qcom: sm8250: move sound and codec nodes out of soc
commit: e5b8c08245307a82cdf180cd5d385a34ba1cfd9d

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