]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/configs/qong.h
microblaze: Wire up SPI driver
[karo-tx-uboot.git] / include / configs / qong.h
index a67006aa2d663057566ddb9566fab90d17b32f36..e824e17edd5d1e4fcc042245fc11fdad46225330 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#include <asm/arch/mx31-regs.h>
+#include <asm/arch/imx-regs.h>
 
- /* High Level Configuration Options */
-#define CONFIG_ARM1136         1       /* This is an arm1136 CPU core */
-#define CONFIG_MX31            1       /* in a mx31 */
-#define CONFIG_QONG            1
+/* High Level Configuration Options */
+#define CONFIG_ARM1136                 /* This is an arm1136 CPU core */
+#define CONFIG_MX31                    /* in a mx31 */
+#define CONFIG_QONG
 #define CONFIG_MX31_HCLK_FREQ  26000000        /* 26MHz */
 #define CONFIG_MX31_CLK32      32768
 
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
 
-#define CONFIG_CMDLINE_TAG             1       /* enable passing of ATAGs */
-#define CONFIG_SETUP_MEMORY_TAGS       1
-#define CONFIG_INITRD_TAG              1
+#define CONFIG_SYS_TEXT_BASE 0xa0000000
+
+#define CONFIG_CMDLINE_TAG                     /* enable passing of ATAGs */
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_INITRD_TAG
 
 /*
  * Size of malloc() pool
  */
-#define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 128 * 1024)
-/* size in bytes reserved for initial data */
-#define CONFIG_SYS_GBL_DATA_SIZE       128
+#define CONFIG_SYS_MALLOC_LEN          (CONFIG_ENV_SIZE + 1536 * 1024)
 
 /*
  * Hardware drivers
  */
 
-#define CONFIG_MX31_UART       1
-#define CONFIG_SYS_MX31_UART1  1
+#define CONFIG_MXC_UART
+#define CONFIG_MXC_UART_BASE   UART1_BASE
+
+#define CONFIG_MXC_GPIO
+#define CONFIG_HW_WATCHDOG
+
+#define CONFIG_MXC_SPI
+#define CONFIG_DEFAULT_SPI_BUS 1
+#define CONFIG_DEFAULT_SPI_MODE        (SPI_MODE_0 | SPI_CS_HIGH)
+#define CONFIG_RTC_MC13XXX
+
+#define CONFIG_PMIC
+#define CONFIG_PMIC_SPI
+#define CONFIG_PMIC_FSL
+#define CONFIG_FSL_PMIC_BUS    1
+#define CONFIG_FSL_PMIC_CS     0
+#define CONFIG_FSL_PMIC_CLK    100000
+#define CONFIG_FSL_PMIC_MODE   (SPI_MODE_0 | SPI_CS_HIGH)
+#define CONFIG_FSL_PMIC_BITLEN 32
 
 /* FPGA */
-#define CONFIG_QONG_FPGA       1
+#define CONFIG_FPGA
+#define CONFIG_QONG_FPGA
 #define CONFIG_FPGA_BASE       (CS1_BASE)
+#define CONFIG_FPGA_LATTICE
+#define CONFIG_FPGA_COUNT      1
 
 #ifdef CONFIG_QONG_FPGA
 /* Ethernet */
-#define CONFIG_DNET            1
+#define CONFIG_DNET
 #define CONFIG_DNET_BASE       (CS1_BASE + QONG_FPGA_PERIPH_SIZE)
-#define CONFIG_NET_MULTI       1
+
+/* Framebuffer and LCD */
+#define CONFIG_VIDEO
+#define CONFIG_CFB_CONSOLE
+#define CONFIG_VIDEO_MX3
+#define CONFIG_VIDEO_LOGO
+#define CONFIG_VIDEO_SW_CURSOR
+#define CONFIG_VGA_AS_SINGLE_DEVICE
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define CONFIG_SPLASH_SCREEN
+#define CONFIG_CMD_BMP
+#define CONFIG_BMP_16BPP
+#define CONFIG_VIDEO_BMP_GZIP
+#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10)
+
+/* USB */
+#define CONFIG_CMD_USB
+#ifdef CONFIG_CMD_USB
+#define CONFIG_USB_EHCI                        /* Enable EHCI USB support */
+#define CONFIG_USB_EHCI_MXC
+#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
+#define CONFIG_MXC_USB_PORT    2
+#define CONFIG_MXC_USB_PORTSC  (MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT)
+#define CONFIG_MXC_USB_FLAGS   MXC_EHCI_POWER_PINS_ENABLED
+#define CONFIG_EHCI_IS_TDI
+#define CONFIG_USB_STORAGE
+#define CONFIG_DOS_PARTITION
+#define CONFIG_SUPPORT_VFAT
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#endif /* CONFIG_CMD_USB */
 
 /*
  * Reducing the ARP timeout from default 5 seconds to 200ms we speed up the
 
 #define CONFIG_CONS_INDEX      1
 #define CONFIG_BAUDRATE                115200
-#define CONFIG_SYS_BAUDRATE_TABLE      {9600, 19200, 38400, 57600, 115200}
 
 /***********************************************************
  * Command definition
 
 #include <config_cmd_default.h>
 
-#define CONFIG_CMD_PING
+#define CONFIG_CMD_CACHE
+#define CONFIG_CMD_DATE
 #define CONFIG_CMD_DHCP
-#define CONFIG_CMD_NET
 #define CONFIG_CMD_MII
-#define CONFIG_CMD_JFFS2
+#define CONFIG_CMD_NAND
+#define CONFIG_CMD_NET
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_SETEXPR
+#define CONFIG_CMD_SPI
+#define CONFIG_CMD_UNZIP
 
-/*
- * You can compile in a MAC address and your custom net settings by using
- * the following syntax.
- *
- * #define CONFIG_ETHADDR              xx:xx:xx:xx:xx:xx
- * #define CONFIG_SERVERIP             <server ip>
- * #define CONFIG_IPADDR               <board ip>
- * #define CONFIG_GATEWAYIP            <gateway ip>
- * #define CONFIG_NETMASK              <your netmask>
- */
+#define CONFIG_BOARD_LATE_INIT
 
 #define CONFIG_BOOTDELAY       5
 
                " console=ttymxc0,${baudrate}\0"                        \
        "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0"              \
        "addmisc=setenv bootargs ${bootargs}\0"                         \
-       "uboot_addr=a0000000\0"                                         \
-       "kernel_addr=a0080000\0"                                        \
-       "ramdisk_addr=a0300000\0"                                       \
+       "uboot_addr=A0000000\0"                                         \
+       "kernel_addr=A00C0000\0"                                        \
+       "ramdisk_addr=A0300000\0"                                       \
        "u-boot=qong/u-boot.bin\0"                                      \
        "kernel_addr_r=80800000\0"                                      \
        "hostname=qong\0"                                               \
                " +${filesize};cp.b ${fileaddr} "                       \
                xstr(CONFIG_SYS_MONITOR_BASE) " ${filesize}\0"          \
        "upd=run load update\0"                                         \
+       "videomode=video=ctfb:x:640,y:480,depth:16,mode:0,pclk:40000,"  \
+               "le:120,ri:40,up:35,lo:10,hs:30,vs:3,sync:100663296,"   \
+               "vmode:0\0"                                             \
 
 /*
  * Miscellaneous configurable options
 
 #define CONFIG_SYS_HZ                  1000
 
-#define CONFIG_CMDLINE_EDITING 1
+#define CONFIG_CMDLINE_EDITING
+#define CONFIG_SYS_HUSH_PARSER                 /* Use the HUSH parser */
 
-#define CONFIG_MISC_INIT_R     1
+#define CONFIG_MISC_INIT_R
 /*-----------------------------------------------------------------------
  * Stack sizes
  *
 #define PHYS_SDRAM_1           CSD0_BASE
 #define PHYS_SDRAM_1_SIZE      0x10000000      /* 256 MB */
 
+/*
+ * NAND driver
+ */
+
+#ifndef __ASSEMBLY__
+extern void qong_nand_plat_init(void *chip);
+extern int qong_nand_rdy(void *chip);
+#endif
+#define CONFIG_NAND_PLAT
+#define CONFIG_SYS_MAX_NAND_DEVICE     1
+#define CONFIG_SYS_NAND_BASE   CS3_BASE
+#define NAND_PLAT_INIT() qong_nand_plat_init(nand)
+
+#define QONG_NAND_CLE(chip) ((unsigned long)(chip)->IO_ADDR_W | (1 << 24))
+#define QONG_NAND_ALE(chip) ((unsigned long)(chip)->IO_ADDR_W | (1 << 23))
+#define QONG_NAND_WRITE(addr, cmd) \
+       do { \
+               __REG8(addr) = cmd; \
+       } while (0)
+
+#define NAND_PLAT_WRITE_CMD(chip, cmd) QONG_NAND_WRITE(QONG_NAND_CLE(chip), cmd)
+#define NAND_PLAT_WRITE_ADR(chip, cmd) QONG_NAND_WRITE(QONG_NAND_ALE(chip), cmd)
+#define NAND_PLAT_DEV_READY(chip)      (qong_nand_rdy(chip))
+
 /*-----------------------------------------------------------------------
  * FLASH and environment organization
  */
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_FLASH_BASE
 #define CONFIG_SYS_MONITOR_LEN         0x40000         /* Reserve 256KiB */
 
-#define        CONFIG_ENV_IS_IN_FLASH  1
+#define        CONFIG_ENV_IS_IN_FLASH
 #define CONFIG_ENV_SECT_SIZE   0x20000
 #define CONFIG_ENV_SIZE                CONFIG_ENV_SECT_SIZE
-#define CONFIG_ENV_ADDR                (CONFIG_SYS_FLASH_BASE + 0x40000)
+#define CONFIG_ENV_ADDR                (CONFIG_SYS_FLASH_BASE + 0x80000)
 
 /* Address and size of Redundant Environment Sector    */
 #define CONFIG_ENV_OFFSET_REDUND       (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
  * CFI FLASH driver setup
  */
 /* Flash memory is CFI compliant */
-#define CONFIG_SYS_FLASH_CFI                   1
+#define CONFIG_SYS_FLASH_CFI
 /* Use drivers/cfi_flash.c */
-#define CONFIG_FLASH_CFI_DRIVER                        1
+#define CONFIG_FLASH_CFI_DRIVER
 /* Use buffered writes (~10x faster) */
-#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE      1
+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
 /* Use hardware sector protection */
-#define CONFIG_SYS_FLASH_PROTECTION            1
+#define CONFIG_SYS_FLASH_PROTECTION
 
 /*
- * JFFS2 partitions
+ * Filesystem
  */
+#define CONFIG_CMD_JFFS2
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_MTD_PARTITIONS
 #define CONFIG_CMD_MTDPARTS
-#define MTDIDS_DEFAULT         "nor0=physmap-flash.0"
+#define CONFIG_LZO
+#define CONFIG_MTD_DEVICE              /* needed for mtdparts commands */
+#define CONFIG_FLASH_CFI_MTD
+#define MTDIDS_DEFAULT         "nor0=physmap-flash.0,"         \
+                               "nand0=gen_nand"
 #define MTDPARTS_DEFAULT       \
-       "mtdparts=physmap-flash.0:256k(U-Boot),128k(env1),"     \
-       "128k(env2),2560k(kernel),13m(ramdisk),-(user)"
+       "mtdparts=physmap-flash.0:"                             \
+                       "512k(U-Boot),128k(env1),128k(env2),"   \
+                       "2304k(kernel),13m(ramdisk),-(user);"   \
+               "gen_nand:"                                     \
+                       "128m(nand)"
+
+/* additions for new relocation code, must be added to all boards */
+#define CONFIG_SYS_SDRAM_BASE          0x80000000
+#define CONFIG_SYS_INIT_RAM_ADDR       IRAM_BASE_ADDR
+#define CONFIG_SYS_INIT_RAM_SIZE               IRAM_SIZE
+#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR                (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET)
+
+#define CONFIG_BOARD_EARLY_INIT_F
 
 #endif /* __CONFIG_H */