This removes one block in the move toward 1 u-boot for both a mx6q (quad) and mx6dl (duallite) processor.
Now fdt_file hardcoded value can be removed. Signed-off-by: Troy Kisky <troy.ki...@boundarydevices.com> --- arch/arm/imx-common/cpu.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ arch/arm/lib/board.c | 7 +++++++ 2 files changed, 51 insertions(+) diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index a77c4de..5d48011 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -180,3 +180,47 @@ void arch_preboot_os(void) ipuv3_fb_shutdown(); } #endif + +const char *get_dtb_prefix(u32 imxtype) +{ + switch (imxtype) { + case MXC_CPU_MX6Q: + case MXC_CPU_MX6D: + return "imx6q"; /* Quad/Dual-core version of the mx6 */ + case MXC_CPU_MX6DL: + case MXC_CPU_MX6SOLO: + return "imx6dl"; /* Dual Lite/Solo version of the mx6 */ + case MXC_CPU_MX6SL: + return "imx6sl"; /* Solo-Lite version of the mx6 */ + case MXC_CPU_MX51: + return "imx51"; + case MXC_CPU_MX53: + return "imx53"; + } + return "??"; +} + +int cpu_late_init(void) +{ + char buf[128]; + const char *board; + u32 imxtype = (get_cpu_rev() >> 12) & 0xff; + + if (getenv("fdt_file")) + return 0; + board = getenv("board"); + if (!board) { + board = CONFIG_SYS_BOARD; + if ((board[0] == 'm') && (board[1] == 'x')) { + if (board[2] == '6') { + board += 3; + } else if (board[2] == '5') { + if ((board[3] == '1') || (board[3] == '3')) + board += 4; + } + } + } + sprintf(buf, "%s-%s.dtb", get_dtb_prefix(imxtype), board); + setenv("fdt_file", buf); + return 0; +} diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index e9a7708..61cee98 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -496,6 +496,11 @@ static void display_fdt_model(const void *blob) } #endif +int __weak cpu_late_init(void) +{ + return 0; +} + /************************************************************************ * * This is the next part if the initialization sequence: we are now @@ -649,6 +654,8 @@ void board_init_r(gd_t *id, ulong dest_addr) board_late_init(); #endif + cpu_late_init(); + #ifdef CONFIG_BITBANGMII bb_miiphy_init(); #endif -- 1.8.1.2 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot