aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/omap35xx/patches-2.6.36
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/omap35xx/patches-2.6.36')
-rw-r--r--target/linux/omap35xx/patches-2.6.36/001-expose_omap3_die_id.patch48
-rw-r--r--target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch36
-rw-r--r--target/linux/omap35xx/patches-2.6.36/003-change_partition_table.patch34
-rw-r--r--target/linux/omap35xx/patches-2.6.36/004-nand_subpage_align.patch22
-rw-r--r--target/linux/omap35xx/patches-2.6.36/005-add_cti_usbids.patch24
5 files changed, 164 insertions, 0 deletions
diff --git a/target/linux/omap35xx/patches-2.6.36/001-expose_omap3_die_id.patch b/target/linux/omap35xx/patches-2.6.36/001-expose_omap3_die_id.patch
new file mode 100644
index 000000000..6d3bed4e9
--- /dev/null
+++ b/target/linux/omap35xx/patches-2.6.36/001-expose_omap3_die_id.patch
@@ -0,0 +1,48 @@
+diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
+index 9a879f9..9cefef4 100644
+--- a/arch/arm/mach-omap2/id.c
++++ b/arch/arm/mach-omap2/id.c
+@@ -85,6 +85,9 @@ EXPORT_SYMBOL(omap_type);
+
+ #define read_tap_reg(reg) __raw_readl(tap_base + (reg))
+
++static ssize_t die_id_show(struct kobject *, struct kobj_attribute *, char *);
++static struct kobj_attribute die_id_attr = __ATTR(die_id, 0444, die_id_show, NULL);
++
+ struct omap_id {
+ u16 hawkeye; /* Silicon type (Hawkeye id) */
+ u8 dev; /* Device type from production_id reg */
+@@ -104,6 +107,17 @@ static struct omap_id omap_ids[] __initdata = {
+ static void __iomem *tap_base;
+ static u16 tap_prod_id;
+
++static ssize_t die_id_show(struct kobject *kobj, struct kobj_attribute *attr,
++ char *buf)
++{
++ return sprintf(buf, "Die ID: %08x%08x%08x%08x\n",
++ read_tap_reg(OMAP_TAP_DIE_ID_0),
++ read_tap_reg(OMAP_TAP_DIE_ID_1),
++ read_tap_reg(OMAP_TAP_DIE_ID_2),
++ read_tap_reg(OMAP_TAP_DIE_ID_3));
++
++}
++
+ void omap_get_die_id(struct omap_die_id *odi)
+ {
+ odi->id_0 = read_tap_reg(OMAP_TAP_DIE_ID_0);
+@@ -457,3 +471,15 @@ void __init omap2_set_globals_tap(struct omap_globals *omap2_globals)
+ else
+ tap_prod_id = 0x0208;
+ }
++
++int __init export_omap_die_id(void)
++{
++ int error;
++
++ error = sysfs_create_file(power_kobj, &die_id_attr.attr);
++ if (error)
++ printk(KERN_ERR "sysfs_create_file failed: %d\n", error);
++ return error;
++}
++
++late_initcall(export_omap_die_id);
diff --git a/target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch b/target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch
new file mode 100644
index 000000000..038c1afec
--- /dev/null
+++ b/target/linux/omap35xx/patches-2.6.36/002-omap-nand-remove-hardware-ECC-as-default.patch
@@ -0,0 +1,36 @@
+From 859158bfab7e72af440622fb9731bcaef4e7d6dc Mon Sep 17 00:00:00 2001
+From: Sukumar Ghorai <s-ghorai@ti.com>
+Date: Fri, 19 Nov 2010 14:45:26 +0000
+Subject: [PATCH] omap: nand: remove hardware ECC as default
+
+Commit 2c01946c6b9ebaa5a89710bc42ca224a7f52f227 (omap3 nand: cleanup
+virtual address usages) wrongly enabled CONFIG_MTD_NAND_OMAP_HWECC
+which breaks boards like beagle and pandora that use software ECC
+for write.
+
+Boards like beagle and pandora uses sw ecc for write (e.g. binary flushed
+from u-boot) and read from kernel.
+
+Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
+Acked-by: David Woodhouse <David.Woodhouse@intel.com>
+[tony@atomide.com: updated comments]
+Signed-off-by: Tony Lindgren <tony@atomide.com>
+---
+ drivers/mtd/nand/omap2.c | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
+index cd41c58..15682ec 100644
+--- a/drivers/mtd/nand/omap2.c
++++ b/drivers/mtd/nand/omap2.c
+@@ -7,7 +7,6 @@
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+-#define CONFIG_MTD_NAND_OMAP_HWECC
+
+ #include <linux/platform_device.h>
+ #include <linux/dma-mapping.h>
+--
+1.7.0.4
+
diff --git a/target/linux/omap35xx/patches-2.6.36/003-change_partition_table.patch b/target/linux/omap35xx/patches-2.6.36/003-change_partition_table.patch
new file mode 100644
index 000000000..65ba45a35
--- /dev/null
+++ b/target/linux/omap35xx/patches-2.6.36/003-change_partition_table.patch
@@ -0,0 +1,34 @@
+--- linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c.old 2011-02-18 12:24:24.000000000 +0100
++++ linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c 2011-02-18 12:38:40.000000000 +0100
+@@ -250,13 +250,28 @@
+ .size = 2 * NAND_BLOCK_SIZE,
+ },
+ {
+- .name = "linux",
++ .name = "kernel 0",
+ .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
+- .size = 32 * NAND_BLOCK_SIZE,
++ .size = 16 * NAND_BLOCK_SIZE,
+ },
+ {
+- .name = "rootfs",
++ .name = "kernel 1",
++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x480000 */
++ .size = 16 * NAND_BLOCK_SIZE,
++ },
++ {
++ .name = "rootfs 0",
+ .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */
++ .size = 512 * NAND_BLOCK_SIZE,
++ },
++ {
++ .name = "rootfs 1",
++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x2e80000 */
++ .size = 512 * NAND_BLOCK_SIZE,
++ },
++ {
++ .name = "data",
++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x5680000 */
+ .size = MTDPART_SIZ_FULL,
+ },
+ };
diff --git a/target/linux/omap35xx/patches-2.6.36/004-nand_subpage_align.patch b/target/linux/omap35xx/patches-2.6.36/004-nand_subpage_align.patch
new file mode 100644
index 000000000..4bb854db6
--- /dev/null
+++ b/target/linux/omap35xx/patches-2.6.36/004-nand_subpage_align.patch
@@ -0,0 +1,22 @@
+diff -urN linux-2.6.38.old/drivers/mtd/nand/omap2.c linux-2.6.38/drivers/mtd/nand/omap2.c
+--- linux-2.6.38.old/drivers/mtd/nand/omap2.c 2011-03-15 02:20:32.000000000 +0100
++++ linux-2.6.38/drivers/mtd/nand/omap2.c 2011-03-21 15:05:21.000000000 +0100
+@@ -245,6 +245,18 @@
+ int ret = 0;
+ u32 *p = (u32 *)buf;
+
++ /* u32 align the buffer and read */
++ /* NB: This assumes the buf ptr can be aligned *down* which is a valid.
++ * Assumption when dealing with ecc buffers etc.
++ */
++ u32 addr = (u32)p;
++
++ int diff = addr & 3;
++ addr -= diff;
++ len += diff;
++ len = (len + 3) & ~3;
++ p = (u32 *)addr;
++
+ /* take care of subpage reads */
+ if (len % 4) {
+ if (info->nand.options & NAND_BUSWIDTH_16)
diff --git a/target/linux/omap35xx/patches-2.6.36/005-add_cti_usbids.patch b/target/linux/omap35xx/patches-2.6.36/005-add_cti_usbids.patch
new file mode 100644
index 000000000..3ff9c6bee
--- /dev/null
+++ b/target/linux/omap35xx/patches-2.6.36/005-add_cti_usbids.patch
@@ -0,0 +1,24 @@
+diff -urN linux-2.6.36.1.old/drivers/usb/serial/ftdi_sio.c linux-2.6.36.1/drivers/usb/serial/ftdi_sio.c
+--- linux-2.6.36.1.old/drivers/usb/serial/ftdi_sio.c 2010-11-22 20:03:49.000000000 +0100
++++ linux-2.6.36.1/drivers/usb/serial/ftdi_sio.c 2011-03-23 11:23:23.000000000 +0100
+@@ -794,6 +794,9 @@
+ { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LOGBOOKML_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LS_LOGBOOK_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_HS_LOGBOOK_PID) },
++ /* CTI Devices */
++ { USB_DEVICE(FTDI_VID, FTDI_CTI_Mini_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_CTI_Nano_PID) },
+ { }, /* Optional parameter entry */
+ { } /* Terminating entry */
+ };
+diff -urN linux-2.6.36.1.old/drivers/usb/serial/ftdi_sio_ids.h linux-2.6.36.1/drivers/usb/serial/ftdi_sio_ids.h
+--- linux-2.6.36.1.old/drivers/usb/serial/ftdi_sio_ids.h 2010-11-22 20:03:49.000000000 +0100
++++ linux-2.6.36.1/drivers/usb/serial/ftdi_sio_ids.h 2011-03-23 11:20:57.000000000 +0100
+@@ -1100,3 +1100,7 @@
+ #define FTDI_SCIENCESCOPE_LOGBOOKML_PID 0xFF18
+ #define FTDI_SCIENCESCOPE_LS_LOGBOOK_PID 0xFF1C
+ #define FTDI_SCIENCESCOPE_HS_LOGBOOK_PID 0xFF1D
++
++/* www.cti-lean.com RS485 converter */
++#define FTDI_CTI_Mini_PID 0xF608 /* USB-485 Mini */
++#define FTDI_CTI_Nano_PID 0xF60B /* USB-Nano-485 */