diff options
author | Ye Li <ye.li@nxp.com> | 2016-03-10 17:18:57 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-04-05 14:04:42 +0800 |
commit | b1200eb220e35d9f53adbb5feb1dc4d381d4f616 (patch) | |
tree | 2b07b124c9ae781d3af6d65ed006b858158146db /board/freescale/mx6sxsabresd | |
parent | b3b794bf382101fd82cfa12a5e717bd2cc6ca10a (diff) | |
download | u-boot-imx-b1200eb220e35d9f53adbb5feb1dc4d381d4f616.zip u-boot-imx-b1200eb220e35d9f53adbb5feb1dc4d381d4f616.tar.gz u-boot-imx-b1200eb220e35d9f53adbb5feb1dc4d381d4f616.tar.bz2 |
MLK-12531 mx6sxsabresd: Add CM4 fast boot up demo
This is a demo that CM4 will boot up by u-boot without typing any
command. It boots up at u-boot early init, try to minimize the time
from power up to the CM4 running.
Since CM4 runs on QSPI NOR XIP, we have to disable the QSPI driver in
u-boot to avoid conflict.
RDC for shared GPIO1 is added, but not enabled, because the kernel is
not ready for shared GPIO1. Users can uncomment the CONFIG_IMX_RDC to
enable it.
Some legacy codes in mx6sxsabreauto are removed. We only need this work
on mx6sxsabresd as a demo.
Signed-off-by: Ye Li <ye.li@nxp.com>
(cherry picked from commit f66842f79d4e33ace45762466eed23a86d367642)
Diffstat (limited to 'board/freescale/mx6sxsabresd')
-rw-r--r-- | board/freescale/mx6sxsabresd/mx6sxsabresd.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/board/freescale/mx6sxsabresd/mx6sxsabresd.c b/board/freescale/mx6sxsabresd/mx6sxsabresd.c index ebb837b..1f47c5d 100644 --- a/board/freescale/mx6sxsabresd/mx6sxsabresd.c +++ b/board/freescale/mx6sxsabresd/mx6sxsabresd.c @@ -31,6 +31,11 @@ #include <usb/ehci-ci.h> #include <asm/imx-common/video.h> +#ifdef CONFIG_IMX_RDC +#include <asm/imx-common/rdc-sema.h> +#include <asm/arch/imx-rdc.h> +#endif + DECLARE_GLOBAL_DATA_PTR; #define UART_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ @@ -442,8 +447,22 @@ int board_phy_config(struct phy_device *phydev) return 0; } +#ifdef CONFIG_IMX_RDC +static rdc_peri_cfg_t const shared_resources[] = { + (RDC_PER_GPIO1 | RDC_DOMAIN(0) | RDC_DOMAIN(1)), +}; +#endif + int board_early_init_f(void) { +#ifdef CONFIG_IMX_RDC + imx_rdc_setup_peripherals(shared_resources, ARRAY_SIZE(shared_resources)); +#endif + +#ifdef CONFIG_SYS_AUXCORE_FASTUP + arch_auxiliary_core_up(0, CONFIG_SYS_AUXCORE_BOOTDATA); +#endif + setup_iomux_uart(); return 0; |