imx6ull evk NAND

Showing results for 
Search instead for 
Did you mean: 

imx6ull evk NAND

Contributor II

Dear support,

    I am working with a imx6ull evk where we mount a NAND flash Micron 29F4G08ABADA .

I setup the resistor like the volansys gateway that use Micron 29F8G8ABABA and imx6ul.

Now using mfgtool L4.9.11_1.0.0-ga_mfg-tools I have the error that the kernel is unable to erase /dev/mtd0 0 0 .

I read that in the mfg tools L4.1.15_2.0.0-ga_mfg-tools it was required a kernel mods and recompile in order to add the GPMI driver in the kernel used to boot the board via usb.

Is it true even with the L4.9.11 that the kernel mod is required?

Do I need to recompile the kernel adding the gpmi driver?

Thanks in advance,


Tags (3)
0 Kudos
4 Replies

NXP TechSupport
NXP TechSupport

Hi stefano

manufacturing tool kernel is built using the imx_v7_mfg_defconfig

as described in sect.6.2 Manufacturing Tool, MFGTool attached Yocto Guide

and it includes gpmi nand driver

imx_v7_mfg_defconfig\configs\arm\arch - linux-imx - i.MX Linux kernel 

Best regards
Note: If this post answers your question, please click the Correct Answer button. Thank you!

0 Kudos

Contributor II

Hi Igor,

    thank you for your prompt reply.

I apologize for the long post, but I am unable to find how to attach a file in the reply.

So could it be the wrong resistor layout?

Here you can find a picture of my module.


In the mfg-tool I am running the mfgtool2-yocto-mx-evk-nand.vbs and here you can find the log:

U-Boot 2017.03-imx_v2017.03_4.9.11_1.0.0_ga+ga2fea67 (Sep 17 2017 - 15:09:34 -0500) 
CPU:   Freescale i.MX6ULL rev1.0 528 MHz (running at 396 MHz) 
CPU:   Commercial temperature grade (0C to 95C) at 42C 
Reset cause: POR 
Model: Freescale i.MX6 ULL 14x14 EVK Board 
Board: MX6ULL 14x14 EVK 
DRAM:  512 MiB 
NAND:  0 MiB 
*** Warning - readenv() failed, using default environment 
Display: TFT43AB (480x272) 
Video: 480x272x24 
In:    serial 
Out:   serial 
Err:   serial 
Warning: ethernet@020b4000 using MAC address from ROM 
eth1: ethernet@020b4000 [PRIME] 
Warning: ethernet@02188000 using MAC address from ROM 
, eth0: ethernet@02188000 
Boot from USB for mfgtools 
Use default environment for                              mfgtools 
Run bootcmd_mfg: run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; 
Hit any key to stop autoboot:  0 
Kernel image @ 0x80800000 [ 0x000000 - 0x5bd9c8 ] 
## Loading init Ramdisk from Legacy Image at 83800000 ... 
   Image Name:   fsl-image-mfgtool-initramfs-imx6 
   Image Type:   ARM Linux RAMDisk Image (gzip compressed) 
   Data Size:    8594034 Bytes = 8.2 MiB 
   Load Address: 00000000 
   Entry Point:  00000000 
   Verifying Checksum ... OK 
## Flattened Device Tree blob at 83000000 
   Booting using the fdt blob at 0x83000000 
   Using Device Tree in place at 83000000, end 8300bf4c 
Modify /soc/aips-bus@02200000/epdc@0228c000:status disabled 
ft_system_setup for mx6 
Starting kernel ... 
Booting Linux on physical CPU 0x0 
Linux version 4.9.11+ (bamboo@yb4) (gcc version 6.2.0 (GCC) ) #1 SMP PREEMPT Sun Sep 17 14:25:24 CDT 2017 
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d 
CPU: div instructions available: patching division code 
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache 
OF: fdt:Machine model: Freescale i.MX6 ULL 14x14 EVK Board 
Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB 
OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool 
Memory policy: Data cache writealloc 
percpu: Embedded 14 pages/cpu @8bb31000 s25740 r8192 d23412 u57344 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048 
Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber= mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs) clk_ignore_unused 
PID hash table entries: 2048 (order: 1, 8192 bytes) 
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) 
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) 
Memory: 170800K/524288K available (7168K kernel code, 330K rwdata, 2624K rodata, 1024K init, 441K bss, 25808K reserved, 327680K cma-reserved, 0K highmem) 
Virtual kernel memory layout: 
    vector  : 0xffff0000 - 0xffff1000   (   4 kB) 
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB) 
    vmalloc : 0xa0800000 - 0xff800000   (1520 MB) 
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB) 
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB) 
    modules : 0x7f000000 - 0x7fe00000   (  14 MB) 
      .text : 0x80008000 - 0x80800000   (8160 kB) 
      .init : 0x80b00000 - 0x80c00000   (1024 kB) 
      .data : 0x80c00000 - 0x80c52820   ( 331 kB) 
       .bss : 0x80c54000 - 0x80cc26dc   ( 442 kB) 
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 
Preemptible hierarchical RCU implementation. 
        Build-time adjustment of leaf fanout to 32. 
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. 
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1 
NR_IRQS:16 nr_irqs:16 16 
Switching to timer-based delay loop, resolution 333ns 
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns 
clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns 
Console: colour dummy device 80x30 
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000) 
pid_max: default: 32768 minimum: 301 
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) 
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) 
CPU: Testing write buffer coherency: ok 
/cpus/cpu@0 missing clock-frequency property 
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 
Setting up static identity map for 0x80100000 - 0x80100070 
Brought up 1 CPUs 
SMP: Total of 1 processors activated (6.00 BogoMIPS). 
CPU: All CPU(s) started in SVC mode. 
devtmpfs: initialized 
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns 
pinctrl core: initialized pinctrl subsystem 
NET: Registered protocol family 16 
DMA: preallocated 256 KiB pool for atomic coherent allocations 
cpuidle: using governor menu 
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. 
hw-breakpoint: maximum watchpoint size is 8 bytes. 
imx6ul-pinctrl 20e0000.iomuxc: no fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ull-evk-gpmi-rework 
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver 
imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver 
mxs-dma 1804000.dma-apbh: initialized 
SCSI subsystem initialized 
usbcore: registered new interface driver usbfs 
usbcore: registered new interface driver hub 
usbcore: registered new device driver usb 
i2c i2c-0: IMX I2C adapter registered 
i2c i2c-0: can't use DMA, using PIO instead. 
i2c i2c-1: IMX I2C adapter registered 
i2c i2c-1: can't use DMA, using PIO instead. 
Linux video capture interface: v2.00 
pps_core: LinuxPPS API ver. 1 registered 
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <> 
PTP clock support registered 
imx rpmsg driver is registered. 
Advanced Linux Sound Architecture Driver Initialized. 
clocksource: Switched to clocksource mxc_timer1 
VFS: Disk quotas dquot_6.6.0 
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) 
NET: Registered protocol family 2 
TCP established hash table entries: 4096 (order: 2, 16384 bytes) 
TCP bind hash table entries: 4096 (order: 3, 32768 bytes) 
TCP: Hash tables configured (established 4096 bind 4096) 
UDP hash table entries: 256 (order: 1, 8192 bytes) 
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) 
NET: Registered protocol family 1 
RPC: Registered named UNIX socket transport module. 
RPC: Registered udp transport module. 
RPC: Registered tcp transport module. 
RPC: Registered tcp NFSv4.1 backchannel transport module. 
Trying to unpack rootfs image as initramfs... 
Freeing initrd memory: 8396K (83800000 - 84033000) 
Bus freq driver module loaded 
futex hash table entries: 256 (order: 2, 16384 bytes) 
workingset: timestamp_bits=30 max_order=17 bucket_order=0 
NFS: Registering the id_resolver key type 
Key type id_resolver registered 
Key type id_legacy registered 
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. 
fuse init (API version 7.26) 
io scheduler noop registered 
io scheduler deadline registered 
io scheduler cfq registered (default) 
imx-weim 21b8000.weim: Driver registered. 
backlight supply power not found, using dummy regulator 
21c8000.lcdif supply lcd not found, using dummy regulator 
mxsfb 21c8000.lcdif: failed to find mxc display driver 
Console: switching to colour frame buffer device 60x34 
mxsfb 21c8000.lcdif: initialized 
imx-sdma 20ec000.sdma: loaded firmware 3.3 
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX 
random: fast init done 
console [ttymxc0] enabled 
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 72, base_baud = 5000000) is a IMX 
imx sema4 driver is registered. 
[drm] Initialized 
[drm] Initialized vivante 1.0.0 20120216 on minor 0 
brd: module loaded 
loop: module loaded 
imx6ul-pinctrl 20e0000.iomuxc: unable to find group for node gpmi-nand-1 
gpmi-nand: probe of 1806000.gpmi-nand failed with error -22 
libphy: Fixed MDIO Bus: probed 
20b4000.ethernet supply phy not found, using dummy regulator 
pps pps0: new PPS source ptp0 
libphy: fec_enet_mii_bus: probed 
fec 20b4000.ethernet eth0: registered PHC device 0 
2188000.ethernet supply phy not found, using dummy regulator 
pps pps1: new PPS source ptp1 
fec 2188000.ethernet eth1: registered PHC device 1 
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver 
ehci-mxc: Freescale On-Chip EHCI Host driver 
usbcore: registered new interface driver usb-storage 
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator 
2184000.usb supply vbus not found, using dummy regulator 
2184200.usb supply vbus not found, using dummy regulator 
ci_hdrc ci_hdrc.1: EHCI Host Controller 
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1 
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 
hub 1-0:1.0: USB hub found 
hub 1-0:1.0: 1 port detected 
Mass Storage Function, version: 2009/09/11 
LUN: removable file: (no medium) 
LUN: removable read only file: /fat 
Number of LUNs=1 
g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11 
g_mass_storage gadget: g_mass_storage ready 
mousedev: PS/2 mouse device common for all mice 
input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0 
input: iMX6UL Touchscreen Controller as /devices/soc0/soc/2000000.aips-bus/2040000.tsc/input/input1 
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0 
i2c /dev entries driver 
IR NEC protocol handler initialized 
IR RC5(x/sz) protocol handler initialized 
IR RC6 protocol handler initialized 
IR JVC protocol handler initialized 
IR Sony protocol handler initialized 
IR SANYO protocol handler initialized 
IR Sharp protocol handler initialized 
IR MCE Keyboard/mouse protocol handler initialized 
IR XMP protocol handler initialized 
pxp-v4l2 pxp_v4l2: initialized 
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0) 
sdhci: Secure Digital Host Controller Interface driver 
sdhci: Copyright(c) Pierre Ossman 
sdhci-pltfm: SDHCI platform and OF driver helper 
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO 
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA 
usbcore: registered new interface driver usbhid 
usbhid: USB HID core driver 
NET: Registered protocol family 10 
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver 
g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage 
NET: Registered protocol family 17 
Key type dns_resolver registered 
cpu cpu0: Registered imx6q-cpufreq 
Registering SWP/SWPB emulation handler 
imx_thermal 2000000.aips-bus:tempmon: Commercial CPU temperature grade - max:95C critical:90C passive:85C 
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:01:33 UTC (93) 
clk: Not disabling unused clocks 
can-3v3: disabling 
gpio_dvfs: disabling 
ALSA device list: 
  No soundcards found. 
Freeing unused kernel memory: 1024K (80b00000 - 80c00000) 
Mass Storage Function, version: 2009/09/11 
LUN: removable file: (no medium) 
MFG tool will use 1st udc:ci_hdrc.0 
/linuxrc: line 37: echo: write error: Device or resource busy 
Starting UTP 
uuc 0.5 [built Sep 15 2017 15:12:19] 
UTP: Waiting for device to appear 
UTP: file/device node /dev/utp already exists 
cpu_id is 0 
UTP: received command '$ mount -t debugfs debugfs /sys/kernel/debug' 
UTP: executing "mount -t debugfs debugfs /sys/kernel/debug" 
UTP: sending Success to kernel for command $ mount -t debugfs debugfs /sys/kernel/debug. 
utp_poll: pass returned. 
UTP: received command '$ flash_erase /dev/mtd0 0 0' 
UTP: executing "flash_erase /dev/mtd0 0 0" 
flash_erase: error!: /dev/mtd0 
             error 2 (No such file or directory) 
UTP: sending Non-success to kernel for command $ flash_erase /dev/mtd0 0 0. 
utp_poll: exit with status 65280

The last part of the log is quite clear, the kernel can't see the /dev/mtd0 device.

The flash is brand new, so I suppose that is not formatted, but I don't know how to do this.

I want to remark the flash part number Micron 29F4G08ABADA.

Thank you for your help.

Best regards,


0 Kudos

Contributor III

Hi Stefano Cordibella,

     I'm trying to burn image to nand on imx6ullevk and using the mfgtool or uuu. I'm facing the same problem. Have you solved this? Hope your help!

Best Regards,


0 Kudos

NXP TechSupport
NXP TechSupport

Hi Stefano

one can check mx6ul_14x14_evk_nand_defconfig from

How-To use NAND boot on i.MX6UL EVK board 

Best regards

0 Kudos