Merge patch series "J721S2: Enable ESMs and related PMIC"

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

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

Logs
WDT reset J721S2
https://gist.github.com/uditkumarti/93cfe863d1f3fe3abb82b1821105f274#file-j721s2-L2708

AM68 boot (this does not support WDT)
https://gist.github.com/uditkumarti/93cfe863d1f3fe3abb82b1821105f274#file-am68

Link: https://lore.kernel.org/r/20241126053426.2627686-1-u-kumar1@ti.com
[trini: Merge configs/am68_sk_r5_defconfig]
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Tom Rini 2024-12-13 14:12:46 -06:00
commit 6b34e2e7bd
4 changed files with 32 additions and 0 deletions

View file

@ -13,6 +13,10 @@
&tps659411 {
bootph-pre-ram;
esm: esm {
compatible = "ti,tps659413-esm";
bootph-pre-ram;
};
};
&wkup_vtm0 {

View file

@ -326,4 +326,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

@ -5,6 +5,9 @@ CONFIG_ARCH_K3=y
CONFIG_SOC_K3_J721S2=y
CONFIG_TARGET_J721S2_R5_EVM=y
CONFIG_ESM_K3=n
CONFIG_K3_AVS0=n
CONFIG_ESM_PMIC=n
CONFIG_DM_REGULATOR_TPS65941=n
CONFIG_PMIC_TPS65941=n

View file

@ -111,7 +111,9 @@ CONFIG_DM_MAILBOX=y
CONFIG_K3_SEC_PROXY=y
CONFIG_FS_LOADER=y
CONFIG_SPL_FS_LOADER=y
CONFIG_ESM_K3=y
CONFIG_K3_AVS0=y
CONFIG_ESM_PMIC=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_SPL_MMC_HS400_SUPPORT=y
CONFIG_MMC_SDHCI=y