Now that we have a generic ARM scratch area and a way to find out where it is, add new helper functions that return a pointer to this area. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- arch/arm/mach-imx/include/mach/xload.h | 11 +++++++++++ arch/arm/mach-imx/xload-common.c | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/arch/arm/mach-imx/include/mach/xload.h b/arch/arm/mach-imx/include/mach/xload.h index 82bf663c4266..d19bedb9e84a 100644 --- a/arch/arm/mach-imx/include/mach/xload.h +++ b/arch/arm/mach-imx/include/mach/xload.h @@ -30,4 +30,15 @@ int piggydata_size(void); extern unsigned char input_data[]; extern unsigned char input_data_end[]; +struct imx_scratch_space { + u32 bootrom_log[128]; +}; + +struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth); + +#define imx8mq_scratch_space() __imx8m_scratch_space(32) +#define imx8mm_scratch_space() __imx8m_scratch_space(32) +#define imx8mn_scratch_space() __imx8m_scratch_space(16) +#define imx8mp_scratch_space() __imx8m_scratch_space(32) + #endif /* __MACH_XLOAD_H */ diff --git a/arch/arm/mach-imx/xload-common.c b/arch/arm/mach-imx/xload-common.c index f4bcca1d1483..710dcc1ed909 100644 --- a/arch/arm/mach-imx/xload-common.c +++ b/arch/arm/mach-imx/xload-common.c @@ -4,6 +4,9 @@ #include <asm/sections.h> #include <linux/sizes.h> #include <mach/xload.h> +#include <mach/esdctl.h> +#include <mach/imx8m-regs.h> +#include <asm/barebox-arm.h> int imx_image_size(void) { @@ -16,3 +19,10 @@ int piggydata_size(void) return input_data_end - input_data; } +struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth) +{ + ulong endmem = MX8M_DDR_CSD1_BASE_ADDR + + imx8m_barebox_earlymem_size(ddr_buswidth); + + return (void *)__arm_mem_scratch(endmem); +} -- 2.30.2