Merge patch series "k3-j784s4*: Enable ESMs and related PMIC"

Udit Kumar <u-kumar1@ti.com> says:

This series enables the ESMs and the associated PMIC. Programming these bits is
a requirement to make the watchdog actually reset the board.

Series supports WDT reset on all TI platforms based upon J784S4 SOC
including cut down (J742S2).

Bootlogs for reset

AM69: https://gist.github.com/uditkumarti/dca2171aafd6d50c82159346f9a0102f#file-am69-L2466

J784S4: https://gist.github.com/uditkumarti/dca2171aafd6d50c82159346f9a0102f#file-j784s4-L2704

J742S2: https://gist.github.com/uditkumarti/dca2171aafd6d50c82159346f9a0102f#file-j742s2-L2614

Link: https://lore.kernel.org/r/20250427070323.590449-1-u-kumar1@ti.com
This commit is contained in:
Tom Rini
2025-05-02 14:24:21 -06:00
4 changed files with 43 additions and 0 deletions

View File

@@ -10,3 +10,10 @@
#include "k3-j784s4-ddr.dtsi"
#include "k3-am69-sk-u-boot.dtsi"
#include "k3-j784s4-r5.dtsi"
&tps659413 {
esm: esm {
compatible = "ti,tps659413-esm";
bootph-pre-ram;
};
};

View File

@@ -10,3 +10,10 @@
#include "k3-j784s4-ddr.dtsi"
#include "k3-j784s4-evm-u-boot.dtsi"
#include "k3-j784s4-r5.dtsi"
&tps659413 {
esm: esm {
compatible = "ti,tps659413-esm";
bootph-pre-ram;
};
};

View File

@@ -7,6 +7,7 @@
*
*/
#include <dm.h>
#include <efi_loader.h>
#include <init.h>
#include <spl.h>
@@ -67,4 +68,27 @@ int board_late_init(void)
void spl_board_init(void)
{
struct udevice *dev;
int ret;
if (IS_ENABLED(CONFIG_ESM_K3)) {
const char * const esms[] = {"esm@700000", "esm@40800000", "esm@42080000"};
for (int i = 0; i < ARRAY_SIZE(esms); ++i) {
ret = uclass_get_device_by_name(UCLASS_MISC, esms[i],
&dev);
if (ret) {
printf("MISC init for %s failed: %d\n", esms[i], ret);
break;
}
}
}
if (IS_ENABLED(CONFIG_ESM_PMIC) && ret == 0) {
ret = uclass_get_device_by_driver(UCLASS_MISC,
DM_DRIVER_GET(pmic_esm),
&dev);
if (ret)
printf("ESM PMIC init failed: %d\n", ret);
}
}

View File

@@ -125,6 +125,11 @@ CONFIG_SPL_PINCTRL=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_POWER_DOMAIN=y
CONFIG_TI_POWER_DOMAIN=y
CONFIG_ESM_K3=y
CONFIG_ESM_PMIC=y
CONFIG_DM_PMIC=y
CONFIG_PMIC_TPS65941=y
CONFIG_DM_REGULATOR_TPS65941=y
CONFIG_DM_REGULATOR=y
CONFIG_SPL_DM_REGULATOR=y
CONFIG_SPL_DM_REGULATOR_TPS6287X=y