imx6 NAND chip selects
Huang Shijie
shijie8 at gmail.com
Thu May 8 08:37:58 PDT 2014
On Wed, May 07, 2014 at 12:31:42PM -0400, Hugo Villeneuve wrote:
> Hi,
> I am trying to connect a NAND flash device (Micron MT29F8G08) to a
> Wandboard Dual.
>
> Here is the pin mapping:
>
> i.MX6 NAND flash
> ----------------------------
> NANDF_CS0 --> CE#
> NANDF_RB0 --> R/B#
> NANDF_WP_B --> WP#
> NANDF_CLE --> CLE
> NANDF_ALE --> ALE
> NANDF_WE --> WE#
> NANDF_RE --> RE#
> NANDF_D[0-7] --> I/O[0-7]
>
> This NAND flash has a single chip-select.
>
> I'm testing it using Linux kernel 3.15.0-rc3.
>
> In the wandboard device tree file, I have added all the above gpmi
> pins as GPMI pins.
>
> I am still booting from the SD card, so at this point I am only
> trying to detect the NAND device. Unfortunately, when the kernel
> boots, the GPMI driver fails to register (error -19).
>
> If I monitor the NANDF_CS0 line, I can see that it is pulsed low,
> but I am not seing any activity on the NANDF_WE line.
>
> However, If I monitor the NANDF_CS1 line, I can see that it is
> pulsed low, and during the time it is low the NANDF_WE line is also
> going low.
>
> I then made sure to reconfigure the unused pins NANDF_CS[1-3] as
> GPIOs (ALT5 function) in my device tree file. I have confirmed with
> kernel debug traces that the iomux register for NANDF_CS1 have the
> value 0x05, which means ALT5 function (GPIO). But I am still seeing
> the same behavior as before on the oscilloscope.
>
> So how can I configure the GPMI driver to only use NANDF_CS0 and not
> NANDF_CS1?
>
> And is it normal that NANDF_CS1 is still used by the GPMI driver
> when configured as GPIO?
It is not normal at all.
Please disable the GPIO pinctrl, and only enable the pinctrl for gpmi
and try again.
I am sure that you did not configure the PADs correctly.
thanks
Huang Shijie
More information about the linux-mtd
mailing list