imx6 NAND chip selects

Huang Shijie shijie8 at
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
> 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.

Huang Shijie

More information about the linux-mtd mailing list