[PATCH v2 2/2] riscv: dts: spacemit: Add cpu scaling for K1 SoC

Anand Moon linux.amoon at gmail.com
Sat May 16 21:35:50 PDT 2026


Hi Shuwei,

On Wed, 22 Apr 2026 at 11:44, Anand Moon <linux.amoon at gmail.com> wrote:
>
> Hi Shuwei,
>
> On Tue, 21 Apr 2026 at 22:41, Aurelien Jarno <aurelien at aurel32.net> wrote:
> >
> > Hi,
> >
> > On 2026-04-21 16:10, Shuwei Wu wrote:
> > > Hi Aurelien,
> > >
> > > Thanks for your addition.
> > >
> > > On Tue Apr 21, 2026 at 5:16 AM CST, Aurelien Jarno wrote:
> > > > Hi Anand,
> > > >
> > > > On 2026-04-16 17:07, Anand Moon wrote:
> > > >> After reviewing the Banana Pi F3 schematics, I confirmed that Buck1 and Buck2
> > > >> Both supply the CORE_0V9 with 0.9V±1% rail. To resolve the restriction errors,
> > > >> I expanded the voltage range in the DTS to 500,000–950,000 µV.
> > > >>
> sorry I was wrong from the doc below 1.2.1 CORE Power Design
>
> The typical core voltage is 0.9 V to 1.05 V. Actual voltage is
> dynamically regulated by
> the **remote-sense dynamic voltage** adjustment circuit inside P1.
> P1 BUCK1 and BUCK2 must be combined to supply the core rail.
>
> [1] https://www.spacemit.com/community/document/info?nodepath=hardware/key_stone/k1/k1_hw/k1_hw_design_guide.md&lang=en
>
> > > >> Additionally, I updated the DTS to map the second CPU cluster (cores 4–7)
> > > >> to Buck2 to better align with the hardware's power distribution.
> > > >
> > > > Actually the output of Buck1 and Buck2 are connected together, so they
> > > > should always be configured with the same output voltage. And both
> > > > clusters should be mapped to both outputs.
> > >
> > > You are right, I received the same response from the official developers.
> > >
> > > Therefore, I'm wondering if an additional regulator-coupled-with: property
> > > definition is also needed here?
> >
> correct.
> > Yes, I think this is the way to go. I even wonder if this shouldn't be a
> > fix with Cc: stable. This also has to be done for the Milk-V Jupiter
> > board, I haven't checked the other boards yet, but I guess they all use
> > the same schematics at that the PMIC level.
> >
> > Regards
> > Aurelien
> >

The following changes resolve the warning on my setup.
If possible, please integrate them into the next version.

diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
index c2a1b759d41f..8512c7417f94 100644
--- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
@@ -116,19 +116,19 @@ &cpu_3 {
 };

 &cpu_4 {
-       cpu-supply = <&buck1_3v45>;
+       cpu-supply = <&buck2_3v45>;
 };

 &cpu_5 {
-       cpu-supply = <&buck1_3v45>;
+       cpu-supply = <&buck2_3v45>;
 };

 &cpu_6 {
-       cpu-supply = <&buck1_3v45>;
+       cpu-supply = <&buck2_3v45>;
 };

 &cpu_7 {
-       cpu-supply = <&buck1_3v45>;
+       cpu-supply = <&buck2_3v45>;
 };

 &emmc {
@@ -248,14 +248,14 @@ pmic at 41 {
                regulators {
                        buck1_3v45: buck1 {
                                regulator-min-microvolt = <500000>;
-                               regulator-max-microvolt = <3450000>;
+                               regulator-max-microvolt = <950000>;
                                regulator-ramp-delay = <5000>;
                                regulator-always-on;
                        };

-                       buck2 {
+                       buck2_3v45: buck2 {
                                regulator-min-microvolt = <500000>;
-                               regulator-max-microvolt = <3450000>;
+                               regulator-max-microvolt = <1050000>;
                                regulator-ramp-delay = <5000>;
                                regulator-always-on;
                        };

Thnaks
-Anand



More information about the linux-riscv mailing list