arm64: dts: freescale: imx93-tqma9352: Add PMIC node
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Mon, 19 Aug 2024 12:03:15 +0000 (14:03 +0200)
committerShawn Guo <shawnguo@kernel.org>
Wed, 4 Sep 2024 09:36:19 +0000 (17:36 +0800)
With driver support in place add the PMIC node and remove the
fixed-regulators for rails provided by PMIC.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx93-tqma9352.dtsi

index 8993bd3058e95cfb32572fc35c86c6ce7e792299..37f586cf16d933f43caa1d8f6d122d5395b2a6e3 100644 (file)
                };
        };
 
-       reg_v1v8: regulator-v1v8 {
-               compatible = "regulator-fixed";
-               regulator-name = "V_1V8";
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <1800000>;
-       };
-
-       reg_v3v3: regulator-v3v3 {
-               compatible = "regulator-fixed";
-               regulator-name = "V_3V3";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-       };
-
        /* SD2 RST# via PMIC SW_EN */
        reg_usdhc2_vmmc: regulator-usdhc2 {
                compatible = "regulator-fixed";
                regulator-name = "VSD_3V3";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-               vin-supply = <&reg_v3v3>;
+               vin-supply = <&buck4>;
                gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>;
                enable-active-high;
        };
 };
 
 &adc1 {
-       vref-supply = <&reg_v1v8>;
+       vref-supply = <&buck5>;
 };
 
 &flexspi1 {
                reg = <0x1b>;
        };
 
+       pca9451a: pmic@25 {
+               compatible = "nxp,pca9451a";
+               reg = <0x25>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_pca9451>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+
+               regulators {
+                       /* V_0V8_SOC - hw developer guide: 0.75 .. 0.9 */
+                       buck1: BUCK1 {
+                               regulator-name = "BUCK1";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <900000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <3125>;
+                       };
+
+                       /* V_DDRQ - 1.1 LPDDR4 or 0.6 LPDDR4X */
+                       buck2: BUCK2 {
+                               regulator-name = "BUCK2";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <3125>;
+                       };
+
+                       /* V_3V3 - EEPROM, RTC, ... */
+                       buck4: BUCK4 {
+                               regulator-name = "BUCK4";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       /* V_1V8 - SPI NOR, eMMC, RAM VDD1... */
+                       buck5: BUCK5 {
+                               regulator-name = "BUCK5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       /* V_1V1 - RAM VDD2*/
+                       buck6: BUCK6 {
+                               regulator-name = "BUCK6";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       /* V_1V8_BBSM, fix 1.8 */
+                       ldo1: LDO1 {
+                               regulator-name = "LDO1";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       /* V_0V8_ANA */
+                       ldo4: LDO4 {
+                               regulator-name = "LDO4";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       /* V_SD2 - 3.3/1.8V USDHC2 io Voltage */
+                       ldo5: LDO5 {
+                               regulator-name = "LDO5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
+
        pcf85063: rtc@51 {
                compatible = "nxp,pcf85063a";
                reg = <0x51>;
                reg = <0x53>;
                pagesize = <16>;
                read-only;
-               vcc-supply = <&reg_v3v3>;
+               vcc-supply = <&buck4>;
        };
 
        eeprom1: eeprom@57 {
                compatible = "atmel,24c64";
                reg = <0x57>;
                pagesize = <32>;
-               vcc-supply = <&reg_v3v3>;
+               vcc-supply = <&buck4>;
        };
 
        /* protectable identification memory (part of M24C64-D @57) */
        eeprom@5f {
                compatible = "atmel,24c64d-wl";
                reg = <0x5f>;
-               vcc-supply = <&reg_v3v3>;
+               vcc-supply = <&buck4>;
        };
 
        imu@6a {
                compatible = "st,ism330dhcx";
                reg = <0x6a>;
-               vdd-supply = <&reg_v3v3>;
-               vddio-supply = <&reg_v3v3>;
+               vdd-supply = <&buck4>;
+               vddio-supply = <&buck4>;
        };
 };