Add a i.MX6 specific entry function which automatically detects the SDRAM size. The prototype has already been present, but it was never implemented. Rename it to imx6q_ since the other variants need other functions. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/mach-imx/esdctl.c | 11 +++++++++++ arch/arm/mach-imx/include/mach/esdctl.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c index a8ef854..2f9f5e9 100644 --- a/arch/arm/mach-imx/esdctl.c +++ b/arch/arm/mach-imx/esdctl.c @@ -576,3 +576,14 @@ void __noreturn imx53_barebox_entry(void *boarddata) barebox_arm_entry(base, size, boarddata); } + +void __noreturn imx6q_barebox_entry(void *boarddata) +{ + u64 size_cs0 = imx6_mmdc_sdram_size((void *)MX6_MMDC_P0_BASE_ADDR, 0); + u64 size_cs1 = imx6_mmdc_sdram_size((void *)MX6_MMDC_P0_BASE_ADDR, 1); + u64 total = size_cs0 + size_cs1; + + resource_size_t size = min(total, (u64)IMX6_MAX_SDRAM_SIZE); + + barebox_arm_entry(0x10000000, size, boarddata); +} diff --git a/arch/arm/mach-imx/include/mach/esdctl.h b/arch/arm/mach-imx/include/mach/esdctl.h index 468a928..cf8d89d 100644 --- a/arch/arm/mach-imx/include/mach/esdctl.h +++ b/arch/arm/mach-imx/include/mach/esdctl.h @@ -135,7 +135,7 @@ void __noreturn imx31_barebox_entry(void *boarddata); void __noreturn imx35_barebox_entry(void *boarddata); void __noreturn imx51_barebox_entry(void *boarddata); void __noreturn imx53_barebox_entry(void *boarddata); -void __noreturn imx6_barebox_entry(void *boarddata); +void __noreturn imx6q_barebox_entry(void *boarddata); void imx_esdctl_disable(void); #endif -- 2.1.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox