From: Michal Simek Date: Mon, 4 Feb 2013 10:48:51 +0000 (+0100) Subject: Merge branch 'xilinx/master-next' into petalinux/master-next X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=62ce6c6b41931a026f3eeff29469994b06f8e984;p=thirdparty%2Fu-boot.git Merge branch 'xilinx/master-next' into petalinux/master-next Change MMC configuration and using new gem driver. Signed-off-by: Michal Simek --- 62ce6c6b41931a026f3eeff29469994b06f8e984 diff --cc boards.cfg index 0bd37841df6,b4449b09925..bf6e5dd6ec5 --- a/boards.cfg +++ b/boards.cfg @@@ -262,11 -275,9 +275,10 @@@ devkit8000 ar mcx arm armv7 mcx htkw omap3 tricorder arm armv7 tricorder corscience omap3 twister arm armv7 twister technexion omap3 + nokia_rx51 arm armv7 rx51 nokia omap3 omap4_panda arm armv7 panda ti omap4 omap4_sdp4430 arm armv7 sdp4430 ti omap4 +petalogix-arm-auto arm armv7 arm-auto petalogix zynq - zynq_ep107 arm armv7 zynq xilinx zynq - zynq_ep107_dual_qspi arm armv7 zynq xilinx zynq zynq_ep107:XILINX_PSS_QSPI_USE_DUAL_FLASH zynq_zc770_XM010 arm armv7 zynq xilinx zynq zynq_zc770:ZC770_XM010 zynq_zc770_XM011 arm armv7 zynq xilinx zynq zynq_zc770:ZC770_XM011 zynq_zc770_XM011_n16b arm armv7 zynq xilinx zynq zynq_zc770:ZC770_XM011,XILINX_ZYNQ_NAND_BUSWIDTH_16 @@@ -414,9 -433,10 +434,11 @@@ M5485FFE m68k mcf547x_8x m548xe M5485GFE m68k mcf547x_8x m548xevb freescale - M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=4,SYS_DRAMSZ=64 M5485HFE m68k mcf547x_8x m548xevb freescale - M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO microblaze-generic microblaze microblaze microblaze-generic xilinx +petalogix-microblaze-auto microblaze microblaze microblaze-auto petalogix qemu_mips mips mips32 qemu-mips - - qemu-mips:SYS_BIG_ENDIAN qemu_mipsel mips mips32 qemu-mips - - qemu-mips:SYS_LITTLE_ENDIAN + qemu_mips64 mips mips64 qemu-mips - - qemu-mips64:SYS_BIG_ENDIAN + qemu_mips64el mips mips64 qemu-mips - - qemu-mips64:SYS_LITTLE_ENDIAN vct_platinum mips mips32 vct micronas - vct:VCT_PLATINUM vct_platinumavc mips mips32 vct micronas - vct:VCT_PLATINUMAVC vct_platinumavc_onenand mips mips32 vct micronas - vct:VCT_PLATINUMAVC,VCT_ONENAND diff --cc include/configs/petalinux-auto-board.h.template index 468c6b0ff22,00000000000..47376223478 mode 100644,000000..100644 --- a/include/configs/petalinux-auto-board.h.template +++ b/include/configs/petalinux-auto-board.h.template @@@ -1,680 -1,0 +1,680 @@@ +/* + * (C) Copyright 2007-2008 Michal Simek + * + * Michal SIMEK + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + + +/* The following table includes the supported baudrates */ +#define CONFIG_SYS_BAUDRATE_TABLE \ + {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400} + +/* use serial multi for all serial devices */ +#define CONFIG_SERIAL_MULTI +#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 + +#ifdef XILINX_UARTLITE_BASEADDR +# define CONFIG_XILINX_UARTLITE +# if defined(XILINX_UARTLITE_BAUDRATE) +# define CONFIG_BAUDRATE XILINX_UARTLITE_BAUDRATE +# endif +#endif + +#if XILINX_UART16550_BASEADDR +# define CONFIG_SYS_NS16550 1 +# define CONFIG_SYS_NS16550_SERIAL +# define CONFIG_SYS_NS16550_COM1 ((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000) +# define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ + +# if defined(__MICROBLAZEEL__) +# define CONFIG_SYS_NS16550_REG_SIZE -4 +# else +# define CONFIG_SYS_NS16550_REG_SIZE 4 +# endif + +/* CONS_INDEX for system with uartlite only mustn't define CONFIG_CONS_INDEX + * u-boot BSP generates CONFIG_CONS_INDEX for system with several uart16550 */ +# if !defined(CONFIG_CONS_INDEX) +# define CONFIG_CONS_INDEX 1 +# endif +#endif + +#ifdef XILINX_PS7_UART_BASEADDR +# define CONFIG_ZYNQ_SERIAL +# define CONFIG_ZYNQ_SERIAL_BASEADDR0 XILINX_PS7_UART_BASEADDR +# define CONFIG_ZYNQ_SERIAL_BAUDRATE0 CONFIG_BAUDRATE +# define CONFIG_ZYNQ_SERIAL_CLOCK0 XILINX_PS7_UART_CLOCK_HZ +#endif + +/* Must be separated because of priorities */ +#if defined(CONFIG_ZYNQ_SERIAL) +# define SERIAL_MULTI "serial=setenv stdout serial;setenv stdin serial\0" +# define CONSOLE_ARG "console=console=ttyPS0,115200\0" +#elif defined(XILINX_UART16550_BASEADDR) +# define SERIAL_MULTI "serial=setenv stdout serial;setenv stdin serial\0" +# define CONSOLE_ARG "console=console=ttyS0,115200\0" +#elif defined(CONFIG_XILINX_UARTLITE) +# define CONSOLE_ARG "console=console=ttyUL0,115200\0" +# define SERIAL_MULTI "serial=setenv stdout serial;setenv stdin serial\0" \ + "stdin=ttyUL0\0" \ + "stdout=ttyUL0\0" +#endif + +#ifdef XILINX_UARTLITE_BASEADDR +# define TTYUL0 "ttyUL0=setenv stdout ttyUL0;setenv stdin ttyUL0\0" +#else +# define TTYUL0 +#endif +#ifdef XILINX_UARTLITE_BASEADDR1 +# define TTYUL1 "ttyUL1=setenv stdout ttyUL1;setenv stdin ttyUL1\0" +#else +# define TTYUL1 +#endif +#ifdef XILINX_UARTLITE_BASEADDR2 +# define TTYUL2 "ttyUL2=setenv stdout ttyUL2;setenv stdin ttyUL2\0" +#else +# define TTYUL2 +#endif +#ifdef XILINX_UARTLITE_BASEADDR3 +# define TTYUL3 "ttyUL3=setenv stdout ttyUL3;setenv stdin ttyUL3\0" +#else +# define TTYUL3 +#endif +#ifdef CONFIG_SYS_NS16550_COM1 +# define ESERIAL0 "eserial0=setenv stdout eserial0;setenv stdin eserial0\0" +#else +# define ESERIAL0 +#endif +#ifdef CONFIG_SYS_NS16550_COM2 +# define ESERIAL1 "eserial1=setenv stdout eserial1;setenv stdin eserial1\0" +#else +# define ESERIAL1 +#endif +#ifdef CONFIG_SYS_NS16550_COM3 +# define ESERIAL2 "eserial2=setenv stdout eserial2;setenv stdin eserial2\0" +#else +# define ESERIAL2 +#endif +#ifdef CONFIG_SYS_NS16550_COM4 +# define ESERIAL3 "eserial3=setenv stdout eserial3;setenv stdin eserial3\0" +#else +# define ESERIAL3 +#endif +#ifdef CONFIG_ZYNQ_SERIAL_BASEADDR0 +# define PSSERIAL0 "psserial0=setenv stdout ttyPS0;setenv stdin ttyPS0\0" +#else +# define PSSERIAL0 +#endif +#ifdef CONFIG_ZYNQ_SERIAL_BASEADDR1 +# define PSSERIAL1 "psserial1=setenv stdout ttyPS0;setenv stdin ttyPS0\0" +#else +# define PSSERIAL1 +#endif + +#if !defined(CONFIG_BAUDRATE) + #define CONFIG_BAUDRATE 115200 +#endif + +#if !defined(XILINX_UARTLITE_BASEADDR) && !defined(XILINX_UART16550_BASEADDR) && !defined(XILINX_PS7_UART_BASEADDR) +# error Undefined uart +#endif + +/* enable nul device */ +/* #define CONFIG_SYS_DEVICE_NULLDEV */ + +/* setting reset address */ +/*#define CONFIG_SYS_RESET_ADDRESS TEXT_BASE*/ + +/* ethernet */ +#undef CONFIG_SYS_ENET +#ifdef XILINX_EMAC_BASEADDR + #define CONFIG_XILINX_EMAC 1 + #define CONFIG_SYS_ENET +#endif +#if defined(XILINX_EMACLITE_BASEADDR) + #define CONFIG_XILINX_EMACLITE 1 + #define CONFIG_SYS_ENET +#endif +#if defined(XILINX_LLTEMAC_BASEADDR) + #define CONFIG_XILINX_LL_TEMAC 1 + #define CONFIG_SYS_ENET +#endif +#if defined(XILINX_AXIEMAC_BASEADDR) + #define CONFIG_XILINX_AXIEMAC 1 + #define CONFIG_SYS_ENET +#endif +#if defined(CONFIG_ZYNQ_GEM_BASEADDR0) - //#define CONFIG_ZYNQ_GEM - #define CONFIG_ZYNQ_GEM_OLD ++ #define CONFIG_ZYNQ_GEM + #define CONFIG_SYS_ENET +#endif + +#undef ET_DEBUG + +/* gpio */ +#ifdef XILINX_GPIO_BASEADDR + #define CONFIG_SYS_GPIO_0 1 + #define CONFIG_SYS_GPIO_0_ADDR XILINX_GPIO_BASEADDR +#endif + +/* interrupt controller */ +#ifdef XILINX_INTC_BASEADDR + #define CONFIG_SYS_INTC_0 1 + #define CONFIG_SYS_INTC_0_ADDR XILINX_INTC_BASEADDR + #define CONFIG_SYS_INTC_0_NUM XILINX_INTC_NUM_INTR_INPUTS +#endif + +/* timer */ +#ifdef XILINX_TIMER_BASEADDR + #if (XILINX_TIMER_IRQ != -1) + #define CONFIG_SYS_TIMER_0 1 + #define CONFIG_SYS_TIMER_0_ADDR XILINX_TIMER_BASEADDR + #define CONFIG_SYS_TIMER_0_IRQ XILINX_TIMER_IRQ + #define FREQUENCE XILINX_CLOCK_FREQ + #define CONFIG_SYS_TIMER_0_PRELOAD ( FREQUENCE/1000 ) + #endif +#elif XILINX_CLOCK_FREQ + #define CONFIG_XILINX_CLOCK_FREQ XILINX_CLOCK_FREQ +#endif +/* FSL */ +/* #define CONFIG_SYS_FSL_2 */ +/* #define FSL_INTR_2 1 */ + +/* + * memory layout - Example + * TEXT_BASE = 0x1200_0000; + * CONFIG_SYS_SRAM_BASE = 0x1000_0000; + * CONFIG_SYS_SRAM_SIZE = 0x0400_0000; + * + * CONFIG_SYS_GBL_DATA_OFFSET = 0x1000_0000 + 0x0400_0000 - 0x1000 = 0x13FF_F000 + * CONFIG_SYS_MONITOR_BASE = 0x13FF_F000 - 0x40000 = 0x13FB_F000 + * CONFIG_SYS_MALLOC_BASE = 0x13FB_F000 - 0x40000 = 0x13F7_F000 + * + * 0x1000_0000 CONFIG_SYS_SDRAM_BASE + * FREE + * 0x1200_0000 TEXT_BASE + * U-BOOT code + * 0x1202_0000 + * FREE + * + * STACK + * 0x13F7_F000 CONFIG_SYS_MALLOC_BASE + * MALLOC_AREA 256kB Alloc + * 0x11FB_F000 CONFIG_SYS_MONITOR_BASE + * MONITOR_CODE 256kB Env + * 0x13FF_F000 CONFIG_SYS_GBL_DATA_OFFSET + * GLOBAL_DATA 4kB bd, gd + * 0x1400_0000 CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE + */ + +/* ddr sdram - main memory */ +#define CONFIG_SYS_SDRAM_BASE XILINX_RAM_START +#define CONFIG_SYS_SDRAM_SIZE XILINX_RAM_SIZE + +/* Flash memory handling. There are 5 cases: + * Parallel Flash, bootenv in flash + * Parallel flash, no bootenv in flash (RAMENV will be set) + * SPI flash, bootenv in flash + * SPI flash, no bootenv in flash (RAMENV will be set) + * No flash at all (RAMENV will be set) +*/ + +/* Some preprocessor magic to auto-set RAMENV */ +#define BESIZE @besize@ + +#if !(BESIZE+0) +#define RAMENV +#endif + +/* Use ZYNQ_BOOT_* to drive the boot dev */ +@ZYNQ_BOOT_DEV@ +#if defined(CONFIG_ZYNQ) +#if defined(ZYNQ_BOOT_QSPI) && defined(XILINX_PS7_QSPI_FLASH_BASEADDR) + #define XILINX_SPI_FLASH_BASEADDR XILINX_PS7_QSPI_FLASH_BASEADDR +#elif defined(ZYNQ_BOOT_SD) && defined(XILINX_PS7_SDIO_BASEADDR) + #define XILINX_SD_FLASH_BASEADDR XILINX_PS7_SDIO_BASEADDR + /* enable other */ + #if defined(XILINX_PS7_QSPI_FLASH_BASEADDR) + #define XILINX_SPI_FLASH_BASEADDR XILINX_PS7_QSPI_FLASH_BASEADDR + #endif + #if defined(XILINX_PS7_NOR_BASEADDR) + #define XILINX_FLASH_START XILINX_PS7_NOR_FLASH_BASEADDR + #endif + #if defined(XILINX_PS7_NAND_BASEADDR) + #define XILINX_NAND_FLASH_BASEDDR XILINX_PS7_NAND_FLASH_BASEADDR + #define CONFIG_CMD_NAND + #define CONFIG_CMD_NAND_LOCK_UNLOCK + #define CONFIG_SYS_MAX_NAND_DEVICE 1 + #define CONFIG_SYS_NAND_BASE XPSS_NAND_BASEADDR + #define CONFIG_MTD_DEVICE + #define CONFIG_SYS_NAND_ONFI_DETECTION + #endif +/* Features that not been implemented due to hw support */ +#elif defined(ZYNQ_BOOT_NOR) && defined(XILINX_PS7_NOR_BASEADDR) + #define XILINX_FLASH_START XILINX_PS7_NOR_FLASH_BASEADDR +#elif defined(ZYNQ_BOOT_NAND) && defined(XILINX_PS7_NAND_BASEADDR) + #define XILINX_NAND_FLASH_BASEDDR XILINX_PS7_NAND_FLASH_BASEADDR +#elif defined(ZYNQ_BOOT_OTHER) + #define RAMENV +#else + #error "Unknown boot source for Zynq. Please set the boot device in appconfig" +#endif +#endif + +#if defined(XILINX_FLASH_START) /* Parallel Flash */ + #define FLASH + #define CONFIG_SYS_FLASH_BASE XILINX_FLASH_START + #define CONFIG_SYS_FLASH_SIZE XILINX_FLASH_SIZE + #define CONFIG_SYS_FLASH_CFI 1 + #define CONFIG_FLASH_CFI_DRIVER 1 + #define CONFIG_SYS_FLASH_EMPTY_INFO 1 /* ?empty sector */ + #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ + #define CONFIG_SYS_MAX_FLASH_SECT 2048 /* max number of sectors on one chip */ + #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */ + + /* Assume env is in flash, this may be undone lower down */ + #define CONFIG_ENV_IS_IN_FLASH 1 + #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ + + #if defined (CONFIG_ZYNQ) + #define CONFIG_SYS_FLASH_PROTECTION 0 /* use hardware protection */ + /* optional flash operation parameter from zynq */ + #define CONFIG_SYS_FLASH_ERASE_TOUT 1000 + #define CONFIG_SYS_FLASH_WRITE_TOUT 5000 + #define CONFIG_FLASH_SHOW_PROGRESS 10 + #else + #define CONFIG_SYS_FLASH_PROTECTION + #endif + + #define CONFIG_ENV_ADDR @bestart@ + #define CONFIG_ENV_SIZE @besize@ +#elif defined(XILINX_SPI_FLASH_BASEADDR) /* SPI Flash */ + #if defined(XILINX_PS7_QSPI_FLASH_BASEADDR) + #define CONFIG_ZYNQ_SPI + #define CONFIG_XILINX_SPI_BASEADDR XILINX_PS7_QSPI_FLASH_BASEADDR + #define CONFIG_CMD_SPI + #define CONFIG_ENV_SPI_MAX_HZ XILINX_SPI_FLASH_MAX_FREQ + #define CONFIG_SF_DEFAULT_SPEED XILINX_SPI_FLASH_MAX_FREQ + #define CONFIG_SPI_FLASH_PLNX + #else + #define CONFIG_SYS_SPI_BASE XILINX_SPI_FLASH_BASEADDR + #define CONFIG_ENV_SPI_MAX_HZ XILINX_SPI_FLASH_MAX_FREQ + #define CONFIG_ENV_SPI_CS XILINX_SPI_FLASH_CS + #define CONFIG_XILINX_SPI 1 + #endif + + #define CONFIG_SPI_FLASH 1 + #define CONFIG_SPI_FLASH_ATMEL + #define CONFIG_SPI_FLASH_SPANSION + #define CONFIG_SPI_FLASH_STMICRO + #define CONFIG_SPI_FLASH_WINBOND + + #define CONFIG_CMD_SF + + #define CONFIG_ENV_SPI_MODE @spiflashmode@ + + #define CONFIG_SYS_NO_FLASH + #undef CONFIG_CMD_FLASH + + /* Assume env is in flash, this may be undone lower down */ + #define CONFIG_ENV_IS_IN_SPI_FLASH + #define CONFIG_ENV_OFFSET @bestart@ + #define CONFIG_ENV_SIZE @besize@ + #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ + + #ifndef CONFIG_SPI_FLASH_DEV_USERDEFINED + #define CONFIG_SPI_FLASH_@spiflashdev@ + #endif +#else /* No flash memory at all */ + /* ENV in RAM */ + #define RAMENV + #define CONFIG_SYS_NO_FLASH 1 +#endif /* !FLASH */ + +#ifdef RAMENV + #define CONFIG_ENV_IS_NOWHERE 1 + #undef CONFIG_ENV_IS_IN_FLASH + #undef CONFIG_ENV_IS_IN_SPI_FLASH + #define CONFIG_ENV_SIZE 0x1000 + #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE) + #define CONFIG_SYS_FLASH_PROTECTION /* hardware flash protection */ +#endif + +/* system ace */ +#ifdef XILINX_SYSACE_BASEADDR + #define CONFIG_SYSTEMACE + /* #define DEBUG_SYSTEMACE */ + #define SYSTEMACE_CONFIG_FPGA + #define CONFIG_SYS_SYSTEMACE_BASE XILINX_SYSACE_BASEADDR + #define CONFIG_SYS_SYSTEMACE_WIDTH XILINX_SYSACE_MEM_WIDTH + #define CONFIG_DOS_PARTITION +#endif + +#if defined(XILINX_USE_ICACHE) + #define CONFIG_ICACHE +#else + #undef CONFIG_ICACHE +#endif + +#if defined(XILINX_USE_DCACHE) + #define CONFIG_DCACHE +#else + #undef CONFIG_DCACHE +#endif + +/* + * BOOTP options + */ +#define CONFIG_BOOTP_BOOTFILESIZE +#define CONFIG_BOOTP_BOOTPATH +#define CONFIG_BOOTP_GATEWAY +#define CONFIG_BOOTP_HOSTNAME + +/* + * Command line configuration. + */ +#include + +#define CONFIG_CMD_ASKENV +/* FIXME: hack for zynq */ +#ifndef CONFIG_ZYNQ +#define CONFIG_CMD_IRQ +#endif +#ifdef CONFIG_MICROBLAZE +#define CONFIG_CMD_MFSL +#endif +#define CONFIG_CMD_ECHO + +/* #define CONFIG_CMD_ROMFS */ + +/*#if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE) + #define CONFIG_CMD_CACHE +#else + #undef CONFIG_CMD_CACHE +#endif +*/ + +#undef CONFIG_CMD_NFS +#undef CONFIG_CMD_JFFS2 +#ifndef CONFIG_SYS_ENET + #undef CONFIG_CMD_NET + #undef CONFIG_NET_MULTI +#else + #define CONFIG_CMD_PING + #define CONFIG_NET_MULTI + #define CONFIG_CMD_DHCP +#endif + +#if defined(CONFIG_SYSTEMACE) + #define CONFIG_CMD_EXT2 + #define CONFIG_CMD_FAT +#endif + +/* Secure Digital */ +#if defined(XILINX_PS7_SDIO_BASEADDR) +# define CONFIG_MMC 1 - # define CONFIG_ZYNQ_MMC +# define CONFIG_GENERIC_MMC ++# define CONFIG_SDHCI ++# define CONFIG_ZYNQ_SDHCI +# define CONFIG_CMD_MMC +# define CONFIG_CMD_FAT +# define CONFIG_CMD_EXT2 +# define CONFIG_DOS_PARTITION +/* For now, use only single block reads for the MMC */ +# define CONFIG_SYS_MMC_MAX_BLK_COUNT 1 +#endif + +#if defined(FLASH) + #define CONFIG_CMD_FLASH + #define CONFIG_CMD_IMLS +#else + #undef CONFIG_CMD_IMLS + #undef CONFIG_CMD_FLASH + #undef CONFIG_CMD_SAVEENV + #undef CONFIG_CMD_SAVES +#endif + +#if !defined(RAMENV) + #define CONFIG_CMD_SAVEENV + #define CONFIG_CMD_SAVES +#endif + +#if defined(CONFIG_CMD_JFFS2) +/* JFFS2 partitions */ +#define CONFIG_CMD_MTDPARTS /* mtdparts command line support */ +#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */ +#define CONFIG_FLASH_CFI_MTD +#define MTDIDS_DEFAULT "nor0=@mtdpartsname@" + +/* default mtd partition table */ +#define MTDPARTS_DEFAULT "mtdparts=@mtdparts@" +#endif + +/* Miscellaneous configurable options */ +#define CONFIG_SYS_PROMPT "U-Boot-PetaLinux> " +#if defined(CONFIG_CMD_KGDB) +#define CONFIG_SYS_CBSIZE 1024/* Console I/O Buffer Size */ +#else +#define CONFIG_SYS_CBSIZE 256/* Console I/O Buffer Size */ +#endif +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE +\ + sizeof(CONFIG_SYS_PROMPT) + 16) +#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE + /* Boot Argument Buffer Size */ +#define CONFIG_SYS_MAXARGS 15 /* max number of command args */ +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_LOAD_ADDR XILINX_RAM_START /* default load address */ + +#define CONFIG_BOOTDELAY 4 +/* Don't define BOOTARGS, we get it from the DTB chosen fragment */ +#undef CONFIG_BOOTARGS +#define CONFIG_HOSTNAME XILINX_BOARD_NAME +#ifdef FLASH +#define CONFIG_BOOTCOMMAND "setenv var \"if test ${dtbsize} -le 0\\; then bootm ${kernstart}\\; else run dtbboot\\; fi\"; run var; setenv var" \ + +#elif defined(CONFIG_SPI_FLASH) +#define CONFIG_BOOTCOMMAND "setenv var \"if test ${dtbsize} -le 0\\; then run sfboot\\; else run dtbboot\\; fi\"; run var; setenv var" \ + +#endif + +#define CONFIG_ENV_OVERWRITE /* Allow to overwrite the u-boot environment variables */ +#define CONFIG_IPADDR @ipaddr@ +#define CONFIG_SERVERIP @serverip@ +#define CONFIG_ETHADDR @ethaddr@ +#define CONFIG_BOOTP_SERVERIP + +/* architecture dependent code */ +#define CONFIG_SYS_USR_EXCEP /* user exception */ +#define CONFIG_SYS_HZ 1000 + +/* netconsole */ +#ifdef CONFIG_SYS_ENET +#define CONFIG_NETCONSOLE 1 + +#define NETCONSOLE_ARG "nc=setenv stdout nc;setenv stdin nc;\0" \ + "ncip=@serverip@\0" +/* "stdin=nc\0" \ + "stdout=nc\0" +*/ +#else +#define NETCONSOLE_ARG +#endif + +#ifndef CONFIG_SYS_ENET +# define CONFIG_PREBOOT "echo U-BOOT for ${hostname};setenv preboot;echo;" +#else +# define CONFIG_PREBOOT "echo U-BOOT for ${hostname};setenv preboot;echo;@dhcp@" +#endif + +#if defined(CONFIG_ZYNQ) +#define CONFIG_EXTRA_ARCH_ENV_SETTINGS \ + "load_boot=tftp ${clobstart} BOOT.BIN\0" \ + "update_boot=setenv img BOOT.BIN; setenv psize ${bootsize}; setenv installcmd install_uboot; run load_boot test_img; setenv img; setenv psize; setenv installcmd\0" +#else +#define CONFIG_EXTRA_ARCH_ENV_SETTINGS \ + "load_uboot=tftp ${clobstart} u-boot-s.bin\0" \ + "update_uboot=setenv img U-BOOT; setenv psize ${bootsize}; setenv installcmd install_uboot; run load_uboot test_img; setenv img; setenv psize; setenv installcmd\0" +#endif + +#if defined(XILINX_PS7_SDIO_BASEADDR) + #if defined(FLASH) || defined(CONFIG_SPI_FLASH) + #define CONFIG_EXTRA_SD_FLASH_UPDATE_ENV \ + "sd_update_boot=echo Updating BOOT from SD;mmcinfo; fatload mmc 0:1 ${clobstart} BOOT.BIN; run install_uboot\0" \ + "sd_update_kernel=echo Updating Kernel from SD;mmcinfo; fatload mmc 0:1 ${clobstart} ${bootfile}; set fileaddr ${clobstart};run install_kernel\0" + #else + #define CONFIG_EXTRA_SD_FLASH_UPDATE_ENV + #endif +#define CONFIG_EXTRA_SD_ENV_SETTINGS \ + "sdboot=echo boot Petalinux; mmcinfo;fatload mmc 0 ${netstart} ${bootfile}; bootm \0" \ + CONFIG_EXTRA_SD_FLASH_UPDATE_ENV +#else +#define CONFIG_EXTRA_SD_ENV_SETTINGS +#endif + +#if defined(FLASH) || defined(CONFIG_SPI_FLASH) +#define CONFIG_EXTRA_ENV_SETTINGS_COMMON \ + CONFIG_EXTRA_SD_ENV_SETTINGS \ + CONFIG_EXTRA_ARCH_ENV_SETTINGS \ + "autoload=no\0" \ + "bootfile=image.ub\0" \ + "mtdids=nor0=@mtdpartsname@\0" \ + "mtdparts=mtdparts=@mtdparts@\0" \ + CONSOLE_ARG \ + NETCONSOLE_ARG \ + SERIAL_MULTI \ + TTYUL0 \ + TTYUL1 \ + TTYUL2 \ + TTYUL3 \ + ESERIAL0 \ + ESERIAL1 \ + ESERIAL2 \ + ESERIAL3 \ + PSSERIAL0 \ + PSSERIAL1 \ + "clobstart=@cstart@\0" \ + "netstart=@nstart@\0" \ + "dtbnetstart=@dtbnstart@\0" \ + "loadaddr=@nstart@\0" \ + "bootsize=@bsize@\0" \ + "bootstart=@bstart@\0" \ + "bootenvsize=@besize@\0" \ + "bootenvstart=@bestart@\0" \ + "confsize=@confsize@\0" \ + "confstart=@confstart@\0" \ + "jffs2size=@jffs2size@\0" \ + "jffs2start=@jffs2start@\0" \ + "kernsize=@ksize@\0" \ + "kernstart=@kstart@\0" \ + "dtbsize=@dtbsize@\0" \ + "dtbstart=@dtbstart@\0" \ + "fault=echo $img image size is greater than allocated place - $img is NOT UPDATED\0" \ + "load_kernel=tftp ${clobstart} image.ub\0" \ + "load_jffs2=tftp ${clobstart} rootfs.jffs2\0" \ + "load_dtb=tftp ${clobstart} system.dtb\0" \ + "update_kernel=setenv img KERNEL; setenv psize ${kernsize}; setenv installcmd \"install_kernel\"; run load_kernel test_crc; setenv img; setenv psize; setenv installcmd\0" \ + "update_jffs2=setenv img JFFS2; setenv psize ${jffs2size}; setenv installcmd install_jffs2; run load_jffs2 test_img; setenv img; setenv psize; setenv installcmd\0" \ + "update_dtb=setenv img DTB; setenv psize ${dtbsize}; setenv installcmd install_dtb; run load_dtb test_img; setenv img\0" \ + "test_crc=if imi ${clobstart}; then run test_img; else echo $img Bad CRC - $img is NOT UPDATED; fi\0" \ + "test_img=setenv var \"if test 0x${filesize} -gt ${psize}\\; then run fault\\; else run ${installcmd}\\; fi\"; run var; setenv var\0" \ + "netboot=tftp ${netstart} image.ub && bootm\0" \ + "dtbnetboot=tftp ${netstart} image.ub; tftp ${dtbnetstart} system.dtb; bootm ${netstart} - ${dtbnetstart}\0" \ + "get_dtb=run cp_dtb2ram; fdt addr ${clobstart}\0" +#endif + +#if defined(FLASH) /* Parallel Flash */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + CONFIG_EXTRA_ENV_SETTINGS_COMMON \ + "eraseenv=protect off ${bootenvstart} +${bootenvsize}; erase ${bootenvstart} +${bootenvsize}\0" \ + "eraseconf=protect off ${confstart} +${confsize}; erase ${confstart} +${confsize}\0" \ + "cp_dtb2ram=cp.b ${dtbstart} ${clobstart} ${dtbsize}\0" \ + "install_kernel=protect off ${kernstart} +${kernsize};erase ${kernstart} +${kernsize};" \ + "cp.b ${fileaddr} ${kernstart} ${filesize}\0" \ + "install_uboot=protect off ${bootstart} +${bootsize};erase ${bootstart} +${bootsize};" \ + "cp.b ${clobstart} ${bootstart} ${filesize}\0" \ + "install_jffs2=protect off ${jffs2start} +${jffs2size};erase ${jffs2start} +${jffs2size};" \ + "cp.b ${clobstart} ${jffs2start} ${filesize}\0" \ + "install_dtb=protect off ${dtbstart} +${dtbsize}; erase ${dtbstart} +${dtbsize};" \ + "cp.b ${clobstart} ${dtbstart} ${filesize}\0" \ + "dtbboot=bootm ${kernstart} - ${dtbstart}\0" \ + "" +#elif defined(CONFIG_SPI_FLASH) /* SPI Flash */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + CONFIG_EXTRA_ENV_SETTINGS_COMMON \ + "eraseenv=sf probe 0; sf erase ${bootenvstart} ${bootenvsize}\0" \ + "eraseconf=sf probe 0; sf erase ${confstart} ${confsize}\0" \ + "cp_dtb2ram=sf probe 0; sf read ${clobstart} ${dtbstart} ${dtbsize}\0" \ + "install_kernel=sf probe 0; sf erase ${kernstart} ${kernsize};" \ + "sf write ${fileaddr} ${kernstart} 0x${filesize}\0" \ + "install_uboot=sf probe 0; sf erase ${bootstart} ${bootsize};" \ + "sf write ${clobstart} ${bootstart} 0x${filesize}\0" \ + "install_jffs2=sf probe 0; sf erase ${jffs2start} ${jffs2size};" \ + "sf write ${clobstart} ${jffs2start} 0x${filesize}\0" \ + "install_dtb=sf probe 0; sf erase ${dtbstart} ${dtbsize};" \ + "sf write ${clobstart} ${dtbstart} 0x${filesize}\0" \ + "sfboot=sf probe 0; sf read ${netstart} ${kernstart} ${kernsize}; bootm ${netstart}\0" \ + "dtbboot=sf probe 0; sf read ${netstart} ${kernstart} ${kernsize}; sf read ${dtbnetstart} ${dtbstart} ${dtbsize}; bootm ${netstart} - ${dtbnetstart}\0" \ + "" +#else /* No Flash */ +#define CONFIG_EXTRA_ENV_SETTINGS \ + CONFIG_EXTRA_SD_ENV_SETTINGS \ + CONSOLE_ARG \ + NETCONSOLE_ARG \ + SERIAL_MULTI \ + TTYUL0 \ + TTYUL1 \ + TTYUL2 \ + TTYUL3 \ + ESERIAL0 \ + ESERIAL1 \ + ESERIAL2 \ + ESERIAL3 \ + PSSERIAL0 \ + PSSERIAL1 \ + "autoload=no\0" \ + "bootfile=image.ub\0" \ + "netstart=@nstart@\0" \ + "dtbnetstart=@dtbnstart@\0" \ + "loadaddr=@nstart@\0" \ + "bootcmd=run netboot\0" \ + "netboot=tftp ${netstart} image.ub && bootm\0" \ + "dtbnetboot=tftp ${netstart} image.ub; tftp ${dtbnetstart} system.dtb; bootm ${netstart} - ${dtbnetstart}\0" \ + "" +#endif /* Flash */ + +#define CONFIG_CMDLINE_EDITING + +/* Use the HUSH parser */ +#define CONFIG_SYS_HUSH_PARSER +#define CONFIG_SYS_PROMPT_HUSH_PS2 "> " + +#define CONFIG_FIT 1 +#define CONFIG_OF_LIBFDT 1 + +#if CONFIG_SYS_SDRAM_SIZE >= 0x10000000 +# ifndef CONFIG_SYS_BOOTMAPSZ +# define CONFIG_SYS_BOOTMAPSZ 0x0f000000 +# endif +#endif + +/* Make the BOOTM LEN big enough for the compressed image */ +#define CONFIG_SYS_BOOTM_LEN 0x1000000 + +#include