]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm64: versal: Add SelectMAP boot mode identification
authorPolak, Leszek <LPolak@arri.de>
Sun, 8 Oct 2023 14:34:42 +0000 (14:34 +0000)
committerMichal Simek <michal.simek@amd.com>
Mon, 9 Oct 2023 11:03:23 +0000 (13:03 +0200)
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 <LPolak@arri.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Cc: Michal Simek <michal.simek@amd.com>
Cc: Stefan Roese <sr@denx.de>
Link: https://lore.kernel.org/r/DU0PR07MB8419F7765892CDBCE7D559C5C8CFA@DU0PR07MB8419.eurprd07.prod.outlook.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
arch/arm/mach-versal-net/include/mach/hardware.h
arch/arm/mach-versal/include/mach/hardware.h
board/xilinx/versal-net/board.c
board/xilinx/versal/board.c

index 9bddb8b0072331ed1a7d6b89325186b3161be95d..767cdd36868213e04d18784c6834008f9c30f795 100644 (file)
@@ -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
index 000af974e867ff3e736bedecfd3e69ce54e10778..9d1c2f0dcfc11ef0098ea878f8ea0150e3fc009f 100644 (file)
@@ -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
index c18be0c26c995a6852ea5efd228a236d42120ed3..990ca1650aa4bef9b83eee0e5b5a198e30ab6ea0 100644 (file)
@@ -252,6 +252,9 @@ static int boot_targets_setup(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,
index e4bdd5d7a38b20774fcd1a219bddbba972cd042e..8c2e614ad8a02c25ca5618df9f2b5fee1dd3e06f 100644 (file)
@@ -174,6 +174,9 @@ static int boot_targets_setup(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,
@@ -312,6 +315,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;
        }