]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: freescale: imx93-var-som: Add PMIC support
authorStefano Radaelli <stefano.radaelli21@gmail.com>
Thu, 30 Oct 2025 12:01:22 +0000 (13:01 +0100)
committerShawn Guo <shawnguo@kernel.org>
Sun, 16 Nov 2025 10:01:30 +0000 (18:01 +0800)
The VAR-SOM-MX93 features Dual Freescale/NXP PCA9541 chip as a Power
Management Integrated circuit (PMIC).
The PMIC is programmable via the I2C interface and its associated
register map, and this patch adds its support.

Signed-off-by: Stefano Radaelli <stefano.radaelli21@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx93-var-som.dtsi

index 37f7837fb5ac980036679edc61fa0af17f72e6e5..85fd9c9c9372f393cdbb4d9c72aa4c573be92c31 100644 (file)
        };
 };
 
+&lpi2c3 {
+       clock-frequency = <400000>;
+       pinctrl-names = "default", "sleep", "gpio";
+       pinctrl-0 = <&pinctrl_lpi2c3>;
+       pinctrl-1 = <&pinctrl_lpi2c3_gpio>;
+       pinctrl-2 = <&pinctrl_lpi2c3_gpio>;
+       scl-gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>;
+       sda-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+
+       pmic@25 {
+               compatible = "nxp,pca9451a";
+               reg = <0x25>;
+
+               regulators {
+                       buck1: BUCK1 {
+                               regulator-name = "BUCK1";
+                               regulator-min-microvolt = <650000>;
+                               regulator-max-microvolt = <2237500>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <3125>;
+                       };
+
+                       buck2: BUCK2 {
+                               regulator-name = "BUCK2";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <2187500>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <3125>;
+                       };
+
+                       buck4: BUCK4{
+                               regulator-name = "BUCK4";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buck5: BUCK5{
+                               regulator-name = "BUCK5";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buck6: BUCK6 {
+                               regulator-name = "BUCK6";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <3400000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldo1: LDO1 {
+                               regulator-name = "LDO1";
+                               regulator-min-microvolt = <1600000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldo4: LDO4 {
+                               regulator-name = "LDO4";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldo5: LDO5 {
+                               regulator-name = "LDO5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
+};
+
 /* BT module */
 &lpuart5 {
        pinctrl-names = "default";
                >;
        };
 
+       pinctrl_lpi2c3: lpi2c3grp {
+               fsl,pins = <
+                       MX93_PAD_GPIO_IO28__LPI2C3_SDA          0x40000b9e
+                       MX93_PAD_GPIO_IO29__LPI2C3_SCL          0x40000b9e
+               >;
+       };
+
+       pinctrl_lpi2c3_gpio: lpi2c3-gpiogrp {
+               fsl,pins = <
+                       MX93_PAD_GPIO_IO28__GPIO2_IO28          0x40000b9e
+                       MX93_PAD_GPIO_IO29__GPIO2_IO29          0x40000b9e
+               >;
+       };
+
        pinctrl_lpuart5: lpuart5grp {
                fsl,pins = <
                        MX93_PAD_DAP_TDO_TRACESWO__LPUART5_TX   0x31e