]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure
authorAndre Heider <a.heider@gmail.com>
Wed, 13 May 2026 07:19:49 +0000 (09:19 +0200)
committerYixun Lan <dlan@kernel.org>
Sat, 16 May 2026 05:05:26 +0000 (05:05 +0000)
Enable i2c8 and add the connected SpacemiT P1 PMIC with its related
regulators for the board's power infrastructure and voltage regulation
support.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://patch.msgid.link/20260513071958.29574-2-a.heider@gmail.com
Signed-off-by: Yixun Lan <dlan@kernel.org>
arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts

index 29e333b670cf0a5c4ed852668460db475b9c44cb..653e5a1bf41bad6787a4f3cab14f7838c1e54ba6 100644 (file)
@@ -17,6 +17,7 @@
        aliases {
                ethernet0 = &eth0;
                serial0 = &uart0;
+               i2c8 = &i2c8;
        };
 
        chosen {
                        default-state = "on";
                };
        };
+
+       reg_vcc_4v: regulator-vcc-4v {
+               compatible = "regulator-fixed";
+               regulator-name = "VCC4V0";
+               regulator-min-microvolt = <4000000>;
+               regulator-max-microvolt = <4000000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
 };
 
 &emmc {
        status = "okay";
 };
 
+&i2c8 {
+       pinctrl-0 = <&i2c8_cfg>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       pmic@41 {
+               compatible = "spacemit,p1";
+               reg = <0x41>;
+               interrupts = <64>;
+               vin1-supply = <&reg_vcc_4v>;
+               vin2-supply = <&reg_vcc_4v>;
+               vin3-supply = <&reg_vcc_4v>;
+               vin4-supply = <&reg_vcc_4v>;
+               vin5-supply = <&reg_vcc_4v>;
+               vin6-supply = <&reg_vcc_4v>;
+               aldoin-supply = <&reg_vcc_4v>;
+               dldoin1-supply = <&buck5>;
+               dldoin2-supply = <&buck5>;
+
+               regulators {
+                       buck1 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3450000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck2 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3450000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck3_1v8: buck3 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck4_3v3: buck4 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck5: buck5 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3450000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck6 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3450000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       aldo1 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-boot-on;
+                       };
+
+                       aldo2 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       aldo3 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       aldo4 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       dldo1 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-boot-on;
+                       };
+
+                       dldo2 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       dldo3 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       dldo4 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-always-on;
+                       };
+
+                       dldo5 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       dldo6 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-always-on;
+                       };
+
+                       dldo7 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+               };
+       };
+};
+
 &uart0 {
        pinctrl-0 = <&uart0_2_cfg>;
        pinctrl-names = "default";