Android Marshmallow booting issue with i.MX6 Solo

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Android Marshmallow booting issue with i.MX6 Solo

1,570 Views
vipulkumar
Contributor III

Hi

I am using customized board based on i.MX6 Solo. I am using Android Marshmallow (release android_M6.0.1_2.1.0
). I fetched and compiled the code as per the instructions given in Android_User's_Guide.pdf.

I am using SD card for booting and SD card is connected to the SD3. To compile the code for SD card, I used the instructions given in user manual:

        Remove /out/target/product/sabresd_6dq/root directory and boot*.img.
        Remove /out/target/product/sabresd_6dq/recovery directory and recovery*.img.

 

        export ARCH=arm
        export CROSS_COMPILE=~/Music/android_m6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
        source build/envsetup.sh
        lunch sabresd_6dq-eng
        make bootimage BUILD_TARGET_DEVICE=sd
        make recoveryimage BUILD_TARGET_DEVICE=sd

 

        sudo dd if=boot.img of=/dev/sdb1; sync
        sudo /home/vipul/Music/android_m6/out/host/linux-x86/bin/simg2img system.img system_raw.img
        sudo dd if=system_raw.img of=/dev/sdb5; sync

 

When I am trying to boot the board, it got stuck after some kernel booting logs.

 

loop: module loaded
zram: Created 1 device(s)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
CAN device driver interface
2090000.flexcan supply xceiver not found, using dummy regulator
flexcan 2090000.flexcan: device registered (reg_base=efb20000, irq=29)
2094000.flexcan supply xceiver not found, using dummy regulator
flexcan 2094000.flexcan: device registered (reg_base=efb28000, irq=30)

 

I have attached the entire booting logs.

 

Can anybody help me ?

 

These are the logs:

U-Boot 2015.04-dirty (Feb 09 2017 - 13:58:18)

 

CPU:   Freescale i.MX6SOLO rev1.3 at 792 MHz
CPU:   Temperature 37 C
Reset cause: POR
Board: MX6-SabreSD
I2C:   ready
DRAM:  1 GiB
PMIC:  PFUZE100 ID=0x10
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
No panel detected: default to NLT-WXGA
Display: NLT-WXGA (1280x800)
In:    serial
Out:   serial
Err:   serial
check_and_clean: reg 0, flag_set 0
Fastboot: Normal
flash target is MMC:1
Net:   FEC [PRIME]
Error: FEC address not set.

 

Normal Boot
Hit any key to stop autoboot:  0
boota mmc1
kernel   @ 14008000 (8506160)
ramdisk  @ 15000000 (1034297)
fdt      @ 14f00000 (47207)
## Booting Android Image at 0x12000000 ...
Kernel load addr 0x14008000 size 8307 KiB
Kernel command line: console=ttymxc4,115200 init=/init video=mxcfb0:dev=ldb,1280x800M@60, if=RGB666 ldb=sep0 video=mxcfb1:dev=ldb,LDB-WXGA,if=R
GB666 ldb=sep1 vmalloc=256M androidboot.console=ttymxc4 consoleblank=0 androidboot.hardware=freescale cma=384M
## Flattened Device Tree blob at 14f00000
   Booting using the fdt blob at 0x14f00000
   Loading Kernel Image ... OK
   Using Device Tree in place at 14f00000, end 14f0e866

 

Starting kernel ...

 

Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 4.1.15-dirty (vipul@vipul) (gcc version 4.9.x-google 20140827 (prerelease) (GCC) ) #4 SMP PREEMPT Thu Feb 9 10:50:22 IST 2017
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 Quad Plus SABRE Smart Device Board
cma: Reserved 384 MiB at 0x26000000
Memory policy: Data cache writeback
CPU: All CPU(s) started in SVC mode.
PERCPU: Embedded 12 pages/cpu @ee6e2000 s18048 r8192 d22912 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260384
Kernel command line: console=ttymxc4,115200 init=/init video=mxcfb0:dev=ldb,1280x800M@60, if=RGB666 ldb=sep0 video=mxcfb1:dev=ldb,LDB-WXGA,if=R
GB666 ldb=sep1 vmalloc=256M androidboot.console=ttymxc4 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.serialno=072409d4e6b
62962
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 625172K/1047552K available (11560K kernel code, 936K rwdata, 3552K rodata, 1024K init, 650K bss, 29164K reserved, 393216K cma-reserved,
 277504K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xef800000 - 0xff000000   ( 248 MB)
    lowmem  : 0xc0000000 - 0xef000000   ( 752 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0fc21f4   (16105 kB)
      .init : 0xc1000000 - 0xc1100000   (1024 kB)
      .data : 0xc1100000 - 0xc11ea2b0   ( 937 kB)
       .bss : 0xc11ea2b0 - 0xc128cc64   ( 651 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
        Additional per-CPU info printed with stalls.
NR_IRQS:16 nr_irqs:16 16
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 16 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 16 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76050001
mxc_clocksource_init 3000000
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
Security Framework initialized
SELinux:  Initializing.
AppArmor: AppArmor disabled by boot time parameter
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
Initializing cgroup subsys freezer
Initializing cgroup subsys debug
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x10100000 - 0x10100058
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 3 part 30 variant 9 rev 4
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
print_constraints 786 constraints->min_uV 0 constraints->max_uV 0
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
CPU identified as i.MX6DL, silicon rev 1.3
vdd3p0: unsupportable voltage range: 3200000-3150000uV
vdd3p0: unsupportable voltage range: 3200000-3150000uV
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
VDSO is not a valid ELF object!
imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
mxs-dma 110000.dma-apbh: initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator
2000000.aips-bus:usbphy_nop2 supply vcc not found, using dummy regulator
i2c i2c-0: of_i2c: modalias failure on /soc/aips-bus@02100000/i2c@021a0000/mma8451@1c
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@linux.it>
PTP clock support registered
imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
imx-ipuv3 2800000.ipu: clk set parent failed
imx-ipuv3 2800000.ipu: ipu clk setup failed
imx-ipuv3: probe of 2800000.ipu failed with error -22
imx-prg 21cc000.prg: driver probed
imx-prg 21cd000.prg: driver probed
imx-pre 21c8000.pre: driver probed
imx-pre 21c9000.pre: driver probed
imx-pre 21ca000.pre: driver probed
imx-pre 21cb000.pre: driver probed
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.20
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 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: 1012K (c5000000 - c50fd000)
CPU PMU: Failed to parse /soc/pmu/interrupt-affinity[0]
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
imx rpmsg driver is registered.
imx_busfreq soc:busfreq: busfreq_probe: failed to get busfreq clk
imx_busfreq: probe of soc:busfreq failed with error -22
Bus freq driver module loaded
futex hash table entries: 1024 (order: 4, 65536 bytes)
audit: initializing netlink subsys (disabled)
audit: type=2000 audit(0.500:1): initialized
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
ntfs: driver 2.1.32 [Flags: R/W DEBUG].
jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
MIPI DSI driver module loaded
MIPI DSI driver module loaded
mxc_sdc_fb fb@0: registered mxc display driver ldb
mxc_sdc_fb fb@1: registered mxc display driver ldb
mxc_sdc_fb fb@2: NO mxc display driver found!
ldb 2000000.aips-bus:ldb@020e0008: LVDS channel0 is already used
mxc_sdc_fb fb@3: NO mxc display driver found!
imx-sdma 20ec000.sdma: no iram assigned, using external mem
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1
pfuze100-regulator 1-0008: FAB: 0, FIN: 0
pfuze100-regulator 1-0008: pfuze100 found.
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 23, base_baud = 5000000) is a IMX
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 293, base_baud = 5000000) is a IMX
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 294, base_baud = 5000000) is a IMX
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 295, base_baud = 5000000) is a IMX
21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 296, base_baud = 5000000) is a IMX
console [ttymxc4] enabled
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
zram: Created 1 device(s)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
CAN device driver interface
2090000.flexcan supply xceiver not found, using dummy regulator
flexcan 2090000.flexcan: device registered (reg_base=efb20000, irq=29)   
2094000.flexcan supply xceiver not found, using dummy regulator
flexcan 2094000.flexcan: device registered (reg_base=efb28000, irq=30)

Original Attachment has been moved to: bootings.txt.zip

Labels (3)
0 Kudos
5 Replies

883 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vipul

from log: "Machine model: Freescale i.MX6 Quad Plus SABRE Smart Device Board"

while i.MX6S is used in the case. One can recheck build configuration using sect.3.3.1

Configuration examples of building i.MX devices attached Android User's Guide

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

0 Kudos

883 Views
vipulkumar
Contributor III

Thanks for the reply.

According to the User guide, to compile code for i.MX6 solo, we have to use i.MX6 Dual lite machine.

According to the section 3.3.1


Build name                                                                                                                     Description
i.MX 6DualLite/Quad/QuadPlus SABRE-SD Board and                                  $ lunch sabresd_6dq-user
Platform
i.MX 6Quad/DualLite/QuadPlus SABRE-AI Board                                           $ lunch sabreauto_6dq-user
i.MX 6SoloLite EVK Board                                                                                 $ lunch evk_6sl-user
i.MX 6SoloX SABRE-SD Board                                                                         $ lunch sabresd_6sx-user
i.MX 6SoloX SABRE-AI Board                                                                          $ lunch sabreauto_6sx-user
i.MX 7Dual SABRE-SD Board                                                                            $ lunch sabresd_7d-user

To compile for i.MX6 Solo, I have to go for $ lunch sabresd_6dq-user. But by default it is taking Quad Plus.

Can you please tell me how to configure Machine for I.MX 6 Dual-lite.

0 Kudos

883 Views
igorpadykov
NXP Employee
NXP Employee

had you run ddr test for custom board and updated image with new calibration coefficients

https://community.freescale.com/docs/DOC-105652 

~igor

0 Kudos

883 Views
vipulkumar
Contributor III

Hi,

I have modified the ./device/fsl/sabresd_6dq/BoardConfig.mk file and now in booting logs, I am getting the following Machine name

Machine model: Freescale i.MX6 DualLite SABRE Smart Device Board

One thing I checked that when I am opening my SD card by using gaprted, it was showing unallocated .

Is there any issue with the partitions ?

I am using the fsl-sdcard-partition.sh to create partitions on the SD card.

0 Kudos

883 Views
vipulkumar
Contributor III

Hi,

I have disabled Ethernet driver and now I am getting some more kernel logs. But still not able to boot the board completely.

These are the logs :

usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.31.0-ioctl (2015-3-12) initialised: dm-devel@redhat.com
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@02198000: voltage-ranges unspecified
sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2198000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
mxc_vpu 2040000.vpu_fsl: VPU initialized
mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
Galcore version 5.0.11.41671
mmc2: host does not support reading read-only switch, assuming write-enable
mmc2: new high speed SDHC card at address 0007
mmcblk2: mmc2:0007 SS08G 7.21 GiB
 mmcblk2: p1 p2 p3 < p5 p6 p7 p8 p9 > p4
mmcblk2: p4 size 12254486 extends beyond EOD, truncated
random: nonblocking pool is initialized

Now  the board is getting stuck at this point.

0 Kudos