Update individual supply properties in pmic "spacemit,p1" node to specify
the board's power tree topology for BananaPi F3 and Milk-V Jupiter.
Previously these relationships were hardcoded in the driver; now they
are explicitly defined in the devicetree per the updated binding
document spacemit,p1.yaml.
Signed-off-by: Guodong Xu <guodong@riscstar.com>
---
v2: Added the pmic supply properties for K1 Milkv Jupiter.
Updated the commit message accordingly.
---
arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 12 ++++++++++--
arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 12 ++++++++++--
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
index 5971605754b3..444c3b1e6f44 100644
--- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
@@ -190,7 +190,15 @@ pmic@41 {
compatible = "spacemit,p1";
reg = <0x41>;
interrupts = <64>;
- vin-supply = <®_vcc_4v>;
+ vin1-supply = <®_vcc_4v>;
+ vin2-supply = <®_vcc_4v>;
+ vin3-supply = <®_vcc_4v>;
+ vin4-supply = <®_vcc_4v>;
+ vin5-supply = <®_vcc_4v>;
+ vin6-supply = <®_vcc_4v>;
+ aldoin-supply = <®_vcc_4v>;
+ dldoin1-supply = <&buck5>;
+ dldoin2-supply = <&buck5>;
regulators {
buck1 {
@@ -221,7 +229,7 @@ buck4 {
regulator-always-on;
};
- buck5 {
+ buck5: buck5 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3450000>;
regulator-ramp-delay = <5000>;
diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
index 800a112d5d70..e2702a781734 100644
--- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
+++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
@@ -100,7 +100,15 @@ pmic@41 {
compatible = "spacemit,p1";
reg = <0x41>;
interrupts = <64>;
- vin-supply = <®_vcc_4v>;
+ vin1-supply = <®_vcc_4v>;
+ vin2-supply = <®_vcc_4v>;
+ vin3-supply = <®_vcc_4v>;
+ vin4-supply = <®_vcc_4v>;
+ vin5-supply = <®_vcc_4v>;
+ vin6-supply = <®_vcc_4v>;
+ aldoin-supply = <®_vcc_4v>;
+ dldoin1-supply = <&buck5>;
+ dldoin2-supply = <&buck5>;
regulators {
buck1 {
@@ -131,7 +139,7 @@ buck4 {
regulator-always-on;
};
- buck5 {
+ buck5: buck5 {
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <3450000>;
regulator-ramp-delay = <5000>;
--
2.43.0
On 1/23/26 6:20 PM, Guodong Xu wrote:
> Update individual supply properties in pmic "spacemit,p1" node to specify
> the board's power tree topology for BananaPi F3 and Milk-V Jupiter.
>
> Previously these relationships were hardcoded in the driver; now they
> are explicitly defined in the devicetree per the updated binding
> document spacemit,p1.yaml.
>
> Signed-off-by: Guodong Xu <guodong@riscstar.com>
I acknowledge that you've made an ABI change, and I should
have done a better job of describing this the first time
around. (And reviewers might have caught that!)
I had some of the same thoughts about supporting just
"vin_supply" for older systems.
However I agree with the conclusion you and Vivian
came to, which is that practically speaking it isn't
likely to be a problem. Boards should use either
old DTB and software or new DTB and software, not
a mix.
Reviewed-by: Alex Elder <elder@riscstar.com>
> ---
> v2: Added the pmic supply properties for K1 Milkv Jupiter.
> Updated the commit message accordingly.
> ---
> arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 12 ++++++++++--
> arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 12 ++++++++++--
> 2 files changed, 20 insertions(+), 4 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> index 5971605754b3..444c3b1e6f44 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> @@ -190,7 +190,15 @@ pmic@41 {
> compatible = "spacemit,p1";
> reg = <0x41>;
> interrupts = <64>;
> - vin-supply = <®_vcc_4v>;
> + vin1-supply = <®_vcc_4v>;
> + vin2-supply = <®_vcc_4v>;
> + vin3-supply = <®_vcc_4v>;
> + vin4-supply = <®_vcc_4v>;
> + vin5-supply = <®_vcc_4v>;
> + vin6-supply = <®_vcc_4v>;
> + aldoin-supply = <®_vcc_4v>;
> + dldoin1-supply = <&buck5>;
> + dldoin2-supply = <&buck5>;
>
> regulators {
> buck1 {
> @@ -221,7 +229,7 @@ buck4 {
> regulator-always-on;
> };
>
> - buck5 {
> + buck5: buck5 {
> regulator-min-microvolt = <500000>;
> regulator-max-microvolt = <3450000>;
> regulator-ramp-delay = <5000>;
> diff --git a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
> index 800a112d5d70..e2702a781734 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
> +++ b/arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
> @@ -100,7 +100,15 @@ pmic@41 {
> compatible = "spacemit,p1";
> reg = <0x41>;
> interrupts = <64>;
> - vin-supply = <®_vcc_4v>;
> + vin1-supply = <®_vcc_4v>;
> + vin2-supply = <®_vcc_4v>;
> + vin3-supply = <®_vcc_4v>;
> + vin4-supply = <®_vcc_4v>;
> + vin5-supply = <®_vcc_4v>;
> + vin6-supply = <®_vcc_4v>;
> + aldoin-supply = <®_vcc_4v>;
> + dldoin1-supply = <&buck5>;
> + dldoin2-supply = <&buck5>;
>
> regulators {
> buck1 {
> @@ -131,7 +139,7 @@ buck4 {
> regulator-always-on;
> };
>
> - buck5 {
> + buck5: buck5 {
> regulator-min-microvolt = <500000>;
> regulator-max-microvolt = <3450000>;
> regulator-ramp-delay = <5000>;
>
© 2016 - 2026 Red Hat, Inc.