Patchwork [meta-handheld,3/5] linux-yocto-tiny-kexecboot_3.2: match the exact NOR on collie

login
register
mail settings
Submitter Andrea Adami
Date March 17, 2013, 11:17 p.m.
Message ID <5cce5b4cb94887fd4fe8bdbf77013b6e3b7039ea.1363561878.git.andrea.adami@gmail.com>
Download mbox | patch
Permalink /patch/46303/
State Accepted, archived
Headers show

Comments

Andrea Adami - March 17, 2013, 11:17 p.m.
* Zaurus 5500 contains 2 LH28F640BFHE-PTTL90 (64M 4Mx16)
* as seen  at http://www.tekprosystems.com/zaurus/internals.htm
* the LH28F640BFHE-PTTL90.pdf datasheet available on the net shows
* the exact erasesize and the OTP support.
* At the moment only jedec_probe can discover the chip and
* the NO is mounted read only probably because of wrong vpp
* (kernel 3.8.1 seems fixing the issue for sa1100)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
 .../collie/collie-eraseinfo.patch                  | 28 ++++++++++++++++++----
 .../collie/collie-kexecboot.cfg                    |  4 ++--
 2 files changed, 26 insertions(+), 6 deletions(-)

Patch

diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch
index 47e814d..6aba29e 100644
--- a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-eraseinfo.patch
@@ -1,11 +1,31 @@ 
 --- a/drivers/mtd/chips/jedec_probe.c
 +++ b/drivers/mtd/chips/jedec_probe.c
-@@ -1305,7 +1305,7 @@
- 		.cmd_set	= P_ID_INTEL_STD,
- 		.nr_regions	= 1,
+@@ -120,7 +120,7 @@
+ #define PM49FL008	0x006A
+ 
+ /* Sharp */
+-#define LH28F640BF	0x00b0
++#define LH28F640BF	0x00B0
+ 
+ /* ST - www.st.com */
+ #define M29F800AB	0x0058
+@@ -1299,13 +1299,14 @@
+ 		.mfr_id		= CFI_MFR_SHARP,
+ 		.dev_id		= LH28F640BF,
+ 		.name		= "LH28F640BF",
+-		.devtypes	= CFI_DEVICETYPE_X8,
++		.devtypes	= CFI_DEVICETYPE_X16,
+ 		.uaddr		= MTD_UADDR_UNNECESSARY,
+-		.dev_size	= SIZE_4MiB,
+-		.cmd_set	= P_ID_INTEL_STD,
+-		.nr_regions	= 1,
++		.dev_size	= SIZE_8MiB,
++		.cmd_set	= P_ID_INTEL_EXT,
++		.nr_regions	= 2,
  		.regions	= {
 -			ERASEINFO(0x40000,16),
-+			ERASEINFO(0x08000,128),
++			ERASEINFO(0x10000, 127),
++			ERASEINFO(0x02000, 8),
  		}
  	}, {
  		.mfr_id		= CFI_MFR_SST,
diff --git a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-kexecboot.cfg b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-kexecboot.cfg
index ba5334d..6945207 100644
--- a/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-kexecboot.cfg
+++ b/recipes-kernel/linux/linux-yocto-tiny-kexecboot-3.2/collie/collie-kexecboot.cfg
@@ -483,8 +483,8 @@  CONFIG_MTD_MAP_BANK_WIDTH_4=y
 # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
 # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
 # CONFIG_MTD_CFI_I1 is not set
-# CONFIG_MTD_CFI_I2 is not set
-CONFIG_MTD_CFI_I4=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
 # CONFIG_MTD_CFI_I8 is not set
 # CONFIG_MTD_OTP is not set
 CONFIG_MTD_CFI_INTELEXT=y