diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-05 10:12:53 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-05 10:12:53 +0000 |
commit | 5c105d9f3fd086aff195d3849dcf847d6b0bd927 (patch) | |
tree | 1229a11f725bfa58aa7c57a76898553bb5f6654a /target/linux/omap35xx/patches-2.6.36 | |
download | openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.tar.gz openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.zip |
branch Attitude Adjustment
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/omap35xx/patches-2.6.36')
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 */ |