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

Hello Andy,
Am 29.09.2014 18:40, schrieb Andy Pont:
Hello,
Using the patches from Bo Shen to support the NOR flash on the Atmel
which patches?
SAMA5D31EK hardware platform I am trying to get a UBI root file system within the NOR flash, at offset 0x10000000 in the memory map, to work but get errors from the "ubi part" command using U-Boot 2014.04:
U-Boot> mtdparts
device nor0<physmap-flash.0>, # parts = 5 #: name size offset mask_flags 0: bootstrap 0x00020000 0x00000000 1 1: u-boot 0x000c0000 0x00020000 1 2: fdt 0x00020000 0x000e0000 0 3: kernel 0x00400000 0x00100000 0 4: rootfs 0x00a00000 0x00500000 0
active partition: nor0,0 - (bootstrap) 0x00020000 @ 0x00000000
defaults: mtdids : nor0=physmap-flash.0 mtdparts: mtdparts=physmap-flash.0:128k(bootstrap)ro,768k(u-boot)ro,128k(fdt),4m(kerne l),10m(rootfs)
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() ?
UBI error: ubi_init: cannot attach mtd2 UBI error: ubi_init: UBI error: cannot initialize UBI, error -22 UBI init error 22
The UBI settings are:
(2048) Image Size (130944) Logical Erase Block Size (1) Minimum I/O Size [ ] mkfs.ubifs Space Fixup () mkfs.ubifs Options
*** UBI Image Properties *** [*] Create UBI Volume (10MiB) Root File System Volume Size (128 KiB) Physical Erase Block Size (1) Sub-page Size () ubinize Configuration File () ubinize Options
Any ideas as to what I have missed?
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) ...
bye, Heiko

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
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
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?
Thanks,
Andy.
participants (2)
-
Andy Pont
-
Heiko Schocher