AnsweredAssumed Answered

UUU FBK command is not working in imx6s

Question asked by Han Gun Woo on Jun 22, 2020
Latest reply on Jun 24, 2020 by Han Gun Woo

Hello.

 

I have a problem with my customized imx6solo board.

I built the yocto(zeus) and fusing the u-boot, kernel image with initramfs.

And also built the initramfs in my zeus yocto.

Everything is okay, but FBK command is not working in UUU.

I changed the kernel image and initramfs in L4.19.35_1.1.0_images_MX6QPDLSOLOX.zip

But  FBK command is still not working.

Is the FBK command not supported on the mx6solo or mx6 series?

 

 

here is my uuu script.

-----------------

uuu_version 1.2.39

 

# boot from u-boot-dtb.imx
# load the u-boot image into the sdram
SDP: boot -f firmware/u-boot-dtb.imx

 

# burn u-boot to emmc
# macro value is follow the u-boot source
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash bootloader firmware/u-boot-dtb.imx
FB: ucmd mmc partconf ${emmc_dev} 1 1 0

 

# load kernel & initram filesystem
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f firmware/zImage
FB: ucmd setenv fastboot_buffer ${fdt_addr}
FB: download -f firmware/u-boot.dtb
FB: ucmd setenv fastboot_buffer ${initrd_addr}
FB: download -f firmware/fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot
FB: ucmd setenv mfgtool_args ${mfgtool_args} mfg_mmcdev=${emmc_dev}
FB: ucmd run mfgtool_args
FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}

 

# get mmc dev number from kernel command line
FBK: ucmd cmdline=`cat /proc/cmdline`;cmdline=${cmdline#*mfg_mmcdev=};cmds=($cmdline);echo ${cmds[0]}>/tmp/mmcdev
# Wait for mmc
FBK: ucmd mmc=`cat /tmp/mmcdev`; while [ ! -e /dev/mmcblk${mmc} ]; do sleep 1; echo "wait for /dev/mmcblk${mmc} appear"; done;

FBK: Done

-------------------

 

 

This is uuu verbose log.

--------------------

frank@frank-desktop:~/DEV/uuu-1.3.191/output$ sudo ./uuu -v fusing.auto
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.191-0-g4fe24b9

 

Build in config:
    Pctl     Chip         Vid     Pid     BcdVersion
    ==================================================
    SDPS:     MX8QXP         0x1fc9     0x012f     [0x0002..0xffff]
    SDPS:     MX8QM         0x1fc9     0x0129     [0x0002..0xffff]
    SDPS:     MX8DXL         0x1fc9     0x0147
    SDPS:     MX28         0x15a2     0x004f
    SDPS:     MX815         0x1fc9     0x013e
    SDPS:     MX865         0x1fc9     0x0146
    SDP:     MX7D         0x15a2     0x0076
    SDP:     MX6Q         0x15a2     0x0054
    SDP:     MX6D         0x15a2     0x0061
    SDP:     MX6SL         0x15a2     0x0063
    SDP:     MX6SX         0x15a2     0x0071
    SDP:     MX6UL         0x15a2     0x007d
    SDP:     MX6ULL         0x15a2     0x0080
    SDP:     MX6SLL         0x1fc9     0x0128
    SDP:     MX7ULP         0x1fc9     0x0126
    SDP:     MXRT106X     0x1fc9     0x0135
    SDP:     MX8MM         0x1fc9     0x0134
    SDP:     MX8MQ         0x1fc9     0x012b
    SDPU:     SPL         0x0525     0xb4a4     [0x0000..0x04ff]
    SDPV:     SPL1         0x0525     0xb4a4     [0x0500..0x9998]
    SDPU:     SPL         0x0525     0xb4a4     [0x9999..0x9999]
    SDPU:     SPL         0x3016     0x1001     [0x0000..0x04ff]
    SDPV:     SPL1         0x3016     0x1001     [0x0500..0x9998]
    FBK:              0x066f     0x9afe
    FBK:              0x066f     0x9bff
    FB:              0x0525     0xa4a5
    FB:              0x18d1     0x0d02
    FB:              0x3016     0x0001
Wait for Known USB Device Appear...
New USB Device Attached at 1:1
1:1>Start Cmd:SDP: boot -f firmware/u-boot-dtb.imx
6400%1:1>Okay (0.635s)
New USB Device Attached at 1:1
1:1>Start Cmd:FB: ucmd setenv fastboot_dev mmc
1:1>Okay (0.001s)
1:1>Start Cmd:FB: ucmd setenv mmcdev ${emmc_dev}
1:1>Okay (0.172s)
1:1>Start Cmd:FB: ucmd mmc dev ${emmc_dev}
1:1>Okay (0.092s)
1:1>Start Cmd:FB: flash bootloader firmware/u-boot-dtb.imx
0x100000001:1>Okay (0.165s)
1:1>Start Cmd:FB: ucmd mmc partconf ${emmc_dev} 0 1 0
1:1>Okay (0.003s)
1:1>Start Cmd:FB: ucmd setenv fastboot_buffer ${loadaddr}
1:1>Okay (0s)
1:1>Start Cmd:FB: download -f firmware/zImage
1:1>Okay (0.235s)
1:1>Start Cmd:FB: ucmd setenv fastboot_buffer ${fdt_addr}
1:1>Okay (0.001s)
1:1>Start Cmd:FB: download -f firmware/u-boot.dtb
1:1>Okay (0.008s)
1:1>Start Cmd:FB: ucmd setenv fastboot_buffer ${initrd_addr}
1:1>Okay (0s)
1:1>Start Cmd:FB: download -f firmware/fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot
1:1>Okay (0.397s)
1:1>Start Cmd:FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}
1:1>Okay (0s)

 

 

And attached the booting log.

------------------------

U-Boot 2019.04-lf-5.4.y_v2019.04+g228843cdf5 (Jun 22 2020 - 17:24:36 +0900)s

 

CPU:   Freescale i.MX6SOLO rev1.3 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 41C
Reset cause: POR
Model: Freescale i.MX6 DualLite SABRE Smart Device Board
Board: MX6-SabreSD
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 1, FSL_SDHC: 2, FSL_SDHC: 3
Loading Environment from MMC... MMC: no card present
*** Warning - No block device, using default environment

 

No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
MMC: no card present
flash target is MMC:2
MMC: no card present
MMC card init failed!
MMC: no card present
** Block device MMC 2 not supported
Net:   Board Net Initialization Failed
No ethernet found.
Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for                                mfgtools
, using default environment

 

Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; el
se bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;

 

## Checking Image at 12c00000 ...
Unknown image format!
Run fastboot ...
flash target is MMC:3
switch to partitions #0, OK
mmc3(part 0) is current device
Starting download of 719872 bytes
.....
downloading of 719872 bytes finished
writing to partition 'bootloader'
Initializing 'bootloader'
switch to partitions #1, OK
mmc3(part 1) is current device
Writing 'bootloader'

 

MMC write: dev # 3, block # 2, count 1406 ... 1406 blocks written: OK
Writing 'bootloader' DONE!
Starting download of 7300424 bytes
.......................................................
downloading of 7300424 bytes finished
Starting download of 53591 bytes

 

downloading of 53591 bytes finished
Starting download of 12883324 bytes
..........................................................................
........................
downloading of 12883324 bytes finished
Kernel image @ 0x12000000 [ 0x000000 - 0x6f6548 ]
## Loading init Ramdisk from Legacy Image at 12c00000 ...
   Image Name:   fsl-image-mfgtool-initramfs-imx6
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    12883260 Bytes = 12.3 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 18010156
No PMIC found!

 

Starting kernel ...

 

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.4.3+gf8118585ee3c (frank@frank-desktop) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Tue Jun 23 12:47:04 KST 2020
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Freescale i.MX6 DualLite SABRE Smart Device Board
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Reserved memory: created CMA memory pool at 0x1c000000, size 320 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] percpu: Embedded 20 pages/cpu s50600 r8192 d23128 u81920
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc clk_ignore_unused
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 155588K/524288K available (10240K kernel code, 972K rwdata, 3004K rodata, 1024K init, 6564K bss, 41020K reserved, 327
680K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Running RCU self tests
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU lockdep checking is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C-310 erratum 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 16 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 16 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76450001
[    0.000000] random: get_random_bytes called from start_kernel+0x328/0x4dc with crng_init=0
[    0.000000] Switching to timer-based delay loop, resolution 333ns
[    0.000007] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
[    0.000044] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[    0.002048] Console: colour dummy device 80x30
[    0.002090] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.002109] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.002127] ... MAX_LOCK_DEPTH:          48
[    0.002146] ... MAX_LOCKDEP_KEYS:        8192
[    0.002162] ... CLASSHASH_SIZE:          4096
[    0.002180] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.002195] ... MAX_LOCKDEP_CHAINS:      65536
[    0.002212] ... CHAINHASH_SIZE:          32768
[    0.002230]  memory used by lock dependency info: 3997 kB
[    0.002245]  memory used for stack traces: 2112 kB
[    0.002262]  per task-struct memory footprint: 1536 bytes
[    0.002360] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[    0.002388] pid_max: default: 32768 minimum: 301
[    0.002753] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.002783] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.006003] CPU: Testing write buffer coherency: ok
[    0.006116] CPU0: Spectre v2: using BPIALL workaround
[    0.007643] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.059652] Setting up static identity map for 0x10100000 - 0x10100060
[    0.079541] rcu: Hierarchical SRCU implementation.
[    0.119547] smp: Bringing up secondary CPUs ...
[    0.200086] smp: Brought up 1 node, 1 CPU
[    0.200115] SMP: Total of 1 processors activated (6.00 BogoMIPS).
[    0.200136] CPU: All CPU(s) started in SVC mode.
[    0.202369] devtmpfs: initialized
[    0.239398] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.250015] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.250086] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.262040] pinctrl core: initialized pinctrl subsystem
[    0.264795] NET: Registered protocol family 16
[    0.287511] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.291016] cpuidle: using governor menu
[    0.291384] CPU identified as i.MX6DL, silicon rev 1.3
[    0.352979] No ATAGs?
[    0.353274] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.353367] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.356830] imx6dl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[    0.359644] imx mu driver is registered.
[    0.360487] imx rpmsg driver is registered.
[    0.487699] vgaarb: loaded
[    0.489093] SCSI subsystem initialized
[    0.500663] usbcore: registered new interface driver usbfs
[    0.500888] usbcore: registered new interface driver hub
[    0.501239] usbcore: registered new device driver usb
[    0.502854] mc: Linux media interface: v0.10
[    0.502967] videodev: Linux video capture interface: v2.00
[    0.503194] pps_core: LinuxPPS API ver. 1 registered
[    0.503219] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.503283] PTP clock support registered
[    0.529666] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
[    0.533080] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
[    0.534877] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 driver probed
[    0.534906] mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 dphy version is 0x3130302a
[    0.535168] MIPI CSI2 driver module loaded
[    0.539066] clocksource: Switched to clocksource mxc_timer1
[    1.207928] VFS: Disk quotas dquot_6.6.0
[    1.208107] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.236443] thermal_sys: Registered thermal governor 'step_wise'
[    1.237152] NET: Registered protocol family 2
[    1.239238] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 10240 bytes, linear)
[    1.239353] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    1.239453] TCP bind hash table entries: 4096 (order: 5, 147456 bytes, linear)
[    1.239941] TCP: Hash tables configured (established 4096 bind 4096)
[    1.240326] UDP hash table entries: 256 (order: 2, 20480 bytes, linear)
[    1.240440] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes, linear)
[    1.240889] NET: Registered protocol family 1
[    1.273408] RPC: Registered named UNIX socket transport module.
[    1.273500] RPC: Registered udp transport module.
[    1.273524] RPC: Registered tcp transport module.
[    1.273544] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.285057] PCI: CLS 0 bytes, default 64
[    1.286406] Trying to unpack rootfs image as initramfs...
[    2.491431] Freeing initrd memory: 12584K
[    2.492017] hw perfevents: no interrupt-affinity property for /soc/pmu, guessing.
[    2.492503] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    2.495332] Bus freq driver module loaded
[    2.499500] Initialise system trusted keyrings
[    2.500238] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    2.529770] NFS: Registering the id_resolver key type
[    2.529938] Key type id_resolver registered
[    2.530027] Key type id_legacy registered
[    2.530698] fuse: init (API version 7.31)
[    2.578820] Key type asymmetric registered
[    2.579115] Asymmetric key parser 'x509' registered
[    2.579329] io scheduler mq-deadline registered
[    2.579358] io scheduler kyber registered
[    2.587392] imx6q-pcie 1ffc000.pcie: host bridge /soc/pcie@1ffc000 ranges:
[    2.587601] imx6q-pcie 1ffc000.pcie:    IO 0x01f80000..0x01f8ffff -> 0x00000000
[    2.587819] imx6q-pcie 1ffc000.pcie:   MEM 0x01000000..0x01efffff -> 0x01000000
[    2.601732] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[    2.601838] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[    2.607679] mxs-dma 110000.dma-apbh: initialized
[    2.617166] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 27, base_baud = 5000000) is a IMX
[    3.397515] printk: console [ttymxc0] enabled
[    3.432770] brd: module loaded
[    3.467434] loop: module loaded
[    3.471849] imx ahci driver is registered.
[    3.482038] spi_imx 2008000.ecspi: probed
[    3.488203] libphy: Fixed MDIO Bus: probed
[    3.492496] CAN device driver interface
[    3.504351] pps pps0: new PPS source ptp0
[    3.509069] fec 2188000.ethernet: Invalid MAC address: 00:00:00:00:00:00
[    3.515815] fec 2188000.ethernet: Using random MAC address: a2:55:37:77:82:2e
[    3.530863] libphy: fec_enet_mii_bus: probed
[    3.537215] fec 2188000.ethernet eth0: registered PHC device 0
[    3.543860] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.550490] ehci-pci: EHCI PCI platform driver
[    3.555083] ehci-mxc: Freescale On-Chip EHCI Host driver
[    3.560922] usbcore: registered new interface driver usb-storage
[    3.698220] imx6q-pcie 1ffc000.pcie: Phy link never came up
[    3.707095] imx6q-pcie 1ffc000.pcie: failed to initialize host
[    3.713025] imx6q-pcie 1ffc000.pcie: unable to add pcie port.
[    3.762175] imx_usb 2184200.usb: No over current polarity defined
[    3.772600] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    3.777861] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    3.809094] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    3.819884] hub 1-0:1.0: USB hub found
[    3.824057] hub 1-0:1.0: 1 port detected
[    3.845172] Mass Storage Function, version: 2009/09/11
[    3.850647] LUN: removable file: (no medium)
[    3.855045] no file given for LUN0
[    3.858759] g_mass_storage ci_hdrc.0: failed to start g_mass_storage: -22
[    3.874801] imx2-wdt 20c0000.wdog: timeout 60 sec (nowayout=0)
[    3.883798] sdhci: Secure Digital Host Controller Interface driver
[    3.890085] sdhci: Copyright(c) Pierre Ossman
[    3.894468] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.902060] sdhci-esdhc-imx 2194000.usdhc: Got CD GPIO
[    3.907299] sdhci-esdhc-imx 2194000.usdhc: Got WP GPIO
[    3.957122] mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
[    3.966428] sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
[    3.971745] sdhci-esdhc-imx 2198000.usdhc: Got WP GPIO
[    4.020704] mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
[    4.072221] mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
[    4.081356] usbcore: registered new interface driver usbhid
[    4.087071] usbhid: USB HID core driver
[    4.100754] galcore: clk_get vg clock failed, disable vg!
[    4.107611] Galcore version 6.4.0.234062

Outcomes