[PATCH v2 1/2] ARM: i.MX: scratch: add generic init for imx
Fabian Pflug
f.pflug at pengutronix.de
Wed Dec 10 05:16:14 PST 2025
The zero_init, memset and scratch assignment were the same, and will be
the same for i.MX6. Why not make it generic?
Signed-off-by: Fabian Pflug <f.pflug at pengutronix.de>
---
arch/arm/mach-imx/Kconfig | 2 +-
arch/arm/mach-imx/scratch.c | 18 +++++++++---------
include/mach/imx/scratch.h | 1 +
3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 99b6c51333..208e6488bd 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -57,7 +57,7 @@ config ARCH_IMX_ROMAPI
config ARCH_IMX_SCRATCHMEM
def_bool y
- depends on ARCH_IMX8M || ARCH_IMX9
+ depends on ARCH_IMX6 || ARCH_IMX8M || ARCH_IMX9
config ARCH_IMX_TZASC
bool
diff --git a/arch/arm/mach-imx/scratch.c b/arch/arm/mach-imx/scratch.c
index 393d3a976f..f26038b029 100644
--- a/arch/arm/mach-imx/scratch.c
+++ b/arch/arm/mach-imx/scratch.c
@@ -24,25 +24,25 @@ static_assert(sizeof(struct imx_scratch_space) <= CONFIG_SCRATCH_SIZE);
static struct imx_scratch_space *scratch;
-void imx8m_init_scratch_space(int ddr_buswidth, bool zero_init)
+void imx_init_scratch_space(ulong endmem, bool zero_init)
{
- ulong endmem = MX8M_DDR_CSD1_BASE_ADDR +
- imx8m_barebox_earlymem_size(ddr_buswidth);
-
scratch = (void *)arm_mem_scratch(endmem);
if (zero_init)
memset(scratch, 0, sizeof(*scratch));
}
+void imx8m_init_scratch_space(int ddr_buswidth, bool zero_init)
+{
+ ulong endmem = MX8M_DDR_CSD1_BASE_ADDR +
+ imx8m_barebox_earlymem_size(ddr_buswidth);
+ imx_init_scratch_space(endmem, zero_init);
+}
+
void imx93_init_scratch_space(bool zero_init)
{
ulong endmem = MX9_DDR_CSD1_BASE_ADDR + imx9_ddrc_sdram_size();
-
- scratch = (void *)arm_mem_scratch(endmem);
-
- if (zero_init)
- memset(scratch, 0, sizeof(*scratch));
+ imx_init_scratch_space(endmem, zero_init);
}
void imx8m_scratch_save_bootrom_log(const u32 *rom_log)
diff --git a/include/mach/imx/scratch.h b/include/mach/imx/scratch.h
index a9745a9573..a86f5ca38a 100644
--- a/include/mach/imx/scratch.h
+++ b/include/mach/imx/scratch.h
@@ -3,6 +3,7 @@
#ifndef __MACH_IMX_SCRATCH_H
#define __MACH_IMX_SCRATCH_H
+void imx_init_scratch_space(ulong endmem, bool zero_init);
void imx8m_init_scratch_space(int ddr_buswidth, bool zero_init);
void imx93_init_scratch_space(bool zero_init);
--
2.47.3
More information about the barebox
mailing list