nand: denali: issue with 4.13

Oleksij Rempel ore at pengutronix.de
Tue Sep 26 02:36:40 PDT 2017


Hi,

On 23.09.2017 19:46, Masahiro Yamada wrote:
> 2017-09-22 16:34 GMT+09:00 Oleksij Rempel <ore at pengutronix.de>:
>> Hi,
>>
>> On Thu, Sep 21, 2017 at 08:00:34PM +0900, Masahiro Yamada wrote:
>>> Hi.
>>>
>>> 2017-09-21 15:44 GMT+09:00 Oleksij Rempel <ore at 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.
>>
>> Suddenly this patch makes no difference.
> 
> 
> 
> Does the following make difference?
> 
> 
> @@ -3876,6 +3876,8 @@ static int nand_detect(struct nand_chip *chip,
> struct nand_flash_dev *type)
>          /* Select the device */
>          chip->select_chip(mtd, 0);
> 
> +       udelay(1);
> +
>          /* Send the command for reading device ID */
>          chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1);

We did more tests, so now i can confirm that issue was caused but not 
properly configured clock for NAND controller.
After fixing the configuration provided with altera handoff files for 
bootloader, the NAND on Altera 5CSXFC6C6U seems to work properly with 
mainline kernel v4.13.

Masahiro Yamada, thank you for work and time! :)

Regards,
Oleksij



More information about the linux-mtd mailing list