zaurus kernel config fixes
cover zaurus kernel config fixes
In order to reduce the kernel size we disable some unused filesystems and the respective xattr, posix acl.
The second patch removes the mem=64M hardcoding for collie.
The third one updates collie's CFI driver to the last version.
Andrea Adami (3):
linux-yocto_3.14: zaurus: remove unused filesystems to reduce kernel
size
zaurus collie: remove hardcoded mem=64M
linux-yocto: refresh collie-LH28F640BF patch
conf/machine/include/zaurus.inc | 2 +- .../linux/linux-yocto-3.10/collie/collie.cfg | 2 +- .../patches/patches-mtd/collie-LH28F640BF.patch | 82 ++++++---------------- .../linux/linux-yocto-3.14/akita/defconfig | 20 +----- .../linux/linux-yocto-3.14/c7x0/defconfig | 20 +----- .../collie/collie-LH28F640BF.patch | 82 ++++++---------------- .../linux/linux-yocto-3.14/collie/defconfig | 22 ++---- .../linux/linux-yocto-3.14/poodle/defconfig | 20 +----- .../linux/linux-yocto-3.14/spitz/defconfig | 20 +----- .../linux/linux-yocto-3.14/tosa/defconfig | 20 +----- .../collie/defconfig | 2 +- 11 files changed, 64 insertions(+), 228 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/3 linux-yocto_3.14: zaurus: remove unused filesystems to reduce kernel size
Revert to the 3.2 pre-yocto settings.
Removed yaffs, reiserfs, btrfs, most xattr and posix options. Make NFS modular.
--- .../linux/linux-yocto-3.14/akita/defconfig | 20 +++----------------- recipes-kernel/linux/linux-yocto-3.14/c7x0/defconfig | 20 +++----------------- .../linux/linux-yocto-3.14/collie/defconfig | 20 +++----------------- .../linux/linux-yocto-3.14/poodle/defconfig | 20 +++----------------- .../linux/linux-yocto-3.14/spitz/defconfig | 20 +++----------------- recipes-kernel/linux/linux-yocto-3.14/tosa/defconfig | 20 +++----------------- 6 files changed, 18 insertions(+), 102 deletions(-)
recipes-kernel/linux/linux-yocto-3.14/akita/defconfig +3 -17
@@ -387,26 +387,15 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SA1100=y CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_YAFFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y
@@ -416,14 +405,11 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_CRAMFS=y CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V4=y CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m
recipes-kernel/linux/linux-yocto-3.14/c7x0/defconfig +3 -17
@@ -317,26 +317,15 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SA1100=y CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_YAFFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y
@@ -346,14 +335,11 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_CRAMFS=y CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V4=y CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m
recipes-kernel/linux/linux-yocto-3.14/collie/defconfig +3 -17
@@ -320,26 +320,15 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SA1100=y CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_YAFFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y
@@ -349,14 +338,11 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_CRAMFS=y CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V4=y CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m
recipes-kernel/linux/linux-yocto-3.14/poodle/defconfig +3 -17
@@ -318,26 +318,15 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SA1100=y CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_YAFFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y
@@ -347,14 +336,11 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_CRAMFS=y CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V4=y CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m
recipes-kernel/linux/linux-yocto-3.14/spitz/defconfig +3 -17
@@ -386,26 +386,15 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SA1100=y CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_YAFFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y
@@ -415,14 +404,11 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_CRAMFS=y CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V4=y CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m
recipes-kernel/linux/linux-yocto-3.14/tosa/defconfig +3 -17
@@ -390,26 +390,15 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_DRV_SA1100=y CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT3_FS_XATTR is not set CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_REISERFS_FS=m -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_BTRFS_FS=y -CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_VFAT_FS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y -CONFIG_YAFFS_FS=y CONFIG_JFFS2_FS=y CONFIG_JFFS2_SUMMARY=y CONFIG_JFFS2_COMPRESSION_OPTIONS=y
@@ -419,14 +408,11 @@ CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_CRAMFS=y CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V4=m CONFIG_NFSD=m CONFIG_NFSD_V4=y CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y CONFIG_NLS_CODEPAGE_437=m CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m
Signature · 1 line
1.9.1
PATCH 2/3 zaurus collie: remove hardcoded mem=64M
In reply to Andrea AdamiSurely rare today, the SL-5000D has only 32MB ram. Remove historical setting used for mtd-ram.
--- conf/machine/include/zaurus.inc | 2 +- recipes-kernel/linux/linux-yocto-3.10/collie/collie.cfg | 2 +- recipes-kernel/linux/linux-yocto-3.14/collie/defconfig | 2 +- recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.10/collie/defconfig | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
conf/machine/include/zaurus.inc +1 -1
@@ -39,7 +39,7 @@ SERIAL_CONSOLE_collie = "115200 ttySA0" CMDLINE_akita = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1" CMDLINE_c7x0 = "console=ttyS0,115200n8 console=tty1" -CMDLINE_collie = "console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1" +CMDLINE_collie = "console=ttySA0,115200n8 console=tty1 fbcon=rotate:1" CMDLINE_poodle = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1" CMDLINE_spitz = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1" CMDLINE_tosa = "console=ttyS0,115200n8 console=tty1"
recipes-kernel/linux/linux-yocto-3.10/collie/collie.cfg +1 -1
@@ -47,7 +47,7 @@ CONFIG_SPARSEMEM_EXTREME=y # # Boot options # -CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1 loglevel=3" +CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 fbcon=rotate:1 loglevel=3" # # RAM/ROM/Flash chip drivers
recipes-kernel/linux/linux-yocto-3.14/collie/defconfig +1 -1
@@ -50,7 +50,7 @@ CONFIG_AEABI=y CONFIG_OABI_COMPAT=y CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1 loglevel=3" +CONFIG_CMDLINE="console=ttySA0,115200n8 console=tty1 fbcon=rotate:1 loglevel=3" CONFIG_KEXEC=y CONFIG_BINFMT_MISC=m CONFIG_PM_RUNTIME=y
recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.10/collie/defconfig +1 -1
@@ -34,7 +34,7 @@ CONFIG_AEABI=y # CONFIG_CROSS_MEMORY_ATTACH is not set CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 mem=64M loglevel=3" +CONFIG_CMDLINE="console=tty1 console=ttySA0,115200n8 fbcon=rotate:1 loglevel=3" CONFIG_CMDLINE_FORCE=y CONFIG_KEXEC=y # CONFIG_BINFMT_SCRIPT is not set
Signature · 1 line
1.9.1
PATCH 3/3 linux-yocto: refresh collie-LH28F640BF patch
In reply to Andrea Adamias sent upstream
--- .../patches/patches-mtd/collie-LH28F640BF.patch | 82 ++++++---------------- .../collie/collie-LH28F640BF.patch | 82 ++++++---------------- 2 files changed, 42 insertions(+), 122 deletions(-)
recipes-kernel/linux/linux-yocto-3.10/patches/patches-mtd/collie-LH28F640BF.patch +21 -61
@@ -1,27 +1,27 @@ -From 12402bf48cf2494a65aac0cf1e55cdc6296691bc Mon Sep 17 00:00:00 2001 +From 4a141aadc97f6493d3af58238acb681c41ef496d Mon Sep 17 00:00:00 2001 From: Andrea Adami <[email protected]> -Date: Sun, 6 Apr 2014 21:21:22 +0200 -Subject: [PATCH] mtd: add support for Sharp LH28F640BF NOR chips +Date: Sat, 31 May 2014 00:23:51 +0200 +Subject: [PATCH] mtd: cfi_cmdset_0001.c: add support for Sharp LH28F640BF NOR -Tested on Zaurus SL-5500 (Collie) 2x16 on 32 bit bus +This family of chips was long ago supported by the pre-cfi driver. +CFI code tested on several Zaurus SL-5500 (Collie) 2x16 on 32 bit bus. + +Function is_LH28F640BF() mimics is_m29ew() from cmdset_0002.c Buffer write fixes as seen in 2007 patch c/o Anti Sullin <anti.sullin <at> artecdesign.ee> http://comments.gmane.org/gmane.linux.ports.arm.kernel/36733 -Other fixes as seen in -Micron: TN-12-06: Adapting the Linux Kernel for P30, P33, and J3 Flash - Signed-off-by: Andrea Adami <[email protected]> --- - drivers/mtd/chips/cfi_cmdset_0001.c | 60 ++++++++++++++++++++++++++++++++++++- - 1 file changed, 59 insertions(+), 1 deletion(-) + drivers/mtd/chips/cfi_cmdset_0001.c | 43 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c -index 7751443..d83b603 100644 +index e4ec355..a7543ba 100644 --- a/drivers/mtd/chips/cfi_cmdset_0001.c +++ b/drivers/mtd/chips/cfi_cmdset_0001.c -@@ -53,6 +53,11 @@ +@@ -52,6 +52,11 @@ /* Atmel chips */ #define AT49BV640D 0x02de #define AT49BV640DT 0x02db
@@ -33,7 +33,7 @@ index 7751443..d83b603 100644 static int cfi_intelext_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); static int cfi_intelext_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -259,6 +264,40 @@ static void fixup_st_m28w320cb(struct mtd_info *mtd) +@@ -258,6 +263,36 @@ static void fixup_st_m28w320cb(struct mtd_info *mtd) (cfi->cfiq->EraseRegionInfo[1] & 0xffff0000) | 0x3e; };
@@ -53,20 +53,16 @@ index 7751443..d83b603 100644 + struct cfi_private *cfi = map->fldrv_priv; + struct cfi_pri_intelext *extp = cfi->cmdset_priv; + -+ /* NOTE: Sharp Extended Query reports the nr of hardware partitions -+ * with an offset of +3. Change of the PCR are not reflected. -+ * Keep the wrong reading (0) and let the code convert it to 1 */ -+ + /* Reset the Partition Configuration Register on LH28F640BF -+ * to a single partition (PCRC = 0x000): PCRC is embedded into A0-A15. */ ++ * to a single partition (PCR = 0x000): PCR is embedded into A0-A15. */ + if (is_LH28F640BF(cfi)) { -+ printk(KERN_INFO "Reset Partition Config. Register: 1 Partition of 4 planes\n" ); ++ printk(KERN_INFO "Reset Partition Config. Register: 1 Partition of 4 planes\n"); + map_write(map, CMD(0x60), 0); + map_write(map, CMD(0x04), 0); + + /* We have set one single partition thus + * Simultaneous Operations are not allowed */ -+ printk(KERN_WARNING "cfi_cmdset_0001: Simultaneous Operations disabled\n"); ++ printk(KERN_INFO "cfi_cmdset_0001: Simultaneous Operations disabled\n"); + extp->FeatureSupport &= ~512; + } +}
@@ -74,7 +70,7 @@ index 7751443..d83b603 100644 static void fixup_use_point(struct mtd_info *mtd) { struct map_info *map = mtd->priv; -@@ -310,6 +349,8 @@ static struct cfi_fixup cfi_fixup_table[] = { +@@ -309,6 +344,8 @@ static struct cfi_fixup cfi_fixup_table[] = { { CFI_MFR_ST, 0x00ba, /* M28W320CT */ fixup_st_m28w320ct }, { CFI_MFR_ST, 0x00bb, /* M28W320CB */ fixup_st_m28w320cb }, { CFI_MFR_INTEL, CFI_ID_ANY, fixup_unlock_powerup_lock },
@@ -83,55 +79,19 @@ index 7751443..d83b603 100644 { 0, 0, NULL } }; -@@ -655,7 +696,6 @@ static int cfi_intelext_partition_fixup(struct mtd_info *mtd, - - /* Burst Read info */ - offs += extp->extra[offs+1]+2; -- - /* Number of partition regions */ - numregions = extp->extra[offs]; - offs += 1; -@@ -1003,8 +1043,16 @@ static void put_chip(struct map_info *map, struct flchip *chip, unsigned long ad - sending the 0x70 (Read Status) command to an erasing - chip and expecting it to be ignored, that's what we - do. */ -+ -+ /* Fix Erase-Suspend hangups: dummy 0xFF cycle before Resume */ -+ if (is_LH28F640BF(cfi)) map_write(map, CMD(0xFF), adr); -+ - map_write(map, CMD(0xd0), adr); - map_write(map, CMD(0x70), adr); -+ -+ /* Fix Erase-Suspend following Erase-Resume: add latency */ -+ if (is_LH28F640BF(cfi)) cfi_udelay(1200); -+ - chip->oldstate = FL_READY; - chip->state = FL_ERASING; - break; -@@ -1162,6 +1210,10 @@ static int __xipram xip_wait_for_operation( - local_irq_disable(); - - /* Resume the write or erase operation */ -+ -+ /* Fix Erase-Suspend hangups: dummy 0xFF cycle before Resume */ -+ if (is_LH28F640BF(cfi)) map_write(map, CMD(0xFF), adr); -+ - map_write(map, CMD(0xd0), adr); - map_write(map, CMD(0x70), adr); - chip->state = oldstate; -@@ -1654,6 +1706,12 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, +@@ -1649,6 +1686,12 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, initial_adr = adr; cmd_adr = adr & ~(wbufsize-1); + /* Sharp LH28F640BF chips need the first address for the + * Page Buffer Program command. See Table 5 of -+ * LH28F320BF, LH28F640BF, LH28F128BF Series (Appendix FUM00701) -+ * Apparently some Intel Strataflash can be programmed this way as well */ -+ if (is_LH28F640BF(cfi)) cmd_adr = adr; ++ * LH28F320BF, LH28F640BF, LH28F128BF Series (Appendix FUM00701) */ ++ if (is_LH28F640BF(cfi)) ++ cmd_adr = adr; + /* Let's determine this according to the interleave only once */ write_cmd = (cfi->cfiq->P_ID != P_ID_INTEL_PERFORMANCE) ? CMD(0xe8) : CMD(0xe9); -- -1.8.1.5 +1.9.1
recipes-kernel/linux/linux-yocto-3.14/collie/collie-LH28F640BF.patch +21 -61
137 lines not on this page · raw message
Signature · 1 line
1.9.1