[PATCH 2/5] ARM: i.MX8M: esdctl: export imx8m_barebox_earlymem_size
Ahmad Fatoum
a.fatoum at pengutronix.de
Tue Nov 1 11:06:40 PDT 2022
Board code will need to find out early endmem to use newly defined
scratch space, so factor out a new helper function to get earlymem size.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
arch/arm/mach-imx/esdctl.c | 11 ++++++++---
arch/arm/mach-imx/include/mach/esdctl.h | 3 +++
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c
index a55ee06b8346..8de20ed42338 100644
--- a/arch/arm/mach-imx/esdctl.c
+++ b/arch/arm/mach-imx/esdctl.c
@@ -923,7 +923,7 @@ void __noreturn vf610_barebox_entry(void *boarddata)
boarddata);
}
-static void __noreturn imx8m_barebox_entry(void *boarddata, unsigned buswidth)
+resource_size_t imx8m_barebox_earlymem_size(unsigned buswidth)
{
resource_size_t size;
@@ -937,8 +937,13 @@ static void __noreturn imx8m_barebox_entry(void *boarddata, unsigned buswidth)
* pool placement. The rest of the system should be able to
* detect and utilize full amount of memory.
*/
- size = min_t(resource_size_t, SZ_4G - MX8M_DDR_CSD1_BASE_ADDR, size);
- barebox_arm_entry(MX8M_DDR_CSD1_BASE_ADDR, size, boarddata);
+ return min_t(resource_size_t, SZ_4G - MX8M_DDR_CSD1_BASE_ADDR, size);
+}
+
+static void __noreturn imx8m_barebox_entry(void *boarddata, unsigned buswidth)
+{
+ barebox_arm_entry(MX8M_DDR_CSD1_BASE_ADDR,
+ imx8m_barebox_earlymem_size(buswidth), boarddata);
}
void __noreturn imx8mm_barebox_entry(void *boarddata)
diff --git a/arch/arm/mach-imx/include/mach/esdctl.h b/arch/arm/mach-imx/include/mach/esdctl.h
index b0b531aed4a2..01533478cce8 100644
--- a/arch/arm/mach-imx/include/mach/esdctl.h
+++ b/arch/arm/mach-imx/include/mach/esdctl.h
@@ -131,6 +131,8 @@
#define ESDCFGx_tRC_16 0x0000000f
#ifndef __ASSEMBLY__
+#include <linux/types.h>
+
void __noreturn imx1_barebox_entry(void *boarddata);
void __noreturn imx25_barebox_entry(void *boarddata);
void __noreturn imx27_barebox_entry(void *boarddata);
@@ -148,6 +150,7 @@ void __noreturn imx8mq_barebox_entry(void *boarddata);
void __noreturn imx7d_barebox_entry(void *boarddata);
#define imx6sx_barebox_entry(boarddata) imx6ul_barebox_entry(boarddata)
void imx_esdctl_disable(void);
+resource_size_t imx8m_barebox_earlymem_size(unsigned buswidth);
#endif
#endif /* __MACH_ESDCTL_V2_H */
--
2.30.2
More information about the barebox
mailing list