I am trying to map the nor flash on the Versatile Express platform to an mtd partition. I have tried a bunch of variations with the kernel command line "mtdparts" directive, without success.
Here is the last one I tried: mtdparts=armflash-1.0:1M(uboot),9M(linux),16M(uInitrd)
The kernel seems to detect the flash parts correctly: ... armflash-0: Found 2 x16 devices at 0x0 in 32-bit bank Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled armflash-1: Found 2 x16 devices at 0x0 in 32-bit bank Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled Concatenating MTD devices: (0): "armflash-0" (1): "armflash-1" into device "armflash" RedBoot partition parsing not available ...
$ cat /proc/mtd dev: size erasesize name <nothing listed>
Any ideas?
Thanks, Matt
Thanks to Scott Bambrough for noticing this problem:
On 08/25/2010 10:15 AM, Matt Waddel wrote:
I am trying to map the nor flash on the Versatile Express platform to an mtd partition. I have tried a bunch of variations with the kernel command line "mtdparts" directive, without success.
Here is the last one I tried: mtdparts=armflash-1.0:1M(uboot),9M(linux),16M(uInitrd)
The kernel seems to detect the flash parts correctly: ... armflash-0: Found 2 x16 devices at 0x0 in 32-bit bank Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled armflash-1: Found 2 x16 devices at 0x0 in 32-bit bank Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Intel/Sharp Extended Query Table at 0x010A Using buffer write method Using auto-unlock on power-up/resume cfi_cmdset_0001: Erase suspend on write enabled Concatenating MTD devices: (0): "armflash-0" (1): "armflash-1" into device "armflash"
I can't access armflash-1 or -0 separately. They are concatenated together under armflash. So the actual cmdline entry needs to include:
"mtdparts=armflash:1M@0x4000000(uboot),9M@0x4100000(linux),16M@0x4a00000(uInitrd)"
With that fix, the system properly detects the flash mtd partitions:
... 3 cmdlinepart partitions found on MTD device armflash Creating 3 MTD partitions on "armflash": 0x000004000000-0x000004100000 : "uboot" 0x000004100000-0x000004a00000 : "linux" 0x000004a00000-0x000005a00000 : "uInitrd"
RedBoot partition parsing not available ...
$ cat /proc/mtd dev: size erasesize name
<nothing listed>
Any ideas?
Thanks, Matt
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev