Re: [U-Boot] UBI issues on SAMA5D31 NOR flash

Hello Andy,
Am 30.09.2014 11:04, schrieb Andy Pont:
Hello Heiko,
Using the patches from Bo Shen to support the NOR flash on the Atmel
which patches?
I can't find the references in Patchman but they were sent to the mailing list on 18th July 2014 in a series called "ARM: atmel: sama5d3xek: enable NOR flash support". The patches basically just add the board features to enable the IO pins for the NOR flash and to map it into the memory map at 0x10000000.
U-Boot> ubi part rootfs UBI: attaching mtd2 to ubi0 UBI: physical eraseblock size: 131072 bytes (128 KiB) UBI: logical eraseblock size: 130944 bytes UBI: smallest flash I/O unit: 1 UBI: VID header offset: 64 (aligned 64) UBI: data offset: 128 UBI error: vtbl_check: volume table check failed: record 0, error 9
seems ubi does not find the volume table ... could you activate ubi error messages ubi_err() ?
Adding:
#define DEBUG #define CONFIG_MTD_UBI_DEBUG #define CONFIG_MTD_UBI_DEBUG_MSG #define CONFIG_UBIFS_FS_DEBUG
Gives the following output:
U-Boot> ubi part rootfs
---mtdparts_init--- last_ids : nor0=physmap-flash.0 env_ids : nor0=physmap-flash.0 last_parts: mtdparts=physmap-flash.0:128k(bootstrap)ro,768k(u-boot)ro,128k(fdt),4m(kerne l),10m(rootfs) env_parts : mtdparts=physmap-flash.0:128k(bootstrap)ro,768k(u-boot)ro,128k(fdt),4m(kerne l),10m(rootfs)
last_partition : nor0,0 env_partition : nor0,0 --- find_dev_and_part --- id = rootfs --- find_dev_and_part --- id = rootfs Creating 1 MTD partitions on "nor0": 0x000000500000-0x000000f00000 : "mtd=4" UBI: attaching mtd2 to ubi0 UBI: physical eraseblock size: 131072 bytes (128 KiB) UBI: logical eraseblock size: 130944 bytes UBI: smallest flash I/O unit: 1 UBI: VID header offset: 64 (aligned 64) UBI: data offset: 128 UBI error: vtbl_check: volume table check failed: record 0, error 9 UBI error: ubi_init: cannot attach mtd2 UBI error: ubi_init: UBI error: cannot initialize UBI, error -22 UBI init error 22 Command failed, result=22
Hmm.. I thought to see something like this:
"too large reserved_pebs %d, good PEBs %d"
I am not familiar with this HW ... I think, you have to debug into it ... Maybe Bo has an idea?
Did the ubi partition work under linux? Did you tried current ML U-Boot (there MTD/UBI and UBIFS is synced with linux 3.15) ...
I haven't booted to Linux yet. If I try to boot with the kernel that is in the NOR flash then I get the following output from the console messages:
0.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000089 Chip ID 0x00899a 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 UBI error: ubi_init: UBI error: cannot initialize UBI, error -19
Hmm.. linux returns another error ...
Is there something that I need to do in order to tell U-Boot and the kernel that the base address of the NOR flash device is 0x10000000 rather than 0x0?
I don t know ... but it seems, the chip is detected, so the base addr should be correct.
bye, Heiko

Hello Heiko,
Hmm.. I thought to see something like this:
"too large reserved_pebs %d, good PEBs %d"
I am not familiar with this HW ... I think, you have to debug into it
Changing the dbg_err() to ubi_err() and also adding a bit more output then I get:
UBI error: vtbl_check: reserved_pebs 81, ubi->good_peb_count 80 UBI error: vtbl_check: too large reserved_pebs, good PEBs 80
Use of UBI is new to me so where are the PEBs configured?
Thanks,
Andy.
participants (2)
-
Andy Pont
-
Heiko Schocher