Signed-off-by: Eric Jarrige <eric.jarr...@armadeus.org>
---
 include/configs/apf9328.h | 1034 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1034 insertions(+), 0 deletions(-)
 create mode 100644 include/configs/apf9328.h

diff --git a/include/configs/apf9328.h b/include/configs/apf9328.h
new file mode 100644
index 0000000..b609887
--- /dev/null
+++ b/include/configs/apf9328.h
@@ -0,0 +1,1034 @@
+/*
+ * (C) Copyright 2005-2011 ej Armadeus Project <eric.jarr...@armadeus.org>
+ *
+ * Configuration settings for the Armadeus Project motherboard 9328.
+ *
+ * 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
+ *
+ * 2005/01/14 Initial version taken from the scb9328 configuration file
+ * 2005/03/10 apf9328 configuration file and trial to improve of
+ *             hardware register control.
+ * 2005/08/16 added APF9328 fpgas and ethernet
+ * 2005/12/02 added filesystem boot over NFS
+ * 2006/11/26 added filesystem boot over NFS
+ * 2010/03/28 U-Boot 2010.03 migration + change timer unit to ms (fixme)
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#define CONFIG_VERSION_VARIABLE
+#define CONFIG_ENV_VERSION     "4.0"
+#define CONFIG_IDENT_STRING    " apf9328 patch 4.0"
+
+#define CONFIG_ARM920T         1       /* this is an ARM920T CPU */
+#define CONFIG_IMX             1       /* in a Motorola MC9328MXL Chip */
+#define CONFIG_apf9328         1       /* on a Armadeus project board */
+#undef CONFIG_USE_IRQ                  /* don't need use IRQ/FIQ */
+#define CONFIG_SYS_DCACHE_OFF          /* fix kernel 2.6.29 boot crash */
+/*
+ * Enable the call to misc_init_r() for miscellaneous platform
+ * dependent initialization.
+ */
+
+#define CONFIG_MISC_INIT_R
+
+/*
+ * BOOTP options
+ */
+#define CONFIG_BOOTP_BOOTFILESIZE
+#define CONFIG_BOOTP_BOOTPATH
+#define CONFIG_BOOTP_GATEWAY
+#define CONFIG_BOOTP_HOSTNAME
+
+#define CONFIG_BOOTP_SUBNETMASK
+#define CONFIG_BOOTP_DNS
+#define CONFIG_BOOTP_DNS2
+
+/*
+ * Select serial console configuration
+ */
+#define CONFIG_IMX_SERIAL
+#define CONFIG_IMX_SERIAL1
+#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
+#define CONFIG_BAUDRATE        115200
+
+/*
+ * Definition of u-boot build in commands. Check out CONFIG_CMD_DFL if
+ * neccessary in include/cmd_confdefs.h file. (Un)comment for getting
+ * functionality or size of u-boot code.
+ */
+
+#include <config_cmd_default.h>
+
+#define CONFIG_CMD_ASKENV      /* ask for env variable         */
+#define CONFIG_CMD_BSP         /* Board Specific functions     */
+#define CONFIG_CMD_CACHE       /* icache, dcache               */
+#define CONFIG_CMD_DATE                /* support for RTC, date/time.. */
+#define CONFIG_CMD_DHCP                /* DHCP Support                 */
+#define CONFIG_CMD_DIAG                /* Diagnostics                  */
+#define CONFIG_CMD_EEPROM      /* EEPROM read/write support    */
+#define CONFIG_CMD_FLASH       /* flinfo, erase, protect       */
+#define CONFIG_CMD_I2C         /* I2C serial bus support       */
+#define CONFIG_CMD_IMLS                /* List all found images        */
+#define CONFIG_CMD_IMMAP       /* IMMR dump support            */
+#define CONFIG_CMD_JFFS2       /* JFFS2 Support                */
+#define CONFIG_CMD_MTDPARTS    /* MTD partition support        */
+#define CONFIG_CMD_PING                /* ping support                 */
+#define CONFIG_CMD_SAVES       /* save S record dump           */
+#define CONFIG_CMD_SETEXPR     /* setexpr support              */
+#define CONFIG_CMD_SNTP                /* SNTP support                 */
+#define CONFIG_CMD_NFS
+#define CONFIG_CMD_DNS
+
+#undef CONFIG_DISPLAY_BOARDINFO
+#undef CONFIG_DISPLAY_CPUINFO
+
+/*
+ * Select some advanced features of the commande line parser
+ */
+#define CONFIG_AUTO_COMPLETE   1       /* Enable auto completion of */
+                                       /* commands using TAB */
+#define CONFIG_SYS_HUSH_PARSER         1       /* enable the "hush" shell */
+#define CONFIG_SYS_PROMPT_HUSH_PS2     "> "    /* secondary prompt string */
+#define CONFIG_CMDLINE_EDITING 1
+
+#define CONFIG_MTD_DEVICE
+#define CONFIG_MTD_PARTITIONS
+/*
+ * Boot options. Setting delay to -1 stops autostart count down.
+ */
+#define CONFIG_BOOTDELAY       20
+#define CONFIG_ZERO_BOOTDELAY_CHECK
+
+#define CONFIG_BOOTARGS \
+       CONFIG_CONSOLE " root=/dev/mtdblock4 rootfstype=jffs2 " MTDPARTS_DEFAULT
+
+#define CONFIG_CONSOLE "console=ttySMX0,"MK_STR(CONFIG_BAUDRATE)"n8"
+#define CONFIG_MTDMAP  "physmap-flash.0"
+#define MTDIDS_DEFAULT "nor0=" CONFIG_MTDMAP
+#define MTDPARTS_DEFAULT "mtdparts=" CONFIG_MTDMAP ":256k(U-boot)ro,"  \
+               "128k(U-boot_env),256k(firmware),2048k(kernel),-(rootfs)"
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       "env_version="          CONFIG_ENV_VERSION              "\0"    \
+       "fileaddr="             MK_STR(CONFIG_SYS_LOAD_ADDR)    "\0"    \
+       "filesize="             MK_STR(CONFIG_SYS_MONITOR_LEN)  "\0"    \
+       "console="              CONFIG_CONSOLE                  "\0"    \
+       "mtdparts="             MTDPARTS_DEFAULT                "\0"    \
+       "partition=             nor0,4\0"                               \
+       "uboot_addr="           MK_STR(CONFIG_SYS_MONITOR_BASE) "\0"    \
+       "uboot_len="            MK_STR(CONFIG_SYS_MONITOR_LEN)  "\0"    \
+       "env_addr="             MK_STR(CONFIG_ENV_ADDR)         "\0"    \
+       "env_len="              MK_STR(CONFIG_ENV_SIZE)         "\0"    \
+       "firmware_addr="        MK_STR(CONFIG_FIRMWARE_ADDR)    "\0"    \
+       "firmware_len=" MK_STR(CONFIG_FIRMWARE_LEN)     "\0"    \
+       "kernel_addr="          MK_STR(CONFIG_KERNEL_ADDR)      "\0"    \
+       "kernel_len="           MK_STR(CONFIG_KERNEL_LEN)       "\0"    \
+       "rootfs_addr="          MK_STR(CONFIG_ROOTFS_ADDR)      "\0"    \
+       "board_name="           MK_STR(CONFIG_BOARD_NAME)       "\0"    \
+       "serverpath="           MK_STR(CONFIG_SRV_PATH)         "\0"    \
+       "ntpserverip=217.147.208.1\0"                                   \
+       "mmcroot=/dev/mmcblk0p1\0"                                      \
+       "mmcrootfstype=ext2\0"                                          \
+       "addnfsargs=setenv bootargs ${bootargs} "                       \
+               "root=/dev/nfs rw nfsroot=${serverip}:${rootpath}\0"    \
+       "addjffsargs=setenv bootargs ${bootargs} "                      \
+               "root=/dev/mtdblock4 rootfstype=jffs2\0"                \
+       "addubifsargs=setenv bootargs ${bootargs} "                     \
+               "ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs\0"    \
+       "addmmcargs=setenv bootargs ${bootargs} "                       \
+               "root=${mmcroot} rootfstype=${mmcrootfstype}\0"         \
+       "addipargs=setenv bootargs ${bootargs} "                        \
+               "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:"     \
+               "${hostname}::off \0"                                   \
+       "nfsboot=setenv bootargs ${console} ${mtdparts};"               \
+               "run addnfsargs addipargs; bootm ${kernel_addr}\0"      \
+       "jffsboot=setenv bootargs ${console} ${mtdparts};"              \
+               "run addjffsargs addipargs; bootm ${kernel_addr}\0"     \
+       "ubifsboot=setenv bootargs ${console} ${mtdparts};"             \
+               "run addubifsargs addipargs; bootm ${kernel_addr}\0"    \
+       "mmcboot=setenv bootargs ${console} ${mtdparts};"               \
+               "run addmmcargs addipargs; bootm ${kernel_addr}\0"      \
+       "firmware_autoload=0\0"                                         \
+       "flash_uboot=protect off ${uboot_addr} +${uboot_len};"          \
+               "echo Erasing FLASH;"                                   \
+               "era ${uboot_addr} +${uboot_len};"                      \
+               "if cp.b ${fileaddr} ${uboot_addr} ${filesize};"        \
+                       "then protect on ${uboot_addr} +${uboot_len};"  \
+                               "echo Flashing of uboot succeed;"       \
+                       "else echo Flashing of uboot failed;"           \
+               "fi; \0"                                                \
+       "flash_firmware=echo Erasing FLASH;"                            \
+               "era ${firmware_addr} +${firmware_len};"                \
+               "if cp.b ${fileaddr} ${firmware_addr} ${filesize} ;"    \
+                       "then echo Flashing of Firmware succeed;"       \
+                       "else echo Flashing of Firmware failed;"        \
+               "fi\0"                                                  \
+       "flash_kernel=echo Erasing FLASH;"                              \
+               "era ${kernel_addr} +${kernel_len};"                    \
+               "if cp.b ${fileaddr} ${kernel_addr} ${filesize} ;"      \
+                       "then echo Flashing of kernel succeed;"         \
+                       "else echo Flashing of kernel failed;"          \
+               "fi\0"                                                  \
+       "flash_rootfs=echo Erasing FLASH;"                              \
+               "era nor0,4;"                   \
+               "if cp.b ${fileaddr} ${rootfs_addr} ${filesize};"       \
+                       "then echo Flashing of rootfs succeed;"         \
+                       "else echo Flashing of rootfs failed;"          \
+               "fi\0"                                                  \
+       "flash_reset_env=protect off ${env_addr} +${env_len};"          \
+               "era ${env_addr} +${env_len};"                          \
+               "echo Erasing of flash environment variables done!\0"   \
+       "download_uboot=tftpboot ${loadaddr} "                          \
+               " ${serverpath}${board_name}-u-boot.bin\0"              \
+       "download_kernel=tftpboot ${loadaddr} "                         \
+               " ${serverpath}${board_name}-linux.bin\0"               \
+       "download_rootfs=tftpboot ${loadaddr} "                         \
+               " ${serverpath}${board_name}-rootfs.jffs2\0"            \
+       "update_uboot=run download_uboot flash_uboot\0"                 \
+       "update_kernel=run download_kernel flash_kernel\0"              \
+       "update_rootfs=run download_rootfs flash_rootfs\0"              \
+       "update_all=run download_kernel flash_kernel download_rootfs "  \
+               "flash_rootfs download_uboot flash_uboot\0"             \
+       "unlock_regs=mw 00200008 0; mw 00210008 0\0"                    \
+
+#define CONFIG_BOOTCOMMAND     "run jffsboot"
+#define CONFIG_SYS_AUTOLOAD            "no"
+
+#define CONFIG_MACH_TYPE MACH_TYPE_APF9328
+#define CONFIG_BOOT_PARAMS_ADDR        0x08000100
+
+#undef CONFIG_SHOW_BOOT_PROGRESS
+
+#define CONFIG_ETHADDR
+#define CONFIG_NETMASK         255.255.255.0
+#define CONFIG_IPADDR          192.168.000.10
+#define CONFIG_BOARD_NAME      "apf9328"
+#define CONFIG_HOSTNAME                "apf9328"
+#define CONFIG_GATEWAYIP       192.168.000.1
+#define CONFIG_SERVERIP                192.168.000.2
+#define CONFIG_SRV_PATH                ""
+#define CONFIG_ROOTPATH                "/tftpboot/apf9328-root"
+
+/*
+ * General options for u-boot. Modify to save memory foot print
+ */
+
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_SYS_PROMPT              "BIOS> "        /* prompt string */
+#define CONFIG_SYS_CBSIZE              2048            /* console I/O buffer */
+#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
+#define CONFIG_SYS_MAXARGS             16              /* max command args */
+#define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE /* bootargs buf size*/
+
+#define CONFIG_SYS_MEMTEST_START       0x08000000      /* memtest test area */
+#define CONFIG_SYS_MEMTEST_END         0x08700000
+
+#define CONFIG_SYS_HZ                  1000000l        /* incrementer freq */
+
+/*
+ * Definitions related to passing arguments to kernel.
+ */
+
+#define CONFIG_CMDLINE_TAG     1       /* send commandline to Kernel   */
+#define CONFIG_SETUP_MEMORY_TAGS 1     /* send memory definition to kernel */
+#define CONFIG_INITRD_TAG      1       /* send initrd params   */
+
+/*
+ * Malloc pool need to host env + 128 Kb reserve for other allocations.
+ */
+#define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + (128<<10))
+
+#define CONFIG_STACKSIZE       (120<<10)       /* stack size   */
+
+#ifdef CONFIG_USE_IRQ
+#define CONFIG_STACKSIZE_IRQ   (4<<10) /* IRQ stack    */
+#define CONFIG_STACKSIZE_FIQ   (4<<10) /* FIQ stack    */
+#endif
+
+/*
+* Clocks configuration
+*/
+/*
+ * PLL configuration
+ *
+ * f_{dpll}=2*f{ref}*(MFI+MFN/(MFD+1))/(PD+1)
+ * f_ref=16,777216MHz
+ * 32768 Hz xtal
+ * 0x07B32DA5: 192.0000173
+ * 0x002a141f: 191,9944MHz
+ * 0x040b2007: 144MHz
+ * 0x0FB32DA5: 96.00000864 MHz
+ * 0x042a141f: 96MHz
+ * 0x0811140d: 64MHz
+ * 0x040e200e: 150MHz
+ * 0x00321431: 200MHz
+ *
+ *16 MHz xtal
+ * 0x08001800: 64MHz mit 16er Quarz
+ * 0x04001800: 96MHz mit 16er Quarz
+ * 0x04002400: 144MHz mit 16er Quarz
+ *
+ * 31  |x x x x|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x|x x x x| 0
+ *     |XXX|--PD---|-------MFD---------|XXX|--MFI--|-----MFN-----------|
+ */
+
+#define CONFIG_SYS_OSC32       32768   /* 32768 or 32000 Hz crystal */
+#undef CONFIG_SYS_OSC16        /* there is no external 16MHz external clock */
+
+/* MPU CLOCK source before PLL (should be named CONFIG_SYS_SYS_CLK_FREQ) */
+#define CONFIG_SYS_CLK_FREQ    (512*CONFIG_SYS_OSC32)
+#define CONFIG_SYS_MPCTL0_VAL          0x07B32DA5      /* 192.000017 MHz */
+#define CONFIG_SYS_MPCTL1_VAL          0
+
+/* system clock source before PLL (should be named 
CONFIG_SYS_SYSPLL_CLK_FREQ)*/
+#ifndef CONFIG_SYS_OSC16
+#define CONFIG_SYSPLL_CLK_FREQ         (512*CONFIG_SYS_OSC32)
+#if (CONFIG_SYS_OSC32 == 32000)
+#define CONFIG_SYS_SPCTL0_VAL          0x043F1437      /* 96 MHz */
+#define CONFIG_SYS_SPCTL1_VAL          0
+#define CONFIG_SYS_FREQ                        96      /* MHz */
+#else /* CONFIG_SYS_OSC32 == 32768 */
+#define CONFIG_SYS_SPCTL0_VAL          0x0FB32DA5      /* 96.000009 MHz */
+#define CONFIG_SYS_SPCTL1_VAL          0
+#define CONFIG_SYS_FREQ                        96      /* MHz */
+#endif /* CONFIG_SYS_OSC32 */
+#else /* CONFIG_SYS_OSC16 in use */
+#define CONFIG_SYSPLL_CLK_FREQ         CONFIG_SYS_OSC16
+#define CONFIG_SYS_SPCTL0_VAL          0x04001401      /* 96 MHz */
+#define CONFIG_SYS_SPCTL1_VAL          0x0C000040
+#define CONFIG_SYS_FREQ                        96      /* MHz */
+#endif /* CONFIG_SYS_OSC16 */
+
+/* external bus frequency (have to be a CONFIG_SYS_FREQ ratio) */
+#define CONFIG_SYS_BUS_FREQ    96      /* 96|48... MHz (BCLOCK and HCLOCK) */
+#define CONFIG_USB_FREQ                48      /* 48 MHz */
+#define CONFIG_PERIF1_FREQ     16      /* 16 MHz UART, Timer PWM */
+#define CONFIG_PERIF2_FREQ     48      /* 48 MHz LCD SD SPI */
+#define CONFIG_PERIF3_FREQ     16      /* 16 MHz SSI */
+
+/*
+ * SDRAM definition parameter
+ */
+/* we have and support only 1 bank of SDRAM */
+#define CONFIG_NR_DRAM_BANKS 1
+
+#define CONFIG_SYS_SDRAM_MBYTE_SYZE 16
+
+/*
+ * CONFIG_SYS_SDRAM_NUM_COL 8, 9, 10 or 11 column address bits
+ * CONFIG_SYS_SDRAM_NUM_ROW 11, 12 or 13 row address bits
+ * CONFIG_SYS_SDRAM_REFRESH 0=OFF 1=2048 2=4096 3=8192 refresh
+ * CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1 X ns clock cycle time when CL=1
+ * CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY X ns SRP
+ * CONFIG_SYS_SDRAM_ROW_2_COL_DELAY X ns SRCD
+ * CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY X ns SRC
+ * CONFIG_SYS_SDRAM_BURST_LENGTH 2^N BYTES (N=0..3)
+ * CONFIG_SYS_SDRAM_SINGLE_ACCESS 1= single access; 0 = Burst mode
+ */
+
+#if (CONFIG_SYS_SDRAM_MBYTE_SYZE == 8)
+/* micron 8MB */
+#define CONFIG_SYS_SDRAM_1_BASE        0x08000000      /* SDRAM bank #1 32bits 
*/
+#define CONFIG_SYS_SDRAM_1_SIZE        0x00800000      /* 8 MB */
+#define CONFIG_SYS_SDRAM_NUM_COL               8
+#define CONFIG_SYS_SDRAM_NUM_ROW               11
+#define CONFIG_SYS_SDRAM_REFRESH               2
+#define CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1      20
+#define CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY   20
+#define CONFIG_SYS_SDRAM_ROW_2_COL_DELAY       20
+#define CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY       70
+#define CONFIG_SYS_SDRAM_BURST_LENGTH          3
+#define CONFIG_SYS_SDRAM_SINGLE_ACCESS         0
+#endif
+
+#if (CONFIG_SYS_SDRAM_MBYTE_SYZE == 16)
+/* micron 16MB */
+#define CONFIG_SYS_SDRAM_1_BASE        0x08000000      /* SDRAM bank #1 32bits 
*/
+#define CONFIG_SYS_SDRAM_1_SIZE        0x01000000      /* 16 MB */
+#define CONFIG_SYS_SDRAM_NUM_COL               8
+#define CONFIG_SYS_SDRAM_NUM_ROW               12
+#define CONFIG_SYS_SDRAM_REFRESH               2
+#define CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1      20
+#define CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY   20
+#define CONFIG_SYS_SDRAM_ROW_2_COL_DELAY       20
+#define CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY       70
+#define CONFIG_SYS_SDRAM_BURST_LENGTH          3
+#define CONFIG_SYS_SDRAM_SINGLE_ACCESS         0
+#endif
+
+#if (CONFIG_SYS_SDRAM_MBYTE_SYZE == 32)
+/* micron 32MB */
+#define CONFIG_SYS_SDRAM_1_BASE        0x08000000      /* SDRAM bank #1 32bits 
*/
+#define CONFIG_SYS_SDRAM_1_SIZE        0x02000000      /* 32 MB */
+#define CONFIG_SYS_SDRAM_NUM_COL               9
+#define CONFIG_SYS_SDRAM_NUM_ROW               12
+#define CONFIG_SYS_SDRAM_REFRESH               2
+#define CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1      20
+#define CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY   20
+#define CONFIG_SYS_SDRAM_ROW_2_COL_DELAY       20
+#define CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY       70
+#define CONFIG_SYS_SDRAM_BURST_LENGTH          3
+#define CONFIG_SYS_SDRAM_SINGLE_ACCESS         0
+#endif
+
+#if (CONFIG_SYS_SDRAM_MBYTE_SYZE == 64)
+/* micron 64MB */
+#define CONFIG_SYS_SDRAM_1_BASE        0x08000000      /* SDRAM bank #1 32bits 
*/
+#define CONFIG_SYS_SDRAM_1_SIZE        0x04000000      /* 64 MB */
+#define CONFIG_SYS_SDRAM_NUM_COL               9
+#define CONFIG_SYS_SDRAM_NUM_ROW               13
+#define CONFIG_SYS_SDRAM_REFRESH               3
+#define CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1      20
+#define CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY   20
+#define CONFIG_SYS_SDRAM_ROW_2_COL_DELAY       20
+#define CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY       70
+#define CONFIG_SYS_SDRAM_BURST_LENGTH          3
+#define CONFIG_SYS_SDRAM_SINGLE_ACCESS         0
+#endif
+
+#define CONFIG_SYS_SDRAM_BASE  CONFIG_SYS_SDRAM_1_BASE
+
+/* lowlevel_linit copy U-Boot at CONFIG_SYS_INIT_SP_ADDR  (here in RAM) */
+/* making u-boot runnable from flash and also RAM that is usefull to boot */
+/* from serial port and from flash with only one version of U-Boot */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE   0x08000000
+#endif
+
+#define CONFIG_SYS_INIT_SP_ADDR        (CONFIG_SYS_SDRAM_BASE  \
+               + CONFIG_SYS_SDRAM_1_SIZE - 0x0100000)
+
+/*
+ * Configuration for a maximum 32MB of FLASH memory
+ */
+#define CONFIG_SYS_MAX_FLASH_BANKS     1       /* FLASH banks count */
+#define CONFIG_SYS_MAX_FLASH_SECT      256     /* number of sector in a bank */
+#define CONFIG_SYS_FLASH_BASE          0x10000000 /* location of flash memory*/
+
+/* This should be defined if CFI FLASH device is present. */
+#define        CONFIG_SYS_FLASH_CFI                    1
+#define CONFIG_FLASH_CFI_DRIVER                        1
+#define CONFIG_FLASH_CFI_MTD
+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE      1
+#define CONFIG_SYS_FLASH_PROTECTION            1
+#define CONFIG_SYS_DIRECT_FLASH_TFTP           1
+#define CONFIG_FLASH_SHOW_PROGRESS             45
+/*
+ * This is setting for JFFS2 support in u-boot.
+ * NOTE: Enable CONFIG_SYS_CMD_JFFS2 for JFFS2 support.
+ */
+#define CONFIG_SYS_JFFS_CUSTOM_PART
+
+/*
+ * Environment setup. Definitions of monitor location and size with
+ * definition of environment setup ends up in 2 possibilities.
+ * 1. Embeded environment - in u-boot code is space for environment
+ * 2. Environment is read from predefined sector of flash
+ * Right now we support 2. possiblity, but expecting no env placed
+ * on mentioned address right now. This also needs to provide whole
+ * sector for it - for us 256Kb is really waste of memory. U-boot uses
+ * default env. and until kernel parameters could be sent to kernel
+ * env. has no sense to us.
+ */
+
+#define        CONFIG_SYS_MONITOR_BASE 0x10000000
+#define        CONFIG_SYS_MONITOR_LEN  0x00040000      /* 256kB ( 2 flash 
sector ) */
+#define        CONFIG_ENV_IS_IN_FLASH  1
+#define        CONFIG_ENV_ADDR         0x10040000      /* absolute address for 
now */
+#define        CONFIG_ENV_SIZE         0x00020000
+#define        CONFIG_ENV_SECT_SIZE    0x00020000
+#define        CONFIG_ENV_OVERWRITE    1               /* env is writable now 
*/
+#define        CONFIG_FIRMWARE_ADDR    0x10060000
+#define        CONFIG_FIRMWARE_LEN     0x00040000      /* 256kB ( 2 flash 
sector ) */
+#define        CONFIG_KERNEL_ADDR      0x100A0000
+#define        CONFIG_KERNEL_LEN       0x00200000      /* 2MB */
+#define        CONFIG_ROOTFS_ADDR      0x102A0000
+#define        CONFIG_ROOTFS_LEN       /* entire flash if not specified */
+
+/*
+ * Default load address for user programs and kernel
+ */
+#define CONFIG_SYS_LOAD_ADDR           0x08000000
+#define        CONFIG_LOADADDR                 0x08000000
+#define CONFIG_SYS_TFTP_LOADADDR       0x08000000
+/*
+ * Hardware drivers
+ */
+
+/* DM9000 ethernet chipset assigned to CS4 */
+/* For the apf board DM9000 base is 0x15C00000 and data is base+2      */
+/* For the apm board DM9000 base is 0x15C3FFFC and data is base+4      */
+#define CONFIG_DRIVER_DM9000   1
+#define CONFIG_DM9000_BASE     0x15C00000
+#define DM9000_IO              CONFIG_DM9000_BASE
+#define DM9000_DATA            (CONFIG_DM9000_BASE+2)
+#define CONFIG_NET_MULTI
+
+/*-----------------------------------------------------------------------
+ * FPGA stuff
+ */
+#define CONFIG_FPGA_COUNT      1
+/* only digital value for CONFIG_FPGA is supported (investigation pending) */
+#define CONFIG_FPGA            0x801   /* CONFIG_SYS_XILINX_SPARTAN3 */
+#define CONFIG_FPGA_XILINX
+#define CONFIG_FPGA_SPARTAN3
+#define CONFIG_SYS_FPGA_WAIT           250
+#define CONFIG_SYS_FPGA_PROG_FEEDBACK
+#define CONFIG_SYS_FPGA_CHECK_CTRLC
+#define CONFIG_SYS_FPGA_CHECK_ERROR
+
+/* FPGA program pin configuration */
+#define CONFIG_SYS_FPGA_PRG    (GPIO_PORTB | 18) /* prog pin (SSI output) */
+#define CONFIG_SYS_FPGA_CLK    (GPIO_PORTB | 19) /* clk pin (SSI output) */
+#define CONFIG_SYS_FPGA_DATA   (GPIO_PORTB | 17) /* data pin (SSI output) */
+#define CONFIG_SYS_FPGA_INIT   (GPIO_PORTB | 15) /* init pin (SSI input) */
+#define CONFIG_SYS_FPGA_DONE   (GPIO_PORTB | 16) /* done pin (SSI input) */
+
+/*
+ * I2C bus
+ */
+
+#define        CONFIG_HARD_I2C         1       /* I2C with hardware support    
*/
+
+#define CONFIG_SYS_I2C_SPEED           400000  /* 400 kHz */
+#define CONFIG_SYS_I2C_SLAVE           0x7F
+
+#define CONFIG_SYS_I2C_EEPROM_ADDR     0x50    /* EEPROM 24LC256       */
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2       /* bytes of address     */
+/* mask of address bits that overflow into the "EEPROM chip address"   */
+/*#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW  0x00*/
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS      6
+#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS  10 /* takes up to 10 msec */
+
+#define CONFIG_RTC_DS1374
+/*#define CONFIG_MMC           1
+*/
+/*
+ * External interfaces module
+ *
+ * CSxU_VAL:
+ * 63|    x    |x|x x|x x x x|x x| x | x  |x x x x|48
+ *   |DTACK_SEL|0|BCD|  BCS  |PSZ|PME|SYNC|  DOL  |
+ *
+ * 47| x x  | x x x x x x | x | x x x x | x x x x |32
+ *   | CNC  |     WSC     | 0 |   WWS   |   EDC   |
+ *
+ * CSxL_VAL:
+ * 31|  x x x x  | x x x x  | x x x x  | x x x x  |24
+ *   |    OEA    |   OEN    |   WEA    |   WEN    |
+ * 23|x x x x| x | x x x | x x  x x |x x| x |  x  | 0
+ *   |  CSA  |EBC|  DSZ  | 0|SP|0|WP|0 0|PA |CSEN |
+ */
+
+/* CS0 configuration for flash memory Micron MT28F128J3-150 */
+#define CONFIG_SYS_CS0_CHIP_SELECT_ENABLE      1 /* 1 : enable CS0 */
+#define CONFIG_SYS_CS0_DATA_PORT_SIZE          0x5 /* 5=16 bits on D[15:0] */
+                                       /* 3=8bits on D[7:0] 6=32 bits..*/
+#define CONFIG_SYS_CS0_SUPERVISOR_PROTECT      0 /* 1: user access prohibited*/
+#define CONFIG_SYS_CS0_WRITE_PROTECT           0 /* 1: write prohibited*/
+#define CONFIG_SYS_CS0_EB_SIGNAL_CONTROL_WRITE 1 /* 1 EB is as write signal */
+#define CONFIG_SYS_CS0_READ_CYC_LGTH           150     /* ns */
+#define CONFIG_SYS_CS0_OE_ASSERT_DLY           0       /* ns */
+#define CONFIG_SYS_CS0_OE_NEG_DLY              0       /* ns */
+
+#define CONFIG_SYS_CS0_CS_NEG_LGTH     0       /* ns CS HIGH to CS LOW : tCWH*/
+#define CONFIG_SYS_CS0_XTRA_DEAD_CYC   35      /* ns from CS HIGH to tristate*/
+
+#define CONFIG_SYS_CS0_WRITE_XTRA_LGTH         0       /* ns */
+#define CONFIG_SYS_CS0_EB_ASSERT_DLY           0       /* ns */
+#define CONFIG_SYS_CS0_EB_NEG_DLY              0       /* ns */
+#define CONFIG_SYS_CS0_CS_ASSERT_NEG_DLY       0       /* ns */
+
+#define CONFIG_SYS_CS0_SYNC_ENABLE             1 /* enable sync burst mode */
+#define CONFIG_SYS_CS0_SYNC_PAGE_MODE_EMUL     1 /* enable page mode 
emulation*/
+#define CONFIG_SYS_CS0_SYNC_PAGE_SIZE          0 /* 4 words page size 
(8bytes)*/
+#define CONFIG_SYS_CS0_SYNC_BURST_CLK_START    0 /* 0 ns burst clock delay */
+#define CONFIG_SYS_CS0_SYNC_BURST_CLK_DIV      0 /* 0 : divider is 1 */
+#define CONFIG_SYS_CS0_SYNC_DAT_OUT_LGTH       25      /* ns */
+
+/* CS1 configuration for */
+#define CONFIG_SYS_CS1_CHIP_SELECT_ENABLE      1 /* 1 : enable CS0 peripherals 
*/
+#define CONFIG_SYS_CS1_PIN_ASSERT              0 /* chip select pin state when 
*/
+                                               /* chip select disabled */
+#define CONFIG_SYS_CS1_DATA_PORT_SIZE          0x5 /* 5=16 bits on D[15:0] 
pins */
+                                               /* 3=8bits on D[7:0] 6=32 
bits.. */
+#define CONFIG_SYS_CS1_SUPERVISOR_PROTECT      0 /* 1 : user mode access 
prohibited */
+#define CONFIG_SYS_CS1_WRITE_PROTECT           0 /* 1 : write access 
prohibited */
+#define CONFIG_SYS_CS1_EB_SIGNAL_CONTROL_WRITE 1 /* 1 when EB is used as write 
signal */
+
+#define CONFIG_SYS_CS1_READ_CYC_LGTH           50      /* ns */
+#define CONFIG_SYS_CS1_OE_ASSERT_DLY           0       /* ns */
+#define CONFIG_SYS_CS1_OE_NEG_DLY              0       /* ns */
+
+#define CONFIG_SYS_CS1_CS_NEG_LGTH     0       /* max 30 ns CS HIGH to CS LOW 
at 100MHz */
+#define CONFIG_SYS_CS1_XTRA_DEAD_CYC   0       /* ns from CS HIGH to tristate 
bus */
+
+#define CONFIG_SYS_CS1_WRITE_XTRA_LGTH         0       /* ns */
+#define CONFIG_SYS_CS1_EB_ASSERT_DLY           0       /* ns */
+#define CONFIG_SYS_CS1_EB_NEG_DLY              0       /* ns */
+#define CONFIG_SYS_CS1_CS_ASSERT_NEG_DLY       0       /* ns */
+
+#define CONFIG_SYS_CS1_SYNC_ENABLE             0 /* enable synchronous burst 
mode */
+#define CONFIG_SYS_CS1_SYNC_PAGE_MODE_EMUL     0 /* enable page mode emulation 
*/
+#define CONFIG_SYS_CS1_SYNC_PAGE_SIZE          0 /* 4 words page size (8bytes) 
*/
+#define CONFIG_SYS_CS1_SYNC_BURST_CLK_START    0 /* 0 ns burst clock delay */
+#define CONFIG_SYS_CS1_SYNC_BURST_CLK_DIV      0 /* 0 : divider is 1 */
+#define CONFIG_SYS_CS1_SYNC_DAT_OUT_LGTH       0 /* ns */
+
+/* CS2 configuration for */
+#define CONFIG_SYS_CS2_CHIP_SELECT_ENABLE      0 /* 1 : enable CS0 peripherals 
*/
+#define CONFIG_SYS_CS2_PIN_ASSERT              0 /* chip select pin state when 
*/
+                                               /*chip select disabled */
+#define CONFIG_SYS_CS2_DATA_PORT_SIZE          0x5 /* 5=16 bits on D[15:0] 
pins */
+                                               /* 3=8bits on D[7:0] 6=32 
bits.. */
+#define CONFIG_SYS_CS2_SUPERVISOR_PROTECT      0 /* 1 : user mode access 
prohibited */
+#define CONFIG_SYS_CS2_WRITE_PROTECT           0 /* 1 : write access 
prohibited */
+#define CONFIG_SYS_CS2_EB_SIGNAL_CONTROL_WRITE 1 /* 1 when EB is used as write 
signal */
+
+#define CONFIG_SYS_CS2_READ_CYC_LGTH           0       /* ns */
+#define CONFIG_SYS_CS2_OE_ASSERT_DLY           0       /* ns */
+#define CONFIG_SYS_CS2_OE_NEG_DLY              0       /* ns */
+
+#define CONFIG_SYS_CS2_CS_NEG_LGTH     0       /* max 30 ns CS HIGH to CS LOW 
at 100MHz */
+#define CONFIG_SYS_CS2_XTRA_DEAD_CYC   0       /* ns from CS HIGH to tristate 
bus */
+
+#define CONFIG_SYS_CS2_WRITE_XTRA_LGTH         0       /* ns */
+#define CONFIG_SYS_CS2_EB_ASSERT_DLY           0       /* ns */
+#define CONFIG_SYS_CS2_EB_NEG_DLY              0       /* ns */
+#define CONFIG_SYS_CS2_CS_ASSERT_NEG_DLY       0       /* ns */
+
+#define CONFIG_SYS_CS2_SYNC_ENABLE             0 /* enable synchronous burst 
mode */
+#define CONFIG_SYS_CS2_SYNC_PAGE_MODE_EMUL     0 /* enable page mode emulation 
*/
+#define CONFIG_SYS_CS2_SYNC_PAGE_SIZE          0 /* 4 words page size (8bytes) 
*/
+#define CONFIG_SYS_CS2_SYNC_BURST_CLK_START    0 /* 0 ns burst clock delay */
+#define CONFIG_SYS_CS2_SYNC_BURST_CLK_DIV      0 /* 0 : divider is 1 */
+#define CONFIG_SYS_CS2_SYNC_DAT_OUT_LGTH       0 /* ns */
+
+/* CS3 configuration for ISP1760 */
+#define CONFIG_SYS_CS3_CHIP_SELECT_ENABLE      1 /* 1 : enable CS0 peripherals 
*/
+#define CONFIG_SYS_CS3_PIN_ASSERT              0 /* chip select pin state when 
*/
+                                               /* chip select disabled */
+#define CONFIG_SYS_CS3_DATA_PORT_SIZE          0x5 /* 5=16 bits on D[15:0] 
pins */
+                                               /* 3=8bits on D[7:0] 6=32 
bits.. */
+#define CONFIG_SYS_CS3_SUPERVISOR_PROTECT      0 /* 1: user mode access 
prohibited */
+#define CONFIG_SYS_CS3_WRITE_PROTECT           0 /* 1: write access prohibited 
*/
+#define CONFIG_SYS_CS3_EB_SIGNAL_CONTROL_WRITE 1 /* 1 when EB is used as write 
signal */
+
+#define CONFIG_SYS_CS3_READ_CYC_LGTH           110     /* ns */
+#define CONFIG_SYS_CS3_OE_ASSERT_DLY           45      /* ns */
+#define CONFIG_SYS_CS3_OE_NEG_DLY              40      /* ns */
+
+#define CONFIG_SYS_CS3_CS_NEG_LGTH     30      /* max 30 ns CS HIGH to CS LOW 
at 100MHz */
+#define CONFIG_SYS_CS3_XTRA_DEAD_CYC   0       /* ns from CS HIGH to tristate 
bus */
+
+#define CONFIG_SYS_CS3_WRITE_XTRA_LGTH         0       /* ns */
+#define CONFIG_SYS_CS3_EB_ASSERT_DLY           45      /* ns */
+#define CONFIG_SYS_CS3_EB_NEG_DLY              45      /* ns */
+#define CONFIG_SYS_CS3_CS_ASSERT_NEG_DLY       35      /* ns */
+
+#define CONFIG_SYS_CS3_SYNC_ENABLE             0 /* enable synchronous burst 
mode */
+#define CONFIG_SYS_CS3_SYNC_PAGE_MODE_EMUL     0 /* enable page mode emulation 
*/
+#define CONFIG_SYS_CS3_SYNC_PAGE_SIZE          0 /* 4 words page size (8bytes) 
*/
+#define CONFIG_SYS_CS3_SYNC_BURST_CLK_START    0 /* 0 ns burst clock delay */
+#define CONFIG_SYS_CS3_SYNC_BURST_CLK_DIV      0 /* 0 : divider is 1 */
+#define CONFIG_SYS_CS3_SYNC_DAT_OUT_LGTH       0 /* ns */
+
+/* CS4 configuration for DM9000 ethernet chipset */
+#define CONFIG_SYS_CS4_CHIP_SELECT_ENABLE      1 /* 1 : enable CS0 peripherals 
*/
+#define CONFIG_SYS_CS4_PIN_ASSERT              0 /* chip select pin state when 
*/
+                                               /* chip select disabled */
+#define CONFIG_SYS_CS4_DATA_PORT_SIZE          0x5 /* 5=16 bits on D[15:0] 
pins */
+                                               /* 3=8bits on D[7:0] 6=32 
bits.. */
+#define CONFIG_SYS_CS4_SUPERVISOR_PROTECT      0 /* 1 : user mode access 
prohibited */
+#define CONFIG_SYS_CS4_WRITE_PROTECT           0 /* 1 : write access 
prohibited */
+#define CONFIG_SYS_CS4_EB_SIGNAL_CONTROL_WRITE 1 /* 1 when EB is used as write 
signal */
+
+#define CONFIG_SYS_CS4_READ_CYC_LGTH           72 /* ns */
+#define CONFIG_SYS_CS4_OE_ASSERT_DLY           5 /* ns */
+#define CONFIG_SYS_CS4_OE_NEG_DLY              45 /* ns */
+
+#define CONFIG_SYS_CS4_CS_NEG_LGTH     30      /* max 30 ns CS HIGH to CS LOW 
at 100MHz */
+#define CONFIG_SYS_CS4_XTRA_DEAD_CYC   0       /* ns from CS HIGH to tristate 
bus */
+
+#define CONFIG_SYS_CS4_WRITE_XTRA_LGTH         0       /* ns */
+#define CONFIG_SYS_CS4_EB_ASSERT_DLY           5       /* ns */
+#define CONFIG_SYS_CS4_EB_NEG_DLY              45      /* ns */
+#define CONFIG_SYS_CS4_CS_ASSERT_NEG_DLY       0       /* ns */
+
+#define CONFIG_SYS_CS4_SYNC_ENABLE             0 /* enable synchronous burst 
mode */
+#define CONFIG_SYS_CS4_SYNC_PAGE_MODE_EMUL     0 /* enable page mode emulation 
*/
+#define CONFIG_SYS_CS4_SYNC_PAGE_SIZE          0 /* 4 words page size (8bytes) 
*/
+#define CONFIG_SYS_CS4_SYNC_BURST_CLK_START    0 /* 0 ns burst clock delay */
+#define CONFIG_SYS_CS4_SYNC_BURST_CLK_DIV      0 /* 0 : divider is 1 */
+#define CONFIG_SYS_CS4_SYNC_DAT_OUT_LGTH       0 /* ns */
+
+/* CS5 configuration for */
+#define CONFIG_SYS_CS5_CHIP_SELECT_ENABLE      1 /* 1 : enable CS0 peripherals 
*/
+#define CONFIG_SYS_CS5_PIN_ASSERT              0 /* chip select pin state when 
*/
+                                               /* chip select disabled */
+#define CONFIG_SYS_CS5_DATA_PORT_SIZE          0x5 /* 5=16 bits on D[15:0] 
pins */
+                                               /* 3=8bits on D[7:0] 6=32 
bits.. */
+#define CONFIG_SYS_CS5_SUPERVISOR_PROTECT      0 /* 1: user mode access 
prohibited */
+#define CONFIG_SYS_CS5_WRITE_PROTECT           0 /* 1 : write access 
prohibited */
+#define CONFIG_SYS_CS5_EB_SIGNAL_CONTROL_WRITE 1 /* 1 when EB is used as write 
signal */
+#define CONFIG_SYS_CS5_DTACK_SELECT            1 /* Activate DTACK fonction */
+                                               /* (asynchrone bus) */
+
+#define CONFIG_SYS_CS5_READ_CYC_LGTH           -1 /* ns or -1 to DTACK 
function */
+#define CONFIG_SYS_CS5_OE_ASSERT_DLY           10      /* ns */
+#define CONFIG_SYS_CS5_OE_NEG_DLY              10      /* ns */
+
+#define CONFIG_SYS_CS5_CS_NEG_LGTH             10 /* max 30 ns CS HIGH to CS 
LOW at 100MHz */
+#define CONFIG_SYS_CS5_XTRA_DEAD_CYC           0 /* ns from CS HIGH to 
tristate bus */
+
+#define CONFIG_SYS_CS5_WRITE_XTRA_LGTH         0       /* ns */
+#define CONFIG_SYS_CS5_EB_ASSERT_DLY           10      /* ns */
+#define CONFIG_SYS_CS5_EB_NEG_DLY              10      /* ns */
+#define CONFIG_SYS_CS5_CS_ASSERT_NEG_DLY       0       /* ns */
+
+#define CONFIG_SYS_CS5_SYNC_ENABLE             0 /* enable synchron burst mode 
*/
+#define CONFIG_SYS_CS5_SYNC_PAGE_MODE_EMUL     0 /* enable page mode emulation 
*/
+#define CONFIG_SYS_CS5_SYNC_PAGE_SIZE          0 /* 4 words page size (8bytes) 
*/
+#define CONFIG_SYS_CS5_SYNC_BURST_CLK_START    0 /* 0 ns burst clock delay */
+#define CONFIG_SYS_CS5_SYNC_BURST_CLK_DIV      0 /* 0 : divider is 1 */
+#define CONFIG_SYS_CS5_SYNC_DAT_OUT_LGTH       0       /* ns */
+
+/*
+ * Default configuration for GPIOs and peripherals
+ */
+#define CONFIG_SYS_DDIR_A_VAL          0x00000000
+#define CONFIG_SYS_OCR1_A_VAL          0x00000000
+#define CONFIG_SYS_OCR2_A_VAL          0x00000000
+#define CONFIG_SYS_ICFA1_A_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFA2_A_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB1_A_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB2_A_VAL         0xFFFFFFFF
+#define CONFIG_SYS_DR_A_VAL            0x00000000
+
+/* Setup for PA23 which is Reset Default PA23 but has to become CS5 */
+#define CONFIG_SYS_GIUS_A_VAL          0x00007FF8
+#define CONFIG_SYS_ICR1_A_VAL          0x00000000
+#define CONFIG_SYS_ICR2_A_VAL          0x00000000
+#define CONFIG_SYS_IMR_A_VAL           0x00000000
+#define CONFIG_SYS_GPR_A_VAL           0x00000000
+#define CONFIG_SYS_PUEN_A_VAL          0xFFFFFFFF
+
+#define CONFIG_SYS_DDIR_B_VAL          0x00000000
+#define CONFIG_SYS_OCR1_B_VAL          0x00000000
+#define CONFIG_SYS_OCR2_B_VAL          0x00000000
+#define CONFIG_SYS_ICFA1_B_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFA2_B_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB1_B_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB2_B_VAL         0xFFFFFFFF
+#define CONFIG_SYS_DR_B_VAL            0x00000000
+#define CONFIG_SYS_GIUS_B_VAL          0xFFFFFFFF
+#define CONFIG_SYS_ICR1_B_VAL          0x00000000
+#define CONFIG_SYS_ICR2_B_VAL          0x00000000
+#define CONFIG_SYS_IMR_B_VAL           0x00000000
+#define CONFIG_SYS_GPR_B_VAL           0x00000000
+#define CONFIG_SYS_PUEN_B_VAL          0xFFFFFFFF
+
+#define CONFIG_SYS_DDIR_C_VAL          0x00000000
+#define CONFIG_SYS_OCR1_C_VAL          0x00000000
+#define CONFIG_SYS_OCR2_C_VAL          0x00000000
+#define CONFIG_SYS_ICFA1_C_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFA2_C_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB1_C_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB2_C_VAL         0xFFFFFFFF
+#define CONFIG_SYS_DR_C_VAL            0x00000000
+#define CONFIG_SYS_GIUS_C_VAL          0x0007FFFF
+#define CONFIG_SYS_ICR1_C_VAL          0x00000000
+#define CONFIG_SYS_ICR2_C_VAL          0x00000000
+#define CONFIG_SYS_IMR_C_VAL           0x00000000
+#define CONFIG_SYS_GPR_C_VAL           0x00000000
+#define CONFIG_SYS_PUEN_C_VAL          0xF913FFFF
+
+#define CONFIG_SYS_DDIR_D_VAL          0x00000000
+#define CONFIG_SYS_OCR1_D_VAL          0x00000000
+#define CONFIG_SYS_OCR2_D_VAL          0x00000000
+#define CONFIG_SYS_ICFA1_D_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFA2_D_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB1_D_VAL         0xFFFFFFFF
+#define CONFIG_SYS_ICFB2_D_VAL         0xFFFFFFFF
+#define CONFIG_SYS_DR_D_VAL            0x00000000
+#define CONFIG_SYS_GIUS_D_VAL          0xFFFFFFFF
+#define CONFIG_SYS_ICR1_D_VAL          0x00000000
+#define CONFIG_SYS_ICR2_D_VAL          0x00000000
+#define CONFIG_SYS_IMR_D_VAL           0x00000000
+#define CONFIG_SYS_GPR_D_VAL           0x00000000
+#define CONFIG_SYS_PUEN_D_VAL          0xFFFFFFFF
+
+#define CONFIG_SYS_GPCR_VAL            0x000003AB
+
+/* FMCR Bit 1 becomes 0 to make CS3 if we have only one sdram bank*/
+#if (CONFIG_NR_DRAM_BANKS == 1)
+#define CONFIG_SYS_FMCR_VAL 0x00000001
+#elif (CONFIG_NR_DRAM_BANKS == 2)
+#define CONFIG_SYS_FMCR_VAL 0x00000003
+#endif
+
+/*
+ * FIXME: From here, there should not be any user configuration.
+ * All Equations are automatic
+ */
+
+#define CONFIG_SYS_HCLK_LGTH           (1000/CONFIG_SYS_BUS_FREQ)      /* ns */
+
+/* USB 48 MHz ; BUS 96MHz*/
+#ifdef CONFIG_SYS_OSC16
+#define CSCR_MASK 0x23030003
+#else
+#define CSCR_MASK 0x23000003
+#endif
+#define CONFIG_SYS_CSCR_VAL\
+       (CSCR_MASK                                              \
+       |((((CONFIG_SYS_FREQ/CONFIG_USB_FREQ)-1)&0x07)<<26)     \
+       |((((CONFIG_SYS_FREQ/CONFIG_SYS_BUS_FREQ)-1)&0x0F)<<10))
+
+/* PERCLKx 16MHz */
+#define CONFIG_SYS_PCDR_VAL\
+       (((((CONFIG_SYS_FREQ/CONFIG_PERIF1_FREQ)-1)&0x0F)<<0)   \
+       |((((CONFIG_SYS_FREQ/CONFIG_PERIF2_FREQ)-1)&0x0F)<<4)   \
+       |((((CONFIG_SYS_FREQ/CONFIG_PERIF3_FREQ)-1)&0x7F)<<16))
+
+/* SDRAM controller programming Values */
+#if ((CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1 > (3*CONFIG_SYS_HCLK_LGTH))\
+       || (CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1 < 1))
+#define REG_FIELD_SCL_VAL 3
+#else
+#define REG_FIELD_SCL_VAL\
+       ((CONFIG_SYS_SDRAM_CLOCK_CYCLE_CL_1+CONFIG_SYS_HCLK_LGTH-1)\
+       /CONFIG_SYS_HCLK_LGTH)
+#endif
+
+#if ((CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY > (2*CONFIG_SYS_HCLK_LGTH))\
+       || (CONFIG_SYS_SDRAM_ROW_PRECHARGE_DELAY < 1))
+#define REG_FIELD_SRP_VAL 0
+#else
+#define REG_FIELD_SRP_VAL 1
+#endif
+
+#if (CONFIG_SYS_SDRAM_ROW_2_COL_DELAY > (3*CONFIG_SYS_HCLK_LGTH))
+#define REG_FIELD_SRCD_VAL 0
+#else
+#define REG_FIELD_SRCD_VAL\
+       ((CONFIG_SYS_SDRAM_ROW_2_COL_DELAY+CONFIG_SYS_HCLK_LGTH-1)\
+       /CONFIG_SYS_HCLK_LGTH)
+#endif
+
+#if (CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY > (7*CONFIG_SYS_HCLK_LGTH))
+#define REG_FIELD_SRC_VAL 0
+#else
+#define REG_FIELD_SRC_VAL\
+       ((CONFIG_SYS_SDRAM_ROW_CYCLE_DELAY+CONFIG_SYS_HCLK_LGTH-1)\
+       /CONFIG_SYS_HCLK_LGTH)
+#endif
+
+#define REG_SDCTL_BASE_CONFIG (0x800a1000\
+                               | (((CONFIG_SYS_SDRAM_NUM_ROW-11)&0x3)<<24)\
+                               | (((CONFIG_SYS_SDRAM_NUM_COL-8)&0x3)<<20)\
+                               | (((CONFIG_SYS_SDRAM_REFRESH)&0x3)<<14)\
+                               | (((REG_FIELD_SCL_VAL)&0x3)<<8)\
+                               | (((REG_FIELD_SRP_VAL)&0x1)<<6)\
+                               | (((REG_FIELD_SRCD_VAL)&0x3)<<4)\
+                               | (((REG_FIELD_SRC_VAL)&0x7)<<0))
+
+#define CONFIG_SYS_NORMAL_RW_CMD       ((0x0<<28)+REG_SDCTL_BASE_CONFIG)
+#define CONFIG_SYS_PRECHARGE_CMD       ((0x1<<28)+REG_SDCTL_BASE_CONFIG)
+#define CONFIG_SYS_AUTOREFRESH_CMD     ((0x2<<28)+REG_SDCTL_BASE_CONFIG)
+#define CONFIG_SYS_SET_MODE_REG_CMD    ((0x3<<28)+REG_SDCTL_BASE_CONFIG)
+
+/* Issue Mode register Command to SDRAM*/
+#define CONFIG_SYS_SDRAM_MODE_REGISTER_VAL\
+       ((((CONFIG_SYS_SDRAM_BURST_LENGTH)&0x7)<<(CONFIG_SYS_SDRAM_NUM_COL+4))\
+       | (((REG_FIELD_SCL_VAL)&0x3)<<(CONFIG_SYS_SDRAM_NUM_COL+4+4))\
+       | (((CONFIG_SYS_SDRAM_SINGLE_ACCESS)&0x1)\
+               <<(CONFIG_SYS_SDRAM_NUM_COL+4+9)))
+
+/* Issue Precharge all Command to SDRAM*/
+#define CONFIG_SYS_SDRAM_PRECHARGE_ALL_VAL\
+       (((CONFIG_SYS_SDRAM_SINGLE_ACCESS)&0x1)<<(CONFIG_SYS_SDRAM_NUM_COL+4+9))
+
+/*
+ * CSxU_VAL:
+ * 63|    x    |x|x x|x x x x|x x| x | x  |x x x x|48
+ *   |DTACK_SEL|0|BCD|  BCS  |PSZ|PME|SYNC|  DOL  |
+ *
+ * 47| x x  | x x x x x x | x | x x x x | x x x x |32
+ *   | CNC  |     WSC     | 0 |   WWS   |   EDC   |
+ *
+ * CSxL_VAL:
+ * 31|  x x x x  | x x x x  | x x x x  | x x x x  |24
+ *   |    OEA    |   OEN    |   WEA    |   WEN    |
+ * 23|x x x x| x | x x x | x x  x x |x x| x |  x  | 0
+ *   |  CSA  |EBC|  DSZ  | 0|SP|0|WP|0 0|PA |CSEN |
+ */
+#define CONFIG_SYS_CS0U_VAL\
+       
((((CONFIG_SYS_CS0_XTRA_DEAD_CYC+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)\
+       
|((((CONFIG_SYS_CS0_WRITE_XTRA_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<4)\
+       
|(((((CONFIG_SYS_CS0_READ_CYC_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)-1)&0x3F)<<8)\
+       
|((((CONFIG_SYS_CS0_CS_NEG_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x03)<<14)\
+       
|((((CONFIG_SYS_CS0_SYNC_DAT_OUT_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       |((CONFIG_SYS_CS0_SYNC_ENABLE&0x01)<<20)\
+       |((CONFIG_SYS_CS0_SYNC_PAGE_MODE_EMUL&0x01)<<21)\
+       |((CONFIG_SYS_CS0_SYNC_PAGE_SIZE&0x03)<<22)\
+       
|((((CONFIG_SYS_CS0_SYNC_BURST_CLK_START+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       |((CONFIG_SYS_CS0_SYNC_BURST_CLK_DIV&0x03)<<28))
+
+#define CONFIG_SYS_CS0L_VAL\
+       ((CONFIG_SYS_CS0_CHIP_SELECT_ENABLE&0x01)\
+       |((CONFIG_SYS_CS0_WRITE_PROTECT&0x01)<<4)\
+       |((CONFIG_SYS_CS0_SUPERVISOR_PROTECT&0x01)<<6)\
+       |((CONFIG_SYS_CS0_DATA_PORT_SIZE&0x07)<<8)\
+       |((CONFIG_SYS_CS0_EB_SIGNAL_CONTROL_WRITE&0x01)<<11)\
+       
|((((CONFIG_SYS_CS0_CS_ASSERT_NEG_DLY+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<12)\
+       
|(((((CONFIG_SYS_CS0_EB_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       
|(((((CONFIG_SYS_CS0_EB_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<20)\
+       
|(((((CONFIG_SYS_CS0_OE_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       
|(((((CONFIG_SYS_CS0_OE_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<28))
+
+#define CONFIG_SYS_CS1U_VAL\
+       
((((CONFIG_SYS_CS1_XTRA_DEAD_CYC+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)\
+       
|((((CONFIG_SYS_CS1_WRITE_XTRA_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<4)\
+       
|(((((CONFIG_SYS_CS1_READ_CYC_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)-1)&0x3F)<<8)\
+       
|((((CONFIG_SYS_CS1_CS_NEG_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x03)<<14)\
+       
|((((CONFIG_SYS_CS1_SYNC_DAT_OUT_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       |((CONFIG_SYS_CS1_SYNC_ENABLE&0x01)<<20)\
+       |((CONFIG_SYS_CS1_SYNC_PAGE_MODE_EMUL&0x01)<<21)\
+       |((CONFIG_SYS_CS1_SYNC_PAGE_SIZE&0x03)<<22)\
+       
|((((CONFIG_SYS_CS1_SYNC_BURST_CLK_START+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       |((CONFIG_SYS_CS1_SYNC_BURST_CLK_DIV&0x03)<<28))
+
+#define CONFIG_SYS_CS1L_VAL\
+       ((CONFIG_SYS_CS1_CHIP_SELECT_ENABLE&0x01)\
+       |((CONFIG_SYS_CS1_PIN_ASSERT&0x01)<<1)\
+       |((CONFIG_SYS_CS1_WRITE_PROTECT&0x01)<<4)\
+       |((CONFIG_SYS_CS1_SUPERVISOR_PROTECT&0x01)<<6)\
+       |((CONFIG_SYS_CS1_DATA_PORT_SIZE&0x07)<<8)\
+       |((CONFIG_SYS_CS1_EB_SIGNAL_CONTROL_WRITE&0x01)<<11)\
+       
|((((CONFIG_SYS_CS1_CS_ASSERT_NEG_DLY+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<12)\
+       
|(((((CONFIG_SYS_CS1_EB_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       
|(((((CONFIG_SYS_CS1_EB_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<20)\
+       
|(((((CONFIG_SYS_CS1_OE_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       
|(((((CONFIG_SYS_CS1_OE_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<28))
+
+#define CONFIG_SYS_CS2U_VAL\
+       
(((((CONFIG_SYS_CS2_XTRA_DEAD_CYC+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)\
+       
|((((CONFIG_SYS_CS2_WRITE_XTRA_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<4)\
+       
|(((((CONFIG_SYS_CS2_READ_CYC_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)-1)&0x3F)<<8)\
+       
|((((CONFIG_SYS_CS2_CS_NEG_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x03)<<14)\
+       
|(((CONFIG_SYS_CS2_SYNC_DAT_OUT_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       |((CONFIG_SYS_CS2_SYNC_ENABLE&0x01)<<20)\
+       |((CONFIG_SYS_CS2_SYNC_PAGE_MODE_EMUL&0x01)<<21)\
+       |((CONFIG_SYS_CS2_SYNC_PAGE_SIZE&0x03)<<22)\
+       
|((((CONFIG_SYS_CS2_SYNC_BURST_CLK_START+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       |((CONFIG_SYS_CS2_SYNC_BURST_CLK_DIV&0x03)<<28))
+
+#define CONFIG_SYS_CS2L_VAL\
+       ((CONFIG_SYS_CS2_CHIP_SELECT_ENABLE&0x01)\
+       |((CONFIG_SYS_CS2_PIN_ASSERT&0x01)<<1)\
+       |((CONFIG_SYS_CS2_WRITE_PROTECT&0x01)<<4)\
+       |((CONFIG_SYS_CS2_SUPERVISOR_PROTECT&0x01)<<6)\
+       |((CONFIG_SYS_CS2_DATA_PORT_SIZE&0x07)<<8)\
+       |((CONFIG_SYS_CS2_EB_SIGNAL_CONTROL_WRITE&0x01)<<11)\
+       
|((((CONFIG_SYS_CS2_CS_ASSERT_NEG_DLY+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<12)\
+       
|(((((CONFIG_SYS_CS2_EB_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       
|(((((CONFIG_SYS_CS2_EB_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<20)\
+       
|(((((CONFIG_SYS_CS2_OE_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       
|(((((CONFIG_SYS_CS2_OE_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<28))
+
+#define CONFIG_SYS_CS3U_VAL\
+       
((((CONFIG_SYS_CS3_XTRA_DEAD_CYC+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)\
+       
|((((CONFIG_SYS_CS3_WRITE_XTRA_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<4)\
+       
|(((((CONFIG_SYS_CS3_READ_CYC_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)-1)&0x3F)<<8)\
+       
|((((CONFIG_SYS_CS3_CS_NEG_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x03)<<14)\
+       
|((((CONFIG_SYS_CS3_SYNC_DAT_OUT_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       |((CONFIG_SYS_CS3_SYNC_ENABLE&0x01)<<20)\
+       |((CONFIG_SYS_CS3_SYNC_PAGE_MODE_EMUL&0x01)<<21)\
+       |((CONFIG_SYS_CS3_SYNC_PAGE_SIZE&0x03)<<22)\
+       
|((((CONFIG_SYS_CS3_SYNC_BURST_CLK_START+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       |((CONFIG_SYS_CS3_SYNC_BURST_CLK_DIV&0x03)<<28))
+
+#define CONFIG_SYS_CS3L_VAL\
+       ((CONFIG_SYS_CS3_CHIP_SELECT_ENABLE&0x01)\
+       |((CONFIG_SYS_CS3_PIN_ASSERT&0x01)<<1)\
+       |((CONFIG_SYS_CS3_WRITE_PROTECT&0x01)<<4)\
+       |((CONFIG_SYS_CS3_SUPERVISOR_PROTECT&0x01)<<6)\
+       |((CONFIG_SYS_CS3_DATA_PORT_SIZE&0x07)<<8)\
+       |((CONFIG_SYS_CS3_EB_SIGNAL_CONTROL_WRITE&0x01)<<11)\
+       
|((((CONFIG_SYS_CS3_CS_ASSERT_NEG_DLY+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<12)\
+       
|(((((CONFIG_SYS_CS3_EB_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       
|(((((CONFIG_SYS_CS3_EB_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<20)\
+       
|(((((CONFIG_SYS_CS3_OE_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       
|(((((CONFIG_SYS_CS3_OE_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<28))
+
+#define CONFIG_SYS_CS4U_VAL\
+       
(((((CONFIG_SYS_CS4_XTRA_DEAD_CYC+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)\
+       
|((((CONFIG_SYS_CS4_WRITE_XTRA_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<4)\
+       
|(((((CONFIG_SYS_CS4_READ_CYC_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)-1)&0x3F)<<8)\
+       
|((((CONFIG_SYS_CS4_CS_NEG_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x03)<<14)\
+       
|((((CONFIG_SYS_CS4_SYNC_DAT_OUT_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16))\
+       |((CONFIG_SYS_CS4_SYNC_ENABLE&0x01)<<20)\
+       |((CONFIG_SYS_CS4_SYNC_PAGE_MODE_EMUL&0x01)<<21)\
+       |((CONFIG_SYS_CS4_SYNC_PAGE_SIZE&0x03)<<22)\
+       
|((((CONFIG_SYS_CS4_SYNC_BURST_CLK_START+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       |((CONFIG_SYS_CS4_SYNC_BURST_CLK_DIV&0x03)<<28))
+
+#define CONFIG_SYS_CS4L_VAL\
+       ((CONFIG_SYS_CS4_CHIP_SELECT_ENABLE&0x01)\
+       |((CONFIG_SYS_CS4_PIN_ASSERT&0x01)<<1)\
+       |((CONFIG_SYS_CS4_WRITE_PROTECT&0x01)<<4)\
+       |((CONFIG_SYS_CS4_SUPERVISOR_PROTECT&0x01)<<6)\
+       |((CONFIG_SYS_CS4_DATA_PORT_SIZE&0x07)<<8)\
+       |((CONFIG_SYS_CS4_EB_SIGNAL_CONTROL_WRITE&0x01)<<11)\
+       
|((((CONFIG_SYS_CS4_CS_ASSERT_NEG_DLY+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<12)\
+       
|(((((CONFIG_SYS_CS4_EB_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       
|(((((CONFIG_SYS_CS4_EB_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<20)\
+       
|(((((CONFIG_SYS_CS4_OE_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       
|(((((CONFIG_SYS_CS4_OE_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<28))
+
+#define CONFIG_SYS_CS5U_VAL\
+       
((((CONFIG_SYS_CS5_XTRA_DEAD_CYC+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)\
+       
|((((CONFIG_SYS_CS5_WRITE_XTRA_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<4)\
+       
|(((((CONFIG_SYS_CS5_READ_CYC_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)-1)&0x3F)<<8)\
+       
|((((CONFIG_SYS_CS5_CS_NEG_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x03)<<14)\
+       
|((((CONFIG_SYS_CS5_SYNC_DAT_OUT_LGTH+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       |((CONFIG_SYS_CS5_SYNC_ENABLE&0x01)<<20)\
+       |((CONFIG_SYS_CS5_SYNC_PAGE_MODE_EMUL&0x01)<<21)\
+       |((CONFIG_SYS_CS5_SYNC_PAGE_SIZE&0x03)<<22)\
+       
|((((CONFIG_SYS_CS5_SYNC_BURST_CLK_START+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       |((CONFIG_SYS_CS5_SYNC_BURST_CLK_DIV&0x03)<<28)\
+       |((CONFIG_SYS_CS5_DTACK_SELECT&0x01)<<31))
+
+#define CONFIG_SYS_CS5L_VAL\
+       ((CONFIG_SYS_CS5_CHIP_SELECT_ENABLE&0x01)\
+       |((CONFIG_SYS_CS5_PIN_ASSERT&0x01)<<1)\
+       |((CONFIG_SYS_CS5_WRITE_PROTECT&0x01)<<4)\
+       |((CONFIG_SYS_CS5_SUPERVISOR_PROTECT&0x01)<<6)\
+       |((CONFIG_SYS_CS5_DATA_PORT_SIZE&0x07)<<8)\
+       |((CONFIG_SYS_CS5_EB_SIGNAL_CONTROL_WRITE&0x01)<<11)\
+       
|((((CONFIG_SYS_CS5_CS_ASSERT_NEG_DLY+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<12)\
+       
|(((((CONFIG_SYS_CS5_EB_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<16)\
+       
|(((((CONFIG_SYS_CS5_EB_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<20)\
+       
|(((((CONFIG_SYS_CS5_OE_NEG_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<24)\
+       
|(((((CONFIG_SYS_CS5_OE_ASSERT_DLY*2)+CONFIG_SYS_HCLK_LGTH-1)/CONFIG_SYS_HCLK_LGTH)&0x0F)<<28))
+
+#endif /* __CONFIG_H */

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to