Linux 3.10.17 i.MX6S SOLO boot problem

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

Linux 3.10.17 i.MX6S SOLO boot problem

Jump to solution
10,198 Views
marcocavallini
Contributor V

Hello,

I am trying to port Linux version 3.10.17 to an i.MX6 SOLO (Not Solo Lite)

I started from the imx6q-sabresd configuration as foudation for the first test

  make imx_v7_defconfig

  make -j4 uImage LOADADDR=0x10008000

  make imx6q-sabresd.dtb

Is this the correct way to proceed for MX6 SOLO ?

The problem is that kernel hangs at the line below just after trying to mount the mmcblk0

Sometimes some messages appear but they don't give much information.

I need a help to understand where to dig in order to continue the boot process.

Thank you

[BOOT LOG]

Booting Linux on physical CPU 0x0

Linux version 3.10.17+g232293e (koan@kmobile) (gcc version 4.8.2 (GCC) ) #46 SMP PREEMPT Sun Mar 1 16:04:32 CET 2015

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX6 Quad/DualLite (Device Tree)

cma: CMA: reserved 320 MiB at 3a000000

Memory policy: ECC disabled, Data cache writealloc

PERCPU: Embedded 9 pages/cpu @816f2000 s12992 r8192 d15680 u36864

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096

Kernel command line: console=ttymxc0,115200 maxcpus=1 root=/dev/mmcblk1p2 rootwait rw

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: 1024MB = 1024MB total

Memory: 695876k/695876k available, 352700k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)

    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .text : 0x80008000 - 0x80d60358   (13665 kB)

      .init : 0x80d61000 - 0x80de42c0   ( 525 kB)

      .data : 0x80de6000 - 0x80e54670   ( 442 kB)

       .bss : 0x80e54670 - 0x80edf36c   ( 556 kB)

SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

Preemptible hierarchical RCU implementation.

  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.

NR_IRQS:16 nr_irqs:16 16

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32050000, Cache size: 524288 B

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

CPU identified as i.MX6DL, silicon rev 1.1

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

ftrace: allocating 23648 entries in 70 pages

CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

Setting up static identity map for 0x806d1848 - 0x806d18a0

Brought up 1 CPUs

SMP: Total of 1 processors activated (1581.05 BogoMIPS).

CPU: All CPU(s) started in SVC mode.

devtmpfs: initialized

pinctrl core: initialized pinctrl subsystem

regulator-dummy: no parameters

NET: Registered protocol family 16

DMA: preallocated 256 KiB pool for atomic coherent allocations

Use WDOG2 as reset source

syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered

vdd1p1: 800 <--> 1375 mV at 1125 mV

vdd3p0: 2800 <--> 3150 mV at 3000 mV

vdd2p5: 2000 <--> 2750 mV at 2425 mV

cpu: 725 <--> 1450 mV at 1150 mV

vddpu: 725 <--> 1450 mV at 1150 mV

vddsoc: 725 <--> 1450 mV at 1175 mV

syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered

syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered

hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.

hw-breakpoint: maximum watchpoint size is 4 bytes.

imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver

bio: create slab <bio-0> at 0

mxs-dma 110000.dma-apbh: initialized

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

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)

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Initialized.

cfg80211: Calling CRDA to update world regulatory domain

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

TCP established hash table entries: 8192 (order: 4, 65536 bytes)

TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

TCP: Hash tables configured (established 8192 bind 8192)

TCP: reno registered

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.

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

pureg-dummy: no parameters

imx6_busfreq busfreq.15: busfreq_probe: failed to get axi_sel_clk

imx6_busfreq: probe of busfreq.15 failed with error -2

Bus freq driver module loaded

VFS: Disk quotas dquot_6.5.2

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.22)

msgmni has been set to 1999

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

imx-weim 21b8000.weim: WEIM driver registered.

MIPI DSI driver module loaded

imx-sdma 20ec000.sdma: no iram assigned, using external mem

imx-sdma 20ec000.sdma: initialized

imx-sdma 20ec000.sdma: loaded firmware 1.1

Serial: IMX driver

2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

console [ttymxc0] enabled

serial: Freescale lpuart driver

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized vivante 1.0.0 20120216 on minor 0

brd: module loaded

loop: module loaded

lkdtm: No crash points registered, enable through debugfs

m25p80 spi32766.0: found mr25h256, expected m25p32

m25p80 spi32766.0: mr25h256 (32 Kbytes)

spi_imx 2008000.ecspi: probed

CAN device driver interface

libphy: fec_enet_mii_bus: probed

fec 2188000.ethernet eth0: registered PHC device 0

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

usbcore: registered new interface driver usb-storage

ci_hdrc ci_hdrc.0: doesn't support gadget

ci_hdrc ci_hdrc.0: EHCI Host Controller

ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1

ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

mousedev: PS/2 mouse device common for all mice

i2c-core: driver [isl29023] using legacy suspend method

i2c-core: driver [isl29023] using legacy resume method

snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0

i2c /dev entries driver

i2c-core: driver [mag3110] using legacy suspend method

i2c-core: driver [mag3110] using legacy resume method

imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)

cpuidle: using governor ladder

cpuidle: using governor menu

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

usbcore: registered new interface driver ushc

sdhci-pltfm: SDHCI platform and OF driver helper

mmc0: no vqmmc regulator found

mmc0: no vmmc regulator found

mmc0: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA

mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc0: new high speed SD card at address 59b4

mmcblk0: mmc0:59b4 USD   1.87 GiB

(usually hangs here)

...

(but sometimes the boot continue in this way)

Unable to handle kernel paging request at virtual address afff0000

pgd = 80004000

[afff0000] *pgd=4ffcf801, *pte=00000000, *ppte=00000000

Internal error: Oops: 807 [#1] PREEMPT ARM

Modules linked in:

CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.17+g232293e #14

task: a805a000 ti: a806c000 task.ti: a806c000

PC is at __memzero+0x24/0x80

LR is at 0x0

pc : [<80264cc4>]    lr : [<00000000>]    psr: 20000113

sp : a806dd6c  ip : 00000000  fp : 00000000

r10: a80c4610  r9 : a806ddbc  r8 : 00008000

r7 : 00000047  r6 : 8113b000  r5 : 08000000  r4 : aa500000

r3 : 00000000  r2 : 00000000  r1 : 0250ffc0  r0 : afff0000

Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c53c7d  Table: 10004059  DAC: 00000015

Process swapper (pid: 1, stack limit = 0xa806c230)

Stack: (0xa806dd6c to 0xa806e000)

dd60:                            80015fec 00000001 08000000 8113b000 08000000

dd80: 00000047 00008000 a806ddbc 80016720 fffffffe 00000000 08000000 00000000

dda0: 00000000 00000000 a82a9b94 80016960 803e6be4 00000001 80bcbea0 00000000

ddc0: 00000047 a82a9b94 08000000 a80c4610 000000d0 803e6be4 80b2fb40 80016c1c

dde0: 00000047 00000000 803e6be4 800b1158 00000000 8030914c a82a9b80 80b75d30

de00: a80c4610 a80c4610 a80c4600 a82a9b90 80b23814 803e6be4 a82a9b90 80110e6c

de20: 00200200 00001ebe a82a9a40 a82a9b40 a806de60 80111058 00000000 a82a9a40

de40: 00000000 a82a9b40 a80c3e00 80111a68 00000000 800b04e0 a82a9a80 a82a9a90

de60: a80c3e00 00000000 a80c4610 80be36a0 a80c4610 00000000 80b75d44 80b81340

de80: 80b23814 80b2fb40 00000000 80307d5c 80307d44 80306adc 00000000 a80c4610

dea0: 80b75d44 a80c4644 00000000 80306cc8 00000000 80b75d44 80306c3c 80304fe0

dec0: a804234c a80c16b0 80b75d44 a829ad80 80b649e0 803062a0 80a86a60 80267fdc

dee0: 80b75d44 80b75d44 00000006 80b81340 80b81340 803072d0 80b3bea8 00000006

df00: 80b81340 80b81340 80b81340 80008744 000000ab 80040508 00000000 a806c010

df20: 80a7f5f8 80ad0d28 00000006 00000006 8003fd74 8003fdcc 00000000 80b3bea8

df40: 00000006 80b81340 80b81340 80afd480 000000ab 80b2fb40 80b2fb34 80afdb68

df60: 00000006 00000006 80afd480 7a5dcff3 ebdbb65f 7567aef9 5f7fb2ef 00000000

df80: 8056e6cc 00000000 00000000 00000000 00000000 00000000 00000000 8056e6d4

dfa0: 00000000 00000000 8056e6cc 8000e118 00000000 00000000 00000000 00000000

dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000001

Code: e52de004 e1a0c002 e1a0e002 e2511040 (a8a0500c)

---[ end trace 993561f6a7d64d56 ]---

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

--

Marco

Labels (3)
0 Kudos
Reply
1 Solution
5,767 Views
marcocavallini
Contributor V

Hi Igor,

I solved and now I am able to boot a kernel derived from iMX6DLSABRE.

The problem was caused by bad regulators settings like vmmc-supply = <&reg_3p3v> in the DeviceTree.

Thank you very much for your support.

--

Marco

View solution in original post

0 Kudos
Reply
30 Replies
1,123 Views
suncxun
Contributor I

hi ,

Am trying uboot and kernel flashing on eim-nor ( parallel-nor ) from imx-3.10.17-1.0.0-ga-mfg-tools archive on my imx6solo (imx6dl) board , flashing is success but after flashing uboot doesn't come up.

Any help in troubleshooting this problem ?

Thanks.

0 Kudos
Reply
1,123 Views
fabio_estevam
NXP Employee
NXP Employee

Please start a new thread about this issue.

Regards,

Fabio Estevam

0 Kudos
Reply
1,123 Views
suncxun
Contributor I

created here, any input is appreciated.

u-boot 2013.04 boot eim-nor problem

0 Kudos
Reply
1,131 Views
marcocavallini
Contributor V

Hi Fabio and Igor,

I disabled "MXC Vivante GPU support" in the kernel and now boot process continued.


sdhci-pltfm: SDHCI platform and OF driver helper

mmc0: no vqmmc regulator found

mmc0: no vmmc regulator found

mmc0: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA

mmc0: mmc_rescan_try_freq: trying to init card at 400000 Hz

mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

mxc_asrc 2034000.asrc: mxc_asrc registered

mxc_vpu 2040000.vpu: VPU initialized

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc0: new high speed SD card at address 59b4

mmcblk0: mmc0:59b4 USD   1.87 GiB

mmcblk0: p1 p2

caam 2100000.caam: device ID = 0x0a16010000000100 (Era -524)

caam 2100000.caam: job rings = 2, qi = 0

caam 2100000.caam: authenc-hmac-md5-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-aes-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-aes-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-aes-caam

caam 2100000.caam: authenc-hmac-md5-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-des3_ede-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-des3_ede-caam

caam 2100000.caam: authenc-hmac-md5-cbc-des-caam

caam 2100000.caam: authencesn-hmac-md5-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha1-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha1-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha224-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha224-cbc-des-caam

caam 2100000.caam: authenc-hmac-sha256-cbc-des-caam

caam 2100000.caam: authencesn-hmac-sha256-cbc-des-caam

caam 2100000.caam: ecb-des-caam

caam 2100000.caam: ecb-arc4-caam

caam 2100000.caam: ecb-aes-caam

caam 2100000.caam: ctr-aes-caam

caam 2100000.caam: cbc-aes-caam

caam 2100000.caam: ecb-des3-caam

caam 2100000.caam: cbc-3des-caam

caam 2100000.caam: cbc-des-caam

caam 2100000.caam: fsl,sec-v4.0 algorithms registered in /proc/crypto

platform 2101000.jr0: registering rng-caam

platform caam_sm: caam_sm_test: 8-byte key test match OK

platform caam_sm: caam_sm_test: 16-byte key test match OK

platform caam_sm: caam_sm_test: 32-byte key test match OK

platform caam_secvio.17: security violation service handlers armed

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

fsl-asrc-p2p asrc_p2p.4: init pcm dma failed

TCP: cubic registered

NET: Registered protocol family 10

sit: IPv6 over IPv4 tunneling driver

NET: Registered protocol family 17

can: controller area network core (rev 20120528 abi 9)

NET: Registered protocol family 29

can: raw protocol (rev 20120528)

can: broadcast manager protocol (rev 20120528 t)

can: netlink gateway (rev 20130117) max_hops=1

8021q: 802.1Q VLAN Support v1.8

Key type dns_resolver registered

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 01:32:23 UTC (5543)

ALSA device list:

  No soundcards found.

kjournald starting.  Commit interval 5 seconds

EXT3-fs (mmcblk0p2): using internal journal

EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode

VFS: Mounted root (ext3 filesystem) on device 179:2.

devtmpfs: mounted

Freeing unused kernel memory: 520K (80d0c000 - 80d8e000)

(freezes here)

missing the next steps:

INIT: version 2.88 booting

Starting udev

--

Marco

0 Kudos
Reply
1,133 Views
marcocavallini
Contributor V

I checked again the DDR settings in u-boot.

Sometimes after the last message in the kernel there is the following output log

---[ end trace 679f1bb4b1a4e2be ]---

Fixing recursive fault but reboot is needed!

BUG: scheduling while atomic: kworker/u2:1/65/0x40000004

Modules linked in:

CPU: 0 PID: 65 Comm: kworker/u2:1 Tainted: G      D W    3.10.17+g232293e #47

[<800159a8>] (unwind_backtrace+0x0/0x100) from [<80012a74>] (show_stack+0x20/0x24)

[<80012a74>] (show_stack+0x20/0x24) from [<806cc214>] (dump_stack+0x24/0x28)

[<806cc214>] (dump_stack+0x24/0x28) from [<806c99e0>] (__schedule_bug+0x5c/0x6c)

[<806c99e0>] (__schedule_bug+0x5c/0x6c) from [<806cfda0>] (__schedule+0x6c8/0x7d8)

[<806cfda0>] (__schedule+0x6c8/0x7d8) from [<806cfef0>] (schedule+0x40/0x80)

[<806cfef0>] (schedule+0x40/0x80) from [<8002f1ec>] (do_exit+0x8c8/0x96c)

[<8002f1ec>] (do_exit+0x8c8/0x96c) from [<80012c94>] (die+0x21c/0x3dc)

[<80012c94>] (die+0x21c/0x3dc) from [<8001315c>] (bad_mode+0x5c/0x6c)

[<8001315c>] (bad_mode+0x5c/0x6c) from [<8002ee20>] (do_exit+0x4fc/0x96c)

0 Kudos
Reply
1,133 Views
fabio_estevam
NXP Employee
NXP Employee

Hi Marco,

You should try to use imx6sl-sabresd-ldo.dtb as a reference for your dtb.

U-boot mainline does not support LDO-bypass.

Also, can you run memtester in Linux?

Regards,

Fabio Estevam

0 Kudos
Reply
1,131 Views
marcocavallini
Contributor V

Hi Fabio,

FYI my CPU is SOLO (not SoloLite), is imx6sl-sabresd-ldo.dtb suitable for it?

What do you mean with memtester? The target doesn't boot.

Regards,

--

Marco

0 Kudos
Reply
1,133 Views
igorpadykov
NXP Employee
NXP Employee

are those from Linux 3.10.17 demo image ?

0 Kudos
Reply
1,133 Views
marcocavallini
Contributor V

no are from my build 3.10.17 image

0 Kudos
Reply
1,133 Views
igorpadykov
NXP Employee
NXP Employee

suggest to check with L3.0.35_4.1.0_ER_SOURCE_BSP

this ltib distro does not use device tree, so you can check

if issue is caused by DDR errors or device tree configs.

0 Kudos
Reply