[PATCH 03/18] ARM: i.MX8M: scratch: make imx_scratch_space private
Marco Felsch
m.felsch at pengutronix.de
Thu Jan 11 03:48:26 PST 2024
Make the scratch layout opaque and provide required accessor functions
to make it easier to extent it later on.
Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
---
arch/arm/mach-imx/romapi.c | 6 ++----
arch/arm/mach-imx/scratch.c | 12 +++++++++++-
include/mach/imx/scratch.h | 6 ++----
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-imx/romapi.c b/arch/arm/mach-imx/romapi.c
index e11f38202461..51e35c9d2aa2 100644
--- a/arch/arm/mach-imx/romapi.c
+++ b/arch/arm/mach-imx/romapi.c
@@ -220,10 +220,8 @@ const u32 *imx8m_get_bootrom_log(void)
return (u32 *)rom_log_addr;
}
- if (!IN_PBL) {
- const struct imx_scratch_space *scratch = arm_mem_scratch_get();
- return scratch->bootrom_log;
- }
+ if (!IN_PBL)
+ return imx8m_scratch_get_bootrom_log();
return NULL;
}
diff --git a/arch/arm/mach-imx/scratch.c b/arch/arm/mach-imx/scratch.c
index 0828b55ff8e5..fba00955c095 100644
--- a/arch/arm/mach-imx/scratch.c
+++ b/arch/arm/mach-imx/scratch.c
@@ -8,7 +8,11 @@
#include <mach/imx/scratch.h>
#include <memory.h>
-struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth)
+struct imx_scratch_space {
+ u32 bootrom_log[128];
+};
+
+void *__imx8m_scratch_space(int ddr_buswidth)
{
ulong endmem = MX8M_DDR_CSD1_BASE_ADDR +
imx8m_barebox_earlymem_size(ddr_buswidth);
@@ -16,6 +20,12 @@ struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth)
return (void *)arm_mem_scratch(endmem);
}
+const u32 *imx8m_scratch_get_bootrom_log(void)
+{
+ const struct imx_scratch_space *scratch = arm_mem_scratch_get();
+ return scratch->bootrom_log;
+}
+
static int imx8m_reserve_scratch_area(void)
{
return PTR_ERR_OR_ZERO(request_sdram_region("scratch area",
diff --git a/include/mach/imx/scratch.h b/include/mach/imx/scratch.h
index 6dcf35750caf..9b01cf315622 100644
--- a/include/mach/imx/scratch.h
+++ b/include/mach/imx/scratch.h
@@ -3,11 +3,9 @@
#ifndef __MACH_IMX_SCRATCH_H
#define __MACH_IMX_SCRATCH_H
-struct imx_scratch_space {
- u32 bootrom_log[128];
-};
+void *__imx8m_scratch_space(int ddr_buswidth);
-struct imx_scratch_space *__imx8m_scratch_space(int ddr_buswidth);
+const u32 *imx8m_scratch_get_bootrom_log(void);
#define imx8mq_scratch_space() __imx8m_scratch_space(32)
#define imx8mm_scratch_space() __imx8m_scratch_space(32)
--
2.39.2
More information about the barebox
mailing list