[BUG] pxa3xx: wait time out when scanning for bb

Sean Nyekjær sean.nyekjaer at prevas.dk
Tue Nov 28 05:42:46 PST 2017


Hi Miquel

On 2017-11-28 14:30, Miquel RAYNAL wrote:
> Hi Sean,
>
>
>>> Also, what kernel are you using ?
>> 4.14.0 :-)
> Good !
>
>> [    2.288684] pxa3xx-nand f10d0000.flash: This platform can't do DMA
>> on this device
> FYI, this is normal, the NAND controller does not have any DMA feature
> on Armada 38x (NFCv2).
>
>> [    2.296924] nand: device found, Manufacturer ID: 0x2c, Chip ID:
>> 0xda [    2.303311] nand: Micron MT29F2G08ABAEAH4
>> [    2.307334] nand: 256 MiB, SLC, erase size: 128 KiB, page size:
>> 2048, OOB size: 64
>> [    2.314939] pxa3xx-nand f10d0000.flash: ECC strength 16, ECC step
>> size 2048
> In theory, Marvell NAND flash controller does support 16-bit strength
> per 512 bytes over 2048 bytes pages. However, this controller driver
> (pxa3xx_nand) does not. See [1] for the supported configurations.
>
> The ECC strength shown here is probably the best to use with this type
> of NAND device but I suggest you try with 4b/512B by using these two
> properties like in [2]:
>
>          nand-ecc-strength = <4>;
>          nand-ecc-step-size = <512>;
My dts iscreated with great inspiration from the armada-385-dp-ap.dts

&nand {
         status = "okay";
         pinctrl-names = "default";
         pinctrl-0 = <&nand_pins>, <&nand_rb>;
         num-cs = <1>;
         nand-on-flash-bbt;
         nand-ecc-strength = <4>;
         nand-ecc-step-size = <512>;
};

Why does the driver not set these values?
(I only see the timeouts if I remove the nand-on-flash-bbt)
>
>
> Thanks,
> Miquèl
>
> [1]
> http://elixir.free-electrons.com/linux/v4.14/source/drivers/mtd/nand/pxa3xx_nand.c#L1575
>
> [2]
> http://elixir.free-electrons.com/linux/v4.14/source/arch/arm/boot/dts/armada-385-db-ap.dts#L172




More information about the linux-mtd mailing list