Hi,
On 10/3/23 19:04, Polak, Leszek wrote:
The SelectMAP configuration interface provides an 8-bit, 16-bit or
32-bit bidirectional data bus interface to the Versal FPGA
configuration logic that can be used for both configuration and
readback.
A connected microcontoller to the SelectMAP interface can load boot
image with bitstream, TF-A (ARM Trusted Firmware) and U-Boot.
This commit adds the missing identification of the SelectMAP mode.
Signed-off-by: Polak, Leszek <lpo...@arri.de>
Reviewed-by: Stefan Roese <s...@denx.de>
Cc: Michal Simek <michal.si...@amd.com>
Cc: Stefan Roese <s...@denx.de>
---
v2:
- Drop assignment of 'mode' as selectmap is not be supported
by distro boot
v3:
- Changed E-Mail/Name to be the same as git setup
---
arch/arm/mach-versal-net/include/mach/hardware.h | 1 +
arch/arm/mach-versal/include/mach/hardware.h | 1 +
board/xilinx/versal-net/board.c | 3 +++
board/xilinx/versal/board.c | 4 ++++
4 files changed, 9 insertions(+)
diff --git a/arch/arm/mach-versal-net/include/mach/hardware.h
b/arch/arm/mach-versal-net/include/mach/hardware.h
index 9bddb8b007..767cdd3686 100644
--- a/arch/arm/mach-versal-net/include/mach/hardware.h
+++ b/arch/arm/mach-versal-net/include/mach/hardware.h
@@ -66,6 +66,7 @@ struct crp_regs {
#define EMMC_MODE 0x00000006
#define USB_MODE 0x00000007
#define OSPI_MODE 0x00000008
+#define SELECTMAP_MODE 0x0000000A
#define SD1_LSHFT_MODE 0x0000000E /* SD1 Level shifter */
#define JTAG_MODE 0x00000000
#define BOOT_MODE_USE_ALT 0x100
diff --git a/arch/arm/mach-versal/include/mach/hardware.h
b/arch/arm/mach-versal/include/mach/hardware.h
index 000af974e8..9d1c2f0dcf 100644
--- a/arch/arm/mach-versal/include/mach/hardware.h
+++ b/arch/arm/mach-versal/include/mach/hardware.h
@@ -82,6 +82,7 @@ struct crp_regs {
#define EMMC_MODE 0x00000006
#define USB_MODE 0x00000007
#define OSPI_MODE 0x00000008
+#define SELECTMAP_MODE 0x0000000A
#define SD1_LSHFT_MODE 0x0000000E /* SD1 Level shifter */
#define JTAG_MODE 0x00000000
#define BOOT_MODE_USE_ALT 0x100
diff --git a/board/xilinx/versal-net/board.c b/board/xilinx/versal-net/board.c
index f0d2224b33..651b7d24d7 100644
--- a/board/xilinx/versal-net/board.c
+++ b/board/xilinx/versal-net/board.c
@@ -260,6 +260,9 @@ int board_late_init(void)
mode = "mmc";
bootseq = dev_seq(dev);
break;
+ case SELECTMAP_MODE:
+ puts("SELECTMAP_MODE\n");
+ break;
case SD_MODE:
puts("SD_MODE\n");
if (uclass_get_device_by_name(UCLASS_MMC,
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 60bf37d3c9..26b4c7bf39 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -182,6 +182,9 @@ int board_late_init(void)
mode = "mmc";
bootseq = dev_seq(dev);
break;
+ case SELECTMAP_MODE:
+ puts("SELECTMAP_MODE\n");
+ break;
case SD_MODE:
puts("SD_MODE\n");
if (uclass_get_device_by_name(UCLASS_MMC,
@@ -298,6 +301,7 @@ enum env_location env_get_location(enum env_operation op,
int prio)
return ENVL_SPI_FLASH;
return ENVL_NOWHERE;
case JTAG_MODE:
+ case SELECTMAP_MODE:
default:
return ENVL_NOWHERE;
}
If I compare v2 with with v3 I see that tabs have been converted to spaces which
is nicely visible above if you focus on alignment.
This is causing that I can't apply the patch.
Please fix it.
Thanks,
Michal
[u-boot](debian-sent3)$ b4 am
du0pr07mb84197fd4d47e8f4921e200b1c8...@du0pr07mb8419.eurprd07.prod.outlook.com
Grabbing thread from
lore.kernel.org/all/DU0PR07MB84197FD4D47E8F4921E200B1C8C4A%40DU0PR07MB8419.eurprd07.prod.outlook.com/t.mbox.gz
Analyzing 1 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH v3] arm64: versal: Add SelectMAP boot mode identification
---
✓ Signed: DKIM/arrigroup.onmicrosoft.com (From: lpo...@arri.de)
---
Total patches: 1
---
Link:
https://lore.kernel.org/r/du0pr07mb84197fd4d47e8f4921e200b1c8...@du0pr07mb8419.eurprd07.prod.outlook.com
Base: not specified
git am
./v3_20231003_lpolak_arm64_versal_add_selectmap_boot_mode_identification.mbx
[u-boot](debian-sent3)$ git am -s
./v3_20231003_lpolak_arm64_versal_add_selectmap_boot_mode_identification.mbx
Adding link to lore.kernel.org
Applying: arm64: versal: Add SelectMAP boot mode identification
error: patch failed: arch/arm/mach-versal-net/include/mach/hardware.h:66
error: arch/arm/mach-versal-net/include/mach/hardware.h: patch does not apply
error: patch failed: arch/arm/mach-versal/include/mach/hardware.h:82
error: arch/arm/mach-versal/include/mach/hardware.h: patch does not apply
error: patch failed: board/xilinx/versal-net/board.c:260
error: board/xilinx/versal-net/board.c: patch does not apply
error: patch failed: board/xilinx/versal/board.c:182
error: board/xilinx/versal/board.c: patch does not apply
Patch failed at 0001 arm64: versal: Add SelectMAP boot mode identification
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".