112916829SDavid Feng /* 212916829SDavid Feng * Configuration for Versatile Express. Parts were derived from other ARM 312916829SDavid Feng * configurations. 412916829SDavid Feng * 512916829SDavid Feng * SPDX-License-Identifier: GPL-2.0+ 612916829SDavid Feng */ 712916829SDavid Feng 812916829SDavid Feng #ifndef __VEXPRESS_AEMV8A_H 912916829SDavid Feng #define __VEXPRESS_AEMV8A_H 1012916829SDavid Feng 11f91afc4dSLinus Walleij #ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP 12261d2760SDarwin Rambo #ifndef CONFIG_SEMIHOSTING 13f91afc4dSLinus Walleij #error CONFIG_TARGET_VEXPRESS64_BASE_FVP requires CONFIG_SEMIHOSTING 14261d2760SDarwin Rambo #endif 15261d2760SDarwin Rambo #define CONFIG_ARMV8_SWITCH_TO_EL1 16261d2760SDarwin Rambo #endif 17261d2760SDarwin Rambo 1812916829SDavid Feng #define CONFIG_REMAKE_ELF 1912916829SDavid Feng 2012916829SDavid Feng #define CONFIG_SUPPORT_RAW_INITRD 2112916829SDavid Feng 2212916829SDavid Feng /* Cache Definitions */ 2312916829SDavid Feng #define CONFIG_SYS_DCACHE_OFF 2412916829SDavid Feng #define CONFIG_SYS_ICACHE_OFF 2512916829SDavid Feng 2612916829SDavid Feng #define CONFIG_IDENT_STRING " vexpress_aemv8a" 2712916829SDavid Feng #define CONFIG_BOOTP_VCI_STRING "U-boot.armv8.vexpress_aemv8a" 2812916829SDavid Feng 2912916829SDavid Feng /* Link Definitions */ 30fc04b923SRyan Harkin #if defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \ 31fc04b923SRyan Harkin defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM) 32261d2760SDarwin Rambo /* ATF loads u-boot here for BASE_FVP model */ 33261d2760SDarwin Rambo #define CONFIG_SYS_TEXT_BASE 0x88000000 34261d2760SDarwin Rambo #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x03f00000) 35ffc10373SLinus Walleij #elif CONFIG_TARGET_VEXPRESS64_JUNO 36ffc10373SLinus Walleij #define CONFIG_SYS_TEXT_BASE 0xe0000000 37ffc10373SLinus Walleij #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x7fff0) 38261d2760SDarwin Rambo #endif 3912916829SDavid Feng 400d3012afSRyan Harkin #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 410d3012afSRyan Harkin 4212916829SDavid Feng /* Flat Device Tree Definitions */ 4312916829SDavid Feng #define CONFIG_OF_LIBFDT 4412916829SDavid Feng 4512916829SDavid Feng /* CS register bases for the original memory map. */ 4612916829SDavid Feng #define V2M_PA_CS0 0x00000000 4712916829SDavid Feng #define V2M_PA_CS1 0x14000000 4812916829SDavid Feng #define V2M_PA_CS2 0x18000000 4912916829SDavid Feng #define V2M_PA_CS3 0x1c000000 5012916829SDavid Feng #define V2M_PA_CS4 0x0c000000 5112916829SDavid Feng #define V2M_PA_CS5 0x10000000 5212916829SDavid Feng 5312916829SDavid Feng #define V2M_PERIPH_OFFSET(x) (x << 16) 5412916829SDavid Feng #define V2M_SYSREGS (V2M_PA_CS3 + V2M_PERIPH_OFFSET(1)) 5512916829SDavid Feng #define V2M_SYSCTL (V2M_PA_CS3 + V2M_PERIPH_OFFSET(2)) 5612916829SDavid Feng #define V2M_SERIAL_BUS_PCI (V2M_PA_CS3 + V2M_PERIPH_OFFSET(3)) 5712916829SDavid Feng 5812916829SDavid Feng #define V2M_BASE 0x80000000 5912916829SDavid Feng 6012916829SDavid Feng /* Common peripherals relative to CS7. */ 6112916829SDavid Feng #define V2M_AACI (V2M_PA_CS3 + V2M_PERIPH_OFFSET(4)) 6212916829SDavid Feng #define V2M_MMCI (V2M_PA_CS3 + V2M_PERIPH_OFFSET(5)) 6312916829SDavid Feng #define V2M_KMI0 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(6)) 6412916829SDavid Feng #define V2M_KMI1 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(7)) 6512916829SDavid Feng 66ffc10373SLinus Walleij #ifdef CONFIG_TARGET_VEXPRESS64_JUNO 67ffc10373SLinus Walleij #define V2M_UART0 0x7ff80000 68ffc10373SLinus Walleij #define V2M_UART1 0x7ff70000 69ffc10373SLinus Walleij #else /* Not Juno */ 7012916829SDavid Feng #define V2M_UART0 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(9)) 7112916829SDavid Feng #define V2M_UART1 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(10)) 7212916829SDavid Feng #define V2M_UART2 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(11)) 7312916829SDavid Feng #define V2M_UART3 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(12)) 74ffc10373SLinus Walleij #endif 7512916829SDavid Feng 7612916829SDavid Feng #define V2M_WDT (V2M_PA_CS3 + V2M_PERIPH_OFFSET(15)) 7712916829SDavid Feng 7812916829SDavid Feng #define V2M_TIMER01 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(17)) 7912916829SDavid Feng #define V2M_TIMER23 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(18)) 8012916829SDavid Feng 8112916829SDavid Feng #define V2M_SERIAL_BUS_DVI (V2M_PA_CS3 + V2M_PERIPH_OFFSET(22)) 8212916829SDavid Feng #define V2M_RTC (V2M_PA_CS3 + V2M_PERIPH_OFFSET(23)) 8312916829SDavid Feng 8412916829SDavid Feng #define V2M_CF (V2M_PA_CS3 + V2M_PERIPH_OFFSET(26)) 8512916829SDavid Feng 8612916829SDavid Feng #define V2M_CLCD (V2M_PA_CS3 + V2M_PERIPH_OFFSET(31)) 8712916829SDavid Feng 8812916829SDavid Feng /* System register offsets. */ 8912916829SDavid Feng #define V2M_SYS_CFGDATA (V2M_SYSREGS + 0x0a0) 9012916829SDavid Feng #define V2M_SYS_CFGCTRL (V2M_SYSREGS + 0x0a4) 9112916829SDavid Feng #define V2M_SYS_CFGSTAT (V2M_SYSREGS + 0x0a8) 9212916829SDavid Feng 9312916829SDavid Feng /* Generic Timer Definitions */ 9412916829SDavid Feng #define COUNTER_FREQUENCY (0x1800000) /* 24MHz */ 9512916829SDavid Feng 9612916829SDavid Feng /* Generic Interrupt Controller Definitions */ 97c71645adSDavid Feng #ifdef CONFIG_GICV3 98c71645adSDavid Feng #define GICD_BASE (0x2f000000) 99c71645adSDavid Feng #define GICR_BASE (0x2f100000) 100c71645adSDavid Feng #else 101261d2760SDarwin Rambo 102fc04b923SRyan Harkin #if defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \ 103fc04b923SRyan Harkin defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM) 104261d2760SDarwin Rambo #define GICD_BASE (0x2f000000) 105261d2760SDarwin Rambo #define GICC_BASE (0x2c000000) 106ffc10373SLinus Walleij #elif CONFIG_TARGET_VEXPRESS64_JUNO 107ffc10373SLinus Walleij #define GICD_BASE (0x2C010000) 108ffc10373SLinus Walleij #define GICC_BASE (0x2C02f000) 109c71645adSDavid Feng #endif 11003314f0eSLinus Walleij #endif /* !CONFIG_GICV3 */ 11112916829SDavid Feng 11212916829SDavid Feng /* Size of malloc() pool */ 1135bcae13eSTom Rini #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 << 20)) 11412916829SDavid Feng 115b31f9d7aSLinus Walleij /* Ethernet Configuration */ 116b31f9d7aSLinus Walleij #ifdef CONFIG_TARGET_VEXPRESS64_JUNO 117b31f9d7aSLinus Walleij /* The real hardware Versatile express uses SMSC9118 */ 118b31f9d7aSLinus Walleij #define CONFIG_SMC911X 1 119b31f9d7aSLinus Walleij #define CONFIG_SMC911X_32_BIT 1 120b31f9d7aSLinus Walleij #define CONFIG_SMC911X_BASE (0x018000000) 121b31f9d7aSLinus Walleij #else 122b31f9d7aSLinus Walleij /* The Vexpress64 simulators use SMSC91C111 */ 1233865ceb7SBhupesh Sharma #define CONFIG_SMC91111 1 1243865ceb7SBhupesh Sharma #define CONFIG_SMC91111_BASE (0x01A000000) 125b31f9d7aSLinus Walleij #endif 12612916829SDavid Feng 12712916829SDavid Feng /* PL011 Serial Configuration */ 128d280ea00SLinus Walleij #define CONFIG_BAUDRATE 115200 129d8bafe13SDavid Feng #define CONFIG_CONS_INDEX 0 130d280ea00SLinus Walleij #define CONFIG_PL01X_SERIAL 13112916829SDavid Feng #define CONFIG_PL011_SERIAL 132ffc10373SLinus Walleij #ifdef CONFIG_TARGET_VEXPRESS64_JUNO 133ffc10373SLinus Walleij #define CONFIG_PL011_CLOCK 7273800 134ffc10373SLinus Walleij #else 13512916829SDavid Feng #define CONFIG_PL011_CLOCK 24000000 136ffc10373SLinus Walleij #endif 13712916829SDavid Feng 13812916829SDavid Feng /* Command line configuration */ 13912916829SDavid Feng #define CONFIG_MENU 14012916829SDavid Feng /*#define CONFIG_MENU_SHOW*/ 14112916829SDavid Feng #define CONFIG_CMD_CACHE 14267172528STom Rini #define CONFIG_CMD_BOOTI 14367172528STom Rini #define CONFIG_CMD_UNZIP 14412916829SDavid Feng #define CONFIG_CMD_DHCP 14512916829SDavid Feng #define CONFIG_CMD_PXE 14612916829SDavid Feng #define CONFIG_CMD_ENV 14712916829SDavid Feng #define CONFIG_CMD_MII 14812916829SDavid Feng #define CONFIG_CMD_PING 14912916829SDavid Feng #define CONFIG_CMD_FAT 15012916829SDavid Feng #define CONFIG_DOS_PARTITION 15112916829SDavid Feng 15212916829SDavid Feng /* BOOTP options */ 15312916829SDavid Feng #define CONFIG_BOOTP_BOOTFILESIZE 15412916829SDavid Feng #define CONFIG_BOOTP_BOOTPATH 15512916829SDavid Feng #define CONFIG_BOOTP_GATEWAY 15612916829SDavid Feng #define CONFIG_BOOTP_HOSTNAME 15712916829SDavid Feng #define CONFIG_BOOTP_PXE 15812916829SDavid Feng #define CONFIG_BOOTP_PXE_CLIENTARCH 0x100 15912916829SDavid Feng 16012916829SDavid Feng /* Miscellaneous configurable options */ 16112916829SDavid Feng #define CONFIG_SYS_LOAD_ADDR (V2M_BASE + 0x10000000) 16212916829SDavid Feng 16312916829SDavid Feng /* Physical Memory Map */ 16412916829SDavid Feng #define PHYS_SDRAM_1 (V2M_BASE) /* SDRAM Bank #1 */ 16530355708SLinus Walleij /* Top 16MB reserved for secure world use */ 16630355708SLinus Walleij #define DRAM_SEC_SIZE 0x01000000 16730355708SLinus Walleij #define PHYS_SDRAM_1_SIZE 0x80000000 - DRAM_SEC_SIZE 16812916829SDavid Feng #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 16912916829SDavid Feng 1702c2b2183SRyan Harkin #ifdef CONFIG_TARGET_VEXPRESS64_JUNO 1712c2b2183SRyan Harkin #define CONFIG_NR_DRAM_BANKS 2 1722c2b2183SRyan Harkin #define PHYS_SDRAM_2 (0x880000000) 1732c2b2183SRyan Harkin #define PHYS_SDRAM_2_SIZE 0x180000000 1742c2b2183SRyan Harkin #else 1752c2b2183SRyan Harkin #define CONFIG_NR_DRAM_BANKS 1 1762c2b2183SRyan Harkin #endif 1772c2b2183SRyan Harkin 17830355708SLinus Walleij /* Enable memtest */ 17930355708SLinus Walleij #define CONFIG_CMD_MEMTEST 18030355708SLinus Walleij #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1 18130355708SLinus Walleij #define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE) 18230355708SLinus Walleij 18312916829SDavid Feng /* Initial environment variables */ 18410d1491bSLinus Walleij #ifdef CONFIG_TARGET_VEXPRESS64_JUNO 18510d1491bSLinus Walleij /* 18610d1491bSLinus Walleij * Defines where the kernel and FDT exist in NOR flash and where it will 18710d1491bSLinus Walleij * be copied into DRAM 18810d1491bSLinus Walleij */ 18910d1491bSLinus Walleij #define CONFIG_EXTRA_ENV_SETTINGS \ 190ecbed5d6SRyan Harkin "kernel_name=norkern\0" \ 191ecbed5d6SRyan Harkin "kernel_alt_name=Image\0" \ 192*7babe482SAndre Przywara "kernel_addr=0x80080000\0" \ 1934a6bdb59SRyan Harkin "initrd_name=ramdisk.img\0" \ 1944a6bdb59SRyan Harkin "initrd_addr=0x84000000\0" \ 195ecbed5d6SRyan Harkin "fdt_name=board.dtb\0" \ 196ecbed5d6SRyan Harkin "fdt_alt_name=juno\0" \ 19710d1491bSLinus Walleij "fdt_addr=0x83000000\0" \ 19810d1491bSLinus Walleij "fdt_high=0xffffffffffffffff\0" \ 19910d1491bSLinus Walleij "initrd_high=0xffffffffffffffff\0" \ 20010d1491bSLinus Walleij 20110d1491bSLinus Walleij /* Assume we boot with root on the first partition of a USB stick */ 20210d1491bSLinus Walleij #define CONFIG_BOOTARGS "console=ttyAMA0,115200n8 " \ 203492f24e8SRyan Harkin "root=/dev/sda2 rw " \ 20433665f7cSLinus Walleij "rootwait "\ 205c0ae9703SRyan Harkin "earlyprintk=pl011,0x7ff80000 debug "\ 206c0ae9703SRyan Harkin "user_debug=31 "\ 20774e264b4SRyan Harkin "androidboot.hardware=juno "\ 20810d1491bSLinus Walleij "loglevel=9" 20910d1491bSLinus Walleij 21010d1491bSLinus Walleij /* Copy the kernel and FDT to DRAM memory and boot */ 21110d1491bSLinus Walleij #define CONFIG_BOOTCOMMAND "afs load ${kernel_name} ${kernel_addr} ; " \ 212ecbed5d6SRyan Harkin "if test $? -eq 1; then "\ 213ecbed5d6SRyan Harkin " echo Loading ${kernel_alt_name} instead of "\ 214ecbed5d6SRyan Harkin "${kernel_name}; "\ 215ecbed5d6SRyan Harkin " afs load ${kernel_alt_name} ${kernel_addr};"\ 216ecbed5d6SRyan Harkin "fi ; "\ 21710d1491bSLinus Walleij "afs load ${fdt_name} ${fdt_addr} ; " \ 218ecbed5d6SRyan Harkin "if test $? -eq 1; then "\ 219ecbed5d6SRyan Harkin " echo Loading ${fdt_alt_name} instead of "\ 220ecbed5d6SRyan Harkin "${fdt_name}; "\ 221ecbed5d6SRyan Harkin " afs load ${fdt_alt_name} ${fdt_addr}; "\ 222ecbed5d6SRyan Harkin "fi ; "\ 22310d1491bSLinus Walleij "fdt addr ${fdt_addr}; fdt resize; " \ 2244a6bdb59SRyan Harkin "if afs load ${initrd_name} ${initrd_addr} ; "\ 2254a6bdb59SRyan Harkin "then "\ 2264a6bdb59SRyan Harkin " setenv initrd_param ${initrd_addr}; "\ 2274a6bdb59SRyan Harkin " else setenv initrd_param -; "\ 2284a6bdb59SRyan Harkin "fi ; " \ 2294a6bdb59SRyan Harkin "booti ${kernel_addr} ${initrd_param} ${fdt_addr}" 23010d1491bSLinus Walleij 23110d1491bSLinus Walleij #define CONFIG_BOOTDELAY 1 23210d1491bSLinus Walleij 23310d1491bSLinus Walleij #elif CONFIG_TARGET_VEXPRESS64_BASE_FVP 23412916829SDavid Feng #define CONFIG_EXTRA_ENV_SETTINGS \ 2351fd0f92eSLinus Walleij "kernel_name=Image\0" \ 236*7babe482SAndre Przywara "kernel_addr=0x80080000\0" \ 237261d2760SDarwin Rambo "initrd_name=ramdisk.img\0" \ 23849995ffeSLinus Walleij "initrd_addr=0x88000000\0" \ 239261d2760SDarwin Rambo "fdt_name=devtree.dtb\0" \ 24049995ffeSLinus Walleij "fdt_addr=0x83000000\0" \ 241261d2760SDarwin Rambo "fdt_high=0xffffffffffffffff\0" \ 242261d2760SDarwin Rambo "initrd_high=0xffffffffffffffff\0" 243261d2760SDarwin Rambo 244261d2760SDarwin Rambo #define CONFIG_BOOTARGS "console=ttyAMA0 earlyprintk=pl011,"\ 245261d2760SDarwin Rambo "0x1c090000 debug user_debug=31 "\ 246261d2760SDarwin Rambo "loglevel=9" 247261d2760SDarwin Rambo 24849995ffeSLinus Walleij #define CONFIG_BOOTCOMMAND "smhload ${kernel_name} ${kernel_addr}; " \ 2491fd0f92eSLinus Walleij "smhload ${fdt_name} ${fdt_addr}; " \ 250c0ae9703SRyan Harkin "smhload ${initrd_name} ${initrd_addr} "\ 251c0ae9703SRyan Harkin "initrd_end; " \ 2521fd0f92eSLinus Walleij "fdt addr ${fdt_addr}; fdt resize; " \ 2531fd0f92eSLinus Walleij "fdt chosen ${initrd_addr} ${initrd_end}; " \ 2541fd0f92eSLinus Walleij "booti $kernel_addr - $fdt_addr" 255261d2760SDarwin Rambo 256261d2760SDarwin Rambo #define CONFIG_BOOTDELAY 1 257261d2760SDarwin Rambo 258fc04b923SRyan Harkin #elif CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM 259fc04b923SRyan Harkin #define CONFIG_EXTRA_ENV_SETTINGS \ 260fc04b923SRyan Harkin "kernel_addr=0x80080000\0" \ 261fc04b923SRyan Harkin "initrd_addr=0x84000000\0" \ 262fc04b923SRyan Harkin "fdt_addr=0x83000000\0" \ 263fc04b923SRyan Harkin "fdt_high=0xffffffffffffffff\0" \ 264fc04b923SRyan Harkin "initrd_high=0xffffffffffffffff\0" 265fc04b923SRyan Harkin 266fc04b923SRyan Harkin #define CONFIG_BOOTARGS "console=ttyAMA0 earlyprintk=pl011,"\ 267fc04b923SRyan Harkin "0x1c090000 debug user_debug=31 "\ 268fc04b923SRyan Harkin "androidboot.hardware=fvpbase "\ 269fc04b923SRyan Harkin "root=/dev/vda2 rw "\ 270fc04b923SRyan Harkin "rootwait "\ 271fc04b923SRyan Harkin "loglevel=9" 272fc04b923SRyan Harkin 273fc04b923SRyan Harkin #define CONFIG_BOOTCOMMAND "booti $kernel_addr $initrd_addr $fdt_addr" 274fc04b923SRyan Harkin 275fc04b923SRyan Harkin #define CONFIG_BOOTDELAY 1 276fc04b923SRyan Harkin 277261d2760SDarwin Rambo #endif 27812916829SDavid Feng 27912916829SDavid Feng /* Monitor Command Prompt */ 28012916829SDavid Feng #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ 28112916829SDavid Feng #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ 28212916829SDavid Feng sizeof(CONFIG_SYS_PROMPT) + 16) 28312916829SDavid Feng #define CONFIG_SYS_HUSH_PARSER 28412916829SDavid Feng #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 28512916829SDavid Feng #define CONFIG_SYS_LONGHELP 2865bcae13eSTom Rini #define CONFIG_CMDLINE_EDITING 28712916829SDavid Feng #define CONFIG_SYS_MAXARGS 64 /* max command args */ 28812916829SDavid Feng 289f3c71c93SRyan Harkin #ifdef CONFIG_TARGET_VEXPRESS64_JUNO 290f3c71c93SRyan Harkin #define CONFIG_SYS_FLASH_BASE 0x08000000 291f3c71c93SRyan Harkin /* 255 x 256KiB sectors + 4 x 64KiB sectors at the end = 259 */ 292f3c71c93SRyan Harkin #define CONFIG_SYS_MAX_FLASH_SECT 259 293f3c71c93SRyan Harkin /* Store environment at top of flash in the same location as blank.img */ 294f3c71c93SRyan Harkin /* in the Juno firmware. */ 295f3c71c93SRyan Harkin #define CONFIG_ENV_ADDR 0x0BFC0000 296f3c71c93SRyan Harkin #define CONFIG_ENV_SECT_SIZE 0x00010000 29714f264e6SLinus Walleij #else 298f3c71c93SRyan Harkin #define CONFIG_SYS_FLASH_BASE 0x0C000000 299f3c71c93SRyan Harkin /* 256 x 256KiB sectors */ 300f3c71c93SRyan Harkin #define CONFIG_SYS_MAX_FLASH_SECT 256 301f3c71c93SRyan Harkin /* Store environment at top of flash */ 302f3c71c93SRyan Harkin #define CONFIG_ENV_ADDR 0x0FFC0000 303f3c71c93SRyan Harkin #define CONFIG_ENV_SECT_SIZE 0x00040000 304f3c71c93SRyan Harkin #endif 305f3c71c93SRyan Harkin 30610d1491bSLinus Walleij #define CONFIG_CMD_ARMFLASH 30714f264e6SLinus Walleij #define CONFIG_SYS_FLASH_CFI 1 30814f264e6SLinus Walleij #define CONFIG_FLASH_CFI_DRIVER 1 309f19f389fSRyan Harkin #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_32BIT 310f3c71c93SRyan Harkin #define CONFIG_SYS_MAX_FLASH_BANKS 1 31114f264e6SLinus Walleij 31214f264e6SLinus Walleij #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* use buffered writes */ 31314f264e6SLinus Walleij #define CONFIG_SYS_FLASH_PROTECTION /* The devices have real protection */ 31414f264e6SLinus Walleij #define CONFIG_SYS_FLASH_EMPTY_INFO /* flinfo indicates empty blocks */ 315f3c71c93SRyan Harkin #define FLASH_MAX_SECTOR_SIZE 0x00040000 316f3c71c93SRyan Harkin #define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE 317f3c71c93SRyan Harkin #define CONFIG_ENV_IS_IN_FLASH 1 31814f264e6SLinus Walleij 31914f264e6SLinus Walleij 32012916829SDavid Feng #endif /* __VEXPRESS_AEMV8A_H */ 321