[3/3] arm64: dts: rockchip: Add vdd_cpu_big regulators to rk3588-rock-5b

Message ID 20230414093411.113787-4-cristian.ciocaltea@collabora.com
State New
Headers
Series Add regulators to Rock 5B's CPU big cores |

Commit Message

Cristian Ciocaltea April 14, 2023, 9:34 a.m. UTC
  The RK8602 and RK8603 voltage regulators on the Rock 5B board provide
the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively.

Add the necessary device tree nodes and bind them to the corresponding
CPU big core nodes.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
 .../boot/dts/rockchip/rk3588-rock-5b.dts      | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
  

Comments

Krzysztof Kozlowski April 14, 2023, 10:27 a.m. UTC | #1
On 14/04/2023 11:34, Cristian Ciocaltea wrote:
> The RK8602 and RK8603 voltage regulators on the Rock 5B board provide
> the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively.
> 
> Add the necessary device tree nodes and bind them to the corresponding
> CPU big core nodes.
> 
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
>  .../boot/dts/rockchip/rk3588-rock-5b.dts      | 56 +++++++++++++++++++
>  1 file changed, 56 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
> index 8cc97d146a73..3e4aee8f70c1 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
> @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator {
>  	};
>  };
>  
> +&cpu_b0 {
> +	cpu-supply = <&vdd_cpu_big0_s0>;
> +};
> +
> +&cpu_b1 {
> +	cpu-supply = <&vdd_cpu_big0_s0>;
> +};
> +
> +&cpu_b2 {
> +	cpu-supply = <&vdd_cpu_big1_s0>;
> +};
> +
> +&cpu_b3 {
> +	cpu-supply = <&vdd_cpu_big1_s0>;
> +};
> +
> +&i2c0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c0m2_xfer>;
> +	status = "okay";
> +
> +	vdd_cpu_big0_s0: regulator@42 {
> +		compatible = "rockchip,rk8602";

Looking at your next node, this is surprising... Double check if you
have correct compatibles everywhere.

> +		reg = <0x42>;
> +		fcs,suspend-voltage-selector = <1>;

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).

> +		regulator-name = "vdd_cpu_big0_s0";
> +		regulator-always-on;
> +		regulator-boot-on;
> +		regulator-min-microvolt = <550000>;
> +		regulator-max-microvolt = <1050000>;
> +		regulator-ramp-delay = <2300>;
> +		vin-supply = <&vcc5v0_sys>;
> +
> +		regulator-state-mem {
> +			regulator-off-in-suspend;
> +		};
> +	};
> +
> +	vdd_cpu_big1_s0: regulator@43 {
> +		compatible = "rockchip,rk8603", "rockchip,rk8602";
> +		reg = <0x43>;
> +		fcs,suspend-voltage-selector = <1>;

Does not look like you tested the DTS against bindings. Please run `make
dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
for instructions).

Best regards,
Krzysztof
  
Cristian Ciocaltea April 14, 2023, 10:40 a.m. UTC | #2
On 4/14/23 13:27, Krzysztof Kozlowski wrote:
> On 14/04/2023 11:34, Cristian Ciocaltea wrote:
>> The RK8602 and RK8603 voltage regulators on the Rock 5B board provide
>> the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively.
>>
>> Add the necessary device tree nodes and bind them to the corresponding
>> CPU big core nodes.
>>
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>> ---
>>  .../boot/dts/rockchip/rk3588-rock-5b.dts      | 56 +++++++++++++++++++
>>  1 file changed, 56 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>> index 8cc97d146a73..3e4aee8f70c1 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>> @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator {
>>  	};
>>  };
>>  
>> +&cpu_b0 {
>> +	cpu-supply = <&vdd_cpu_big0_s0>;
>> +};
>> +
>> +&cpu_b1 {
>> +	cpu-supply = <&vdd_cpu_big0_s0>;
>> +};
>> +
>> +&cpu_b2 {
>> +	cpu-supply = <&vdd_cpu_big1_s0>;
>> +};
>> +
>> +&cpu_b3 {
>> +	cpu-supply = <&vdd_cpu_big1_s0>;
>> +};
>> +
>> +&i2c0 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&i2c0m2_xfer>;
>> +	status = "okay";
>> +
>> +	vdd_cpu_big0_s0: regulator@42 {
>> +		compatible = "rockchip,rk8602";
> 
> Looking at your next node, this is surprising... Double check if you
> have correct compatibles everywhere.
> 
>> +		reg = <0x42>;
>> +		fcs,suspend-voltage-selector = <1>;
> 
> Does not look like you tested the DTS against bindings. Please run `make
> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
> for instructions).
> 
>> +		regulator-name = "vdd_cpu_big0_s0";
>> +		regulator-always-on;
>> +		regulator-boot-on;
>> +		regulator-min-microvolt = <550000>;
>> +		regulator-max-microvolt = <1050000>;
>> +		regulator-ramp-delay = <2300>;
>> +		vin-supply = <&vcc5v0_sys>;
>> +
>> +		regulator-state-mem {
>> +			regulator-off-in-suspend;
>> +		};
>> +	};
>> +
>> +	vdd_cpu_big1_s0: regulator@43 {
>> +		compatible = "rockchip,rk8603", "rockchip,rk8602";
>> +		reg = <0x43>;
>> +		fcs,suspend-voltage-selector = <1>;
> 
> Does not look like you tested the DTS against bindings. Please run `make
> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
> for instructions).

I mentioned in the cover letter that the support for the RK860X 
regulators has been recently merged via [1]. The patches in this 
series have been verified on next-20230413.

[1] https://lore.kernel.org/lkml/20230406194158.963352-1-cristian.ciocaltea@collabora.com/

Thanks,
Cristian
  
Krzysztof Kozlowski April 14, 2023, 11:29 a.m. UTC | #3
On 14/04/2023 12:40, Cristian Ciocaltea wrote:
> On 4/14/23 13:27, Krzysztof Kozlowski wrote:
>> On 14/04/2023 11:34, Cristian Ciocaltea wrote:
>>> The RK8602 and RK8603 voltage regulators on the Rock 5B board provide
>>> the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively.
>>>
>>> Add the necessary device tree nodes and bind them to the corresponding
>>> CPU big core nodes.
>>>
>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>>> ---
>>>  .../boot/dts/rockchip/rk3588-rock-5b.dts      | 56 +++++++++++++++++++
>>>  1 file changed, 56 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>>> index 8cc97d146a73..3e4aee8f70c1 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>>> @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator {
>>>  	};
>>>  };
>>>  
>>> +&cpu_b0 {
>>> +	cpu-supply = <&vdd_cpu_big0_s0>;
>>> +};
>>> +
>>> +&cpu_b1 {
>>> +	cpu-supply = <&vdd_cpu_big0_s0>;
>>> +};
>>> +
>>> +&cpu_b2 {
>>> +	cpu-supply = <&vdd_cpu_big1_s0>;
>>> +};
>>> +
>>> +&cpu_b3 {
>>> +	cpu-supply = <&vdd_cpu_big1_s0>;
>>> +};
>>> +
>>> +&i2c0 {
>>> +	pinctrl-names = "default";
>>> +	pinctrl-0 = <&i2c0m2_xfer>;
>>> +	status = "okay";
>>> +
>>> +	vdd_cpu_big0_s0: regulator@42 {
>>> +		compatible = "rockchip,rk8602";
>>
>> Looking at your next node, this is surprising... Double check if you
>> have correct compatibles everywhere.
>>
>>> +		reg = <0x42>;
>>> +		fcs,suspend-voltage-selector = <1>;
>>
>> Does not look like you tested the DTS against bindings. Please run `make
>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>> for instructions).
>>
>>> +		regulator-name = "vdd_cpu_big0_s0";
>>> +		regulator-always-on;
>>> +		regulator-boot-on;
>>> +		regulator-min-microvolt = <550000>;
>>> +		regulator-max-microvolt = <1050000>;
>>> +		regulator-ramp-delay = <2300>;
>>> +		vin-supply = <&vcc5v0_sys>;
>>> +
>>> +		regulator-state-mem {
>>> +			regulator-off-in-suspend;
>>> +		};
>>> +	};
>>> +
>>> +	vdd_cpu_big1_s0: regulator@43 {
>>> +		compatible = "rockchip,rk8603", "rockchip,rk8602";
>>> +		reg = <0x43>;
>>> +		fcs,suspend-voltage-selector = <1>;
>>
>> Does not look like you tested the DTS against bindings. Please run `make
>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>> for instructions).
> 
> I mentioned in the cover letter that the support for the RK860X 
> regulators has been recently merged via [1]. The patches in this 
> series have been verified on next-20230413.

OK. The question about compatibles still stays - but maybe you have
indeed 8603 and 8602 in the same time.

Best regards,
Krzysztof
  
Cristian Ciocaltea April 14, 2023, 12:16 p.m. UTC | #4
On 4/14/23 14:29, Krzysztof Kozlowski wrote:
> On 14/04/2023 12:40, Cristian Ciocaltea wrote:
>> On 4/14/23 13:27, Krzysztof Kozlowski wrote:
>>> On 14/04/2023 11:34, Cristian Ciocaltea wrote:
>>>> The RK8602 and RK8603 voltage regulators on the Rock 5B board provide
>>>> the power lines vdd_cpu_big0 and vdd_cpu_big1, respectively.
>>>>
>>>> Add the necessary device tree nodes and bind them to the corresponding
>>>> CPU big core nodes.
>>>>
>>>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
>>>> ---
>>>>  .../boot/dts/rockchip/rk3588-rock-5b.dts      | 56 +++++++++++++++++++
>>>>  1 file changed, 56 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>>>> index 8cc97d146a73..3e4aee8f70c1 100644
>>>> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
>>>> @@ -53,6 +53,62 @@ vcc5v0_sys: vcc5v0-sys-regulator {
>>>>  	};
>>>>  };
>>>>  
>>>> +&cpu_b0 {
>>>> +	cpu-supply = <&vdd_cpu_big0_s0>;
>>>> +};
>>>> +
>>>> +&cpu_b1 {
>>>> +	cpu-supply = <&vdd_cpu_big0_s0>;
>>>> +};
>>>> +
>>>> +&cpu_b2 {
>>>> +	cpu-supply = <&vdd_cpu_big1_s0>;
>>>> +};
>>>> +
>>>> +&cpu_b3 {
>>>> +	cpu-supply = <&vdd_cpu_big1_s0>;
>>>> +};
>>>> +
>>>> +&i2c0 {
>>>> +	pinctrl-names = "default";
>>>> +	pinctrl-0 = <&i2c0m2_xfer>;
>>>> +	status = "okay";
>>>> +
>>>> +	vdd_cpu_big0_s0: regulator@42 {
>>>> +		compatible = "rockchip,rk8602";
>>>
>>> Looking at your next node, this is surprising... Double check if you
>>> have correct compatibles everywhere.
>>>
>>>> +		reg = <0x42>;
>>>> +		fcs,suspend-voltage-selector = <1>;
>>>
>>> Does not look like you tested the DTS against bindings. Please run `make
>>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>>> for instructions).
>>>
>>>> +		regulator-name = "vdd_cpu_big0_s0";
>>>> +		regulator-always-on;
>>>> +		regulator-boot-on;
>>>> +		regulator-min-microvolt = <550000>;
>>>> +		regulator-max-microvolt = <1050000>;
>>>> +		regulator-ramp-delay = <2300>;
>>>> +		vin-supply = <&vcc5v0_sys>;
>>>> +
>>>> +		regulator-state-mem {
>>>> +			regulator-off-in-suspend;
>>>> +		};
>>>> +	};
>>>> +
>>>> +	vdd_cpu_big1_s0: regulator@43 {
>>>> +		compatible = "rockchip,rk8603", "rockchip,rk8602";
>>>> +		reg = <0x43>;
>>>> +		fcs,suspend-voltage-selector = <1>;
>>>
>>> Does not look like you tested the DTS against bindings. Please run `make
>>> dtbs_check` (see Documentation/devicetree/bindings/writing-schema.rst
>>> for instructions).
>>
>> I mentioned in the cover letter that the support for the RK860X 
>> regulators has been recently merged via [1]. The patches in this 
>> series have been verified on next-20230413.
> 
> OK. The question about compatibles still stays - but maybe you have
> indeed 8603 and 8602 in the same time.

Yes, according to [1], initially discussed in [2].

[1] https://lore.kernel.org/lkml/20230406194158.963352-2-cristian.ciocaltea@collabora.com/
[2] https://lore.kernel.org/lkml/ea1dfe0f-4ed3-9bfb-dc6b-6d87b0267a99@linaro.org/

Regards,
Cristian
  

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
index 8cc97d146a73..3e4aee8f70c1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
@@ -53,6 +53,62 @@  vcc5v0_sys: vcc5v0-sys-regulator {
 	};
 };
 
+&cpu_b0 {
+	cpu-supply = <&vdd_cpu_big0_s0>;
+};
+
+&cpu_b1 {
+	cpu-supply = <&vdd_cpu_big0_s0>;
+};
+
+&cpu_b2 {
+	cpu-supply = <&vdd_cpu_big1_s0>;
+};
+
+&cpu_b3 {
+	cpu-supply = <&vdd_cpu_big1_s0>;
+};
+
+&i2c0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c0m2_xfer>;
+	status = "okay";
+
+	vdd_cpu_big0_s0: regulator@42 {
+		compatible = "rockchip,rk8602";
+		reg = <0x42>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-name = "vdd_cpu_big0_s0";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <550000>;
+		regulator-max-microvolt = <1050000>;
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc5v0_sys>;
+
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+
+	vdd_cpu_big1_s0: regulator@43 {
+		compatible = "rockchip,rk8603", "rockchip,rk8602";
+		reg = <0x43>;
+		fcs,suspend-voltage-selector = <1>;
+		regulator-name = "vdd_cpu_big1_s0";
+		regulator-always-on;
+		regulator-boot-on;
+		regulator-min-microvolt = <550000>;
+		regulator-max-microvolt = <1050000>;
+		regulator-ramp-delay = <2300>;
+		vin-supply = <&vcc5v0_sys>;
+
+		regulator-state-mem {
+			regulator-off-in-suspend;
+		};
+	};
+};
+
 &i2c6 {
 	status = "okay";