From: "Pali Rohár" <pali@kernel.org>
To: "Stefan Roese" <sr@denx.de>, "Marek Behún" <kabel@kernel.org>
Cc: u-boot@lists.denx.de
Subject: [PATCH] arm: mvebu: Define env_sf_get_env_addr() for all Armada boards in SPL
Date: Mon, 8 Aug 2022 19:13:43 +0200 [thread overview]
Message-ID: <20220808171343.10176-1-pali@kernel.org> (raw)
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.
This applies for all 32-bit Armada BootROMs. SPL mvebu code is used only on
32-bit Armada SoCs. So move env_sf_get_env_addr() function from Turris
Omnia board to common SPL mvebu code and add proper checks for SPI0 CS0.
Signed-off-by: Pali Rohár <pali@kernel.org>
---
arch/arm/mach-mvebu/spl.c | 13 +++++++++++++
board/CZ.NIC/turris_omnia/turris_omnia.c | 10 ----------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
index 13c99913c380..866e0ac62345 100644
--- a/arch/arm/mach-mvebu/spl.c
+++ b/arch/arm/mach-mvebu/spl.c
@@ -292,6 +292,19 @@ 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;
diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
index 5921769f1e1d..3180305f8031 100644
--- a/board/CZ.NIC/turris_omnia/turris_omnia.c
+++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
@@ -255,16 +255,6 @@ static bool omnia_detect_wwan_usb3(const char *wwan_slot)
return false;
}
-void *env_sf_get_env_addr(void)
-{
- /* SPI Flash is mapped to address 0xD4000000 only in SPL */
-#ifdef CONFIG_SPL_BUILD
- return (void *)0xD4000000 + CONFIG_ENV_OFFSET;
-#else
- return NULL;
-#endif
-}
-
int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)
{
#ifdef CONFIG_SPL_ENV_SUPPORT
--
2.20.1
next reply other threads:[~2022-08-08 17:14 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-08 17:13 Pali Rohár [this message]
2022-08-09 9:20 ` [PATCH] arm: mvebu: Define env_sf_get_env_addr() for all Armada boards in SPL Marek Behún
2022-08-09 9:27 ` Pali Rohár
2022-08-09 12:45 ` Marek Behún
2022-08-09 13:12 ` Stefan Roese
2022-08-23 14:57 ` Stefan Roese
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220808171343.10176-1-pali@kernel.org \
--to=pali@kernel.org \
--cc=kabel@kernel.org \
--cc=sr@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.