2023-04-11 08:33:34

by Mason Huo

[permalink] [raw]
Subject: [PATCH v1 0/3] Add JH7110 cpufreq support

The StarFive JH7110 SoC has four RISC-V cores,
and it supports up to 4 cpu frequency loads.

This patchset adds the compatible strings into the allowlist
for supporting the generic cpufreq driver on JH7110 SoC.
Also, it enables the axp15060 pmic for the cpu power source.

The series has been tested on the VisionFive 2 boards which
are equipped with JH7110 SoC and axp15060 pmic.


This patchset is based on v6.3-rc4 with these patches applied:
[1] ("Basic clock, reset & device tree support for StarFive JH7110 RISC-V SoC")
https://lore.kernel.org/all/[email protected]/
[2] ("Add X-Powers AXP15060 PMIC support")
https://lore.kernel.org/all/TY3P286MB2611A814E580C96DC6F187B798969@TY3P286MB2611.JPNP286.PROD.OUTLOOK.COM/

Mason Huo (3):
riscv: dts: starfive: Enable axp15060 pmic for cpufreq
cpufreq: dt-platdev: Add JH7110 SOC to the allowlist
riscv: dts: starfive: Add cpu scaling for JH7110 SoC

.../jh7110-starfive-visionfive-2.dtsi | 40 +++++++++++++++++++
arch/riscv/boot/dts/starfive/jh7110.dtsi | 25 ++++++++++++
drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
3 files changed, 66 insertions(+)


base-commit: 197b6b60ae7bc51dd0814953c562833143b292aa
prerequisite-patch-id: 388b8adbb0fe2daf4d07a21eafd4f1bd50ce2403
prerequisite-patch-id: 1117ecaa40a353c667b71802ab34ecf9568d8bb2
prerequisite-patch-id: b00c6b21fbd0353d88b7c9b09093ba30b765f45b
prerequisite-patch-id: 08ec9027e8a5c6fdf201726833168c7464a9b94d
prerequisite-patch-id: fb5120248e48fe1faf053ae0b490c92507ec2b44
prerequisite-patch-id: 4b93d8d590b0a2abe7b4be5287232c494c35be4a
prerequisite-patch-id: 89f049f951e5acf75aab92541992f816fd0acc0d
prerequisite-patch-id: c09c4c68af017b8e5c97b515cb50b70c18a2e705
prerequisite-patch-id: 0df8ccb0e848c2df4c2da95026494bebecede92d
prerequisite-patch-id: 315303931e4b6499de7127a88113763f86e97e16
prerequisite-patch-id: 40cb8212ddb024c20593f73d8b87d9894877e172
prerequisite-patch-id: a1673a9e9f19d6fab5a51abb721e54e36636f067
prerequisite-patch-id: d57cc467fb036241b9276320ff076c4a30d376d6
prerequisite-patch-id: 6e563d68bc5dbf951d4ced17897f9cc4d56169fe
prerequisite-patch-id: 61ec2caa21fd0fc60e57977f7d16d3f72b135745
prerequisite-patch-id: 1387a7e87b446329dfc21f3e575ceae7ebcf954c
prerequisite-patch-id: 258ea5f9b8bf41b6981345dcc81795f25865d38f
prerequisite-patch-id: 8b6f2c9660c0ac0ee4e73e4c21aca8e6b75e81b9
prerequisite-patch-id: dbb0c0151b8bdf093e6ce79fd2fe3f60791a6e0b
prerequisite-patch-id: 9007c8610fdcd387592475949864edde874c20a2
prerequisite-patch-id: d57e95d31686772abc4c4d5aa1cadc344dc293cd
prerequisite-patch-id: 0a0ac5a8a90655b415f6b62e324f3db083cdaaee
prerequisite-patch-id: 4c285d814aa74358a697714eac4415f0bb32bdb3
prerequisite-patch-id: 62735ba4fc7ec7c4435b1b6c1e69abb2345cb0e8
prerequisite-patch-id: 7f653d6f4aebf56544aca906c2719f9d80cb1bb3
prerequisite-patch-id: 1936b8e48a4cb9b0fa4440f7ad25bf267beeeebf
prerequisite-patch-id: 5b39a469bff8f11ed582118ca4c456ba8ebcdcd9
--
2.39.2


2023-04-11 08:33:56

by Mason Huo

[permalink] [raw]
Subject: [PATCH v1 1/3] riscv: dts: starfive: Enable axp15060 pmic for cpufreq

The VisionFive 2 board has an embedded pmic axp15060,
which supports the cpu DVFS through the dcdc2 regulator.
This patch enables axp15060 pmic and configs the dcdc2.

Signed-off-by: Mason Huo <[email protected]>
---
.../starfive/jh7110-starfive-visionfive-2.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
index 2a6d81609284..df582bddae4b 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
@@ -114,6 +114,21 @@ &i2c5 {
pinctrl-names = "default";
pinctrl-0 = <&i2c5_pins>;
status = "okay";
+
+ pmic: axp15060_reg@36 {
+ compatible = "x-powers,axp15060";
+ reg = <0x36>;
+
+ regulators {
+ reg_dcdc2: dcdc2 {
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <1540000>;
+ regulator-name = "vdd-cpu";
+ };
+ };
+ };
};

&i2c6 {
--
2.39.2

2023-04-11 08:34:19

by Mason Huo

[permalink] [raw]
Subject: [PATCH v1 2/3] cpufreq: dt-platdev: Add JH7110 SOC to the allowlist

Add the compatible strings for supporting the generic
cpufreq driver on the StarFive JH7110 SoC.

Signed-off-by: Mason Huo <[email protected]>
---
drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
index e85703651098..a1ac955aa7e2 100644
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
@@ -92,6 +92,7 @@ static const struct of_device_id allowlist[] __initconst = {

{ .compatible = "xlnx,zynq-7000", },
{ .compatible = "xlnx,zynqmp", },
+ { .compatible = "starfive,jh7110", },

{ }
};
--
2.39.2

2023-04-11 08:34:42

by Mason Huo

[permalink] [raw]
Subject: [PATCH v1 3/3] riscv: dts: starfive: Add cpu scaling for JH7110 SoC

Add the operating-points-v2 to support cpu scaling
on StarFive JH7110 SoC.
It supports up to 4 cpu frequency loads.

Signed-off-by: Mason Huo <[email protected]>
---
.../jh7110-starfive-visionfive-2.dtsi | 25 +++++++++++++++++++
arch/riscv/boot/dts/starfive/jh7110.dtsi | 25 +++++++++++++++++++
2 files changed, 50 insertions(+)

diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
index df582bddae4b..ae446b268e78 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
@@ -228,3 +228,28 @@ &uart0 {
pinctrl-0 = <&uart0_pins>;
status = "okay";
};
+
+&U74_1 {
+ clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
+ clock-names = "cpu";
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&U74_2 {
+ clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
+ clock-names = "cpu";
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&U74_3 {
+ clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
+ clock-names = "cpu";
+ cpu-supply = <&reg_dcdc2>;
+};
+
+&U74_4 {
+ clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
+ clock-names = "cpu";
+ cpu-supply = <&reg_dcdc2>;
+};
+
diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
index 4c5fdb905da8..c867f968d054 100644
--- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
@@ -53,6 +53,7 @@ U74_1: cpu@1 {
next-level-cache = <&ccache>;
riscv,isa = "rv64imafdc_zba_zbb";
tlb-split;
+ operating-points-v2 = <&cpu_opp>;

cpu1_intc: interrupt-controller {
compatible = "riscv,cpu-intc";
@@ -79,6 +80,7 @@ U74_2: cpu@2 {
next-level-cache = <&ccache>;
riscv,isa = "rv64imafdc_zba_zbb";
tlb-split;
+ operating-points-v2 = <&cpu_opp>;

cpu2_intc: interrupt-controller {
compatible = "riscv,cpu-intc";
@@ -105,6 +107,7 @@ U74_3: cpu@3 {
next-level-cache = <&ccache>;
riscv,isa = "rv64imafdc_zba_zbb";
tlb-split;
+ operating-points-v2 = <&cpu_opp>;

cpu3_intc: interrupt-controller {
compatible = "riscv,cpu-intc";
@@ -131,6 +134,7 @@ U74_4: cpu@4 {
next-level-cache = <&ccache>;
riscv,isa = "rv64imafdc_zba_zbb";
tlb-split;
+ operating-points-v2 = <&cpu_opp>;

cpu4_intc: interrupt-controller {
compatible = "riscv,cpu-intc";
@@ -164,6 +168,27 @@ core4 {
};
};

+ cpu_opp: opp-table-0 {
+ compatible = "operating-points-v2";
+ opp-shared;
+ opp-375000000 {
+ opp-hz = /bits/ 64 <375000000>;
+ opp-microvolt = <800000>;
+ };
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ opp-microvolt = <800000>;
+ };
+ opp-750000000 {
+ opp-hz = /bits/ 64 <750000000>;
+ opp-microvolt = <800000>;
+ };
+ opp-1500000000 {
+ opp-hz = /bits/ 64 <1500000000>;
+ opp-microvolt = <1040000>;
+ };
+ };
+
gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock {
compatible = "fixed-clock";
clock-output-names = "gmac0_rgmii_rxin";
--
2.39.2

2023-04-11 09:11:37

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v1 3/3] riscv: dts: starfive: Add cpu scaling for JH7110 SoC

Hey Mason,

On Tue, Apr 11, 2023 at 04:32:57PM +0800, Mason Huo wrote:
> Add the operating-points-v2 to support cpu scaling
> on StarFive JH7110 SoC.

(btw, there's no need to wrap commit messages at 52 columns, you have
72 to work with)

> It supports up to 4 cpu frequency loads.
>
> Signed-off-by: Mason Huo <[email protected]>
> ---
> .../jh7110-starfive-visionfive-2.dtsi | 25 +++++++++++++++++++
> arch/riscv/boot/dts/starfive/jh7110.dtsi | 25 +++++++++++++++++++
> 2 files changed, 50 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> index df582bddae4b..ae446b268e78 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> @@ -228,3 +228,28 @@ &uart0 {
> pinctrl-0 = <&uart0_pins>;
> status = "okay";
> };
> +
> +&U74_1 {
> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
> + clock-names = "cpu";
> + cpu-supply = <&reg_dcdc2>;
> +};
> +
> +&U74_2 {
> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
> + clock-names = "cpu";
> + cpu-supply = <&reg_dcdc2>;
> +};
> +
> +&U74_3 {
> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
> + clock-names = "cpu";
> + cpu-supply = <&reg_dcdc2>;
> +};
> +
> +&U74_4 {
> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
^^
There's a double space in each of these.

> + clock-names = "cpu";
> + cpu-supply = <&reg_dcdc2>;
> +};

How come these two clock properties are being added in <board>.dtsi?
Should they not be in <soc>.dtsi?

Thanks,
Conor.


Attachments:
(No filename) (1.66 kB)
signature.asc (235.00 B)
Download all attachments

2023-04-11 09:33:46

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v1 1/3] riscv: dts: starfive: Enable axp15060 pmic for cpufreq

On Tue, Apr 11, 2023 at 04:32:55PM +0800, Mason Huo wrote:
> The VisionFive 2 board has an embedded pmic axp15060,
> which supports the cpu DVFS through the dcdc2 regulator.
> This patch enables axp15060 pmic and configs the dcdc2.
>
> Signed-off-by: Mason Huo <[email protected]>
> ---
> .../starfive/jh7110-starfive-visionfive-2.dtsi | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> index 2a6d81609284..df582bddae4b 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> @@ -114,6 +114,21 @@ &i2c5 {
> pinctrl-names = "default";
> pinctrl-0 = <&i2c5_pins>;
> status = "okay";
> +
> + pmic: axp15060_reg@36 {

No underscores in node names please & "pmic" is the generic node name
for pmics.

Cheers,
Conor.

> + compatible = "x-powers,axp15060";
> + reg = <0x36>;
> +
> + regulators {
> + reg_dcdc2: dcdc2 {
> + regulator-boot-on;
> + regulator-always-on;
> + regulator-min-microvolt = <500000>;
> + regulator-max-microvolt = <1540000>;
> + regulator-name = "vdd-cpu";
> + };
> + };
> + };
> };
>
> &i2c6 {
> --
> 2.39.2
>


Attachments:
(No filename) (1.34 kB)
signature.asc (235.00 B)
Download all attachments

2023-04-11 09:34:27

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v1 2/3] cpufreq: dt-platdev: Add JH7110 SOC to the allowlist

On Tue, Apr 11, 2023 at 04:32:56PM +0800, Mason Huo wrote:
> Add the compatible strings for supporting the generic
> cpufreq driver on the StarFive JH7110 SoC.
>
> Signed-off-by: Mason Huo <[email protected]>
> ---
> drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index e85703651098..a1ac955aa7e2 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -92,6 +92,7 @@ static const struct of_device_id allowlist[] __initconst = {
>
> { .compatible = "xlnx,zynq-7000", },
> { .compatible = "xlnx,zynqmp", },
> + { .compatible = "starfive,jh7110", },

This struct looks to be in alphabetical order with a blank line between
vendors.


Attachments:
(No filename) (840.00 B)
signature.asc (235.00 B)
Download all attachments

2023-04-11 15:03:39

by Shengyu Qu

[permalink] [raw]
Subject: Re: [PATCH v1 1/3] riscv: dts: starfive: Enable axp15060 pmic for cpufreq

> On Tue, Apr 11, 2023 at 04:32:55PM +0800, Mason Huo wrote:
>> The VisionFive 2 board has an embedded pmic axp15060,
>> which supports the cpu DVFS through the dcdc2 regulator.
>> This patch enables axp15060 pmic and configs the dcdc2.
>>
>> Signed-off-by: Mason Huo <[email protected]>
>> ---
>> .../starfive/jh7110-starfive-visionfive-2.dtsi | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> index 2a6d81609284..df582bddae4b 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> @@ -114,6 +114,21 @@ &i2c5 {
>> pinctrl-names = "default";
>> pinctrl-0 = <&i2c5_pins>;
>> status = "okay";
>> +
>> + pmic: axp15060_reg@36 {
> No underscores in node names please & "pmic" is the generic node name
> for pmics.
>
> Cheers,
> Conor.
>
>> + compatible = "x-powers,axp15060";
>> + reg = <0x36>;
>> +
>> + regulators {
>> + reg_dcdc2: dcdc2 {

reg_dcdc2 seems not a good name, too generic for identification. In most

cases, it's same as regulator-name but using "_" rather than "-".

>> + regulator-boot-on;

It should not be used,  in Documentation/devicetree/bindings/regulator

/regulator.yaml, it is described as follows:

"This property is intended to only be used for regulators where software

cannot read the state of the regulator."

In this case, regulator state is completely able to be read by driver.

Best regards,

Shengyu


Attachments:
OpenPGP_0xE3520CC91929C8E7.asc (6.81 kB)
OpenPGP public key
OpenPGP_signature (849.00 B)
OpenPGP digital signature
Download all attachments

2023-04-11 16:04:54

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v1 0/3] Add JH7110 cpufreq support

On Tue, Apr 11, 2023 at 10:33 AM Mason Huo <[email protected]> wrote:
>
> The StarFive JH7110 SoC has four RISC-V cores,
> and it supports up to 4 cpu frequency loads.
>
> This patchset adds the compatible strings into the allowlist
> for supporting the generic cpufreq driver on JH7110 SoC.
> Also, it enables the axp15060 pmic for the cpu power source.
>
> The series has been tested on the VisionFive 2 boards which
> are equipped with JH7110 SoC and axp15060 pmic.
>
>
> This patchset is based on v6.3-rc4 with these patches applied:
> [1] ("Basic clock, reset & device tree support for StarFive JH7110 RISC-V SoC")
> https://lore.kernel.org/all/[email protected]/
> [2] ("Add X-Powers AXP15060 PMIC support")
> https://lore.kernel.org/all/TY3P286MB2611A814E580C96DC6F187B798969@TY3P286MB2611.JPNP286.PROD.OUTLOOK.COM/
>
> Mason Huo (3):
> riscv: dts: starfive: Enable axp15060 pmic for cpufreq
> cpufreq: dt-platdev: Add JH7110 SOC to the allowlist
> riscv: dts: starfive: Add cpu scaling for JH7110 SoC
>
> .../jh7110-starfive-visionfive-2.dtsi | 40 +++++++++++++++++++
> arch/riscv/boot/dts/starfive/jh7110.dtsi | 25 ++++++++++++
> drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
> 3 files changed, 66 insertions(+)

Viresh, can you have a look at this, please?

It is very similar to the ARM thing AFAICS.

2023-04-12 02:38:11

by Mason Huo

[permalink] [raw]
Subject: Re: [PATCH v1 3/3] riscv: dts: starfive: Add cpu scaling for JH7110 SoC



On 2023/4/11 17:06, Conor Dooley wrote:
> Hey Mason,
>
> On Tue, Apr 11, 2023 at 04:32:57PM +0800, Mason Huo wrote:
>> Add the operating-points-v2 to support cpu scaling
>> on StarFive JH7110 SoC.
>
> (btw, there's no need to wrap commit messages at 52 columns, you have
> 72 to work with)
>
Hi Conor,

Thanks for your review.
Will place it in the same line.

>> It supports up to 4 cpu frequency loads.
>>
>> Signed-off-by: Mason Huo <[email protected]>
>> ---
>> .../jh7110-starfive-visionfive-2.dtsi | 25 +++++++++++++++++++
>> arch/riscv/boot/dts/starfive/jh7110.dtsi | 25 +++++++++++++++++++
>> 2 files changed, 50 insertions(+)
>>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> index df582bddae4b..ae446b268e78 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> @@ -228,3 +228,28 @@ &uart0 {
>> pinctrl-0 = <&uart0_pins>;
>> status = "okay";
>> };
>> +
>> +&U74_1 {
>> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
>> + clock-names = "cpu";
>> + cpu-supply = <&reg_dcdc2>;
>> +};
>> +
>> +&U74_2 {
>> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
>> + clock-names = "cpu";
>> + cpu-supply = <&reg_dcdc2>;
>> +};
>> +
>> +&U74_3 {
>> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
>> + clock-names = "cpu";
>> + cpu-supply = <&reg_dcdc2>;
>> +};
>> +
>> +&U74_4 {
>> + clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>;
> ^^
> There's a double space in each of these.
>
>> + clock-names = "cpu";
>> + cpu-supply = <&reg_dcdc2>;
>> +};
>
> How come these two clock properties are being added in <board>.dtsi?
> Should they not be in <soc>.dtsi?
>> Thanks,
> Conor.
Yes, will move them to <soc>.dtsi

Thanks
Mason

2023-04-12 02:38:44

by Mason Huo

[permalink] [raw]
Subject: Re: [PATCH v1 2/3] cpufreq: dt-platdev: Add JH7110 SOC to the allowlist



On 2023/4/11 17:20, Conor Dooley wrote:
> On Tue, Apr 11, 2023 at 04:32:56PM +0800, Mason Huo wrote:
>> Add the compatible strings for supporting the generic
>> cpufreq driver on the StarFive JH7110 SoC.
>>
>> Signed-off-by: Mason Huo <[email protected]>
>> ---
>> drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
>> index e85703651098..a1ac955aa7e2 100644
>> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
>> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
>> @@ -92,6 +92,7 @@ static const struct of_device_id allowlist[] __initconst = {
>>
>> { .compatible = "xlnx,zynq-7000", },
>> { .compatible = "xlnx,zynqmp", },
>> + { .compatible = "starfive,jh7110", },
>
> This struct looks to be in alphabetical order with a blank line between
> vendors.

Right. Should place it behind "st-ericsson".

Thanks
Mason

2023-04-12 02:39:10

by Mason Huo

[permalink] [raw]
Subject: Re: [PATCH v1 1/3] riscv: dts: starfive: Enable axp15060 pmic for cpufreq



On 2023/4/11 17:13, Conor Dooley wrote:
> On Tue, Apr 11, 2023 at 04:32:55PM +0800, Mason Huo wrote:
>> The VisionFive 2 board has an embedded pmic axp15060,
>> which supports the cpu DVFS through the dcdc2 regulator.
>> This patch enables axp15060 pmic and configs the dcdc2.
>>
>> Signed-off-by: Mason Huo <[email protected]>
>> ---
>> .../starfive/jh7110-starfive-visionfive-2.dtsi | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> index 2a6d81609284..df582bddae4b 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>> @@ -114,6 +114,21 @@ &i2c5 {
>> pinctrl-names = "default";
>> pinctrl-0 = <&i2c5_pins>;
>> status = "okay";
>> +
>> + pmic: axp15060_reg@36 {
>
> No underscores in node names please & "pmic" is the generic node name
> for pmics.
>
> Cheers,
> Conor.
>
Address it in next version.

Thanks
Mason
>> + compatible = "x-powers,axp15060";
>> + reg = <0x36>;
>> +
>> + regulators {
>> + reg_dcdc2: dcdc2 {
>> + regulator-boot-on;
>> + regulator-always-on;
>> + regulator-min-microvolt = <500000>;
>> + regulator-max-microvolt = <1540000>;
>> + regulator-name = "vdd-cpu";
>> + };
>> + };
>> + };
>> };
>>
>> &i2c6 {
>> --
>> 2.39.2
>>

2023-04-12 02:41:32

by Mason Huo

[permalink] [raw]
Subject: Re: [PATCH v1 1/3] riscv: dts: starfive: Enable axp15060 pmic for cpufreq



On 2023/4/11 22:49, Shengyu Qu wrote:
>> On Tue, Apr 11, 2023 at 04:32:55PM +0800, Mason Huo wrote:
>>> The VisionFive 2 board has an embedded pmic axp15060,
>>> which supports the cpu DVFS through the dcdc2 regulator.
>>> This patch enables axp15060 pmic and configs the dcdc2.
>>>
>>> Signed-off-by: Mason Huo <[email protected]>
>>> ---
>>>   .../starfive/jh7110-starfive-visionfive-2.dtsi    | 15 +++++++++++++++
>>>   1 file changed, 15 insertions(+)
>>>
>>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>>> index 2a6d81609284..df582bddae4b 100644
>>> --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>>> +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
>>> @@ -114,6 +114,21 @@ &i2c5 {
>>>       pinctrl-names = "default";
>>>       pinctrl-0 = <&i2c5_pins>;
>>>       status = "okay";
>>> +
>>> +    pmic: axp15060_reg@36 {
>> No underscores in node names please & "pmic" is the generic node name
>> for pmics.
>>
>> Cheers,
>> Conor.
>>
>>> +        compatible = "x-powers,axp15060";
>>> +        reg = <0x36>;
>>> +
>>> +        regulators {
>>> +            reg_dcdc2: dcdc2 {
>
> reg_dcdc2 seems not a good name, too generic for identification. In most
>
> cases, it's same as regulator-name but using "_" rather than "-".
>
Hi Shengyu,

Thanks for your review.
Will change to "vdd_cpu".

>>> +                regulator-boot-on;
>
> It should not be used,  in Documentation/devicetree/bindings/regulator
>
> /regulator.yaml, it is described as follows:
>
> "This property is intended to only be used for regulators where software
>
> cannot read the state of the regulator."
>
> In this case, regulator state is completely able to be read by driver.
>
> Best regards,
>
> Shengyu
>Will remove it.

Thanks
Mason

2023-04-21 07:53:33

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH v1 0/3] Add JH7110 cpufreq support

On 11-04-23, 17:58, Rafael J. Wysocki wrote:
> Viresh, can you have a look at this, please?
>
> It is very similar to the ARM thing AFAICS.

Sorry, I missed your email earlier. I have already applied the cpufreq
specific patch now.

--
viresh