Commit ddccf5ef90b6df10fe7a58fe112d2d4013e4f154
1 parent
3dc80934f4
Exists in
smarc_8mq_lf_v2020.04
and in
11 other branches
arm64: versal: Add Xilinx Versal Virtual QEMU board
Virtual QEMU board is generating DTB self and putting it to VERSAL_QEMU_DTB_ADDR address. Board is using CONFIG_OF_BOARD which ensures that u-boot is aligned with board created by QEMU. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Showing 3 changed files with 87 additions and 0 deletions Side-by-side Diff
arch/arm/mach-versal/Kconfig
arch/arm/mach-versal/cpu.c
... | ... | @@ -67,4 +67,18 @@ |
67 | 67 | { |
68 | 68 | return 0x14000; |
69 | 69 | } |
70 | + | |
71 | +#if defined(CONFIG_OF_BOARD) | |
72 | +void *board_fdt_blob_setup(void) | |
73 | +{ | |
74 | + static void *fw_dtb = (void *)CONFIG_VERSAL_OF_BOARD_DTB_ADDR; | |
75 | + | |
76 | + if (fdt_magic(fw_dtb) != FDT_MAGIC) { | |
77 | + printf("DTB is not passed via %llx\n", (u64)fw_dtb); | |
78 | + return NULL; | |
79 | + } | |
80 | + | |
81 | + return fw_dtb; | |
82 | +} | |
83 | +#endif |
configs/xilinx_versal_virt_defconfig
1 | +CONFIG_ARM=y | |
2 | +CONFIG_ARCH_VERSAL=y | |
3 | +CONFIG_SYS_TEXT_BASE=0x8000000 | |
4 | +CONFIG_SYS_MALLOC_F_LEN=0x8000 | |
5 | +CONFIG_DEBUG_UART_BASE=0xff000000 | |
6 | +CONFIG_DEBUG_UART_CLOCK=0 | |
7 | +CONFIG_COUNTER_FREQUENCY=62500000 | |
8 | +CONFIG_DEBUG_UART=y | |
9 | +CONFIG_ENV_VARS_UBOOT_CONFIG=y | |
10 | +CONFIG_FIT=y | |
11 | +CONFIG_FIT_VERBOSE=y | |
12 | +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set | |
13 | +CONFIG_BOOTDELAY=-1 | |
14 | +CONFIG_SUPPORT_RAW_INITRD=y | |
15 | +# CONFIG_DISPLAY_CPUINFO is not set | |
16 | +CONFIG_BOARD_EARLY_INIT_R=y | |
17 | +CONFIG_HUSH_PARSER=y | |
18 | +CONFIG_SYS_PROMPT="Versal> " | |
19 | +CONFIG_CMD_BOOTMENU=y | |
20 | +CONFIG_CMD_MEMTEST=y | |
21 | +CONFIG_SYS_ALT_MEMTEST=y | |
22 | +# CONFIG_CMD_FLASH is not set | |
23 | +CONFIG_CMD_MMC=y | |
24 | +CONFIG_CMD_SF=y | |
25 | +CONFIG_CMD_DHCP=y | |
26 | +CONFIG_CMD_TFTPPUT=y | |
27 | +CONFIG_CMD_MII=y | |
28 | +CONFIG_CMD_PING=y | |
29 | +CONFIG_CMD_PXE=y | |
30 | +CONFIG_CMD_CACHE=y | |
31 | +CONFIG_CMD_TIME=y | |
32 | +CONFIG_CMD_TIMER=y | |
33 | +CONFIG_CMD_EXT2=y | |
34 | +CONFIG_CMD_EXT4=y | |
35 | +CONFIG_CMD_EXT4_WRITE=y | |
36 | +CONFIG_CMD_FAT=y | |
37 | +CONFIG_CMD_FS_GENERIC=y | |
38 | +CONFIG_ISO_PARTITION=y | |
39 | +CONFIG_EFI_PARTITION=y | |
40 | +# CONFIG_PARTITION_UUIDS is not set | |
41 | +CONFIG_OF_BOARD=y | |
42 | +CONFIG_NET_RANDOM_ETHADDR=y | |
43 | +CONFIG_SPL_DM_SEQ_ALIAS=y | |
44 | +CONFIG_DM_GPIO=y | |
45 | +CONFIG_DM_MMC=y | |
46 | +CONFIG_MMC_SDHCI=y | |
47 | +CONFIG_MMC_SDHCI_ZYNQ=y | |
48 | +CONFIG_DM_SPI_FLASH=y | |
49 | +CONFIG_SPI_FLASH=y | |
50 | +CONFIG_SPI_FLASH_BAR=y | |
51 | +CONFIG_SPI_FLASH_MACRONIX=y | |
52 | +CONFIG_SPI_FLASH_SPANSION=y | |
53 | +CONFIG_SPI_FLASH_STMICRO=y | |
54 | +CONFIG_SPI_FLASH_SST=y | |
55 | +CONFIG_SPI_FLASH_WINBOND=y | |
56 | +# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set | |
57 | +CONFIG_PHY_FIXED=y | |
58 | +CONFIG_DM_ETH=y | |
59 | +CONFIG_PHY_GIGE=y | |
60 | +CONFIG_MII=y | |
61 | +CONFIG_ZYNQ_GEM=y | |
62 | +CONFIG_DEBUG_UART_PL011=y | |
63 | +CONFIG_DEBUG_UART_ANNOUNCE=y | |
64 | +CONFIG_PL01X_SERIAL=y | |
65 | +CONFIG_SPI=y | |
66 | +CONFIG_DM_SPI=y | |
67 | +CONFIG_FAT_WRITE=y | |
68 | +CONFIG_EFI_LOADER_BOUNCE_BUFFER=y |