arch: arm: mach-k3: am642_init: Probe ESM nodes
Configure CTRLMMR_MCU_RST_CTRL register only, when the R5 SPL is built with CONFIG_ESM_K3 flag is set in the board configuration. Signed-off-by: Hari Nagalla <hnagalla@ti.com>
This commit is contained in:
parent
2469f242fc
commit
5eabe81f76
|
|
@ -32,17 +32,6 @@ static void ctrl_mmr_unlock(void)
|
||||||
/* Unlock all PADCFG_MMR1 module registers */
|
/* Unlock all PADCFG_MMR1 module registers */
|
||||||
mmr_unlock(PADCFG_MMR1_BASE, 1);
|
mmr_unlock(PADCFG_MMR1_BASE, 1);
|
||||||
|
|
||||||
/* Unlock all CTRL_MMR0 module registers */
|
|
||||||
mmr_unlock(CTRL_MMR0_BASE, 0);
|
|
||||||
mmr_unlock(CTRL_MMR0_BASE, 1);
|
|
||||||
mmr_unlock(CTRL_MMR0_BASE, 2);
|
|
||||||
mmr_unlock(CTRL_MMR0_BASE, 3);
|
|
||||||
mmr_unlock(CTRL_MMR0_BASE, 5);
|
|
||||||
mmr_unlock(CTRL_MMR0_BASE, 6);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void mcu_ctrl_mmr_unlock(void)
|
|
||||||
{
|
|
||||||
/* Unlock all MCU_CTRL_MMR0 module registers */
|
/* Unlock all MCU_CTRL_MMR0 module registers */
|
||||||
mmr_unlock(MCU_CTRL_MMR0_BASE, 0);
|
mmr_unlock(MCU_CTRL_MMR0_BASE, 0);
|
||||||
mmr_unlock(MCU_CTRL_MMR0_BASE, 1);
|
mmr_unlock(MCU_CTRL_MMR0_BASE, 1);
|
||||||
|
|
@ -50,6 +39,14 @@ static void mcu_ctrl_mmr_unlock(void)
|
||||||
mmr_unlock(MCU_CTRL_MMR0_BASE, 3);
|
mmr_unlock(MCU_CTRL_MMR0_BASE, 3);
|
||||||
mmr_unlock(MCU_CTRL_MMR0_BASE, 4);
|
mmr_unlock(MCU_CTRL_MMR0_BASE, 4);
|
||||||
mmr_unlock(MCU_CTRL_MMR0_BASE, 6);
|
mmr_unlock(MCU_CTRL_MMR0_BASE, 6);
|
||||||
|
|
||||||
|
/* Unlock all CTRL_MMR0 module registers */
|
||||||
|
mmr_unlock(CTRL_MMR0_BASE, 0);
|
||||||
|
mmr_unlock(CTRL_MMR0_BASE, 1);
|
||||||
|
mmr_unlock(CTRL_MMR0_BASE, 2);
|
||||||
|
mmr_unlock(CTRL_MMR0_BASE, 3);
|
||||||
|
mmr_unlock(CTRL_MMR0_BASE, 5);
|
||||||
|
mmr_unlock(CTRL_MMR0_BASE, 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -152,6 +149,7 @@ void do_dt_magic(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_ESM_K3)
|
||||||
static void enable_mcu_esm_reset(void)
|
static void enable_mcu_esm_reset(void)
|
||||||
{
|
{
|
||||||
/* Set CTRLMMR_MCU_RST_CTRL:MCU_ESM_ERROR_RST_EN_Z to '0' (low active) */
|
/* Set CTRLMMR_MCU_RST_CTRL:MCU_ESM_ERROR_RST_EN_Z to '0' (low active) */
|
||||||
|
|
@ -160,10 +158,11 @@ static void enable_mcu_esm_reset(void)
|
||||||
stat &= 0xFFFDFFFF;
|
stat &= 0xFFFDFFFF;
|
||||||
writel(stat, CTRLMMR_MCU_RST_CTRL);
|
writel(stat, CTRLMMR_MCU_RST_CTRL);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void board_init_f(ulong dummy)
|
void board_init_f(ulong dummy)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_K3_LOAD_SYSFW) || defined(CONFIG_K3_AM64_DDRSS)
|
#if defined(CONFIG_K3_LOAD_SYSFW) || defined(CONFIG_K3_AM64_DDRSS) || defined(CONFIG_ESM_K3)
|
||||||
struct udevice *dev;
|
struct udevice *dev;
|
||||||
int ret;
|
int ret;
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -179,9 +178,6 @@ void board_init_f(ulong dummy)
|
||||||
store_boot_info_from_rom();
|
store_boot_info_from_rom();
|
||||||
|
|
||||||
ctrl_mmr_unlock();
|
ctrl_mmr_unlock();
|
||||||
mcu_ctrl_mmr_unlock();
|
|
||||||
|
|
||||||
enable_mcu_esm_reset();
|
|
||||||
|
|
||||||
/* Init DM early */
|
/* Init DM early */
|
||||||
spl_early_init();
|
spl_early_init();
|
||||||
|
|
@ -216,7 +212,9 @@ void board_init_f(ulong dummy)
|
||||||
/* Output System Firmware version info */
|
/* Output System Firmware version info */
|
||||||
k3_sysfw_print_ver();
|
k3_sysfw_print_ver();
|
||||||
|
|
||||||
#ifdef CONFIG_ESM_K3
|
#if defined(CONFIG_ESM_K3)
|
||||||
|
enable_mcu_esm_reset();
|
||||||
|
|
||||||
/* Probe/configure ESM0 */
|
/* Probe/configure ESM0 */
|
||||||
ret = uclass_get_device_by_name(UCLASS_MISC, "esm@420000", &dev);
|
ret = uclass_get_device_by_name(UCLASS_MISC, "esm@420000", &dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue