2024-03-25 17:27:15

by Dragan Simic

[permalink] [raw]
Subject: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU

Following the approach used to enable the Mali GPU on the rk3588-evb1, [1]
do the same for the Pine64 QuartzPro64, which uses nearly identical hardware
design as the RK3588 EVB1.

The slight disadvantage is that the regulator coupling logic requires the
regulators to be always on, which is also noted in the comments. This is
obviously something to be improved at some point in the future, but should
be fine for now, especially because the QuartzPro64 isn't a battery-powered
board, so low power consumption isn't paramount.

[1] https://lore.kernel.org/linux-rockchip/[email protected]/

Signed-off-by: Dragan Simic <[email protected]>
---
.../arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
index 67414d72e2b6..68d432c61ea5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
@@ -285,6 +285,12 @@ &gmac0_rgmii_clk
status = "okay";
};

+&gpu {
+ mali-supply = <&vdd_gpu_s0>;
+ sram-supply = <&vdd_gpu_mem_s0>;
+ status = "okay";
+};
+
&i2c2 {
status = "okay";

@@ -491,11 +497,15 @@ rk806_dvs3_null: dvs3-null-pins {
regulators {
vdd_gpu_s0: dcdc-reg1 {
regulator-name = "vdd_gpu_s0";
+ /* regulator coupling requires always-on */
+ regulator-always-on;
regulator-boot-on;
regulator-enable-ramp-delay = <400>;
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <12500>;
+ regulator-coupled-with = <&vdd_gpu_mem_s0>;
+ regulator-coupled-max-spread = <10000>;

regulator-state-mem {
regulator-off-in-suspend;
@@ -545,11 +555,15 @@ regulator-state-mem {

vdd_gpu_mem_s0: dcdc-reg5 {
regulator-name = "vdd_gpu_mem_s0";
+ /* regulator coupling requires always-on */
+ regulator-always-on;
regulator-boot-on;
regulator-enable-ramp-delay = <400>;
regulator-min-microvolt = <675000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <12500>;
+ regulator-coupled-with = <&vdd_gpu_s0>;
+ regulator-coupled-max-spread = <10000>;

regulator-state-mem {
regulator-off-in-suspend;


2024-03-26 19:14:40

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU


On Mon, 25 Mar 2024 17:19:04 +0100, Dragan Simic wrote:
> Following the approach used to enable the Mali GPU on the rk3588-evb1, [1]
> do the same for the Pine64 QuartzPro64, which uses nearly identical hardware
> design as the RK3588 EVB1.
>
> The slight disadvantage is that the regulator coupling logic requires the
> regulators to be always on, which is also noted in the comments. This is
> obviously something to be improved at some point in the future, but should
> be fine for now, especially because the QuartzPro64 isn't a battery-powered
> board, so low power consumption isn't paramount.
>
> [1] https://lore.kernel.org/linux-rockchip/[email protected]/
>
> Signed-off-by: Dragan Simic <[email protected]>
> ---
> .../arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y rockchip/rk3588-quartzpro64.dtb' for 0f3759ee390f245dac447bbee038445ddfecbec0.1711383286.git.dsimic@manjaro.org:

Error: arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts:288.1-5 Label or path gpu not found
FATAL ERROR: Syntax error parsing input tree
make[3]: *** [scripts/Makefile.lib:427: arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb] Error 1
make[2]: *** [scripts/Makefile.build:485: arch/arm64/boot/dts/rockchip] Error 2
make[2]: Target 'arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb' not remade because of errors.
make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1387: rockchip/rk3588-quartzpro64.dtb] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Target 'rockchip/rk3588-quartzpro64.dtb' not remade because of errors.






2024-03-26 19:29:30

by Dragan Simic

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU

On 2024-03-26 20:11, Rob Herring wrote:
> On Mon, 25 Mar 2024 17:19:04 +0100, Dragan Simic wrote:
>> Following the approach used to enable the Mali GPU on the rk3588-evb1,
>> [1]
>> do the same for the Pine64 QuartzPro64, which uses nearly identical
>> hardware
>> design as the RK3588 EVB1.
>>
>> The slight disadvantage is that the regulator coupling logic requires
>> the
>> regulators to be always on, which is also noted in the comments. This
>> is
>> obviously something to be improved at some point in the future, but
>> should
>> be fine for now, especially because the QuartzPro64 isn't a
>> battery-powered
>> board, so low power consumption isn't paramount.
>>
>> [1]
>> https://lore.kernel.org/linux-rockchip/[email protected]/
>>
>> Signed-off-by: Dragan Simic <[email protected]>
>> ---
>> .../arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 14
>> ++++++++++++++
>> 1 file changed, 14 insertions(+)
>
> My bot found new DTB warnings on the .dts files added or changed in
> this
> series.
>
> Some warnings may be from an existing SoC .dtsi. Or perhaps the
> warnings
> are fixed by another series. Ultimately, it is up to the platform
> maintainer whether these warnings are acceptable or not. No need to
> reply
> unless the platform maintainer has comments.
>
> If you already ran DT checks and didn't see these error(s), then
> make sure dt-schema is up to date:
>
> pip3 install dtschema --upgrade
>
>
> New warnings running 'make CHECK_DTBS=y
> rockchip/rk3588-quartzpro64.dtb' for
> 0f3759ee390f245dac447bbee038445ddfecbec0.1711383286.git.dsimic@manjaro.org:
>
> Error: arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts:288.1-5
> Label or path gpu not found
> FATAL ERROR: Syntax error parsing input tree
> make[3]: *** [scripts/Makefile.lib:427:
> arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb] Error 1
> make[2]: *** [scripts/Makefile.build:485: arch/arm64/boot/dts/rockchip]
> Error 2
> make[2]: Target 'arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb'
> not remade because of errors.
> make[1]: *** [/home/rob/proj/linux-dt-testing/Makefile:1387:
> rockchip/rk3588-quartzpro64.dtb] Error 2
> make: *** [Makefile:240: __sub-make] Error 2
> make: Target 'rockchip/rk3588-quartzpro64.dtb' not remade because of
> errors.

This error can be safely ignored, because this patch is supposed
to be applied together with a recent patch series, [1] or in more
detail, after one of the patches in that series [2] that adds the
missing "gpu" node.

[1]
https://lore.kernel.org/linux-rockchip/[email protected]/T/#u
[2]
https://lore.kernel.org/linux-rockchip/[email protected]/

2024-03-26 19:57:37

by Dragan Simic

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU

Hello Sebastian,

On 2024-03-26 20:54, Sebastian Reichel wrote:
> On Mon, Mar 25, 2024 at 05:19:04PM +0100, Dragan Simic wrote:
>> Following the approach used to enable the Mali GPU on the rk3588-evb1,
>> [1]
>> do the same for the Pine64 QuartzPro64, which uses nearly identical
>> hardware
>> design as the RK3588 EVB1.
>>
>> The slight disadvantage is that the regulator coupling logic requires
>> the
>> regulators to be always on, which is also noted in the comments. This
>> is
>> obviously something to be improved at some point in the future, but
>> should
>> be fine for now, especially because the QuartzPro64 isn't a
>> battery-powered
>> board, so low power consumption isn't paramount.
>>
>> [1]
>> https://lore.kernel.org/linux-rockchip/[email protected]/
>>
>> Signed-off-by: Dragan Simic <[email protected]>
>> ---
>
> FWIW
>
> Reviewed-by: Sebastian Reichel <[email protected]>

Great, thanks for your review!

>> .../arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 14
>> ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
>> b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
>> index 67414d72e2b6..68d432c61ea5 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
>> @@ -285,6 +285,12 @@ &gmac0_rgmii_clk
>> status = "okay";
>> };
>>
>> +&gpu {
>> + mali-supply = <&vdd_gpu_s0>;
>> + sram-supply = <&vdd_gpu_mem_s0>;
>> + status = "okay";
>> +};
>> +
>> &i2c2 {
>> status = "okay";
>>
>> @@ -491,11 +497,15 @@ rk806_dvs3_null: dvs3-null-pins {
>> regulators {
>> vdd_gpu_s0: dcdc-reg1 {
>> regulator-name = "vdd_gpu_s0";
>> + /* regulator coupling requires always-on */
>> + regulator-always-on;
>> regulator-boot-on;
>> regulator-enable-ramp-delay = <400>;
>> regulator-min-microvolt = <550000>;
>> regulator-max-microvolt = <950000>;
>> regulator-ramp-delay = <12500>;
>> + regulator-coupled-with = <&vdd_gpu_mem_s0>;
>> + regulator-coupled-max-spread = <10000>;
>>
>> regulator-state-mem {
>> regulator-off-in-suspend;
>> @@ -545,11 +555,15 @@ regulator-state-mem {
>>
>> vdd_gpu_mem_s0: dcdc-reg5 {
>> regulator-name = "vdd_gpu_mem_s0";
>> + /* regulator coupling requires always-on */
>> + regulator-always-on;
>> regulator-boot-on;
>> regulator-enable-ramp-delay = <400>;
>> regulator-min-microvolt = <675000>;
>> regulator-max-microvolt = <950000>;
>> regulator-ramp-delay = <12500>;
>> + regulator-coupled-with = <&vdd_gpu_s0>;
>> + regulator-coupled-max-spread = <10000>;
>>
>> regulator-state-mem {
>> regulator-off-in-suspend;
>
> _______________________________________________
> Linux-rockchip mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-rockchip

2024-03-26 20:17:16

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU

Hi,

On Mon, Mar 25, 2024 at 05:19:04PM +0100, Dragan Simic wrote:
> Following the approach used to enable the Mali GPU on the rk3588-evb1, [1]
> do the same for the Pine64 QuartzPro64, which uses nearly identical hardware
> design as the RK3588 EVB1.
>
> The slight disadvantage is that the regulator coupling logic requires the
> regulators to be always on, which is also noted in the comments. This is
> obviously something to be improved at some point in the future, but should
> be fine for now, especially because the QuartzPro64 isn't a battery-powered
> board, so low power consumption isn't paramount.
>
> [1] https://lore.kernel.org/linux-rockchip/[email protected]/
>
> Signed-off-by: Dragan Simic <[email protected]>
> ---

FWIW

Reviewed-by: Sebastian Reichel <[email protected]>

-- Sebastian

> .../arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
> index 67414d72e2b6..68d432c61ea5 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts
> @@ -285,6 +285,12 @@ &gmac0_rgmii_clk
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <&vdd_gpu_s0>;
> + sram-supply = <&vdd_gpu_mem_s0>;
> + status = "okay";
> +};
> +
> &i2c2 {
> status = "okay";
>
> @@ -491,11 +497,15 @@ rk806_dvs3_null: dvs3-null-pins {
> regulators {
> vdd_gpu_s0: dcdc-reg1 {
> regulator-name = "vdd_gpu_s0";
> + /* regulator coupling requires always-on */
> + regulator-always-on;
> regulator-boot-on;
> regulator-enable-ramp-delay = <400>;
> regulator-min-microvolt = <550000>;
> regulator-max-microvolt = <950000>;
> regulator-ramp-delay = <12500>;
> + regulator-coupled-with = <&vdd_gpu_mem_s0>;
> + regulator-coupled-max-spread = <10000>;
>
> regulator-state-mem {
> regulator-off-in-suspend;
> @@ -545,11 +555,15 @@ regulator-state-mem {
>
> vdd_gpu_mem_s0: dcdc-reg5 {
> regulator-name = "vdd_gpu_mem_s0";
> + /* regulator coupling requires always-on */
> + regulator-always-on;
> regulator-boot-on;
> regulator-enable-ramp-delay = <400>;
> regulator-min-microvolt = <675000>;
> regulator-max-microvolt = <950000>;
> regulator-ramp-delay = <12500>;
> + regulator-coupled-with = <&vdd_gpu_s0>;
> + regulator-coupled-max-spread = <10000>;
>
> regulator-state-mem {
> regulator-off-in-suspend;


Attachments:
(No filename) (2.64 kB)
signature.asc (849.00 B)
Download all attachments

2024-03-27 10:30:14

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU

Hi,

Am Montag, 25. M?rz 2024, 17:19:04 CET schrieb Dragan Simic:
> Following the approach used to enable the Mali GPU on the rk3588-evb1, [1]
> do the same for the Pine64 QuartzPro64, which uses nearly identical hardware
> design as the RK3588 EVB1.
>
> The slight disadvantage is that the regulator coupling logic requires the
> regulators to be always on, which is also noted in the comments. This is
> obviously something to be improved at some point in the future, but should
> be fine for now, especially because the QuartzPro64 isn't a battery-powered
> board, so low power consumption isn't paramount.
>
> [1] https://lore.kernel.org/linux-rockchip/[email protected]/
>
> Signed-off-by: Dragan Simic <[email protected]>

as lore.kernel.org and therefore b4 seems to be on vacation today, you
get a very personal "applied" message ;-) .

So, applied for 6.10 after the core rk3588-gpu-series from Sebastian.


Heiko



2024-03-27 20:28:54

by Dragan Simic

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: rockchip: quartzpro64: Enable the GPU

Hello Heiko,

On 2024-03-27 11:29, Heiko Stübner wrote:
> Am Montag, 25. März 2024, 17:19:04 CET schrieb Dragan Simic:
>> Following the approach used to enable the Mali GPU on the rk3588-evb1,
>> [1]
>> do the same for the Pine64 QuartzPro64, which uses nearly identical
>> hardware
>> design as the RK3588 EVB1.
>>
>> The slight disadvantage is that the regulator coupling logic requires
>> the
>> regulators to be always on, which is also noted in the comments. This
>> is
>> obviously something to be improved at some point in the future, but
>> should
>> be fine for now, especially because the QuartzPro64 isn't a
>> battery-powered
>> board, so low power consumption isn't paramount.
>>
>> [1]
>> https://lore.kernel.org/linux-rockchip/[email protected]/
>>
>> Signed-off-by: Dragan Simic <[email protected]>
>
> as lore.kernel.org and therefore b4 seems to be on vacation today, you
> get a very personal "applied" message ;-) .
>
> So, applied for 6.10 after the core rk3588-gpu-series from Sebastian.

Oh, thank you very much for this special message. :)