davinci-sffsdr machine : Update kernel config, add board patch,
authorPhilip Balister <philip@balister.org>
Tue, 15 Apr 2008 13:44:44 +0000 (13:44 +0000)
committerPhilip Balister <philip@balister.org>
Tue, 15 Apr 2008 13:44:44 +0000 (13:44 +0000)
                         update machine file to work with linux.inc,
                         delete patches that are upstream.

conf/machine/davinci-sffsdr.conf
packages/linux/linux-davinci/binutils-buildid-arm.patch [deleted file]
packages/linux/linux-davinci/davinci-nand.patch [deleted file]
packages/linux/linux-davinci/davinci-sffsdr/defconfig
packages/linux/linux-davinci/davinci-sffsdr/sffsdr.patch [new file with mode: 0644]
packages/linux/linux-davinci_2.6.x+git-davinci.bb

index faf86c5..e732957 100644 (file)
@@ -7,13 +7,17 @@ PACKAGE_EXTRA_ARCHS = "armv4t armv5te"
 
 HOTPLUG = "udev"
 
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 PREFERRED_PROVIDER_virtual/kernel = "linux-davinci"
 PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
 
 PREFERRED_VERSION_u-boot = "git"
 UBOOT_MACHINE = "davinci_sffsdr_config"
 
+KERNEL_IMAGETYPE = "uImage"
+
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+
 SERIAL_CONSOLE ?= "115200 ttyS0"
 EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
 
diff --git a/packages/linux/linux-davinci/binutils-buildid-arm.patch b/packages/linux/linux-davinci/binutils-buildid-arm.patch
deleted file mode 100644 (file)
index edd224f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
-index 5ff5406..538fcb5 100644
---- a/arch/arm/kernel/vmlinux.lds.S
-+++ b/arch/arm/kernel/vmlinux.lds.S
-@@ -94,6 +94,7 @@ SECTIONS
-                       TEXT_TEXT
-                       SCHED_TEXT
-                       LOCK_TEXT
-+                      *(.note.*)
- #ifdef CONFIG_MMU
-                       *(.fixup)
- #endif
diff --git a/packages/linux/linux-davinci/davinci-nand.patch b/packages/linux/linux-davinci/davinci-nand.patch
deleted file mode 100644 (file)
index 33e53cf..0000000
+++ /dev/null
@@ -1,905 +0,0 @@
-Index: linux-davinci/drivers/mtd/nand/davinci_nand.c
-===================================================================
---- /dev/null
-+++ linux-davinci/drivers/mtd/nand/davinci_nand.c
-@@ -0,0 +1,638 @@
-+/*
-+ * linux/drivers/mtd/nand/davinci_nand.c
-+ *
-+ * NAND Flash Driver
-+ *
-+ * Copyright (C) 2006 Texas Instruments.
-+ *
-+ * ported to 2.6.23 (C) 2008 by
-+ * Sander Huijsen <Shuijsen@optelecom-nkf.com>
-+ * Troy Kisky <troy.kisky@boundarydevices.com>
-+ * Dirk Behme <Dirk.Behme@gmail.com>
-+ *
-+ * --------------------------------------------------------------------------
-+ *
-+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ * --------------------------------------------------------------------------
-+ *
-+ *  Overview:
-+ *   This is a device driver for the NAND flash device found on the
-+ *   DaVinci board which utilizes the Samsung k9k2g08 part.
-+ *
-+ *  Modifications:
-+ *  ver. 1.0: Feb 2005, Vinod/Sudhakar
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/err.h>
-+#include <linux/clk.h>
-+#include <linux/io.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/nand.h>
-+#include <linux/mtd/partitions.h>
-+
-+#include <asm/arch/hardware.h>
-+#include <asm/arch/nand.h>
-+#include <asm/arch/mux.h>
-+
-+#include <asm/mach/flash.h>
-+
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+#define DAVINCI_NAND_ECC_MODE NAND_ECC_HW3_512
-+#else
-+#define DAVINCI_NAND_ECC_MODE NAND_ECC_SOFT
-+#endif
-+
-+#define DRIVER_NAME "davinci_nand"
-+
-+static struct clk *nand_clock;
-+static void __iomem *nand_vaddr;
-+
-+/*
-+ * MTD structure for DaVinici board
-+ */
-+static struct mtd_info *nand_davinci_mtd;
-+
-+#ifdef CONFIG_MTD_PARTITIONS
-+const char *part_probes[] = { "cmdlinepart", NULL };
-+#endif
-+
-+static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
-+
-+/* BB marker is byte 5 in OOB of page 0 */
-+static struct nand_bbt_descr davinci_memorybased_small = {
-+      .options = NAND_BBT_SCAN2NDPAGE,
-+      .offs = 5,
-+      .len = 1,
-+      .pattern = scan_ff_pattern
-+};
-+
-+/* BB marker is bytes 0-1 in OOB of page 0 */
-+static struct nand_bbt_descr davinci_memorybased_large = {
-+      .options = 0,
-+      .offs = 0,
-+      .len = 2,
-+      .pattern = scan_ff_pattern
-+};
-+
-+inline unsigned int davinci_nand_readl(int offset)
-+{
-+      return davinci_readl(DAVINCI_ASYNC_EMIF_CNTRL_BASE + offset);
-+}
-+
-+inline void davinci_nand_writel(unsigned long value, int offset)
-+{
-+      davinci_writel(value, DAVINCI_ASYNC_EMIF_CNTRL_BASE + offset);
-+}
-+
-+/*
-+ * Hardware specific access to control-lines
-+ */
-+static void nand_davinci_hwcontrol(struct mtd_info *mtd, int cmd,
-+                                 unsigned int ctrl)
-+{
-+      struct nand_chip *chip = mtd->priv;
-+      u32 IO_ADDR_W = (u32)chip->IO_ADDR_W;
-+
-+      /* Did the control lines change? */
-+      if (ctrl & NAND_CTRL_CHANGE) {
-+              IO_ADDR_W &= ~(MASK_ALE|MASK_CLE);
-+
-+              if ((ctrl & NAND_CTRL_CLE) == NAND_CTRL_CLE)
-+                      IO_ADDR_W |= MASK_CLE;
-+              else if ((ctrl & NAND_CTRL_ALE) == NAND_CTRL_ALE)
-+                      IO_ADDR_W |= MASK_ALE;
-+
-+              chip->IO_ADDR_W = (void __iomem *)IO_ADDR_W;
-+      }
-+
-+      if (cmd != NAND_CMD_NONE)
-+              writeb(cmd, chip->IO_ADDR_W);
-+}
-+
-+static void nand_davinci_select_chip(struct mtd_info *mtd, int chip)
-+{
-+      /* do nothing */
-+}
-+
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+static void nand_davinci_enable_hwecc(struct mtd_info *mtd, int mode)
-+{
-+      u32 retval;
-+
-+      /* Reset ECC hardware */
-+      retval = davinci_nand_readl(NANDF1ECC_OFFSET);
-+
-+      /* Restart ECC hardware */
-+      retval = davinci_nand_readl(NANDFCR_OFFSET);
-+      retval |= (1 << 8);
-+      davinci_nand_writel(retval, NANDFCR_OFFSET);
-+}
-+
-+/*
-+ * Read DaVinci ECC register
-+ */
-+static u32 nand_davinci_readecc(struct mtd_info *mtd)
-+{
-+      /* Read register ECC and clear it */
-+      return davinci_nand_readl(NANDF1ECC_OFFSET);
-+}
-+
-+/*
-+ * Read DaVinci ECC registers and rework into MTD format
-+ */
-+static int nand_davinci_calculate_ecc(struct mtd_info *mtd,
-+                                    const u_char *dat, u_char *ecc_code)
-+{
-+      unsigned int ecc_val = nand_davinci_readecc(mtd);
-+      /* squeeze 0 middle bits out so that it fits in 3 bytes */
-+      unsigned int tmp = (ecc_val&0x0fff)|((ecc_val&0x0fff0000)>>4);
-+      /* invert so that erased block ecc is correct */
-+      tmp = ~tmp;
-+      ecc_code[0] = (u_char)(tmp);
-+      ecc_code[1] = (u_char)(tmp >> 8);
-+      ecc_code[2] = (u_char)(tmp >> 16);
-+
-+      return 0;
-+}
-+
-+static int nand_davinci_correct_data(struct mtd_info *mtd, u_char *dat,
-+                                   u_char *read_ecc, u_char *calc_ecc)
-+{
-+      struct nand_chip *chip = mtd->priv;
-+      u_int32_t eccNand = read_ecc[0] | (read_ecc[1] << 8) |
-+                                        (read_ecc[2] << 16);
-+      u_int32_t eccCalc = calc_ecc[0] | (calc_ecc[1] << 8) |
-+                                        (calc_ecc[2] << 16);
-+      u_int32_t diff = eccCalc ^ eccNand;
-+
-+      if (diff) {
-+              if ((((diff>>12)^diff) & 0xfff) == 0xfff) {
-+                      /* Correctable error */
-+                      if ((diff>>(12+3)) < chip->ecc.size) {
-+                              dat[diff>>(12+3)] ^= (1 << ((diff>>12)&7));
-+                              return 1;
-+                      } else {
-+                              return -1;
-+                      }
-+              } else if (!(diff & (diff-1))) {
-+                      /* Single bit ECC error in the ECC itself,
-+                         nothing to fix */
-+                      return 1;
-+              } else {
-+                      /* Uncorrectable error */
-+                      return -1;
-+              }
-+
-+      }
-+      return 0;
-+}
-+#endif
-+
-+/*
-+ * Read OOB data from flash.
-+ */
-+static int read_oob_and_check(struct mtd_info *mtd, loff_t offs, uint8_t *buf,
-+                            struct nand_bbt_descr *bd)
-+{
-+      int i, ret;
-+      int page;
-+      struct nand_chip *chip = mtd->priv;
-+
-+      /* Calculate page address from offset */
-+      page = (int)(offs >> chip->page_shift);
-+      page &= chip->pagemask;
-+
-+      /* Read OOB data from flash */
-+      ret = chip->ecc.read_oob(mtd, chip, page, 1);
-+      if (ret < 0)
-+              return ret;
-+
-+      /* Copy read OOB data to the buffer*/
-+      memcpy(buf, chip->oob_poi, mtd->oobsize);
-+
-+      /* Check pattern against BBM in OOB area */
-+      for (i = 0; i < bd->len; i++) {
-+              if (buf[bd->offs + i] != bd->pattern[i])
-+                      return 1;
-+      }
-+      return 0;
-+}
-+
-+/*
-+ * Fill in the memory based Bad Block Table (BBT).
-+ */
-+static int nand_davinci_memory_bbt(struct mtd_info *mtd,
-+                                 struct nand_bbt_descr *bd)
-+{
-+      int i, numblocks;
-+      int startblock = 0;
-+      loff_t from = 0;
-+      struct nand_chip *chip = mtd->priv;
-+      int blocksize = 1 << chip->bbt_erase_shift;
-+      uint8_t *buf = chip->buffers->databuf;
-+      int len = bd->options & NAND_BBT_SCAN2NDPAGE ? 2 : 1;
-+
-+      /* -numblocks- is 2 times the actual number of eraseblocks */
-+      numblocks = mtd->size >> (chip->bbt_erase_shift - 1);
-+
-+      /* Now loop through all eraseblocks in the flash */
-+      for (i = startblock; i < numblocks; i += 2) {
-+              int j, ret;
-+              int offs = from;
-+
-+              /* If NAND_BBT_SCAN2NDPAGE flag is set in bd->options,
-+               * also each 2nd page of an eraseblock is checked
-+               * for a Bad Block Marker. In that case, len equals 2.
-+               */
-+              for (j = 0; j < len; j++) {
-+                      /* Read OOB data and check pattern */
-+                      ret = read_oob_and_check(mtd, from, buf, bd);
-+                      if (ret < 0)
-+                              return ret;
-+
-+                      /* Check pattern for bad block markers */
-+                      if (ret) {
-+                              /* Mark bad block by writing 0b11 in the
-+                                 table */
-+                              chip->bbt[i >> 3] |= 0x03 << (i & 0x6);
-+
-+                              printk(KERN_WARNING "Bad eraseblock %d at " \
-+                                                  "0x%08x\n", i >> 1,
-+                                                   (unsigned int)from);
-+
-+                              mtd->ecc_stats.badblocks++;
-+                              break;
-+                      }
-+                      offs += mtd->writesize;
-+              }
-+
-+              /* Make -from- point to next eraseblock */
-+              from += blocksize;
-+      }
-+
-+      printk(KERN_NOTICE "Bad block scan: %d out of %d blocks are bad.\n",
-+                          mtd->ecc_stats.badblocks, numblocks>>1);
-+
-+      return 0;
-+}
-+
-+/*
-+ * This function creates a memory based bad block table (BBT).
-+ * It is largely based on the standard BBT function, but all
-+ * unnecessary junk is thrown out to speed up.
-+ */
-+static int nand_davinci_scan_bbt(struct mtd_info *mtd)
-+{
-+      struct nand_chip *chip = mtd->priv;
-+      struct nand_bbt_descr *bd;
-+      int len, ret = 0;
-+
-+      chip->bbt_td = NULL;
-+      chip->bbt_md = NULL;
-+
-+      /* pagesize determines location of BBM */
-+      if (mtd->writesize > 512)
-+              bd = &davinci_memorybased_large;
-+      else
-+              bd = &davinci_memorybased_small;
-+
-+      chip->badblock_pattern = bd;
-+
-+      /* Use 2 bits per page meaning 4 page markers per byte */
-+      len = mtd->size >> (chip->bbt_erase_shift + 2);
-+
-+      /* Allocate memory (2bit per block) and clear the memory bad block
-+         table */
-+      chip->bbt = kzalloc(len, GFP_KERNEL);
-+      if (!chip->bbt) {
-+              printk(KERN_ERR "nand_davinci_scan_bbt: Out of memory\n");
-+              return -ENOMEM;
-+      }
-+
-+      /* Now try to fill in the BBT */
-+      ret = nand_davinci_memory_bbt(mtd, bd);
-+      if (ret) {
-+              printk(KERN_ERR "nand_davinci_scan_bbt: "
-+                     "Can't scan flash and build the RAM-based BBT\n");
-+
-+              kfree(chip->bbt);
-+              chip->bbt = NULL;
-+      }
-+
-+      return ret;
-+}
-+
-+/*
-+ * Read from memory register: we can read 4 bytes at a time.
-+ * The hardware takes care of actually reading the NAND flash.
-+ */
-+static void nand_davinci_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
-+{
-+      int i;
-+      int num_words = len >> 2;
-+      u32 *p = (u32 *)buf;
-+      struct nand_chip *chip = mtd->priv;
-+
-+      for (i = 0; i < num_words; i++)
-+              p[i] = readl(chip->IO_ADDR_R);
-+}
-+
-+/*
-+ * Check hardware register for wait status. Returns 1 if device is ready,
-+ * 0 if it is still busy.
-+ */
-+static int nand_davinci_dev_ready(struct mtd_info *mtd)
-+{
-+      return (davinci_nand_readl(NANDFSR_OFFSET) & NAND_BUSY_FLAG);
-+}
-+
-+static void nand_davinci_set_eccsize(struct nand_chip *chip)
-+{
-+      chip->ecc.size = 256;
-+
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+      switch (chip->ecc.mode) {
-+      case NAND_ECC_HW12_2048:
-+              chip->ecc.size = 2048;
-+              break;
-+
-+      case NAND_ECC_HW3_512:
-+      case NAND_ECC_HW6_512:
-+      case NAND_ECC_HW8_512:
-+      chip->ecc.size = 512;
-+              break;
-+
-+      case NAND_ECC_HW3_256:
-+      default:
-+              /* do nothing */
-+              break;
-+      }
-+#endif
-+}
-+
-+static void nand_davinci_set_eccbytes(struct nand_chip *chip)
-+{
-+      chip->ecc.bytes = 3;
-+
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+      switch (chip->ecc.mode) {
-+      case NAND_ECC_HW12_2048:
-+              chip->ecc.bytes += 4;
-+      case NAND_ECC_HW8_512:
-+              chip->ecc.bytes += 2;
-+      case NAND_ECC_HW6_512:
-+              chip->ecc.bytes += 3;
-+      case NAND_ECC_HW3_512:
-+      case NAND_ECC_HW3_256:
-+      default:
-+              /* do nothing */
-+              break;
-+      }
-+#endif
-+}
-+
-+static void __devinit nand_davinci_flash_init(void)
-+{
-+      u32 regval, tmp;
-+
-+      /* Check for correct pin mux, reconfigure if necessary */
-+      tmp = davinci_readl(DAVINCI_SYSTEM_MODULE_BASE + PINMUX0);
-+
-+      if ((tmp & 0x20020C1F) != 0x00000C1F) {
-+              /* Disable HPI and ATA mux */
-+              davinci_mux_peripheral(DAVINCI_MUX_HPIEN, 0);
-+              davinci_mux_peripheral(DAVINCI_MUX_ATAEN, 0);
-+
-+              /* Enable VLYNQ and AEAW */
-+              davinci_mux_peripheral(DAVINCI_MUX_AEAW0, 1);
-+              davinci_mux_peripheral(DAVINCI_MUX_AEAW1, 1);
-+              davinci_mux_peripheral(DAVINCI_MUX_AEAW2, 1);
-+              davinci_mux_peripheral(DAVINCI_MUX_AEAW3, 1);
-+              davinci_mux_peripheral(DAVINCI_MUX_AEAW4, 1);
-+              davinci_mux_peripheral(DAVINCI_MUX_VLSCREN, 1);
-+              davinci_mux_peripheral(DAVINCI_MUX_VLYNQEN, 1);
-+
-+              regval = davinci_readl(DAVINCI_SYSTEM_MODULE_BASE + PINMUX0);
-+
-+              printk(KERN_WARNING "Warning: MUX config for NAND: Set " \
-+                     "PINMUX0 reg to 0x%08x, was 0x%08x, should be done " \
-+                     "by bootloader.\n", regval, tmp);
-+      }
-+
-+      regval = davinci_nand_readl(AWCCR_OFFSET);
-+      regval |= 0x10000000;
-+      davinci_nand_writel(regval, AWCCR_OFFSET);
-+
-+      /*------------------------------------------------------------------*
-+       *  NAND FLASH CHIP TIMEOUT @ 459 MHz                               *
-+       *                                                                  *
-+       *  AEMIF.CLK freq   = PLL1/6 = 459/6 = 76.5 MHz                    *
-+       *  AEMIF.CLK period = 1/76.5 MHz = 13.1 ns                         *
-+       *                                                                  *
-+       *------------------------------------------------------------------*/
-+      regval = 0
-+              | (0 << 31)           /* selectStrobe */
-+              | (0 << 30)           /* extWait */
-+              | (1 << 26)           /* writeSetup      10 ns */
-+              | (3 << 20)           /* writeStrobe     40 ns */
-+              | (1 << 17)           /* writeHold       10 ns */
-+              | (0 << 13)           /* readSetup       10 ns */
-+              | (3 << 7)            /* readStrobe      60 ns */
-+              | (0 << 4)            /* readHold        10 ns */
-+              | (3 << 2)            /* turnAround      ?? ns */
-+              | (0 << 0)            /* asyncSize       8-bit bus */
-+              ;
-+      tmp = davinci_nand_readl(A1CR_OFFSET);
-+      if (tmp != regval) {
-+              printk(KERN_WARNING "Warning: NAND config: Set A1CR " \
-+                     "reg to 0x%08x, was 0x%08x, should be done by " \
-+                     "bootloader.\n", regval, tmp);
-+              davinci_nand_writel(regval, A1CR_OFFSET); /* 0x0434018C */
-+      }
-+
-+      davinci_nand_writel(0x00000101, NANDFCR_OFFSET);
-+}
-+
-+/*
-+ * Main initialization routine
-+ */
-+int __devinit nand_davinci_probe(struct platform_device *pdev)
-+{
-+      struct nand_platform_data *pdata = pdev->dev.platform_data;
-+      struct resource           *res = pdev->resource;
-+      struct nand_chip          *chip;
-+      struct device             *dev = NULL;
-+      u32                       nand_rev_code;
-+#ifdef CONFIG_MTD_CMDLINE_PARTS
-+      char                      *master_name;
-+      int                       mtd_parts_nb = 0;
-+      struct mtd_partition      *mtd_parts = 0;
-+#endif
-+
-+      nand_clock = clk_get(dev, "AEMIFCLK");
-+      if (IS_ERR(nand_clock)) {
-+              printk(KERN_ERR "Error %ld getting AEMIFCLK clock?\n",
-+                     PTR_ERR(nand_clock));
-+              return -1;
-+      }
-+
-+      clk_enable(nand_clock);
-+
-+      /* Allocate memory for MTD device structure and private data */
-+      nand_davinci_mtd = kmalloc(sizeof(struct mtd_info) +
-+                                 sizeof(struct nand_chip), GFP_KERNEL);
-+
-+      if (!nand_davinci_mtd) {
-+              printk(KERN_ERR "Unable to allocate davinci NAND MTD device " \
-+                     "structure.\n");
-+              clk_disable(nand_clock);
-+              return -ENOMEM;
-+      }
-+
-+      /* Get pointer to private data */
-+      chip = (struct nand_chip *) (&nand_davinci_mtd[1]);
-+
-+      /* Initialize structures */
-+      memset((char *)nand_davinci_mtd, 0, sizeof(struct mtd_info));
-+      memset((char *)chip, 0, sizeof(struct nand_chip));
-+
-+      /* Link the private data with the MTD structure */
-+      nand_davinci_mtd->priv = chip;
-+
-+      nand_rev_code = davinci_nand_readl(NRCSR_OFFSET);
-+
-+      printk("DaVinci NAND Controller rev. %d.%d\n",
-+             (nand_rev_code >> 8) & 0xff, nand_rev_code & 0xff);
-+
-+      nand_vaddr = ioremap(res->start, res->end - res->start);
-+      if (nand_vaddr == NULL) {
-+              printk(KERN_ERR "DaVinci NAND: ioremap failed.\n");
-+              clk_disable(nand_clock);
-+              kfree(nand_davinci_mtd);
-+              return -ENOMEM;
-+      }
-+
-+      chip->IO_ADDR_R   = (void __iomem *)nand_vaddr;
-+      chip->IO_ADDR_W   = (void __iomem *)nand_vaddr;
-+      chip->chip_delay  = 0;
-+      chip->select_chip = nand_davinci_select_chip;
-+      chip->options     = 0;
-+      chip->ecc.mode    = DAVINCI_NAND_ECC_MODE;
-+
-+      /* Set ECC size and bytes */
-+      nand_davinci_set_eccsize(chip);
-+      nand_davinci_set_eccbytes(chip);
-+
-+      /* Set address of hardware control function */
-+      chip->cmd_ctrl  = nand_davinci_hwcontrol;
-+      chip->dev_ready = nand_davinci_dev_ready;
-+
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+      chip->ecc.calculate = nand_davinci_calculate_ecc;
-+      chip->ecc.correct   = nand_davinci_correct_data;
-+      chip->ecc.hwctl     = nand_davinci_enable_hwecc;
-+#endif
-+
-+      /* Speed up the read buffer */
-+      chip->read_buf      = nand_davinci_read_buf;
-+
-+      /* Speed up the creation of the bad block table */
-+      chip->scan_bbt      = nand_davinci_scan_bbt;
-+
-+      nand_davinci_flash_init();
-+
-+      nand_davinci_mtd->owner = THIS_MODULE;
-+
-+      /* Scan to find existence of the device */
-+      if (nand_scan(nand_davinci_mtd, 1)) {
-+              printk(KERN_ERR "Chip Select is not set for NAND\n");
-+              clk_disable(nand_clock);
-+              kfree(nand_davinci_mtd);
-+              return -ENXIO;
-+      }
-+
-+      /* Register the partitions */
-+      add_mtd_partitions(nand_davinci_mtd, pdata->parts, pdata->nr_parts);
-+
-+#ifdef CONFIG_MTD_CMDLINE_PARTS
-+      /* Set nand_davinci_mtd->name = 0 temporarily */
-+      master_name = nand_davinci_mtd->name;
-+      nand_davinci_mtd->name = (char *)0;
-+
-+      /* nand_davinci_mtd->name == 0, means: don't bother checking
-+         <mtd-id> */
-+      mtd_parts_nb = parse_mtd_partitions(nand_davinci_mtd, part_probes,
-+                                          &mtd_parts, 0);
-+
-+      /* Restore nand_davinci_mtd->name */
-+      nand_davinci_mtd->name = master_name;
-+
-+      add_mtd_partitions(nand_davinci_mtd, mtd_parts, mtd_parts_nb);
-+#endif
-+
-+      return 0;
-+}
-+
-+/*
-+ * Clean up routine
-+ */
-+static int nand_davinci_remove(struct platform_device *pdev)
-+{
-+      clk_disable(nand_clock);
-+
-+      if (nand_vaddr)
-+              iounmap(nand_vaddr);
-+
-+      /* Release resources, unregister device */
-+      nand_release(nand_davinci_mtd);
-+
-+      /* Free the MTD device structure */
-+      kfree(nand_davinci_mtd);
-+
-+      return 0;
-+}
-+
-+
-+static struct platform_driver nand_davinci_driver = {
-+      .probe          = nand_davinci_probe,
-+      .remove         = nand_davinci_remove,
-+      .driver         = {
-+              .name   = DRIVER_NAME,
-+      },
-+};
-+
-+static int __init nand_davinci_init(void)
-+{
-+      return platform_driver_register(&nand_davinci_driver);
-+}
-+module_init(nand_davinci_init);
-+
-+#ifdef MODULE
-+static void __exit nand_davinci_exit(void)
-+{
-+      platform_driver_unregister(&nand_davinci_driver);
-+}
-+module_exit(nand_davinci_exit);
-+#endif
-+
-+MODULE_ALIAS(DRIVER_NAME);
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Texas Instruments");
-+MODULE_DESCRIPTION("Board-specific glue layer for NAND flash on davinci" \
-+                 "board");
-Index: linux-davinci/drivers/mtd/nand/Makefile
-===================================================================
---- linux-davinci.orig/drivers/mtd/nand/Makefile
-+++ linux-davinci/drivers/mtd/nand/Makefile
-@@ -29,5 +29,6 @@ obj-$(CONFIG_MTD_NAND_AT91)          += at91_nan
- obj-$(CONFIG_MTD_NAND_CM_X270)                += cmx270_nand.o
- obj-$(CONFIG_MTD_NAND_BASLER_EXCITE)  += excite_nandflash.o
- obj-$(CONFIG_MTD_NAND_PLATFORM)               += plat_nand.o
-+obj-$(CONFIG_MTD_NAND_DAVINCI)                += davinci_nand.o
- nand-objs := nand_base.o nand_bbt.o
-Index: linux-davinci/drivers/mtd/nand/Kconfig
-===================================================================
---- linux-davinci.orig/drivers/mtd/nand/Kconfig
-+++ linux-davinci/drivers/mtd/nand/Kconfig
-@@ -293,5 +293,17 @@ config MTD_NAND_PLATFORM
-         devices. You will need to provide platform-specific functions
-         via platform_data.
-+config MTD_NAND_DAVINCI
-+        tristate "NAND Flash device on DaVinci SoC"
-+        depends on MTD_NAND
-+      select MTD_PARTITIONS
-+        help
-+          Support for NAND flash on Texas Instruments DaVinci SoC.
-+
-+config NAND_FLASH_HW_ECC
-+        bool "Hardware ECC Support on NAND Device for DaVinci"
-+        depends on MTD_NAND_DAVINCI
-+        help
-+          Support for Hardware ECC on NAND device for DaVinci.
- endif # MTD_NAND
-Index: linux-davinci/include/asm-arm/arch-davinci/nand.h
-===================================================================
---- /dev/null
-+++ linux-davinci/include/asm-arm/arch-davinci/nand.h
-@@ -0,0 +1,45 @@
-+/*
-+ * include/asm-arm/arch-davinci/nand.h
-+ *
-+ * Copyright (C) 2006 Texas Instruments.
-+ *
-+ * ported to 2.6.23 (C) 2008 by
-+ * Sander Huijsen <Shuijsen@optelecom-nkf.com>
-+ * Troy Kisky <troy.kisky@boundarydevices.com>
-+ * Dirk Behme <Dirk.Behme@gmail.com>
-+ *
-+ * --------------------------------------------------------------------------
-+ *
-+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ * --------------------------------------------------------------------------
-+ *
-+ */
-+
-+#ifndef __ARCH_ARM_DAVINCI_NAND_H
-+#define __ARCH_ARM_DAVINCI_NAND_H
-+
-+#define NRCSR_OFFSET                  0x00
-+#define AWCCR_OFFSET          0x04
-+#define A1CR_OFFSET           0x10
-+#define NANDFCR_OFFSET                0x60
-+#define NANDFSR_OFFSET                0x64
-+#define NANDF1ECC_OFFSET      0x70
-+
-+#define       MASK_ALE                0x0A
-+#define       MASK_CLE                0x10
-+
-+#define NAND_BUSY_FLAG                0x01
-+
-+#endif        /* __ARCH_ARM_DAVINCI_NAND_H */
-Index: linux-davinci/arch/arm/mach-davinci/mux.c
-===================================================================
---- linux-davinci.orig/arch/arm/mach-davinci/mux.c
-+++ linux-davinci/arch/arm/mach-davinci/mux.c
-@@ -15,10 +15,6 @@
- #include <asm/arch/mux.h>
--/* System control register offsets */
--#define PINMUX0         0x00
--#define PINMUX1         0x04
--
- static DEFINE_SPINLOCK(mux_lock);
- void davinci_mux_peripheral(unsigned int mux, unsigned int enable)
-Index: linux-davinci/include/asm-arm/arch-davinci/mux.h
-===================================================================
---- linux-davinci.orig/include/asm-arm/arch-davinci/mux.h
-+++ linux-davinci/include/asm-arm/arch-davinci/mux.h
-@@ -11,6 +11,11 @@
- #ifndef __ASM_ARCH_MUX_H
- #define __ASM_ARCH_MUX_H
-+/* System control register offsets */
-+#define PINMUX0               0x00
-+#define PINMUX1                       0x04
-+
-+/* System control register bits */
- #define DAVINCI_MUX_AEAW0     0
- #define DAVINCI_MUX_AEAW1     1
- #define DAVINCI_MUX_AEAW2     2
-Index: linux-davinci/include/linux/mtd/nand.h
-===================================================================
---- linux-davinci.orig/include/linux/mtd/nand.h
-+++ linux-davinci/include/linux/mtd/nand.h
-@@ -123,6 +123,13 @@ typedef enum {
-       NAND_ECC_SOFT,
-       NAND_ECC_HW,
-       NAND_ECC_HW_SYNDROME,
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+      NAND_ECC_HW3_256,
-+      NAND_ECC_HW3_512,
-+      NAND_ECC_HW6_512,
-+      NAND_ECC_HW8_512,
-+      NAND_ECC_HW12_2048,
-+#endif
- } nand_ecc_modes_t;
- /*
-Index: linux-davinci/drivers/mtd/nand/nand_base.c
-===================================================================
---- linux-davinci.orig/drivers/mtd/nand/nand_base.c
-+++ linux-davinci/drivers/mtd/nand/nand_base.c
-@@ -2456,6 +2456,13 @@ int nand_scan_tail(struct mtd_info *mtd)
-               chip->ecc.write_page_raw = nand_write_page_raw;
-       switch (chip->ecc.mode) {
-+#ifdef CONFIG_NAND_FLASH_HW_ECC
-+      case NAND_ECC_HW12_2048:
-+      case NAND_ECC_HW8_512:
-+      case NAND_ECC_HW6_512:
-+      case NAND_ECC_HW3_512:
-+      case NAND_ECC_HW3_256:
-+#endif
-       case NAND_ECC_HW:
-               /* Use standard hwecc read page function ? */
-               if (!chip->ecc.read_page)
-Index: linux-davinci/arch/arm/mach-davinci/board-evm.c
-===================================================================
---- linux-davinci.orig/arch/arm/mach-davinci/board-evm.c
-+++ linux-davinci/arch/arm/mach-davinci/board-evm.c
-@@ -14,6 +14,7 @@
- #include <linux/dma-mapping.h>
- #include <linux/platform_device.h>
- #include <linux/mtd/mtd.h>
-+#include <linux/mtd/nand.h>
- #include <linux/mtd/partitions.h>
- #include <linux/mtd/physmap.h>
-@@ -27,6 +28,7 @@
- #include <asm/mach/flash.h>
- #include <asm/arch/common.h>
-+#include <asm/arch/hardware.h>
- #include <asm/arch/psc.h>
- /* other misc. init functions */
-@@ -38,7 +40,7 @@ void __init davinci_init_common_hw(void)
- /* NOR Flash base address set to CS0 by default */
- #define NOR_FLASH_PHYS 0x02000000
--static struct mtd_partition davinci_evm_partitions[] = {
-+static struct mtd_partition davinci_evm_norflash_partitions[] = {
-       /* bootloader (U-Boot, etc) in first 4 sectors */
-       {
-               .name           = "bootloader",
-@@ -69,30 +71,63 @@ static struct mtd_partition davinci_evm_
-       }
- };
--static struct physmap_flash_data davinci_evm_flash_data = {
-+static struct physmap_flash_data davinci_evm_norflash_data = {
-       .width          = 2,
--      .parts          = davinci_evm_partitions,
--      .nr_parts       = ARRAY_SIZE(davinci_evm_partitions),
-+      .parts          = davinci_evm_norflash_partitions,
-+      .nr_parts       = ARRAY_SIZE(davinci_evm_norflash_partitions),
- };
- /* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF
-  * limits addresses to 16M, so using addresses past 16M will wrap */
--static struct resource davinci_evm_flash_resource = {
-+static struct resource davinci_evm_norflash_resource = {
-       .start          = NOR_FLASH_PHYS,
-       .end            = NOR_FLASH_PHYS + SZ_16M - 1,
-       .flags          = IORESOURCE_MEM,
- };
--static struct platform_device davinci_evm_flash_device = {
-+static struct platform_device davinci_evm_norflash_device = {
-       .name           = "physmap-flash",
-       .id             = 0,
-       .dev            = {
--              .platform_data  = &davinci_evm_flash_data,
-+              .platform_data  = &davinci_evm_norflash_data,
-       },
-       .num_resources  = 1,
--      .resource       = &davinci_evm_flash_resource,
-+      .resource       = &davinci_evm_norflash_resource,
- };
-+#if defined(CONFIG_MTD_NAND_DAVINCI) || defined(CONFIG_MTD_NAND_DAVINCI_MODULE)
-+struct mtd_partition davinci_evm_nandflash_partition[] = {
-+      /* 5 MB space at the beginning for bootloader and kernel */
-+      {
-+              .name           = "NAND filesystem",
-+              .offset         = 5 * SZ_1M,
-+              .size           = MTDPART_SIZ_FULL,
-+              .mask_flags     = 0,
-+      }
-+};
-+
-+static struct nand_platform_data davinci_evm_nandflash_data = {
-+      .parts          = davinci_evm_nandflash_partition,
-+      .nr_parts       = ARRAY_SIZE(davinci_evm_nandflash_partition),
-+};
-+
-+static struct resource davinci_evm_nandflash_resource = {
-+      .start          = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE,
-+      .end            = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16K - 1,
-+      .flags          = IORESOURCE_MEM,
-+};
-+
-+static struct platform_device davinci_evm_nandflash_device = {
-+      .name           = "davinci_nand",
-+      .id             = 0,
-+      .dev            = {
-+              .platform_data  = &davinci_evm_nandflash_data,
-+      },
-+      .num_resources  = 1,
-+      .resource       = &davinci_evm_nandflash_resource,
-+};
-+#endif
-+
- #if defined(CONFIG_FB_DAVINCI) || defined(CONFIG_FB_DAVINCI_MODULE)
- static u64 davinci_fb_dma_mask = DMA_32BIT_MASK;
-@@ -168,7 +203,10 @@ static struct platform_device rtc_dev = 
- };
- static struct platform_device *davinci_evm_devices[] __initdata = {
--      &davinci_evm_flash_device,
-+      &davinci_evm_norflash_device,
-+#if defined(CONFIG_MTD_NAND_DAVINCI) || defined(CONFIG_MTD_NAND_DAVINCI_MODULE)
-+      &davinci_evm_nandflash_device,
-+#endif
- #if defined(CONFIG_FB_DAVINCI) || defined(CONFIG_FB_DAVINCI_MODULE)
-       &davinci_fb_device,
- #endif
index 0d5155f..7d67d34 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-davinci1
-# Sun Feb  3 08:30:51 2008
+# Linux kernel version: 2.6.25-rc8-davinci1
+# Tue Apr 15 07:09:55 2008
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -21,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
 # CONFIG_ARCH_HAS_ILOG2_U64 is not set
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
 CONFIG_ZONE_DMA=y
 CONFIG_VECTORS_BASE=0xffff0000
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -39,13 +40,20 @@ CONFIG_SYSVIPC_SYSCTL=y
 CONFIG_POSIX_MQUEUE=y
 # CONFIG_BSD_PROCESS_ACCT is not set
 # CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
 # CONFIG_AUDIT is not set
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
 CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
 # CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
@@ -54,22 +62,33 @@ CONFIG_EMBEDDED=y
 CONFIG_UID16=y
 CONFIG_SYSCTL_SYSCALL=y
 CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
 CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_ANON_INODES=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_SLAB=y
 # CONFIG_SLUB is not set
 # CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
 CONFIG_RT_MUTEXES=y
 # CONFIG_TINY_SHMEM is not set
 CONFIG_BASE_SMALL=0
@@ -97,6 +116,7 @@ CONFIG_DEFAULT_AS=y
 # CONFIG_DEFAULT_CFQ is not set
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
 
 #
 # System Type
@@ -125,6 +145,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_ARCH_KS8695 is not set
 # CONFIG_ARCH_NS9XXX is not set
 # CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION is not set
 # CONFIG_ARCH_PNX4008 is not set
 # CONFIG_ARCH_PXA is not set
 # CONFIG_ARCH_RPC is not set
@@ -134,6 +155,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_ARCH_LH7A40X is not set
 CONFIG_ARCH_DAVINCI=y
 # CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM7X00A is not set
 
 #
 # Boot options
@@ -192,10 +214,6 @@ CONFIG_ARM_THUMB=y
 #
 # CONFIG_PCI_SYSCALL is not set
 # CONFIG_ARCH_SUPPORTS_MSI is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
 # CONFIG_PCCARD is not set
 
 #
@@ -204,6 +222,7 @@ CONFIG_ARM_THUMB=y
 # CONFIG_TICK_ONESHOT is not set
 # CONFIG_NO_HZ is not set
 # CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
 # CONFIG_PREEMPT is not set
 CONFIG_HZ=100
 CONFIG_AEABI=y
@@ -216,6 +235,7 @@ CONFIG_FLATMEM_MANUAL=y
 CONFIG_FLATMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
 # CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4096
 # CONFIG_RESOURCES_64BIT is not set
 CONFIG_ZONE_DMA_FLAG=1
@@ -241,8 +261,7 @@ CONFIG_CMDLINE=""
 #
 # At least one emulation must be selected
 #
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_NWFPE is not set
 # CONFIG_FPE_FASTFPE is not set
 # CONFIG_VFP is not set
 
@@ -257,7 +276,7 @@ CONFIG_BINFMT_ELF=y
 # Power management options
 #
 # CONFIG_PM is not set
-CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
 
 #
 # Networking
@@ -274,6 +293,7 @@ CONFIG_XFRM=y
 # CONFIG_XFRM_USER is not set
 # CONFIG_XFRM_SUB_POLICY is not set
 # CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
 # CONFIG_NET_KEY is not set
 CONFIG_INET=y
 # CONFIG_IP_MULTICAST is not set
@@ -295,6 +315,7 @@ CONFIG_INET_TUNNEL=m
 CONFIG_INET_XFRM_MODE_TRANSPORT=y
 CONFIG_INET_XFRM_MODE_TUNNEL=y
 CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
 CONFIG_INET_DIAG=y
 CONFIG_INET_TCP_DIAG=y
 # CONFIG_TCP_CONG_ADVANCED is not set
@@ -322,12 +343,13 @@ CONFIG_IPV6_SIT=m
 # CONFIG_NETWORK_SECMARK is not set
 CONFIG_NETFILTER=y
 # CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
 
 #
 # Core Netfilter Configuration
 #
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
 # CONFIG_NF_CONNTRACK is not set
 # CONFIG_NETFILTER_XTABLES is not set
 
@@ -339,7 +361,7 @@ CONFIG_NETFILTER=y
 # CONFIG_IP_NF_ARPTABLES is not set
 
 #
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
+# IPv6: Netfilter Configuration
 #
 # CONFIG_IP6_NF_QUEUE is not set
 # CONFIG_IP6_NF_IPTABLES is not set
@@ -357,10 +379,6 @@ CONFIG_NETFILTER=y
 # CONFIG_LAPB is not set
 # CONFIG_ECONET is not set
 # CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
 # CONFIG_NET_SCHED is not set
 
 #
@@ -368,6 +386,7 @@ CONFIG_NETFILTER=y
 #
 # CONFIG_NET_PKTGEN is not set
 # CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
 # CONFIG_IRDA is not set
 # CONFIG_BT is not set
 # CONFIG_AF_RXRPC is not set
@@ -389,9 +408,12 @@ CONFIG_NETFILTER=y
 #
 # Generic Driver Options
 #
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 # CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
 # CONFIG_SYS_HYPERVISOR is not set
 # CONFIG_CONNECTOR is not set
 CONFIG_MTD=y
@@ -399,7 +421,7 @@ CONFIG_MTD=y
 # CONFIG_MTD_CONCAT is not set
 CONFIG_MTD_PARTITIONS=y
 # CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_CMDLINE_PARTS is not set
 # CONFIG_MTD_AFS_PARTS is not set
 
 #
@@ -413,14 +435,13 @@ CONFIG_MTD_BLOCK=y
 # CONFIG_INFTL is not set
 # CONFIG_RFD_FTL is not set
 # CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
 
 #
 # RAM/ROM/Flash chip drivers
 #
-CONFIG_MTD_CFI=y
+# CONFIG_MTD_CFI is not set
 # CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
 CONFIG_MTD_MAP_BANK_WIDTH_1=y
 CONFIG_MTD_MAP_BANK_WIDTH_2=y
 CONFIG_MTD_MAP_BANK_WIDTH_4=y
@@ -431,10 +452,6 @@ CONFIG_MTD_CFI_I1=y
 CONFIG_MTD_CFI_I2=y
 # CONFIG_MTD_CFI_I4 is not set
 # CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
 # CONFIG_MTD_RAM is not set
 # CONFIG_MTD_ROM is not set
 # CONFIG_MTD_ABSENT is not set
@@ -443,11 +460,6 @@ CONFIG_MTD_CFI_UTIL=y
 # Mapping drivers for chip access
 #
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_START=0x8000000
-CONFIG_MTD_PHYSMAP_LEN=0x0
-CONFIG_MTD_PHYSMAP_BANKWIDTH=2
-# CONFIG_MTD_ARM_INTEGRATOR is not set
 # CONFIG_MTD_PLATRAM is not set
 
 #
@@ -465,15 +477,16 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
 # CONFIG_MTD_DOC2001 is not set
 # CONFIG_MTD_DOC2001PLUS is not set
 CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
 # CONFIG_MTD_NAND_ECC_SMC is not set
 # CONFIG_MTD_NAND_MUSEUM_IDS is not set
 CONFIG_MTD_NAND_IDS=y
 # CONFIG_MTD_NAND_DISKONCHIP is not set
 # CONFIG_MTD_NAND_NANDSIM is not set
 # CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
 CONFIG_MTD_NAND_DAVINCI=y
-CONFIG_NAND_FLASH_HW_ECC=y
+# CONFIG_NAND_FLASH_HW_ECC is not set
 # CONFIG_MTD_ONENAND is not set
 
 #
@@ -490,9 +503,13 @@ CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=1
 CONFIG_BLK_DEV_RAM_SIZE=32768
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_BLK_DEV_XIP is not set
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
 #
@@ -531,6 +548,7 @@ CONFIG_SCSI_WAIT_SCAN=m
 # CONFIG_SCSI_FC_ATTRS is not set
 # CONFIG_SCSI_ISCSI_ATTRS is not set
 # CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
 CONFIG_SCSI_LOWLEVEL=y
 # CONFIG_ISCSI_TCP is not set
 # CONFIG_SCSI_DEBUG is not set
@@ -543,6 +561,7 @@ CONFIG_NETDEVICES=y
 # CONFIG_MACVLAN is not set
 # CONFIG_EQUALIZER is not set
 CONFIG_TUN=m
+# CONFIG_VETH is not set
 # CONFIG_PHYLIB is not set
 CONFIG_NET_ETHERNET=y
 # CONFIG_MII is not set
@@ -550,8 +569,13 @@ CONFIG_NET_ETHERNET=y
 # CONFIG_SMC91X is not set
 CONFIG_TI_DAVINCI_EMAC=y
 # CONFIG_DM9000 is not set
-CONFIG_NETDEV_1000=y
-CONFIG_NETDEV_10000=y
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
 
 #
 # Wireless LAN
@@ -566,7 +590,6 @@ CONFIG_NETDEV_10000=y
 # CONFIG_USB_KAWETH is not set
 # CONFIG_USB_PEGASUS is not set
 # CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET_MII is not set
 # CONFIG_USB_USBNET is not set
 # CONFIG_WAN is not set
 CONFIG_PPP=m
@@ -581,8 +604,8 @@ CONFIG_PPP_DEFLATE=m
 # CONFIG_PPPOL2TP is not set
 # CONFIG_SLIP is not set
 CONFIG_SLHC=m
-# CONFIG_SHAPER is not set
 CONFIG_NETCONSOLE=y
+# CONFIG_NETCONSOLE_DYNAMIC is not set
 CONFIG_NETPOLL=y
 CONFIG_NETPOLL_TRAP=y
 CONFIG_NET_POLL_CONTROLLER=y
@@ -598,9 +621,11 @@ CONFIG_INPUT=y
 #
 # Userland interfaces
 #
-# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
 # CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=m
 # CONFIG_INPUT_EVBUG is not set
 
@@ -608,10 +633,10 @@ CONFIG_INPUT_EVDEV=m
 # Input Device Drivers
 #
 CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_ATKBD=y
 # CONFIG_KEYBOARD_SUNKBD is not set
 # CONFIG_KEYBOARD_LKKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_XTKBD=y
 # CONFIG_KEYBOARD_NEWTON is not set
 # CONFIG_KEYBOARD_STOWAWAY is not set
 # CONFIG_KEYBOARD_GPIO is not set
@@ -626,7 +651,7 @@ CONFIG_INPUT_KEYBOARD=y
 #
 CONFIG_SERIO=y
 CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_LIBPS2 is not set
+CONFIG_SERIO_LIBPS2=y
 # CONFIG_SERIO_RAW is not set
 # CONFIG_GAMEPORT is not set
 
@@ -657,7 +682,6 @@ CONFIG_UNIX98_PTYS=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=256
 # CONFIG_IPMI_HANDLER is not set
-# CONFIG_WATCHDOG is not set
 CONFIG_HW_RANDOM=y
 # CONFIG_NVRAM is not set
 CONFIG_DAVINCI_RTC=y
@@ -678,6 +702,7 @@ CONFIG_I2C_CHARDEV=y
 #
 # I2C Hardware Bus support
 #
+CONFIG_I2C_DAVINCI=y
 # CONFIG_I2C_GPIO is not set
 # CONFIG_I2C_OCORES is not set
 # CONFIG_I2C_PARPORT_LIGHT is not set
@@ -685,17 +710,14 @@ CONFIG_I2C_CHARDEV=y
 # CONFIG_I2C_TAOS_EVM is not set
 # CONFIG_I2C_STUB is not set
 # CONFIG_I2C_TINY_USB is not set
-CONFIG_I2C_DAVINCI=y
 
 #
 # Miscellaneous I2C Chip support
 #
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
 # CONFIG_DS1682 is not set
 # CONFIG_SENSORS_EEPROM is not set
 # CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_PCF8575 is not set
 # CONFIG_SENSORS_PCF8591 is not set
 CONFIG_SENSORS_TLV320AIC23=y
 CONFIG_SENSORS_TLV320AIC33=y
@@ -713,10 +735,9 @@ CONFIG_GPIOEXPANDER_DAVINCI=y
 # CONFIG_SPI is not set
 # CONFIG_SPI_MASTER is not set
 # CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
 CONFIG_HWMON=y
 # CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_ABITUGURU3 is not set
 # CONFIG_SENSORS_AD7418 is not set
 # CONFIG_SENSORS_ADM1021 is not set
 # CONFIG_SENSORS_ADM1025 is not set
@@ -724,12 +745,13 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_ADM1029 is not set
 # CONFIG_SENSORS_ADM1031 is not set
 # CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
 # CONFIG_SENSORS_ATXP1 is not set
 # CONFIG_SENSORS_DS1621 is not set
 # CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
 # CONFIG_SENSORS_GL518SM is not set
 # CONFIG_SENSORS_GL520SM is not set
 # CONFIG_SENSORS_IT87 is not set
@@ -752,6 +774,7 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_SMSC47M1 is not set
 # CONFIG_SENSORS_SMSC47M192 is not set
 # CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
 # CONFIG_SENSORS_THMC50 is not set
 # CONFIG_SENSORS_VT1211 is not set
 # CONFIG_SENSORS_W83781D is not set
@@ -759,35 +782,42 @@ CONFIG_HWMON=y
 # CONFIG_SENSORS_W83792D is not set
 # CONFIG_SENSORS_W83793 is not set
 # CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
 # CONFIG_SENSORS_W83627HF is not set
 # CONFIG_SENSORS_W83627EHF is not set
 # CONFIG_HWMON_DEBUG_CHIP is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
 
 #
 # Multifunction device drivers
 #
 # CONFIG_MFD_SM501 is not set
-# CONFIG_NEW_LEDS is not set
+# CONFIG_MFD_ASIC3 is not set
 
 #
 # Multimedia devices
 #
 CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
 CONFIG_VIDEO_V4L1=y
 CONFIG_VIDEO_V4L1_COMPAT=y
 CONFIG_VIDEO_V4L2=y
 CONFIG_VIDEO_CAPTURE_DRIVERS=y
 # CONFIG_VIDEO_ADV_DEBUG is not set
 CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+# CONFIG_VIDEO_VIVI is not set
 # CONFIG_VIDEO_TVP5146 is not set
 # CONFIG_VIDEO_CPIA is not set
 # CONFIG_VIDEO_CPIA2 is not set
 # CONFIG_VIDEO_SAA5246A is not set
 # CONFIG_VIDEO_SAA5249 is not set
 # CONFIG_TUNER_3036 is not set
-# CONFIG_TUNER_TEA5761 is not set
 CONFIG_V4L_USB_DRIVERS=y
 # CONFIG_VIDEO_PVRUSB2 is not set
 # CONFIG_VIDEO_EM28XX is not set
@@ -806,9 +836,11 @@ CONFIG_V4L_USB_DRIVERS=y
 # CONFIG_USB_ZC0301 is not set
 # CONFIG_USB_PWC is not set
 # CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
 CONFIG_RADIO_ADAPTERS=y
 # CONFIG_RADIO_TEA5761 is not set
 # CONFIG_USB_DSBR is not set
+# CONFIG_USB_SI470X is not set
 # CONFIG_DVB_CORE is not set
 CONFIG_DAB=y
 # CONFIG_USB_DABUSB is not set
@@ -816,21 +848,54 @@ CONFIG_DAB=y
 #
 # Graphics support
 #
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_SYS_FOPS is not set
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_DAVINCI=y
+# CONFIG_FB_VIRTUAL is not set
 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
 
 #
 # Display device support
 #
 # CONFIG_DISPLAY_SUPPORT is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
 
 #
 # Console display driver support
 #
 # CONFIG_VGA_CONSOLE is not set
 CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
 
 #
 # Sound
@@ -840,7 +905,56 @@ CONFIG_SOUND=y
 #
 # Advanced Linux Sound Architecture
 #
-# CONFIG_SND is not set
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_DETECT=y
+# CONFIG_SND_PCM_XRUN_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+# CONFIG_SND_OMAP24XX_EAC is not set
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_CAIAQ is not set
+
+#
+# System on Chip audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# SoC Audio support for SuperH
+#
+
+#
+# ALSA SoC audio for Freescale SOCs
+#
 
 #
 # Open Sound System
@@ -849,6 +963,7 @@ CONFIG_SOUND=y
 CONFIG_HID_SUPPORT=y
 CONFIG_HID=y
 # CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
 
 #
 # USB Input Devices
@@ -869,6 +984,7 @@ CONFIG_USB_ARCH_HAS_HCD=y
 # CONFIG_USB_ARCH_HAS_EHCI is not set
 CONFIG_USB=m
 # CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
 
 #
 # Miscellaneous USB options
@@ -916,6 +1032,7 @@ CONFIG_USB_STORAGE=m
 # CONFIG_USB_STORAGE_DEBUG is not set
 # CONFIG_USB_STORAGE_DATAFAB is not set
 # CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
 # CONFIG_USB_STORAGE_DPCM is not set
 # CONFIG_USB_STORAGE_USBAT is not set
 # CONFIG_USB_STORAGE_SDDR09 is not set
@@ -936,10 +1053,6 @@ CONFIG_USB_MON=y
 #
 # USB port drivers
 #
-
-#
-# USB Serial Converter support
-#
 # CONFIG_USB_SERIAL is not set
 
 #
@@ -964,18 +1077,12 @@ CONFIG_USB_MON=y
 # CONFIG_USB_TRANCEVIBRATOR is not set
 # CONFIG_USB_IOWARRIOR is not set
 # CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
 CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
 # CONFIG_USB_GADGET_DEBUG_FILES is not set
 CONFIG_USB_GADGET_SELECTED=y
 # CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
 # CONFIG_USB_GADGET_FSL_USB2 is not set
 # CONFIG_USB_GADGET_NET2280 is not set
 # CONFIG_USB_GADGET_PXA2XX is not set
@@ -995,36 +1102,26 @@ CONFIG_USB_FILE_STORAGE=m
 # CONFIG_USB_FILE_STORAGE_TEST is not set
 CONFIG_USB_G_SERIAL=m
 # CONFIG_USB_MIDI_GADGET is not set
-CONFIG_MMC=m
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
 # CONFIG_MMC_UNSAFE_RESUME is not set
 
 #
 # MMC/SD Card Drivers
 #
-CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK=y
 CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
 
 #
 # MMC/SD Host Controller Drivers
 #
-CONFIG_MMC_DAVINCI=m
+CONFIG_MMC_DAVINCI=y
+# CONFIG_NEW_LEDS is not set
 CONFIG_RTC_LIB=y
 # CONFIG_RTC_CLASS is not set
 
-#
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
 #
 # File systems
 #
@@ -1037,7 +1134,6 @@ CONFIG_EXT3_FS_XATTR=y
 # CONFIG_EXT3_FS_SECURITY is not set
 # CONFIG_EXT4DEV_FS is not set
 CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
 CONFIG_FS_MBCACHE=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
@@ -1049,12 +1145,10 @@ CONFIG_XFS_FS=m
 # CONFIG_XFS_RT is not set
 # CONFIG_GFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
-CONFIG_MINIX_FS=m
-# CONFIG_ROMFS_FS is not set
+CONFIG_DNOTIFY=y
 CONFIG_INOTIFY=y
 CONFIG_INOTIFY_USER=y
 # CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
 # CONFIG_AUTOFS_FS is not set
 CONFIG_AUTOFS4_FS=m
 # CONFIG_FUSE_FS is not set
@@ -1068,9 +1162,9 @@ CONFIG_AUTOFS4_FS=m
 #
 # DOS/FAT/NT Filesystems
 #
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
 CONFIG_FAT_DEFAULT_CODEPAGE=437
 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 # CONFIG_NTFS_FS is not set
@@ -1084,7 +1178,6 @@ CONFIG_SYSFS=y
 CONFIG_TMPFS=y
 # CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
 # CONFIG_CONFIGFS_FS is not set
 
 #
@@ -1100,36 +1193,32 @@ CONFIG_RAMFS=y
 CONFIG_JFFS2_FS=y
 CONFIG_JFFS2_FS_DEBUG=0
 CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
 # CONFIG_JFFS2_SUMMARY is not set
 # CONFIG_JFFS2_FS_XATTR is not set
 # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
 CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
 CONFIG_JFFS2_RTIME=y
 # CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
+CONFIG_CRAMFS=y
 # CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
 # CONFIG_HPFS_FS is not set
 # CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
 # CONFIG_SYSV_FS is not set
 # CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
+CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V3=y
 # CONFIG_NFS_V3_ACL is not set
 # CONFIG_NFS_V4 is not set
 # CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-# CONFIG_NFSD_V4 is not set
-CONFIG_NFSD_TCP=y
+# CONFIG_NFSD is not set
 CONFIG_ROOT_NFS=y
 CONFIG_LOCKD=y
 CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
 CONFIG_NFS_COMMON=y
 CONFIG_SUNRPC=y
 # CONFIG_SUNRPC_BIND34 is not set
@@ -1162,10 +1251,6 @@ CONFIG_MSDOS_PARTITION=y
 # CONFIG_KARMA_PARTITION is not set
 # CONFIG_EFI_PARTITION is not set
 # CONFIG_SYSV68_PARTITION is not set
-
-#
-# Native Language Support
-#
 CONFIG_NLS=y
 CONFIG_NLS_DEFAULT="iso8859-1"
 CONFIG_NLS_CODEPAGE_437=y
@@ -1206,37 +1291,103 @@ CONFIG_NLS_ISO8859_1=y
 # CONFIG_NLS_KOI8_R is not set
 # CONFIG_NLS_KOI8_U is not set
 CONFIG_NLS_UTF8=m
-
-#
-# Distributed Lock Manager
-#
 # CONFIG_DLM is not set
 
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
 #
 # Kernel hacking
 #
 # CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
 CONFIG_ENABLE_MUST_CHECK=y
 # CONFIG_MAGIC_SYSRQ is not set
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_FS is not set
 # CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
 # CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
 CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_SAMPLES is not set
 # CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
 
 #
 # Security options
 #
 # CONFIG_KEYS is not set
 # CONFIG_SECURITY is not set
-# CONFIG_CRYPTO is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_SEQIV is not set
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_HW is not set
 
 #
 # Library routines
diff --git a/packages/linux/linux-davinci/davinci-sffsdr/sffsdr.patch b/packages/linux/linux-davinci/davinci-sffsdr/sffsdr.patch
new file mode 100644 (file)
index 0000000..23ca399
--- /dev/null
@@ -0,0 +1,190 @@
+diff --git a/arch/arm/mach-davinci/board-evm.c b/arch/arm/mach-davinci/board-evm.c
+index 40a5665..e786ffc 100644
+--- a/arch/arm/mach-davinci/board-evm.c
++++ b/arch/arm/mach-davinci/board-evm.c
+@@ -97,10 +97,22 @@ static struct platform_device davinci_evm_norflash_device = {
+ #if defined(CONFIG_MTD_NAND_DAVINCI) || defined(CONFIG_MTD_NAND_DAVINCI_MODULE)
+ struct mtd_partition davinci_evm_nandflash_partition[] = {
+-      /* 5 MB space at the beginning for bootloader and kernel */
+       {
+-              .name           = "NAND filesystem",
+-              .offset         = 5 * SZ_1M,
++              .name           = "Bootloader",
++              .offset         = 0,
++              .size           = 5 * SZ_128K,
++              .mask_flags     = 0,
++      },
++
++      {
++              .name           = "Kernel",
++              .offset         = MTDPART_OFS_APPEND,
++              .size           = SZ_2M,
++              .mask_flags     = 0,
++      },
++      {
++              .name           = "File System",
++              .offset         = MTDPART_OFS_APPEND,
+               .size           = MTDPART_SIZ_FULL,
+               .mask_flags     = 0,
+       }
+diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
+index 7ed58c0..ba506d0 100644
+--- a/arch/arm/tools/mach-types
++++ b/arch/arm/tools/mach-types
+@@ -12,7 +12,7 @@
+ #
+ #   http://www.arm.linux.org.uk/developer/machines/?action=new
+ #
+-# Last update: Sat Jan 26 14:45:34 2008
++# Last update: Fri Apr 11 21:19:16 2008
+ #
+ # machine_is_xxx      CONFIG_xxxx             MACH_TYPE_xxx           number
+ #
+@@ -381,13 +381,13 @@ ks8695p                  ARCH_KS8695P            KS8695P                 363
+ se4000                        ARCH_SE4000             SE4000                  364
+ quadriceps            ARCH_QUADRICEPS         QUADRICEPS              365
+ bronco                        ARCH_BRONCO             BRONCO                  366
+-esl_wireless_tab      ARCH_ESL_WIRELESS_TABLETESL_WIRELESS_TABLET     367
++esl_wireless_tab      ARCH_ESL_WIRELESS_TAB   ESL_WIRELESS_TAB        367
+ esl_sofcomp           ARCH_ESL_SOFCOMP        ESL_SOFCOMP             368
+ s5c7375                       ARCH_S5C7375            S5C7375                 369
+ spearhead             ARCH_SPEARHEAD          SPEARHEAD               370
+ pantera                       ARCH_PANTERA            PANTERA                 371
+ prayoglite            ARCH_PRAYOGLITE         PRAYOGLITE              372
+-gumstix                       ARCH_GUMSTIK            GUMSTIK                 373
++gumstix                       ARCH_GUMSTIX            GUMSTIX                 373
+ rcube                 ARCH_RCUBE              RCUBE                   374
+ rea_olv                       ARCH_REA_OLV            REA_OLV                 375
+ pxa_iphone            ARCH_PXA_IPHONE         PXA_IPHONE              376
+@@ -910,7 +910,7 @@ nadia2vb           MACH_NADIA2VB           NADIA2VB                897
+ r1000                 MACH_R1000              R1000                   898
+ hw90250                       MACH_HW90250            HW90250                 899
+ omap_2430sdp          MACH_OMAP_2430SDP       OMAP_2430SDP            900
+-davinci_evm           MACH_DAVINCI_EVM        DAVINCI_EVM             901
++davinci_evm           MACH_DAVINCI_EVM        DAVINCI_EVM             1657
+ omap_tornado          MACH_OMAP_TORNADO       OMAP_TORNADO            902
+ olocreek              MACH_OLOCREEK           OLOCREEK                903
+ palmz72                       MACH_PALMZ72            PALMZ72                 904
+@@ -1384,6 +1384,7 @@ olip8                    MACH_OLIP8              OLIP8                   1378
+ ghi270hg              MACH_GHI270HG           GHI270HG                1379
+ davinci_dm6467_evm    MACH_DAVINCI_DM6467_EVM DAVINCI_DM6467_EVM      1380
+ davinci_dm355_evm     MACH_DAVINCI_DM350_EVM  DAVINCI_DM350_EVM       1381
++ocearm                        MACH_OCEARMTEST         OCEARMTEST              1382
+ blackriver            MACH_BLACKRIVER         BLACKRIVER              1383
+ sandgate_wp           MACH_SANDGATEWP         SANDGATEWP              1384
+ cdotbwsg              MACH_CDOTBWSG           CDOTBWSG                1385
+@@ -1463,7 +1464,7 @@ artemis                  MACH_ARTEMIS            ARTEMIS                 1462
+ htctitan              MACH_HTCTITAN           HTCTITAN                1463
+ qranium                       MACH_QRANIUM            QRANIUM                 1464
+ adx_wsc2              MACH_ADX_WSC2           ADX_WSC2                1465
+-adx_medinet           MACH_ADX_MEDINET        ADX_MEDINET             1466
++adx_medcom            MACH_ADX_MEDINET        ADX_MEDINET             1466
+ bboard                        MACH_BBOARD             BBOARD                  1467
+ cambria                       MACH_CAMBRIA            CAMBRIA                 1468
+ mt7xxx                        MACH_MT7XXX             MT7XXX                  1469
+@@ -1611,3 +1612,104 @@ kb9263                 MACH_KB9263             KB9263                  1612
+ mt7108                        MACH_MT7108             MT7108                  1613
+ smtr2440              MACH_SMTR2440           SMTR2440                1614
+ manao                 MACH_MANAO              MANAO                   1615
++cm_x300                       MACH_CM_X300            CM_X300                 1616
++gulfstream_kp         MACH_GULFSTREAM_KP      GULFSTREAM_KP           1617
++lanreadyfn522         MACH_LANREADYFN522      LANREADYFN522           1618
++arma37                        MACH_ARMA37             ARMA37                  1619
++mendel                        MACH_MENDEL             MENDEL                  1620
++pelco_iliad           MACH_PELCO_ILIAD        PELCO_ILIAD             1621
++unit2p                        MACH_UNIT2P             UNIT2P                  1622
++inc20otter            MACH_INC20OTTER         INC20OTTER              1623
++at91sam9g20ek         MACH_AT91SAM9G20EK      AT91SAM9G20EK           1624
++sc_ge2                        MACH_STORCENTER         STORCENTER              1625
++smdk6410              MACH_SMDK6410           SMDK6410                1626
++u300                  MACH_U300               U300                    1627
++u500                  MACH_U500               U500                    1628
++ds9260                        MACH_DS9260             DS9260                  1629
++riverrock             MACH_RIVERROCK          RIVERROCK               1630
++scibath                       MACH_SCIBATH            SCIBATH                 1631
++at91sam7se            MACH_AT91SAM7SE512EK    AT91SAM7SE512EK         1632
++wrt350n_v2            MACH_WRT350N_V2         WRT350N_V2              1633
++multimedia            MACH_MULTIMEDIA         MULTIMEDIA              1634
++marvin                        MACH_MARVIN             MARVIN                  1635
++x500                  MACH_X500               X500                    1636
++awlug4lcu             MACH_AWLUG4LCU          AWLUG4LCU               1637
++palermoc              MACH_PALERMOC           PALERMOC                1638
++omap_zoom             MACH_OMAP_3430LABRADOR  OMAP_3430LABRADOR       1639
++ip500                 MACH_IP500              IP500                   1640
++mx35ads                       MACH_MACH_MX35ADS       MACH_MX35ADS            1641
++ase2                  MACH_ASE2               ASE2                    1642
++mx35evb                       MACH_MX35EVB            MX35EVB                 1643
++aml_m8050             MACH_AML_M8050          AML_M8050               1644
++mx35_3ds              MACH_MX35_3DS           MX35_3DS                1645
++mars                  MACH_MARS               MARS                    1646
++ntosd_644xa           MACH_NTOSD_644XA        NTOSD_644XA             1647
++badger                        MACH_BADGER             BADGER                  1648
++trizeps4wl            MACH_TRIZEPS4WL         TRIZEPS4WL              1649
++trizeps5              MACH_TRIZEPS5           TRIZEPS5                1650
++marlin                        MACH_MARLIN             MARLIN                  1651
++ts7800                        MACH_TS7800             TS7800                  1652
++hpipaq214             MACH_HPIPAQ214          HPIPAQ214               1653
++at572d940dcm          MACH_AT572D940DCM       AT572D940DCM            1654
++ne1board              MACH_NE1BOARD           NE1BOARD                1655
++zante                 MACH_ZANTE              ZANTE                   1656
++sffsdr                        MACH_SFFSDR             SFFSDR                  1657
++tw2662                        MACH_TW2662             TW2662                  1658
++vf10xx                        MACH_VF10XX             VF10XX                  1659
++zoran43xx             MACH_ZORAN43XX          ZORAN43XX               1660
++sonix926              MACH_SONIX926           SONIX926                1661
++celestialsemi         MACH_CELESTIALSEMI      CELESTIALSEMI           1662
++cc9m2443              MACH_CC9M2443           CC9M2443                1663
++tw5334                        MACH_TW5334             TW5334                  1664
++omap_htcartemis               MACH_HTCARTEMIS         HTCARTEMIS              1665
++nal_hlite             MACH_NAL_HLITE          NAL_HLITE               1666
++htcvogue              MACH_HTCVOGUE           HTCVOGUE                1667
++smartweb              MACH_SMARTWEB           SMARTWEB                1668
++mv86xx                        MACH_MV86XX             MV86XX                  1669
++mv87xx                        MACH_MV87XX             MV87XX                  1670
++songyoungho           MACH_SONGYOUNGHO        SONGYOUNGHO             1671
++younghotema           MACH_YOUNGHOTEMA        YOUNGHOTEMA             1672
++pcm037                        MACH_PCM037             PCM037                  1673
++mmvp                  MACH_MMVP               MMVP                    1674
++mmap                  MACH_MMAP               MMAP                    1675
++ptid2410              MACH_PTID2410           PTID2410                1676
++james_926             MACH_JAMES_926          JAMES_926               1677
++fm6000                        MACH_FM6000             FM6000                  1678
++db88f6281_bp          MACH_DB88F6281_BP       DB88F6281_BP            1680
++rd88f6192_nas         MACH_RD88F6192_NAS      RD88F6192_NAS           1681
++rd88f6281             MACH_RD88F6281          RD88F6281               1682
++db78x00_bp            MACH_DB78X00_BP         DB78X00_BP              1683
++smdk2416              MACH_SMDK2416           SMDK2416                1685
++oce_spider_si         MACH_OCE_SPIDER_SI      OCE_SPIDER_SI           1686
++oce_spider_sk         MACH_OCE_SPIDER_SK      OCE_SPIDER_SK           1687
++rovern6                       MACH_ROVERN6            ROVERN6                 1688
++pelco_evolution               MACH_PELCO_EVOLUTION    PELCO_EVOLUTION         1689
++wbd111                        MACH_WBD111             WBD111                  1690
++elaracpe              MACH_ELARACPE           ELARACPE                1691
++mabv3                 MACH_MABV3              MABV3                   1692
++mv2120                        MACH_MV2120             MV2120                  1693
++csb737                        MACH_CSB737             CSB737                  1695
++mx51_3ds              MACH_MX51_3DS           MX51_3DS                1696
++g900                  MACH_G900               G900                    1697
++apf27                 MACH_APF27              APF27                   1698
++ggus2000              MACH_GGUS2000           GGUS2000                1699
++omap_2430_mimic               MACH_OMAP_2430_MIMIC    OMAP_2430_MIMIC         1700
++imx27lite             MACH_IMX27LITE          IMX27LITE               1701
++almex                 MACH_ALMEX              ALMEX                   1702
++control                       MACH_CONTROL            CONTROL                 1703
++mba2410                       MACH_MBA2410            MBA2410                 1704
++volcano                       MACH_VOLCANO            VOLCANO                 1705
++zenith                        MACH_ZENITH             ZENITH                  1706
++muchip                        MACH_MUCHIP             MUCHIP                  1707
++magellan              MACH_MAGELLAN           MAGELLAN                1708
++usb_a9260             MACH_USB_A9260          USB_A9260               1709
++usb_a9263             MACH_USB_A9263          USB_A9263               1710
++qil_a9260             MACH_QIL_A9260          QIL_A9260               1711
++cme9210                       MACH_CME9210            CME9210                 1712
++hczh4                 MACH_HCZH4              HCZH4                   1713
++spearbasic            MACH_SPEARBASIC         SPEARBASIC              1714
++dep2440                       MACH_DEP2440            DEP2440                 1715
++hdl_gxr                       MACH_HDL_GXR            HDL_GXR                 1716
++hdl_gt                        MACH_HDL_GT             HDL_GT                  1717
++hdl_4g                        MACH_HDL_4G             HDL_4G                  1718
++s3c6000                       MACH_S3C6000            S3C6000                 1719
index 916b4e2..fd0caab 100644 (file)
@@ -6,8 +6,8 @@ PR = "r1"
 COMPATIBLE_MACHINE = "(davinci-dvevm|davinci-sffsdr)"
 
 SRC_URI = "git://source.mvista.com/git/linux-davinci-2.6.git;protocol=git \
-           file://binutils-buildid-arm.patch;patch=1 \
-           file://davinci-nand.patch;patch=1 \
            file://defconfig"
 
+SRC_URI_append_davinci-sffsdr = " file://sffsdr.patch;patch=1"
+
 S = "${WORKDIR}/git"