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
解決済! 解決策の投稿を見る。
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 = <®_3p3v> in the DeviceTree.
Thank you very much for your support.
--
Marco
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.
Please start a new thread about this issue.
Regards,
Fabio Estevam
created here, any input is appreciated.
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
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)
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
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
are those from Linux 3.10.17 demo image ?
no are from my build 3.10.17 image
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.