[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 = ð0;
> 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 = <®_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 = <®_vcc_4v0>;
> + vin2-supply = <®_vcc_4v0>;
> + vin3-supply = <®_vcc_4v0>;
> + vin4-supply = <®_vcc_4v0>;
> + vin5-supply = <®_vcc_4v0>;
> + vin6-supply = <®_vcc_4v0>;
> + aldoin-supply = <®_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