mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
imx8: scu: use dedicated MU for SPL
SPL runs in EL3 mode, except MU0_A, others are not powered on, and could not be used. However normal U-Boot use MU1_A, so we could not reuse the one in dts. And we could not replace the one in dts with MU0_A, because MU0_A is reserved in secure world. Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
3bd888b55e
commit
04b249656e
2 changed files with 11 additions and 0 deletions
|
@ -3,6 +3,13 @@ if ARCH_IMX8
|
||||||
config IMX8
|
config IMX8
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config MU_BASE_SPL
|
||||||
|
hex "MU base address used in SPL"
|
||||||
|
default 0x5d1b0000
|
||||||
|
help
|
||||||
|
SPL runs in EL3 mode, it use MU0_A to communicate with SCU.
|
||||||
|
So we could not reuse the one in dts which is for normal U-Boot.
|
||||||
|
|
||||||
config IMX8QXP
|
config IMX8QXP
|
||||||
select IMX8
|
select IMX8
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
|
|
|
@ -191,7 +191,11 @@ static int imx8_scu_probe(struct udevice *dev)
|
||||||
if (addr == FDT_ADDR_T_NONE)
|
if (addr == FDT_ADDR_T_NONE)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPL_BUILD
|
||||||
|
plat->base = (struct mu_type *)CONFIG_MU_BASE_SPL;
|
||||||
|
#else
|
||||||
plat->base = (struct mu_type *)addr;
|
plat->base = (struct mu_type *)addr;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* U-Boot not enable interrupts, so need to enable RX interrupts */
|
/* U-Boot not enable interrupts, so need to enable RX interrupts */
|
||||||
mu_hal_init(plat->base);
|
mu_hal_init(plat->base);
|
||||||
|
|
Loading…
Reference in a new issue