]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dts: riscv: spacemit: k3: add P1 PMIC regulator tree
authorYixun Lan <dlan@kernel.org>
Fri, 27 Mar 2026 11:51:18 +0000 (11:51 +0000)
committerYixun Lan <dlan@kernel.org>
Mon, 30 Mar 2026 04:42:10 +0000 (04:42 +0000)
Add the P1 PMIC's regulator topology tree for pico-itx board.

Link: https://lore.kernel.org/r/20260327-02-k3-i2c-v2-1-9c6b374470c6@kernel.org
Signed-off-by: Yixun Lan <dlan@kernel.org>
arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
arch/riscv/boot/dts/spacemit/k3-pinctrl.dtsi

index 504fe6bd46b25ca9318c5421e0f0934e71db528c..4486dc1fe114da95452abbac9df61790059d6e67 100644 (file)
                device_type = "memory";
                reg = <0x1 0x00000000 0x4 0x00000000>;
        };
+
+       reg_aux_vcc5v: regulator-aux-vcc5v {
+               compatible = "regulator-fixed";
+               regulator-name = "AUX_VCC5V";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+       };
+};
+
+&i2c8 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c8_cfg>;
+       status = "okay";
+
+       p1@41 {
+               compatible = "spacemit,p1";
+               reg = <0x41>;
+               interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
+               vin1-supply = <&reg_aux_vcc5v>;
+               vin2-supply = <&reg_aux_vcc5v>;
+               vin3-supply = <&reg_aux_vcc5v>;
+               vin4-supply = <&reg_aux_vcc5v>;
+               vin5-supply = <&reg_aux_vcc5v>;
+               vin6-supply = <&reg_aux_vcc5v>;
+               aldoin-supply = <&reg_aux_vcc5v>;
+               dldoin1-supply = <&buck4>;
+               dldoin2-supply = <&buck4>;
+
+               regulators {
+                       buck1: buck1 {
+                               regulator-min-microvolt = <1050000>;
+                               regulator-max-microvolt = <1050000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck2: buck2 {
+                               regulator-min-microvolt = <1050000>;
+                               regulator-max-microvolt = <1050000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck3: buck3 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck4: buck4 {
+                               regulator-min-microvolt = <2100000>;
+                               regulator-max-microvolt = <2100000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck5: buck5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       buck6: buck6 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <500000>;
+                               regulator-ramp-delay = <5000>;
+                               regulator-always-on;
+                       };
+
+                       aldo1: aldo1 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       aldo2: aldo2 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       aldo3: aldo3 {
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <3400000>;
+                       };
+
+                       aldo4: aldo4 {
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       dldo1: dldo1 {
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       dldo2: dldo2 {
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <900000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       dldo3: dldo3 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       dldo4: dldo4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                       };
+
+                       dldo5: dldo5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       dldo6: dldo6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       dldo7: dldo7 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+               };
+       };
 };
 
 &eth0 {
index a7b5d10c332e75b562f485bfdf45ae91beb1c564..23899d3f308a02d589b3090e3283583024b66f66 100644 (file)
                };
        };
 
+       /omit-if-no-ref/
+       i2c8_cfg: i2c8-cfg {
+               i2c8-pins {
+                       pinmux = <K3_PADCONF(128, 0)>,  /* i2c8 scl */
+                                <K3_PADCONF(129, 0)>;  /* i2c8 sda */
+
+                       bias-pull-up = <0>;
+                       drive-strength = <25>;
+               };
+       };
+
        /omit-if-no-ref/
        uart0_0_cfg: uart0-0-cfg {
                uart0-0-pins {