AnsweredAssumed Answered

Mfgtool problems programming i.MX6UL board with eMMC

Question asked by Francesco Tosoratti on May 4, 2017
Latest reply on May 4, 2017 by Francesco Tosoratti

Good morning,


we have a problem with a custom board during programming the eMMC (Micron) with mfgtool (using both versions 4.1.15_2.0.0 and 4.1.15_1.1.0).


Here the output that we receive on the debug serial:


U-Boot 2016.03-imx_v2016.03_4.1.15_2.0.0_ga+g0ec2a01 (Feb 08 2017 - 08:00:42 +01 00)

CPU: Freescale i.MX6UL rev1.1 528 MHz (running at 396 MHz)
CPU: Commercial temperature grade (0C to 95C) at 41C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C: ready
DRAM: 512 MiB
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net: Board Net Initialization Failed
No ethernet found.
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 - 0x554130 ]
## 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: 8591032 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 8300a42b
Modify /soc/aips-bus@02000000/bee@02044000:status disabled
ft_system_setup for mx6

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15+ (bamboo@yb6) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Fri Sep 16 18:10:49 CDT 2016
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 UltraLite 14x14 EVK Board
cma: Reserved 320 MiB at 0x8c000000
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8bb35000 s16716 r8192 d24244 u49152
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_mas s_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerial Number= 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: 172412K/524288K available (6903K kernel code, 320K rwdata, 2416K rodata, 384K init, 423K bss, 24196K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0040 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80921fd8 (9320 kB)
.init : 0x80922000 - 0x80982000 ( 384 kB)
.data : 0x80982000 - 0x809d2080 ( 321 kB)
.bss : 0x809d5000 - 0x80a3ee54 ( 424 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
Additional per-CPU info printed with stalls.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 24000000
Switching to timer-based delay loop, resolution 41ns
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79 635851949 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
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 0x80008280 - 0x800082f0
Brought up 1 CPUs
SMP: Total of 1 processors activated (48.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: 19112 604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
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: 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
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA
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 <giometti@l>
PTP clock support registered
Advanced Linux Sound Architecture Driver Initialized.
Switched to clocksource mxc_timer1
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: 8392K (83800000 - 84032000)
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
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.23)
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
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a I MX
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 224, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
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
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
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/platform/soc/2000000.aips-bus/20cc 000.snvs/20cc000.snvs:snvs-powerkey/input/input0
input: iMX6UL TouchScreen Controller as /devices/platform/soc/2000000.aips-bus/2 040000.tsc/input/input1
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as r tc0
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
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Key type dns_resolver registered
mmc1: MAN_BKOPS_EN bit is not set
Registering SWP/SWPB emulation handler
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 U TC (0)
mmc1: new DDR MMC card at address 0001
mmcblk1: mmc1:0001 MMC02G 1.78 GiB
mmcblk1boot0: mmc1:0001 MMC02G partition 1 1.00 MiB
mmcblk1boot1: mmc1:0001 MMC02G partition 2 1.00 MiB
mmcblk1rpmb: mmc1:0001 MMC02G partition 3 128 KiB
VSD_3V3: disabling
clk: Not disabling unused clocks
ALSA device list:
No soundcards found.
Freeing unused kernel memory: 384K (80922000 - 80982000)
g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage
Unable to handle kernel NULL pointer dereference at virtual address 00000068
pgd = 88474000
[00000068] *pgd=8847b831, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 1 Comm: linuxrc Not tainted 4.1.15+ #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 8804c000 ti: 88046000 task.ti: 88046000
PC is at copy_process.part.3+0xaec/0x1360
LR is at copy_process.part.3+0xa98/0x1360
pc : [<80035a7c>] lr : [<80035a28>] psr: 20070013
sp : 88047ef8 ip : 00040075 fp : 8848b7e8
r10: 809d7b80 r9 : 8810f670 r8 : 00000040
r7 : 882468c0 r6 : 00000000 r5 : 01200011 r4 : 882300fc
r3 : 00000000 r2 : 8848b7f8 r1 : 88246700 r0 : 00000000
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 8847406a DAC: 00000015
Process linuxrc (pid: 1, stack limit = 0x88046210)
Stack: (0x88047ef8 to 0x88048000)
7ee0: 00e600f0 88047fb0
7f00: 00000000 00000000 76ff5418 00000000 8810f440 88246700 88246738 882468f8
7f20: 8848b7e8 8848b7f0 8848b7fc 8848b7f8 00000000 809d7b80 b3becfaa 00000000
7f40: ffffffff fffffff4 000000e2 01200011 00000000 76ff53b0 00000000 00000000
7f60: 88046000 00000000 7efa99d4 80036428 00000000 00000000 00000001 00000000
7f80: 0000004e 00000000 76ff5418 7efa99a0 76ff53b0 00000078 8000f644 88046000
7fa0: 00000000 8000f4c0 76ff5418 7efa99a0 01200011 00000000 00000000 00000000
7fc0: 76ff5418 7efa99a0 76ff53b0 00000078 76f84000 00000001 00000000 7efa99d4
7fe0: 76ff5870 7efa99a0 00000000 76ee81bc 60070010 01200011 3ffe97dd e866eabc
[<80035a7c>] (copy_process.part.3) from [<80036428>] (do_fork+0x9c/0x368)
[<80036428>] (do_fork) from [<8000f4c0>] (ret_fast_syscall+0x0/0x3c)
Code: e58db028 e5988008 e3580000 0a00000e (e5981028)
---[ end trace 0dad6f0f3eb50556 ]---
Unable to handle kernel NULL pointer dereference at virtual address 00000009
pgd = 80004000
[00000009] *pgd=00000000
Internal error: Oops: 17 [#2] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 40 Comm: file-storage Tainted: G D 4.1.15+ #1
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 882a6ac0 ti: 883b6000 task.ti: 883b6000
PC is at fsg_main_thread+0xaf8/0x22d4
LR is at fsg_main_thread+0xaf8/0x22d4
pc : [<8044e094>] lr : [<8044e094>] psr: 20070113
sp : 883b7ef0 ip : 00000000 fp : 8831f334
r10: 8831f300 r9 : 43425355 r8 : 80a2f020
r7 : 80a2f020 r6 : 883b1280 r5 : a085d000 r4 : 00000000
r3 : 80a2f058 r2 : 00000000 r1 : 00000001 r0 : 80a2f038
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 8847406a DAC: 00000015
Process file-storage (pid: 40, stack limit = 0x883b6210)
Stack: (0x883b7ef0 to 0x883b8000)
7ee0: 00000000 80886824 882a6d6c 8bb38740
7f00: 00000000 00000000 882a6d6c a085d000 a0865000 80696ba4 8bb38740 806933d8
7f20: 00000000 88047dbc 00000000 882a6ac0 800663d8 883b7f34 883b7f34 8839e5c0
7f40: 8831f300 00000000 8839e5c0 8831f300 8044d59c 00000000 00000000 00000000
7f60: 00000000 8004f5e8 8804c000 00000000 883b7f9c 8831f300 00000000 00000000
7f80: 883b7f80 883b7f80 00000000 00000000 883b7f90 883b7f90 883b7fac 8839e5c0
7fa0: 8004f514 00000000 00000000 8000f568 00000000 00000000 00000000 00000000
7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 1dced7df ea26eabc
[<8044e094>] (fsg_main_thread) from [<8004f5e8>] (kthread+0xd4/0xf0)
[<8004f5e8>] (kthread) from [<8000f568>] (ret_from_fork+0x14/0x2c)
Code: e5b34038 e1540003 03a04000 eb091bc7 (e5d40009)
---[ end trace 0dad6f0f3eb50557 ]---
g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage
random: nonblocking pool is initialized


We have this problem on the second revision of the HW of the board and not with the first revision, that we are able to program it every time.


The only difference between the boards is the revision of the i.MX6UL (the first was Freescale i.MX6UL rev1.0 the current is Freescale i.MX6UL rev1.1).


We would be grateful if someone could help us.


Best Regard,