WD MyCloud Ex, Armada-370, pxa3xx-nand, marvell-nfc

David Schaefer david.tillmann.schaefer at gmail.com
Mon Dec 14 09:58:49 EST 2020


Hi Richard,

Am Mo., 14. Dez. 2020 um 14:36 Uhr schrieb Richard Weinberger
<richard.weinberger at gmail.com>:
>
> David,
>
> On Mon, Dec 14, 2020 at 9:08 AM David Schaefer
> <david.tillmann.schaefer at gmail.com> wrote:
> >
> > Hi,
> >
> > I am trying to upgrade to a more recent kernel. I face the issue that
> > I am missing the /dev/mtdblock1-6 devices. I have tracked down that
> > issue shows up the first time with 4.16.1 and does not exist with
> > 4.15.18.
> >
> > Also I have this initalization during 4.15.18:
> >
> > > f10d0000.nand: This platform can't do DMA on this device
> > > nand: device found, Manufacturer ID: 0xad, Chip ID: 0xda
> > > nand: Hynix H27U2G8F2CTR-BC
> > > nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
> > > pxa3xx-nand f10d0000.nand: ECC strength 16, ECC step size 2048
> > > Bad block table found at page 131008, version 0x01
> > > Bad block table found at page 130944, version 0x01
> > > nand_read_bbt: bad block at 0x00000e7c0000
> > > 7 ofpart partitions found on MTD device pxa3xx_nand-0
> > > Creating 7 MTD partitions on "pxa3xpxa3xx-nand x_nand-0":
> > > 0x000000000000-0x000000500000 : "u-Boot"
> > > 0x000000500000-0x000000a00000 : "uImage"
> > > 0x000000a00000-0x000000f00000 : "ramdisk"
> > > 0x000000f00000-0x00000d800000 : "image.cfs"
> > > 0x00000dd00000-0x00000ec00000 : "rescue firmware"
> > > 0x00000ec00000-0x000010000000 : "config"
> > > 0x00000d800000-0x00000dd00000 : "reserve"
> >
> > and this with 4.16.1:
> >
> > > nand: device found, Manufacturer ID: 0xad, Chip ID: 0xda
> > > nand: Hynix H27U2G8F2CTR-BC
> > > nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
> > > marvell-nfc f10d0000.nand: Timeout on CMDD (NDSR: 0x00000080)
> > > marvell-nfc f10d0000.nand: Timeout on CMDD (NDSR: 0x00000280)
> > > Bad block table not found for chip 0
> > > Bad block table not found for chip 0
> > > Scanning device for bad blocks
> > > Bad eraseblock 1854 at 0x00000e7c0000
> >
> > I have tried 4.19.161 and 5.4.83 as well but my /dev/mtdblock1-6
> > devices keep being missing.
> >
> > What do I have to do to turn them back on? Do I have to modify my dts
> > file for the new driver marvell_nand?
> > https://fox-exe.ru/WDMyCloud/WDMyCloud-Mirror/Developing/kernel-4.15.0-rc6/armada-370-wdmc-mirror-gen1.dts
>
> Enabling CONFIG_MTD_NAND_MARVELL should give you the new marvell driver.
> IIRC no changes to the dts are needed. Though, there have been some
> fixes such as:
> f6997bec6af4 ("mtd: rawnand: marvell: fix the chip-select DT parsing logic")
>
> Do you see this failure with both the old and the new marvell drivers?
>
> Maybe Miquel has an idea too.

I have checked the kernel configuration. For 4.15.18 I have these settings:
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_PXA3xx=y

and for 4.16.1

CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_MARVELL=y

I actually copied the working configuration from 4.15.18 to 4.16.1,
did make oldconfig, and compiled it the same way as 4.15.18. Like I
said above, 4.15 works, 4.16 does not.
I hope this answers your question whether I see the issue with the new
and the old marvell drivers because I am not 100% sure what you refer
to here (I guess you mean PXA3XX vs NAND).

Kind regards
David



More information about the linux-mtd mailing list