mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/2] Add PMIC support for AM62D
@ 2025-09-19  3:28 Paresh Bhagat
  2025-09-19  3:28 ` [PATCH 1/2] arm64: dts: ti: k3-am62d2-evm: Fix PMIC padconfig Paresh Bhagat
  2025-09-19  3:28 ` [PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Enable PMIC Paresh Bhagat
  0 siblings, 2 replies; 4+ messages in thread
From: Paresh Bhagat @ 2025-09-19  3:28 UTC (permalink / raw)
  To: nm, vigneshr, praneeth
  Cc: kristo, robh, krzk+dt, conor+dt, linux-arm-kernel, devicetree,
	linux-kernel, khasim, v-singh1, afd, bb, s-ramamoorthy

This series adds PMIC support for the AM62D2-EVM.

The first patch corrects the PMIC pad configuration by wiring the 
PMIC’s INT pin to the SoC’s EXTINTn input.
The second patch enables the TPS65224 PMIC on the wakeup I2C0 bus.

Tag used
next-20250918

Boot logs
https://gist.github.com/paresh-bhagat12/11dee1b07be3019d5f92f893fa11229d

Datasheet - https://www.ti.com/lit/ug/sprujd4/sprujd4.pdf
Schematics - https://www.ti.com/lit/zip/sprcal5

TPS65224 Datasheet - https://www.ti.com/lit/ds/symlink/tps65222-q1.pdf

This also depends on this patch
https://lore.kernel.org/all/20250916090736.2299127-1-p-bhagat@ti.com/

Paresh Bhagat (2):
  arm64: dts: ti: k3-am62d2-evm: Fix PMIC padconfig
  arm64: dts: ti: k3-am62d2-evm: Enable PMIC

 arch/arm64/boot/dts/ti/k3-am62d2-evm.dts | 93 +++++++++++++++++++++++-
 1 file changed, 92 insertions(+), 1 deletion(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] arm64: dts: ti: k3-am62d2-evm: Fix PMIC padconfig
  2025-09-19  3:28 [PATCH 0/2] Add PMIC support for AM62D Paresh Bhagat
@ 2025-09-19  3:28 ` Paresh Bhagat
  2025-09-19  3:28 ` [PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Enable PMIC Paresh Bhagat
  1 sibling, 0 replies; 4+ messages in thread
From: Paresh Bhagat @ 2025-09-19  3:28 UTC (permalink / raw)
  To: nm, vigneshr, praneeth
  Cc: kristo, robh, krzk+dt, conor+dt, linux-arm-kernel, devicetree,
	linux-kernel, khasim, v-singh1, afd, bb, s-ramamoorthy

Fix the PMIC padconfig for AM62D. PMIC's INT pin is connected to the
SoC's EXTINTn input.

Reference Docs
Datasheet - https://www.ti.com/lit/ug/sprujd4/sprujd4.pdf
Schematics - https://www.ti.com/lit/zip/sprcal5

Fixes: 1544bca2f188e ("arm64: dts: ti: Add support for AM62D2-EVM")
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am62d2-evm.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
index d202484eec3f..9a74df221f2a 100644
--- a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
@@ -201,7 +201,7 @@ &mcu_pmx0 {
 
 	pmic_irq_pins_default: pmic-irq-default-pins {
 		pinctrl-single,pins = <
-			AM62DX_MCU_IOPAD(0x000, PIN_INPUT, 7) /* (E11) MCU_GPIO0_0 */
+			AM62DX_IOPAD(0x01f4, PIN_INPUT, 7) /* (F17) EXTINTn.GPIO1_31 */
 		>;
 	};
 
-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Enable PMIC
  2025-09-19  3:28 [PATCH 0/2] Add PMIC support for AM62D Paresh Bhagat
  2025-09-19  3:28 ` [PATCH 1/2] arm64: dts: ti: k3-am62d2-evm: Fix PMIC padconfig Paresh Bhagat
@ 2025-09-19  3:28 ` Paresh Bhagat
  2025-10-07 18:07   ` Shree Ramamoorthy
  1 sibling, 1 reply; 4+ messages in thread
From: Paresh Bhagat @ 2025-09-19  3:28 UTC (permalink / raw)
  To: nm, vigneshr, praneeth
  Cc: kristo, robh, krzk+dt, conor+dt, linux-arm-kernel, devicetree,
	linux-kernel, khasim, v-singh1, afd, bb, s-ramamoorthy

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>
---
 arch/arm64/boot/dts/ti/k3-am62d2-evm.dts | 91 ++++++++++++++++++++++++
 1 file changed, 91 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
index 9a74df221f2a..155abd97b799 100644
--- a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
@@ -214,6 +214,14 @@ AM62DX_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (C8) WKUP_UART0_RTSn */
 		>;
 		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 */
@@ -464,6 +472,89 @@ &main_i2c2 {
 	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;
-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Enable PMIC
  2025-09-19  3:28 ` [PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Enable PMIC Paresh Bhagat
@ 2025-10-07 18:07   ` Shree Ramamoorthy
  0 siblings, 0 replies; 4+ messages in thread
From: Shree Ramamoorthy @ 2025-10-07 18:07 UTC (permalink / raw)
  To: Paresh Bhagat, nm, vigneshr, praneeth
  Cc: kristo, robh, krzk+dt, conor+dt, linux-arm-kernel, devicetree,
	linux-kernel, khasim, v-singh1, afd, bb

On 9/18/2025 10:28 PM, Paresh Bhagat wrote:
> 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>
> ---
>  arch/arm64/boot/dts/ti/k3-am62d2-evm.dts | 91 ++++++++++++++++++++++++
>  1 file changed, 91 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> index 9a74df221f2a..155abd97b799 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
> @@ -214,6 +214,14 @@ AM62DX_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (C8) WKUP_UART0_RTSn */
>  		>;
>  		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 */
> @@ -464,6 +472,89 @@ &main_i2c2 {
>  	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;
> +			};
> +		};
> +	};
> +};
> +

The PMIC node looks correct based on tps6594.yaml + test log regulator summary.
Reviewed-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>

>  &sdhci0 {
>  	/* eMMC */
>  	non-removable;

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-10-07 18:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-19  3:28 [PATCH 0/2] Add PMIC support for AM62D Paresh Bhagat
2025-09-19  3:28 ` [PATCH 1/2] arm64: dts: ti: k3-am62d2-evm: Fix PMIC padconfig Paresh Bhagat
2025-09-19  3:28 ` [PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Enable PMIC Paresh Bhagat
2025-10-07 18:07   ` Shree Ramamoorthy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®