All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: Martin Rowe <martin.p.rowe@gmail.com>,
	Tony Dinh <mibodhi@gmail.com>, Stefan Roese <sr@denx.de>,
	Chris Packham <judge.packham@gmail.com>,
	Baruch Siach <baruch@tkos.co.il>
Cc: u-boot@lists.denx.de
Subject: [PATCH RFC u-boot-mvebu 4/6] arm: mvebu: Define all options for A38x BOOT_FROM_* macros
Date: Sat,  4 Mar 2023 11:50:34 +0100	[thread overview]
Message-ID: <20230304105036.19189-5-pali@kernel.org> (raw)
In-Reply-To: <20230304105036.19189-1-pali@kernel.org>

Disassembling A385 BootROM binary reveal how BootROM interprets strapping
pins for Boot Device Mode. All possible options are:

0x00..0x07 -> Parallel NOR
0x08..0x15 -> Parallel NAND
0x16..0x17 -> Parallel NOR
0x18..0x25 -> Parallel NAND
0x26..0x27 -> SPI NAND
0x28..0x29 -> UART xmodem
0x2a..0x2b -> SATA
0x2c..0x2d -> PCI Express
0x2e..0x2f -> Parallel NOR
0x30..0x31 -> SD / eMMC
0x32..0x39 -> SPI NOR
0x3a..0x3c -> Parallel NOR
0x3d..0x3e -> UART debug console
0x3f       -> Invalid

Note that Boot Device Mode Options in A38x Hardware Specifications is
incomplete.

Signed-off-by: Pali Rohár <pali@kernel.org>
---
 arch/arm/mach-mvebu/include/mach/soc.h | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h
index aa42db36a1ee..698b70339436 100644
--- a/arch/arm/mach-mvebu/include/mach/soc.h
+++ b/arch/arm/mach-mvebu/include/mach/soc.h
@@ -160,11 +160,14 @@
 #define BOOT_DEV_SEL_OFFS	4
 #define BOOT_DEV_SEL_MASK	(0x3f << BOOT_DEV_SEL_OFFS)
 
-#define BOOT_FROM_NAND(x)	(x == 0x0A)
-#define BOOT_FROM_SATA(x)	(x == 0x2A)
-#define BOOT_FROM_UART(x)	(x == 0x28)
-#define BOOT_FROM_SPI(x)	(x == 0x32)
+#define BOOT_FROM_NOR(x)	((x >= 0x00 && x <= 0x07) || x == 0x16 || x == 0x17 || x == 0x2E || x == 0x2F || (x >= 0x3A && x <= 0x3C))
+#define BOOT_FROM_NAND(x)	((x >= 0x08 && x <= 0x15) || (x >= 0x18 && x <= 0x25))
+#define BOOT_FROM_SPINAND(x)	(x == 0x26 || x == 0x27)
+#define BOOT_FROM_UART(x)	(x == 0x28 || x == 0x29)
+#define BOOT_FROM_SATA(x)	(x == 0x2A || x == 0x2B)
+#define BOOT_FROM_PEX(x)	(x == 0x2C || x == 0x2D)
 #define BOOT_FROM_MMC(x)	(x == 0x30 || x == 0x31)
+#define BOOT_FROM_SPI(x)	(x >= 0x32 && x <= 0x39)
 
 #define CONFIG_SYS_TCLK		((readl(CONFIG_SAR_REG) & BIT(15)) ? \
 				 200000000 : 250000000)
-- 
2.20.1


  parent reply	other threads:[~2023-03-04 10:52 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-04 10:50 [PATCH RFC u-boot-mvebu 0/6] arm: mvebu: Fix boot mode detection Pali Rohár
2023-03-04 10:50 ` [PATCH RFC u-boot-mvebu 1/6] arm: mvebu: Remove A38x BOOT_FROM_UART_ALT 0x3f constant Pali Rohár
2023-03-04 10:50 ` [PATCH RFC u-boot-mvebu 2/6] arm: mvebu: Remove A38x BOOT_FROM_SATA 0x22 constant Pali Rohár
2023-03-04 10:50 ` [PATCH RFC u-boot-mvebu 3/6] arm: mvebu: Convert BOOT_FROM_* constants to function macros Pali Rohár
2023-03-05  3:11   ` Martin Rowe
2023-03-05 11:48     ` Pali Rohár
2023-03-27  6:56       ` Stefan Roese
2023-03-04 10:50 ` Pali Rohár [this message]
2023-03-04 11:20   ` [PATCH RFC u-boot-mvebu 4/6] arm: mvebu: Define all options for A38x BOOT_FROM_* macros Pali Rohár
2023-03-05  0:06     ` Martin Rowe
2023-03-05  1:00       ` Pali Rohár
2023-03-04 10:50 ` [PATCH RFC u-boot-mvebu 5/6] arm: mvebu: Define all BOOTROM_ERR_MODE_* macros Pali Rohár
2023-03-04 10:50 ` [PATCH RFC u-boot-mvebu 6/6] arm: mvebu: Define all options for AXP BOOT_FROM_* macros Pali Rohár
2023-03-05  4:21 ` [PATCH RFC u-boot-mvebu 0/6] arm: mvebu: Fix boot mode detection Martin Rowe
2023-03-05 11:55   ` Pali Rohár
2023-03-05 22:44     ` Tony Dinh
2023-03-05 22:46       ` Tony Dinh
2023-03-05 22:54         ` Pali Rohár
2023-03-06  0:41           ` Tony Dinh
2023-03-07  0:01             ` Tony Dinh
2023-03-07  0:11               ` Pali Rohár
2023-03-07  4:15                 ` Tony Dinh
2023-03-07  7:56                   ` Pali Rohár
2023-03-07 20:53                     ` Tony Dinh
2023-03-07 20:55                       ` Pali Rohár
2023-03-19  3:30     ` Martin Rowe
2023-03-19 16:47       ` Pali Rohár
2023-03-19 18:20         ` Pali Rohár
2023-03-20 12:01           ` Martin Rowe
2023-03-20 17:45             ` Pali Rohár
2023-03-20 21:32               ` Pali Rohár
2023-03-21  8:34                 ` Martin Rowe
2023-03-21 17:25                   ` Pali Rohár
2023-03-21 19:56                     ` Pali Rohár
2023-03-21 20:02                       ` Pali Rohár
2023-03-22 11:14                     ` Martin Rowe
2023-03-22 18:09                       ` Pali Rohár
2023-03-23 11:01                         ` Martin Rowe
2023-03-23 18:33                           ` Pali Rohár
2023-03-23 19:19                             ` Pali Rohár
2023-03-20 19:42             ` Pali Rohár
2023-03-21  8:03               ` Martin Rowe
2023-03-21  8:09                 ` Pali Rohár
2023-03-06  6:17 ` Stefan Roese
2023-03-25 13:30 ` Pali Rohár
2023-03-25 19:27   ` Tony Dinh
2023-03-25 20:06     ` Tony Dinh
2023-03-25 23:40   ` Martin Rowe
2023-03-29 19:03 ` [PATCH v2 " Pali Rohár
2023-03-29 19:03   ` [PATCH v2 u-boot-mvebu 1/6] arm: mvebu: Remove A38x BOOT_FROM_UART_ALT 0x3f constant Pali Rohár
2023-03-30  4:55     ` Stefan Roese
2023-03-29 19:03   ` [PATCH v2 u-boot-mvebu 2/6] arm: mvebu: Remove A38x BOOT_FROM_SATA 0x22 constant Pali Rohár
2023-03-30  4:55     ` Stefan Roese
2023-03-29 19:03   ` [PATCH v2 u-boot-mvebu 3/6] arm: mvebu: Convert BOOT_FROM_* constants to function macros Pali Rohár
2023-03-30  4:56     ` Stefan Roese
2023-03-29 19:03   ` [PATCH v2 u-boot-mvebu 4/6] arm: mvebu: Define all options for A38x BOOT_FROM_* macros Pali Rohár
2023-03-30  4:56     ` Stefan Roese
2023-03-29 19:03   ` [PATCH v2 u-boot-mvebu 5/6] arm: mvebu: Define all BOOTROM_ERR_MODE_* macros Pali Rohár
2023-03-30  4:56     ` Stefan Roese
2023-03-29 19:03   ` [PATCH v2 u-boot-mvebu 6/6] arm: mvebu: Define all options for AXP BOOT_FROM_* macros Pali Rohár
2023-03-30  4:57     ` Stefan Roese
2023-03-30  8:19   ` [PATCH v2 u-boot-mvebu 0/6] arm: mvebu: Fix boot mode detection 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=20230304105036.19189-5-pali@kernel.org \
    --to=pali@kernel.org \
    --cc=baruch@tkos.co.il \
    --cc=judge.packham@gmail.com \
    --cc=martin.p.rowe@gmail.com \
    --cc=mibodhi@gmail.com \
    --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.