]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: mvebu: Define env_sf_get_env_addr() also for Proper U-Boot
authorPali Rohár <pali@kernel.org>
Fri, 3 Feb 2023 20:41:45 +0000 (21:41 +0100)
committerStefan Roese <sr@denx.de>
Wed, 1 Mar 2023 05:39:18 +0000 (06:39 +0100)
Proper U-Boot moves SPI0 CS0 Flash mapping from 0xD4000000 to 0xF4000000
and change its size from 64 MB to 8 MB. Definitions are already in
MBUS_SPI_BASE/MBUS_SPI_SIZE macros. So define these macros also for SPL
build, use them in env_sf_get_env_addr() function and move this function
from spl.c to cpu.c to be available in Proper U-Boot too.

Signed-off-by: Pali Rohár <pali@kernel.org>
arch/arm/mach-mvebu/cpu.c
arch/arm/mach-mvebu/include/mach/cpu.h
arch/arm/mach-mvebu/spl.c

index 6fbbfcf1bc86757cbe573c0becf32978f29d7cec..bbe167ed6348edbdb8d2a4a69318fb073e97703b 100644 (file)
@@ -35,6 +35,15 @@ static const struct mbus_win windows[] = {
 #endif
 };
 
+/* SPI0 CS0 Flash of size MBUS_SPI_SIZE is mapped to address MBUS_SPI_BASE */
+#if CONFIG_ENV_SPI_BUS == 0 && CONFIG_ENV_SPI_CS == 0 && \
+    CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE <= MBUS_SPI_SIZE
+void *env_sf_get_env_addr(void)
+{
+       return (void *)MBUS_SPI_BASE + CONFIG_ENV_OFFSET;
+}
+#endif
+
 void lowlevel_init(void)
 {
        /*
index c17c2440f1b1a06448dd05614ecef66ecdf03d0c..906a8737a401edb8ae4b37c09d07fdf6744b0068 100644 (file)
@@ -71,8 +71,13 @@ enum cpu_attrib {
 #define MBUS_PCI_MEM_SIZE      ((MBUS_PCI_MAX_PORTS * 128) << 20)
 #define MBUS_PCI_IO_BASE       0xF1100000
 #define MBUS_PCI_IO_SIZE       ((MBUS_PCI_MAX_PORTS * 64) << 10)
+#ifdef CONFIG_SPL_BUILD
+#define MBUS_SPI_BASE          0xD4000000
+#define MBUS_SPI_SIZE          (64 << 20)
+#else
 #define MBUS_SPI_BASE          0xF4000000
 #define MBUS_SPI_SIZE          (8 << 20)
+#endif
 #define MBUS_DFX_BASE          0xF6000000
 #define MBUS_DFX_SIZE          (1 << 20)
 #define MBUS_BOOTROM_BASE      0xF8000000
index 02528e025d8c4539179d70a43351d0e7543e5eb0..6b8c72a71dab6afb66a39faabdb27d47e103d14f 100644 (file)
@@ -308,19 +308,6 @@ int board_return_to_bootrom(struct spl_image_info *spl_image,
        hang();
 }
 
-/*
- * SPI0 CS0 Flash is mapped to address range 0xD4000000 - 0xD7FFFFFF by BootROM.
- * Proper U-Boot removes this direct mapping. So it is available only in SPL.
- */
-#if defined(CONFIG_SPL_ENV_IS_IN_SPI_FLASH) && \
-    CONFIG_ENV_SPI_BUS == 0 && CONFIG_ENV_SPI_CS == 0 && \
-    CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE <= 64*1024*1024
-void *env_sf_get_env_addr(void)
-{
-       return (void *)0xD4000000 + CONFIG_ENV_OFFSET;
-}
-#endif
-
 void board_init_f(ulong dummy)
 {
        int ret;