]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
Merge branch 'xilinx/master-next' into petalinux/master-next
authorMichal Simek <michal.simek@xilinx.com>
Mon, 4 Feb 2013 10:48:51 +0000 (11:48 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 4 Feb 2013 11:00:11 +0000 (12:00 +0100)
Change MMC configuration and using new gem driver.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
1  2 
boards.cfg
include/configs/petalinux-auto-board.h.template

diff --cc boards.cfg
index 0bd37841df66a0b0d148fbfc7839ebc21606df60,b4449b09925fa5ebe8d53ff0a37f3a374d7bce06..bf6e5dd6ec51cf499755be68db55e87b4c4dc9d9
@@@ -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
- zynq_ep107                   arm         armv7       zynq                xilinx         zynq
- zynq_ep107_dual_qspi         arm         armv7       zynq                xilinx         zynq  zynq_ep107:XILINX_PSS_QSPI_USE_DUAL_FLASH
 +petalogix-arm-auto           arm         armv7       arm-auto            petalogix      zynq
  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
index 468c6b0ff22e9ad23bb928c7cfc9428f7fd9c0b5,0000000000000000000000000000000000000000..473762234787bcf2f23505886d72a9e107002b5f
mode 100644,000000..100644
--- /dev/null
@@@ -1,680 -1,0 +1,680 @@@
-       //#define CONFIG_ZYNQ_GEM
-       #define CONFIG_ZYNQ_GEM_OLD
 +/*
 + * (C) Copyright 2007-2008 Michal Simek
 + *
 + * Michal SIMEK <monstr@monstr.eu>
 + *
 + * 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_MMC
++      #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 <config_cmd_default.h>
 +
 +#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_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 <configs/petalinux/@per_platform_config@>