]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: ti: k3-am62d2-evm: Enable PMIC
authorParesh Bhagat <p-bhagat@ti.com>
Tue, 28 Oct 2025 21:36:45 +0000 (03:06 +0530)
committerVignesh Raghavendra <vigneshr@ti.com>
Thu, 30 Oct 2025 13:43:26 +0000 (19:13 +0530)
Add support for TPS65224 PMIC family on wakeup I2C0 bus. This
device provides regulators (bucks and LDOs), along with GPIOs,
and monitors SOC's MCU error signal.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Reviewed-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
Link: https://patch.msgid.link/20251028213645.437957-3-p-bhagat@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62d2-evm.dts

index 9a74df221f2ad37f7afdc6dc284ab798d3260430..155abd97b7991bc3c13f6ee74aa51042147220e9 100644 (file)
                >;
                bootph-all;
        };
+
+       wkup_i2c0_pins_default: wkup-i2c0-default-pins {
+               pinctrl-single,pins = <
+                       AM62DX_MCU_IOPAD(0x004c, PIN_INPUT, 0) /* (D13) WKUP_I2C0_SCL */
+                       AM62DX_MCU_IOPAD(0x0050, PIN_INPUT, 0) /* (E13) WKUP_I2C0_SDA */
+               >;
+               bootph-all;
+       };
 };
 
 /* WKUP UART0 is used for DM firmware logs */
        status = "okay";
 };
 
+&wkup_i2c0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&wkup_i2c0_pins_default>;
+       clock-frequency = <400000>;
+       status = "okay";
+
+       tps65224: pmic@48 {
+               compatible = "ti,tps65224-q1";
+               reg = <0x48>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pmic_irq_pins_default>;
+               interrupt-parent = <&main_gpio1>;
+               interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
+               ti,primary-pmic;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               buck12-supply = <&vcc_3v3_sys>;
+               buck3-supply = <&vcc_3v3_sys>;
+               buck4-supply = <&vcc_3v3_sys>;
+               ldo1-supply = <&vcc_3v3_sys>;
+               ldo2-supply = <&vcc_3v3_sys>;
+               ldo3-supply = <&vcc_3v3_sys>;
+
+               regulators {
+                       buck12: buck12 {
+                               regulator-name = "vdd_core";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-all;
+                       };
+
+                       buck3: buck3 {
+                               regulator-name = "dvdd1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-all;
+                       };
+
+                       buck4: buck4 {
+                               regulator-name = "vdds_ddr";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-all;
+                       };
+
+                       ldo1: ldo1 {
+                               regulator-name = "vdda_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-all;
+                       };
+
+                       ldo2: ldo2 {
+                               regulator-name = "dvdd3v3";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-all;
+                       };
+
+                       ldo3: ldo3 {
+                               regulator-name = "vddr_core";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-all;
+                       };
+               };
+       };
+};
+
 &sdhci0 {
        /* eMMC */
        non-removable;