All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <yamada.masahiro@socionext.com>
To: Oleksij Rempel <ore@pengutronix.de>
Cc: "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	Sascha Hauer <kernel@pengutronix.de>
Subject: Re: nand: denali: issue with 4.13
Date: Thu, 21 Sep 2017 20:00:34 +0900	[thread overview]
Message-ID: <CAK7LNASR_1OsR+Dp3J7=Mtii_Ysp72DhWFXSYoeFVLiFPXu2AA@mail.gmail.com> (raw)
In-Reply-To: <25edd455-ad6c-f222-f552-2aa3d807112a@pengutronix.de>

Hi.

2017-09-21 15:44 GMT+09:00 Oleksij Rempel <ore@pengutronix.de>:
> Hi Masahiro,
>
> you are probably the expert of denali nand driver.
> With kernel v4.13 i have following issue, it works on FPGASoC 5CSEBA5U...
> but is now working on FPGASoC 5CSXFC6C6U... both of them have same NAND
> chip, and seems to have similar IP core.
>
> FPGASoC 5CSXFC6C6U...:
> ====================================================================
> [    0.095899] console [ttyS0] disabled
> [    0.095941] ffc02000.serial0: ttyS0 at MMIO 0xffc02000 (irq = 38,
> base_baud = 6250000) is a 16550A
> [    0.702041] console [ttyS0] enabled
> [    0.706986] brd: module loaded
> [    0.716232] loop: module loaded
> [    0.720074] nand: device found, Manufacturer ID: 0x00, Chip ID: 0x2c


This line is strange.  It failed to read Manufacturer ID.
The 0x2c should be Manufacturer ID, not Chip ID.


I am guessing we need to wait a bit
after the NAND_CMD_READID.

Please try the following ugly patch.



diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index bcc8cef1..2443e3d 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -744,10 +744,11 @@ static void nand_command(struct mtd_info *mtd,
unsigned int command,
        case NAND_CMD_ERASE2:
        case NAND_CMD_SEQIN:
        case NAND_CMD_STATUS:
-       case NAND_CMD_READID:
        case NAND_CMD_SET_FEATURES:
                return;
-
+       case NAND_CMD_READID:
+               udelay(5);
+               return;
        case NAND_CMD_RESET:
                if (chip->dev_ready)
                        break;
@@ -874,10 +875,11 @@ static void nand_command_lp(struct mtd_info
*mtd, unsigned int command,
        case NAND_CMD_ERASE2:
        case NAND_CMD_SEQIN:
        case NAND_CMD_STATUS:
-       case NAND_CMD_READID:
        case NAND_CMD_SET_FEATURES:
                return;
-
+       case NAND_CMD_READID:
+               udelay(5);
+               return;
        case NAND_CMD_RNDIN:
                nand_ccs_delay(chip);
                return;



-- 
Best Regards
Masahiro Yamada

  reply	other threads:[~2017-09-21 11:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-21  6:44 nand: denali: issue with 4.13 Oleksij Rempel
2017-09-21 11:00 ` Masahiro Yamada [this message]
2017-09-22  7:34   ` Oleksij Rempel
2017-09-23 17:46     ` Masahiro Yamada
2017-09-25 10:22       ` Oleksij Rempel
2017-09-26  9:36       ` Oleksij Rempel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK7LNASR_1OsR+Dp3J7=Mtii_Ysp72DhWFXSYoeFVLiFPXu2AA@mail.gmail.com' \
    --to=yamada.masahiro@socionext.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-mtd@lists.infradead.org \
    --cc=ore@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.