summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Balister <philip@balister.org>2008-04-15 13:44:44 +0000
committerPhilip Balister <philip@balister.org>2008-04-15 13:44:44 +0000
commit0a8b86b9085d11314b170d5d40b0715a8ef3d3eb (patch)
treeed565ebc9c7e44050f0f2dd8bb51f1131f038612
parent9551c837e21a5667684b905303a9dda572c13fc4 (diff)
davinci-sffsdr machine : Update kernel config, add board patch,
update machine file to work with linux.inc, delete patches that are upstream.
-rw-r--r--conf/machine/davinci-sffsdr.conf6
-rw-r--r--packages/linux/linux-davinci/binutils-buildid-arm.patch12
-rw-r--r--packages/linux/linux-davinci/davinci-nand.patch905
-rw-r--r--packages/linux/linux-davinci/davinci-sffsdr/defconfig395
-rw-r--r--packages/linux/linux-davinci/davinci-sffsdr/sffsdr.patch190
-rw-r--r--packages/linux/linux-davinci_2.6.x+git-davinci.bb4
6 files changed, 470 insertions, 1042 deletions
diff --git a/conf/machine/davinci-sffsdr.conf b/conf/machine/davinci-sffsdr.conf
index faf86c5ed0..e732957d5d 100644
--- a/conf/machine/davinci-sffsdr.conf
+++ b/conf/machine/davinci-sffsdr.conf
@@ -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
index edd224f4dd..0000000000
--- a/packages/linux/linux-davinci/binutils-buildid-arm.patch
+++ /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
index 33e53cf095..0000000000
--- a/packages/linux/linux-davinci/davinci-nand.patch
+++ /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
diff --git a/packages/linux/linux-davinci/davinci-sffsdr/defconfig b/packages/linux/linux-davinci/davinci-sffsdr/defconfig
index 0d5155f32a..7d67d34e53 100644
--- a/packages/linux/linux-davinci/davinci-sffsdr/defconfig
+++ b/packages/linux/linux-davinci/davinci-sffsdr/defconfig
@@ -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,37 +1102,27 @@ 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
#
CONFIG_EXT2_FS=y
@@ -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
index 0000000000..23ca399e98
--- /dev/null
+++ b/packages/linux/linux-davinci/davinci-sffsdr/sffsdr.patch
@@ -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
diff --git a/packages/linux/linux-davinci_2.6.x+git-davinci.bb b/packages/linux/linux-davinci_2.6.x+git-davinci.bb
index 916b4e252c..fd0caabd24 100644
--- a/packages/linux/linux-davinci_2.6.x+git-davinci.bb
+++ b/packages/linux/linux-davinci_2.6.x+git-davinci.bb
@@ -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"