Skip to content

Marvell NAND controller rework with ->exec_op()

Boris Brezillon linux-arm-kernel linux-devicetree linux-mtd 1 version New

Get series with b4
b4 am 20171220224121.2cb6f690@bbrezillon

Versions newest first

  1. v1 Latest0 of 12 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 12 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/12] Marvell NAND controller rework with ->exec_op()
Quoted 40 lines · On Wed, 20 Dec 2017 22:26:04 +0100 Robert Jarzmik <[email protected]>…
Quoted 38 lines · Miquel RAYNAL

Hello Robert,

Quoted 23 lines · On Mon, 18 Dec 2017 08:11:35 +0100 Robert Jarzmik <[email protected]>…
Quoted 5 lines · Boris Brezillon
Quoted 4 lines

Robert, it would be great if you could also do more testing on PXA and validate this driver. If needed, a branch ready to be tested is available at [3]. It is based on nand/next and has all the changes brought by the previously mentionned series as well as this one.

Quoted 8 lines

Robert, do you think you'll have some time to test Miquel's branch on your PXA boards? Miquel already tested on one of these boards (CM-X300), but we'd like to have other testers. Also feel free to review the driver if have the time.

Thanks,

Boris

Hi Boris and Miquel,

I have applied the whole serie to linux-next yesterday.

A boot attempt on my zylonite with my old defconfig (with the new Marvell NAND config activated) yields to :
- this message

Quoted 7 lines
[    3.136818] marvell-nfc pxa3xx-nand: could not identify the nand

chip [ 3.143874] marvell-nfc: probe of pxa3xx-nand failed with
error -22
- then my board hangs

Is there something to be done to improve the trace level so that you can guess what's happening ?

Thank you very much for testing this.

Quoted 7 lines
Quoted 5 lines

Could you please try this branch [1] instead of linux-next + the patches?

Also, can you please add #define DEBUG in marvell_nand.c + nand_base.c, it should help us figuring out what is wrong.

Done, same result, the dmesg is in [1].

Looks like there is a mismatch on the nand bus width detected by the core and the one declared by the driver. Can you try with the following diff applied?

Thanks,

Boris

--->8---

drivers/mtd/nand/marvell_nand.c +1 -0
index c618ccb22a61..ddd6a07888e2 100644
@@ -2481,6 +2481,7 @@ static int marvell_nand_chip_init(struct device *dev, struct marvell_nfc *nfc,
         */
        chip->ecc.mode = NAND_ECC_HW;
 
+       chip->options |= NAND_BUSWIDTH_AUTO;
        ret = nand_scan_ident(mtd, marvell_nand->nsels, NULL);
        if (ret) {
                dev_err(dev, "could not identify the nand chip\n");