Booting issue in imx6

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

Booting issue in imx6

Jump to solution
9,119 Views
parveenkumaryad
Contributor III

Hi All,

We are using a board based on imx6d-sabresd reference board in our project. The only difference between our board and reference board is that we used SD2 interface for the SD card booting and UART2 for the console(ttymxc1).

Also we have decreased the RAM size to 256 MB from 1 GB in reference board.

The board always boots up but it hangs just before the login prompt but when we send an interrupt signal from keyboard(ctrl+c) login prompt comes sometimes.

Can anyone provide us the steps to debug the issue.

The booting logs on the console is:

U-Boot 2014.01 (Sep 16 2014 - 15:43:58)

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz <we are using dual core processor but it is showing IMX6Q. Is there any configuration do we need to change for dual core processor>

Reset cause: POR

Board: VELU_WMSD

I2C:   ready

DRAM:  256 MiB

usdhc3 changes for mmc1 (wifi)MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

No panel detected: default to Hannstar-XGA

Display: Hannstar-XGA (1024x768)

In:    serial

Out:   serial

Err:   serial

Net:   CPU Net Initialization Failed

No ethernet found.

Hit any key to stop autoboot:  0

mmc0 is current device

reading boot.scr

** Unable to read file boot.scr **

reading uImage

4833712 bytes read in 231 ms (20 MiB/s)

Booting from mmc ...

reading imx6q-sabresd-ldo.dtb

41853 bytes read in 19 ms (2.1 MiB/s)

## Booting kernel from Legacy Image at 12000000 ...

   Image Name:   Linux-3.10.17-1.0.1_ga+gdac46dc

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    4833648 Bytes = 4.6 MiB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 18000000

   Booting using the fdt blob at 0x18000000

   Loading Kernel Image ... OK

   Using Device Tree in place at 18000000, end 1800d37c

Starting kernel ...

Booting Linux on physical CPU 0x0

Linux version 3.10.17-1.0.1_ga+gdac46dc (alok@Alok) (gcc version 4.8.2 (GCC) ) #8 SMP PREEMPT Wed Sep 17 10:17:13 IST 2014

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), model: Freescale i.MX6 Quad SABRE Smart Device Board

Memory policy: ECC disabled, Data cache writealloc

PERCPU: Embedded 8 pages/cpu @80e47000 s8896 r8192 d15680 u32768

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

Kernel command line: console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait rw init=/bin/sh

PID hash table entries: 1024 (order: 0, 4096 bytes)

Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)

Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)

Memory: 256MB = 256MB total

Memory: 247196k/247196k available, 14948k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    vmalloc : 0x90800000 - 0xff000000   (1768 MB)

    lowmem  : 0x80000000 - 0x90000000   ( 256 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .text : 0x80008000 - 0x80b3e8f8   (11483 kB)

      .init : 0x80b3f000 - 0x80b7f2c0   ( 257 kB)

      .data : 0x80b80000 - 0x80bcbe80   ( 304 kB)

       .bss : 0x80bcbe80 - 0x80c33d0c   ( 416 kB)

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

Preemptible hierarchical RCU implementation.

NR_IRQS:16 nr_irqs:16 16

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B

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

CPU identified as i.MX6Q, silicon rev 1.2

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

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

Setting up static identity map for 0x8058ff98 - 0x8058fff0

CPU1: Booted secondary processor

CPU1: thread -1, cpu 1, socket 0, mpidr 80000001

Brought up 2 CPUs

SMP: Total of 2 processors activated (3162.11 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 WDOG1 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 1100 mV

vddpu: 725 <--> 1450 mV at 1100 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

wilink_wl_en: 1800 mV

usb_otg_vbus: 5000 mV

usb_h1_vbus: 5000 mV

wm8962-supply: no parameters

mipi_dsi_pwr_on: no parameters

sensor-supply: 3300 mV

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

i2c i2c-0: IMX I2C adapter registered

i2c i2c-1: IMX I2C adapter registered

i2c i2c-2: IMX I2C adapter registered

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)

mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 driver probed

mxc_mipi_csi2 21dc000.mipi_csi: i.MX MIPI CSI2 dphy version is 0x3130302a

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Initialized.

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 2, 16384 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP: reno registered

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.

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

pureg-dummy: no parameters

imx6_busfreq busfreq.15: DDR medium rate not supported.

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 482

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

mxc_sdc_fb fb.31: register mxc display driver ldb

mxc_sdc_fb fb.31: NO mxc display driver found!

mxc_sdc_fb fb.32: register mxc display driver hdmi

mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1

fbcvt: 1920x1080@60: CVT Name - 2.073M9

Console: switching to colour frame buffer device 240x67

mxc_sdc_fb fb.33: register mxc display driver lcd

mxc_sdc_fb fb.33: ipu0-di0 already in use

mxc_sdc_fb: probe of fb.33 failed with error -16

mxc_sdc_fb fb.34: register mxc display driver ldb

mxc_sdc_fb fb.34: NO mxc display driver found!

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

imx-sdma 20ec000.sdma: loaded firmware 1.1

imx-sdma 20ec000.sdma: initialized

pfuze100-regulator 1-0008: unrecognized pfuze chip ID!

pfuze100-regulator: probe of 1-0008 failed with error -5

Serial: IMX driver

21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX

console [ttymxc1] enabled

serial: Freescale lpuart driver

[drm] Initialized drm 1.1.0 20060810

brd: module loaded

loop: module loaded

CAN device driver interface

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

usbcore: registered new interface driver usb-storage

ci_hdrc ci_hdrc.1: doesn't support gadget

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

mousedev: PS/2 mouse device common for all mice

elan-touch 2-0010: elan - Read Hello Packet Failed

elan-touch: probe of 2-0010 failed with error -22

egalax_ts 2-0004: Failed to read firmware version

egalax_ts: probe of 2-0004 failed with error -5

input: max11801_ts as /devices/soc0/soc.1/2100000.aips-bus/21a4000.i2c/i2c-1/1-0048/input/input0

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

mxc_v4l2_output v4l2_out.39: V4L2 device registered as video16

mxc_v4l2_output v4l2_out.39: V4L2 device registered as video17

mag3110 2-000e: check mag3110 chip ID

mag3110 2-000e: read chip ID 0xfffffffb is not equal to 0xc4!

mag3110: probe of 2-000e failed with error -22

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

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

mma8451 0-001c: read chip ID 0x1 is not equal to 0x1a or 0x2a!

mma8451: probe of 0-001c failed with error -22

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

sdhci-pltfm: SDHCI platform and OF driver helper

mmc0: no vqmmc regulator found

mmc0: no vmmc regulator found

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

mmc0: mmc_rescan_try_freq: Trying to init card at 400000 Hz

sdhci-esdhc-imx 2198000.usdhc: could not get ultra high speed state, work on normal mode

mmc1: no vqmmc regulator found

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

mmc0: new high speed SDHC card at address aaaa

mmcblk0: mmc0:aaaa SU04G 3.69 GiB

mmcblk0: p1 p2

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

------------[ cut here ]------------

WARNING: at mm/page_alloc.c:2412 __alloc_pages_nodemask+0x180/0x7c4()

mmc1: mmc_rescan_try_freq: Trying to init card at 400000 Hz

Modules linked in:

CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.17-1.0.1_ga+gdac46dc #8

[<80013ae0>] (unwind_backtrace+0x0/0xf4) from [<80011504>] (show_stack+0x10/0x14)

[<80011504>] (show_stack+0x10/0x14) from [<80025d6c>] (warn_slowpath_common+0x54/0x6c)

[<80025d6c>] (warn_slowpath_common+0x54/0x6c) from [<80025e20>] (warn_slowpath_null+0x1c/0x24)

[<80025e20>] (warn_slowpath_null+0x1c/0x24) from [<8008fa48>] (__alloc_pages_nodemask+0x180/0x7c4)

[<8008fa48>] (__alloc_pages_nodemask+0x180/0x7c4) from [<80017b28>] (__dma_alloc_buffer.isra.20+0x2c/0x198)

[<80017b28>] (__dma_alloc_buffer.isra.20+0x2c/0x198) from [<80017ca8>] (__alloc_remap_buffer.isra.23+0x14/0xb4)

[<80017ca8>] (__alloc_remap_buffer.isra.23+0x14/0xb4) from [<80017e94>] (__dma_alloc+0x14c/0x25c)

[<80017e94>] (__dma_alloc+0x14c/0x25c) from [<800180e8>] (arm_dma_alloc+0x9c/0xa4)

[<800180e8>] (arm_dma_alloc+0x9c/0xa4) from [<8041ec38>] (gpu_probe+0x1d8/0x734)

[<8041ec38>] (gpu_probe+0x1d8/0x734) from [<803081b8>] (platform_drv_probe+0x18/0x1c)

[<803081b8>] (platform_drv_probe+0x18/0x1c) from [<80306f64>] (driver_probe_device+0x10c/0x228)

mmc1: mmc_rescan_try_freq: Trying to init card at 300000 Hz

[<80306f64>] (driver_probe_device+0x10c/0x228) from [<80307150>] (__driver_attach+0x8c/0x90)

[<80307150>] (__driver_attach+0x8c/0x90) from [<80305480>] (bus_for_each_dev+0x60/0x94)

[<80305480>] (bus_for_each_dev+0x60/0x94) from [<80306728>] (bus_add_driver+0x1c0/0x24c)

[<80306728>] (bus_add_driver+0x1c0/0x24c) from [<8030772c>] (driver_register+0x78/0x140)

[<8030772c>] (driver_register+0x78/0x140) from [<80008704>] (do_one_initcall+0x108/0x158)

[<80008704>] (do_one_initcall+0x108/0x158) from [<80b3fbe0>] (kernel_init_freeable+0x138/0x1d8)

[<80b3fbe0>] (kernel_init_freeable+0x138/0x1d8) from [<80584b9c>] (kernel_init+0x8/0x158)

[<80584b9c>] (kernel_init+0x8/0x158) from [<8000e118>] (ret_from_fork+0x14/0x3c)

---[ end trace af522e87092d768d ]---

galcore 130000.gpu: Failed to allocate contiguous memory

galcore: probe of 130000.gpu failed with error -12

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

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

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

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

mmc1: mmc_rescan_try_freq: Trying to init card at 200000 Hz

wm8962 0-001a: Failed to read ID register

wm8962: probe of 0-001a failed with error -5

imx-wm8962 sound.29: audmux internal port setup failed

imx-wm8962: probe of sound.29 failed with error -22

imx-audio-hdmi sound-hdmi.30:  hdmi-hifi <-> hdmi_audio.16 mapping ok

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

vddpu: disabling

snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)

ALSA device list:

  #0: imx-hdmi-soc

kjournald starting.  Commit interval 5 seconds

EXT3-fs (mmcblk0p2): using internal journal

EXT3-fs (mmcblk0p2): recovery complete

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

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

devtmpfs: mounted

Freeing unused kernel memory: 256K (80b3f000 - 80b7f000)

mmc1: mmc_rescan_try_freq: Trying to init card at 100000 Hz

udevd[122]: starting version 182

Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory

bootlogd.

Populating dev cache

Wed Sep 17 05:10:00 UTC 2014

<console hangs here>

Labels (3)
1 Solution
3,390 Views
parveenkumaryad
Contributor III

Hi ,

We were able to boot the board after few menuconfig changes.

We disabled the RTC clock and made some changes in power management in the menuconfig and after that we were able to boot the board without hanging issue in the kernel.

View solution in original post

0 Kudos
Reply
8 Replies
3,390 Views
vladimirzapolsk
Contributor II

If the problem is reproduced only with DDR50 SD cards (e.g. like one above Sandisk SE16G, which RCA is aaaa), I believe the described problem may be related to a missing timing delay after host controller timing switch, see Dong Aisheng's change ENGR00324668 as a workaround.

0 Kudos
Reply
3,390 Views
igorpadykov
NXP Employee
NXP Employee

Hi Parveen

you can try to allocate to gpu reasonable memory

with parameter "mem" and set "maxcpus"=2 for Dual processor

as shown in attached document p.9.

Best regards

igor

0 Kudos
Reply
3,390 Views
parveenkumaryad
Contributor III

Hi Igorpadykov,

The document you sent does not help in debugging the problem for the code hang at the time of login prompt.

Also we have changed the number of CPU's to 2 for Dual processor but still it reads IMX6Q id from the register.

We have removed all the irrelevant drivers from the code.

Also we have tested the code on the reference board with 256MB of DDR, on reference board it is working fine.

Can you provide us some other relevant document or debugging steps.

Adding some more information :

We are using yocto 1.6 Daisy tool chain with kernel 3.10-17 and u-boot-2014.01 .

0 Kudos
Reply
3,391 Views
parveenkumaryad
Contributor III

Hi ,

We were able to boot the board after few menuconfig changes.

We disabled the RTC clock and made some changes in power management in the menuconfig and after that we were able to boot the board without hanging issue in the kernel.

0 Kudos
Reply
3,390 Views
ambika
Contributor II

Hi PRaveen,

We are also facing same issue, please let us know the power management changes which you have done in make menuconfig.

3,390 Views
JithCR
Contributor III

Hi Praveen,

What are the power management changes which you have done in make menuconfig?

0 Kudos
Reply
3,390 Views
parveenkumaryad
Contributor III

Hi Igorpadykov,

I think you forgot to attach the document...

0 Kudos
Reply
3,390 Views
igorpadykov
NXP Employee
NXP Employee

i.MX_6_SABRE-SD_Linux_Release_Notes.pdf

L3.10.17_1.0.0_LINUX_DOCS

0 Kudos
Reply