[U-Boot] mtd partitions go away
Marek Vasut
marek.vasut at gmail.com
Thu Nov 15 13:48:49 UTC 2018
On 11/15/2018 11:14 AM, Heiko Schocher wrote:
> Hello all,
>
> just see with current HEAD of u-boot on an imx6ull based board with SPI NOR
> and NAND following behaviour:
+CC Boris, since he was recently looking into this stuff.
> => mtdparts
>
> device nand0 <gpmi-nand>, # parts = 1
> #: name size offset mask_flags
> 0: ubi 0x08000000 0x00000000 0
>
> device nor0 <spi1.0>, # parts = 5
> #: name size offset mask_flags
> 0: spl 0x00010000 0x00000000 0
> 1: u-boot 0x000c0000 0x00010000 0
> 2: env 0x00010000 0x000d0000 0
> 3: env-red 0x00010000 0x000e0000 0
> 4: rescue 0x00710000 0x000f0000 0
>
> active partition: nand0,0 - (ubi) 0x08000000 @ 0x00000000
>
> defaults:
> mtdids : nand0=gpmi-nand,nor0=spi1.0
> mtdparts:
> mtdparts=gpmi-nand:-(ubi);spi1.0:64k(spl),768k(u-boot),64k(env),64k(env-red),-(rescue)
>
> =>
>
> => mtd list
> List of MTD devices:
> * nand0
> - type: NAND flash
> - block size: 0x20000 bytes
> - min I/O: 0x800 bytes
> - OOB size: 64 bytes
> - OOB available: 0 bytes
> - ECC strength: 8 bits
> - ECC step size: 512 bytes
> - bitflip threshold: 6 bits
> - 0x000000000000-0x000008000000 : "nand0"
> - 0x000000000000-0x000008000000 : "ubi"
> * nor0
> - type: NOR flash
> - block size: 0x10000 bytes
> - min I/O: 0x1 bytes
> - 0x000000000000-0x000000800000 : "nor0"
> - 0x000000000000-0x000000010000 : "spl"
> - 0x000000010000-0x0000000d0000 : "u-boot"
> - 0x0000000d0000-0x0000000e0000 : "env"
> - 0x0000000e0000-0x0000000f0000 : "env-red"
> - 0x0000000f0000-0x000000800000 : "rescue"
>
> until here all is fine, for example an "ubi part ubi" works as
> expected ... also doing this command n times, no problems.
>
> Now:
>
> => sf probe
> SF: Detected s25f064l with page size 256 Bytes, erase size 64 KiB, total
> 8 MiB
> => mtd list
> List of MTD devices:
> * nand0
> - type: NAND flash
> - block size: 0x20000 bytes
> - min I/O: 0x800 bytes
> - OOB size: 64 bytes
> - OOB available: 0 bytes
> - ECC strength: 8 bits
> - ECC step size: 512 bytes
> - bitflip threshold: 6 bits
> - 0x000000000000-0x000008000000 : "nand0"
> - 0x000000000000-0x000008000000 : "ubi"
> * nor0
> - type: NOR flash
> - block size: 0x10000 bytes
> - min I/O: 0x1 bytes
> - 0x000000000000-0x000000800000 : "nor0"
> =>
>
> All MTD devices on nor0 are gone ... also the previous working
> "ubi part ubi" fails ...
>
> Adding debug code:
>
> mtd_for_each_device(other)
> printf("%s ===== %s\n", __func__, other->name);
>
> shows only:
>
> get_mtd_device_nm ===== nand0
> get_mtd_device_nm ===== nor0
>
> ?
>
> Anyone sees this behaviour too?
>
> Any hints?
>
> bye,
> Heiko
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list