arm64: dts: ti: k3-j721s2-som-p0: Add TP6594 family PMICs
authorEsteban Blanc <eblanc@baylibre.com>
Fri, 8 Dec 2023 11:49:14 +0000 (17:19 +0530)
committerNishanth Menon <nm@ti.com>
Wed, 13 Dec 2023 13:50:47 +0000 (07:50 -0600)
This patch adds support for TPS6594 PMIC family on wakup I2C0 bus.
Theses devices provides regulators (bucks and LDOs), but also
GPIOs, a RTC, a watchdog, an ESM (Error Signal Monitor)
which monitors the SoC error output signal, and a PFSM
(Pre-configurable Finite State Machine) which manages the
operational modes of the PMIC.

Signed-off-by: Esteban Blanc <eblanc@baylibre.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20231208114919.3429562-3-n-francis@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm64/boot/dts/ti/k3-j721s2-som-p0.dtsi

index dcad372620b1d0dbfd4f59d254eb929f5d365d98..da3237b23b63ac7a908c2cf8af61818062dd1b63 100644 (file)
        };
 };
 
+&wkup_pmx1 {
+       pmic_irq_pins_default: pmic-irq-default-pins {
+               pinctrl-single,pins = <
+                       /* (C21) MCU_OSPI1_CSn1.WKUP_GPIO0_39 */
+                       J721S2_WKUP_IOPAD(0x028, PIN_INPUT, 7)
+               >;
+       };
+};
+
 &wkup_pmx2 {
        wkup_i2c0_pins_default: wkup-i2c0-default-pins {
                pinctrl-single,pins = <
                compatible = "atmel,24c256";
                reg = <0x50>;
        };
+
+       tps659411: pmic@48 {
+               compatible = "ti,tps6594-q1";
+               reg = <0x48>;
+               system-power-controller;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pmic_irq_pins_default>;
+               interrupt-parent = <&wkup_gpio0>;
+               interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               ti,primary-pmic;
+               buck1234-supply = <&vsys_3v3>;
+               buck5-supply = <&vsys_3v3>;
+               ldo1-supply = <&vsys_3v3>;
+               ldo2-supply = <&vsys_3v3>;
+               ldo3-supply = <&vsys_3v3>;
+               ldo4-supply = <&vsys_3v3>;
+
+               regulators {
+                       bucka1234: buck1234 {
+                               regulator-name = "vdd_cpu_avs";
+                               regulator-min-microvolt = <600000>;
+                               regulator-max-microvolt = <900000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               bootph-pre-ram;
+                       };
+
+                       bucka5: buck5 {
+                               regulator-name = "vdd_mcu_0v85";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldoa1: ldo1 {
+                               regulator-name = "vdd_mcuwk_0v8";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldoa2: ldo2 {
+                               regulator-name = "vdd_mcu_gpioret_3v3";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldoa3: ldo3 {
+                               regulator-name = "vdd_mcuio_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldoa4: ldo4 {
+                               regulator-name = "vda_mcu_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
+
+       tps659414: pmic@4c {
+               compatible = "ti,tps6594-q1";
+               reg = <0x4c>;
+               system-power-controller;
+               interrupt-parent = <&wkup_gpio0>;
+               interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               buck1-supply = <&vsys_3v3>;
+               buck2-supply = <&vsys_3v3>;
+               buck3-supply = <&vsys_3v3>;
+               buck4-supply = <&vsys_3v3>;
+               buck5-supply = <&vsys_3v3>;
+               ldo1-supply = <&vsys_3v3>;
+               ldo2-supply = <&vsys_3v3>;
+               ldo3-supply = <&vsys_3v3>;
+               ldo4-supply = <&vsys_3v3>;
+
+               regulators {
+                       buckb1: buck1 {
+                               regulator-name = "vdd_io_1v8_reg";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                       };
+
+                       buckb2: buck2 {
+                               regulator-name = "vdd_fpd_1v1";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buckb3: buck3 {
+                               regulator-name = "vdd_phy_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buckb4: buck4 {
+                               regulator-name = "vdd_ddr_1v1";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       buckb5: buck5 {
+                               regulator-name = "vdd_ram_0v85";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <850000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldob1: ldo1 {
+                               regulator-name = "vdd_wk_0v8";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldob2: ldo2 {
+                               regulator-name = "vdd_gpioret_3v3";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldob3: ldo3 {
+                               regulator-name = "vda_dll_0v8";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       ldob4: ldo4 {
+                               regulator-name = "vda_pll_1v8";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
+
+       lp876411: pmic@58 {
+               compatible = "ti,lp8764-q1";
+               reg = <0x58>;
+               system-power-controller;
+               interrupt-parent = <&wkup_gpio0>;
+               interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               buck1234-supply = <&vsys_3v3>;
+
+               regulators {
+                       buckc1234: buck1234 {
+                               regulator-name = "vdd_core_0v8";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <800000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+               };
+       };
 };
 
 &main_i2c0 {