1d88995a8SMarek Vasut /* 2d88995a8SMarek Vasut * Copyright (C) 2015 Marek Vasut <marex@denx.de> 3d88995a8SMarek Vasut * 4d88995a8SMarek Vasut * SPDX-License-Identifier: GPL-2.0+ 5d88995a8SMarek Vasut */ 6d88995a8SMarek Vasut #ifndef __CONFIG_DENX_MCVEVK_H__ 7d88995a8SMarek Vasut #define __CONFIG_DENX_MCVEVK_H__ 8d88995a8SMarek Vasut 9d88995a8SMarek Vasut #include <asm/arch/socfpga_base_addrs.h> 10d88995a8SMarek Vasut 11d88995a8SMarek Vasut /* U-Boot Commands */ 12d88995a8SMarek Vasut #define CONFIG_SYS_NO_FLASH 13d88995a8SMarek Vasut #define CONFIG_DOS_PARTITION 14d88995a8SMarek Vasut #define CONFIG_FAT_WRITE 15d88995a8SMarek Vasut #define CONFIG_HW_WATCHDOG 16d88995a8SMarek Vasut 17d88995a8SMarek Vasut #define CONFIG_CMD_ASKENV 18d88995a8SMarek Vasut #define CONFIG_CMD_BOOTZ 19d88995a8SMarek Vasut #define CONFIG_CMD_CACHE 20d88995a8SMarek Vasut #define CONFIG_CMD_DFU 21d88995a8SMarek Vasut #define CONFIG_CMD_DHCP 22d88995a8SMarek Vasut #define CONFIG_CMD_EXT4 23d88995a8SMarek Vasut #define CONFIG_CMD_EXT4_WRITE 24d88995a8SMarek Vasut #define CONFIG_CMD_FAT 25d88995a8SMarek Vasut #define CONFIG_CMD_FS_GENERIC 26d88995a8SMarek Vasut #define CONFIG_CMD_GPIO 27d88995a8SMarek Vasut #define CONFIG_CMD_GREPENV 28d88995a8SMarek Vasut #define CONFIG_CMD_MII 29d88995a8SMarek Vasut #define CONFIG_CMD_MMC 30d88995a8SMarek Vasut #define CONFIG_CMD_PING 31d88995a8SMarek Vasut #define CONFIG_CMD_USB 32d88995a8SMarek Vasut #define CONFIG_CMD_USB_MASS_STORAGE 33d88995a8SMarek Vasut 34d88995a8SMarek Vasut /* Memory configurations */ 35d88995a8SMarek Vasut #define PHYS_SDRAM_1_SIZE 0x40000000 /* 1GiB on MCV */ 36d88995a8SMarek Vasut 37d88995a8SMarek Vasut /* Booting Linux */ 38d88995a8SMarek Vasut #define CONFIG_BOOTDELAY 3 39d88995a8SMarek Vasut #define CONFIG_BOOTFILE "fitImage" 40d88995a8SMarek Vasut #define CONFIG_BOOTARGS "console=ttyS0," __stringify(CONFIG_BAUDRATE) 41d88995a8SMarek Vasut #define CONFIG_PREBOOT "run try_bootscript" 42d88995a8SMarek Vasut #define CONFIG_BOOTCOMMAND "run mmc_mmc" 43d88995a8SMarek Vasut #define CONFIG_LOADADDR 0x01000000 44d88995a8SMarek Vasut #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 45d88995a8SMarek Vasut 46*68a3e32bSDinh Nguyen #define CONFIG_ENV_IS_NOWHERE 47*68a3e32bSDinh Nguyen 48d88995a8SMarek Vasut /* USB */ 49d88995a8SMarek Vasut #ifdef CONFIG_CMD_USB 50d88995a8SMarek Vasut #define CONFIG_USB_DWC2_REG_ADDR SOCFPGA_USB1_ADDRESS 51d88995a8SMarek Vasut #endif 52d88995a8SMarek Vasut #define CONFIG_G_DNL_MANUFACTURER "DENX" 53d88995a8SMarek Vasut 54d88995a8SMarek Vasut /* Extra Environment */ 55d88995a8SMarek Vasut #define CONFIG_HOSTNAME mcvevk 56d88995a8SMarek Vasut 57d88995a8SMarek Vasut #define CONFIG_EXTRA_ENV_SETTINGS \ 58d88995a8SMarek Vasut "consdev=ttyS0\0" \ 59d88995a8SMarek Vasut "baudrate=115200\0" \ 60d88995a8SMarek Vasut "bootscript=boot.scr\0" \ 61d88995a8SMarek Vasut "bootdev=/dev/mmcblk0p2\0" \ 62d88995a8SMarek Vasut "rootdev=/dev/mmcblk0p3\0" \ 63d88995a8SMarek Vasut "netdev=eth0\0" \ 64d88995a8SMarek Vasut "hostname=mcvevk\0" \ 65d88995a8SMarek Vasut "kernel_addr_r=0x10000000\0" \ 66d88995a8SMarek Vasut "update_filename=u-boot-with-spl-dtb.sfp\0" \ 67d88995a8SMarek Vasut "update_sd_offset=0x800\0" \ 68d88995a8SMarek Vasut "update_sd=" /* Update the SD firmware partition */ \ 69d88995a8SMarek Vasut "if mmc rescan ; then " \ 70d88995a8SMarek Vasut "if tftp ${update_filename} ; then " \ 71d88995a8SMarek Vasut "setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \ 72d88995a8SMarek Vasut "setexpr fw_sz ${fw_sz} + 1 ; " \ 73d88995a8SMarek Vasut "mmc write ${loadaddr} ${update_sd_offset} ${fw_sz} ; " \ 74d88995a8SMarek Vasut "fi ; " \ 75d88995a8SMarek Vasut "fi\0" \ 76d88995a8SMarek Vasut "update_qspi_offset=0x0\0" \ 77d88995a8SMarek Vasut "update_qspi=" /* Update the QSPI firmware */ \ 78d88995a8SMarek Vasut "if sf probe ; then " \ 79d88995a8SMarek Vasut "if tftp ${update_filename} ; then " \ 80d88995a8SMarek Vasut "sf update ${loadaddr} ${update_qspi_offset} ${filesize} ; " \ 81d88995a8SMarek Vasut "fi ; " \ 82d88995a8SMarek Vasut "fi\0" \ 83d88995a8SMarek Vasut "fpga_filename=output_file.rbf\0" \ 84d88995a8SMarek Vasut "load_fpga=" /* Load FPGA bitstream */ \ 85d88995a8SMarek Vasut "if tftp ${fpga_filename} ; then " \ 86d88995a8SMarek Vasut "fpga load 0 $loadaddr $filesize ; " \ 87d88995a8SMarek Vasut "bridge enable ; " \ 88d88995a8SMarek Vasut "fi\0" \ 89d88995a8SMarek Vasut "addcons=" \ 90d88995a8SMarek Vasut "setenv bootargs ${bootargs} " \ 91d88995a8SMarek Vasut "console=${consdev},${baudrate}\0" \ 92d88995a8SMarek Vasut "addip=" \ 93d88995a8SMarek Vasut "setenv bootargs ${bootargs} " \ 94d88995a8SMarek Vasut "ip=${ipaddr}:${serverip}:${gatewayip}:" \ 95d88995a8SMarek Vasut "${netmask}:${hostname}:${netdev}:off\0" \ 96d88995a8SMarek Vasut "addmisc=" \ 97d88995a8SMarek Vasut "setenv bootargs ${bootargs} ${miscargs}\0" \ 98d88995a8SMarek Vasut "addargs=run addcons addmisc\0" \ 99d88995a8SMarek Vasut "mmcload=" \ 100d88995a8SMarek Vasut "mmc rescan ; " \ 101d88995a8SMarek Vasut "load mmc 0:2 ${kernel_addr_r} ${bootfile}\0" \ 102d88995a8SMarek Vasut "netload=" \ 103d88995a8SMarek Vasut "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0" \ 104d88995a8SMarek Vasut "miscargs=nohlt panic=1\0" \ 105d88995a8SMarek Vasut "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \ 106d88995a8SMarek Vasut "nfsargs=" \ 107d88995a8SMarek Vasut "setenv bootargs root=/dev/nfs rw " \ 108d88995a8SMarek Vasut "nfsroot=${serverip}:${rootpath},v3,tcp\0" \ 109d88995a8SMarek Vasut "mmc_mmc=" \ 110d88995a8SMarek Vasut "run mmcload mmcargs addargs ; " \ 111d88995a8SMarek Vasut "bootm ${kernel_addr_r}\0" \ 112d88995a8SMarek Vasut "mmc_nfs=" \ 113d88995a8SMarek Vasut "run mmcload nfsargs addip addargs ; " \ 114d88995a8SMarek Vasut "bootm ${kernel_addr_r}\0" \ 115d88995a8SMarek Vasut "net_mmc=" \ 116d88995a8SMarek Vasut "run netload mmcargs addargs ; " \ 117d88995a8SMarek Vasut "bootm ${kernel_addr_r}\0" \ 118d88995a8SMarek Vasut "net_nfs=" \ 119d88995a8SMarek Vasut "run netload nfsargs addip addargs ; " \ 120d88995a8SMarek Vasut "bootm ${kernel_addr_r}\0" \ 121d88995a8SMarek Vasut "try_bootscript=" \ 122d88995a8SMarek Vasut "mmc rescan;" \ 123d88995a8SMarek Vasut "if test -e mmc 0:2 ${bootscript} ; then " \ 124d88995a8SMarek Vasut "if load mmc 0:2 ${kernel_addr_r} ${bootscript};" \ 125d88995a8SMarek Vasut "then ; " \ 126d88995a8SMarek Vasut "echo Running bootscript... ; " \ 127d88995a8SMarek Vasut "source ${kernel_addr_r} ; " \ 128d88995a8SMarek Vasut "fi ; " \ 129d88995a8SMarek Vasut "fi\0" 130d88995a8SMarek Vasut 131d88995a8SMarek Vasut /* The rest of the configuration is shared */ 132d88995a8SMarek Vasut #include <configs/socfpga_common.h> 133d88995a8SMarek Vasut 134d88995a8SMarek Vasut #endif /* __CONFIG_DENX_MCVEVK_H__ */ 135