[PATCH v2 1/6] riscv: dts: spacemit: k1-musepi-pro: add PMIC and power infrastructure

Yixun Lan dlan at kernel.org
Tue May 12 04:39:13 PDT 2026


Hi Andre,

On 13:11 Mon 11 May     , Andre Heider wrote:
> 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 at gmail.com>
> ---
>  .../riscv/boot/dts/spacemit/k1-musepi-pro.dts | 144 ++++++++++++++++++
>  1 file changed, 144 insertions(+)
> 
> diff --git a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
> index 29e333b670cf0..88c35ad1ef2ae 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
> +++ b/arch/riscv/boot/dts/spacemit/k1-musepi-pro.dts
> @@ -17,6 +17,7 @@ / {
>  	aliases {
>  		ethernet0 = &eth0;
>  		serial0 = &uart0;
> +		i2c8 = &i2c8;
>  	};
>  
>  	chosen {
> @@ -33,6 +34,25 @@ led1 {
>  			default-state = "on";
>  		};
>  	};
> +
..
> +	reg_usb_vbus: regulator-usb-vbus {
> +		compatible = "regulator-fixed";
> +		regulator-name = "USBVBUS";
> +		regulator-min-microvolt = <12000000>;
> +		regulator-max-microvolt = <12000000>;
> +		regulator-boot-on;
> +		regulator-always-on;
> +	};
I think you can further drop above regulator, which merely serve as vin-supply 
and not used by devices, plus it's a non-controllable fixed regulator

> +
> +	reg_vcc_4v0: regulator-vcc-40v {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VCC4V0";
> +		regulator-min-microvolt = <4000000>;
> +		regulator-max-microvolt = <4000000>;
> +		regulator-boot-on;
> +		regulator-always-on;
> +		vin-supply = <&reg_usb_vbus>;
> +	};
>  };
>  
>  &emmc {
> @@ -72,6 +92,130 @@ &pdma {
>  	status = "okay";
>  };
>  
> +&i2c8 {
> +	pinctrl-0 = <&i2c8_cfg>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	pmic at 41 {
> +		compatible = "spacemit,p1";
> +		reg = <0x41>;
> +		interrupts = <64>;
> +		vin1-supply = <&reg_vcc_4v0>;
> +		vin2-supply = <&reg_vcc_4v0>;
> +		vin3-supply = <&reg_vcc_4v0>;
> +		vin4-supply = <&reg_vcc_4v0>;
> +		vin5-supply = <&reg_vcc_4v0>;
> +		vin6-supply = <&reg_vcc_4v0>;
> +		aldoin-supply = <&reg_vcc_4v0>;
> +		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 {
> +				regulator-min-microvolt = <500000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-ramp-delay = <5000>;
> +				regulator-always-on;
> +			};
> +
> +			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";
> -- 
> 2.53.0
> 
> 

-- 
Yixun Lan (dlan)



More information about the linux-riscv mailing list