kernel hangs at booting

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

kernel hangs at booting

2,139 Views
parveenkumaryad
Contributor III

Hi all,

We are working on a project based on imx6qd.

We have attached a battery to provide power to the board.

Battery Parameter:

Li-ion single cell 4200 mAh battery

charging voltage : 4.2V

charging current : 2A

With LCD parameter passed at u-boot the board boots properly with both USB power and battery powered.

When we pass the HDMI parameter at u-boot with the board powered through USB then the board boots properly. But if the board is been powered by the battery then the kernel hangs while booting.

The booting logs :

U-boot parameters:

baudrate=115200

boot_fdt=try

bootcmd=mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; fi; fi; fi

bootdelay=3

bootscript=echo Running bootscript from mmc ...;source

console=ttymxc1

fdt_addr=0x18000000

fdt_file=imx6q-sabresd-ldo.dtb

fdt_high=0xffffffff

initrd_high=0xffffffff

ip_dyn=yes

loadaddr=0x12000000

loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};

loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}

loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}

mmcargs=setenv bootargs gpmi-nand console=${console},${baudrate} root=${mmcroot} video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:off v

ideo=mxcfb0:off

mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootm ${loadaddr}

- ${fdt_addr}; else if test ${boot_fdt} = try; then bootm; else echo WARN: Cannot load the DT; fi; fi; else bootm; fi;

mmcdev=0

mmcpart=1

mmcroot=/dev/mmcblk0p2 rootwait rw

script=boot.scr

uimage=uImage

Environment size: 1135/8188 bytes

Kernel Logs:

mmc0 is current device

reading boot.scr

** Unable to read file boot.scr **

reading uImage

4915192 bytes read in 234 ms (20 MiB/s)

Booting from mmc ...

reading imx6q-sabresd-ldo.dtb

36776 bytes read in 19 ms (1.8 MiB/s)

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

   Image Name:   Linux-3.10.17-1.0.0_ga+g232293e

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    4915128 Bytes = 4.7 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 1800bfa7

Starting kernel ...

Booting Linux on physical CPU 0x0

Linux version 3.10.17-1.0.0_ga+g232293e (parveen@parveen) (gcc version 4.8.2 (GCC) ) #58 SMP PREEMPT Tue Dec 2 16:09:57 IST 2014

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

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

Machine: Freescale MX6Q Quad/DualLite (Device Tree), model: Freescale i.MX6 Quad SABRE Smart Device Board

cma: CMA: reserved 320 MiB at 3c000000

Memory policy: ECC disabled, Data cache writealloc

PERCPU: Embedded 7 pages/cpu @8143e000 s7680 r8192 d12800 u32768

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

Kernel command line: gpmi-nand console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait rw video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb2:

off video=mxcfb0:off

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: 698620k/698620k available, 349956k 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 - 0x80b56370   (11577 kB)

      .init : 0x80b57000 - 0x80b98e00   ( 264 kB)

      .data : 0x80b9a000 - 0x80be3be0   ( 295 kB)

       .bss : 0x80be3be0 - 0x80c2996c   ( 280 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 0x805aa528 - 0x805aa580

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

tlv320-supply: 3300 mV

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

media: Linux media interface: v0.10

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.

Bluetooth: Core ver 2.16

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

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: 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 2004

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

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

mxc_sdc_fb fb.31: Can't get fb option for mxcfb2!

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.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 0-0008: Full lay: 1, Metal lay: 1

pfuze100-regulator 0-0008: FAB: 0, FIN: 1

SW1AB: 300 <--> 1875 mV at 1375 mV

SW1C: 300 <--> 1875 mV at 1375 mV

SW2: 800 <--> 3300 mV at 3300 mV

SW3A: 400 <--> 1975 mV at 1500 mV

SW3B: 400 <--> 1975 mV at 1500 mV

SW4: 800 <--> 3300 mV at 3150 mV

SWBST: 5000 <--> 5150 mV at 5000 mV

VSNVS: 1000 <--> 3000 mV at 3000 mV

VREFDDR: 750 mV

VGEN1: 800 <--> 1550 mV at 1500 mV

VGEN2: 800 <--> 1550 mV at 1500 mV

VGEN3: 1800 <--> 3300 mV at 2500 mV

VGEN4: 1800 <--> 3300 mV at 1800 mV

VGEN5: 1800 <--> 3300 mV at 2800 mV

VGEN6: 1800 <--> 3300 mV at 3300 mV

Serial: IMX driver

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

console [ttymxc1] enabled

21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX

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

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

usbcore: registered new interface driver usb-storage

LEADING_UI_DEVNAME :: LeadingUI-LU3010-Touch.0

LU3010 is attached!!3010

input: LeadingUI-LU3010-Touch as /devices/virtual/input/input0

adc121c021 : adc_sensor_probe :I2C Device probed Successfully

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

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

MOTION_SENSOR_DRIVER : motion_sensor_probe : Device Probed Successfully

i2c /dev entries driver

ov5645_probe CHIP ID of the Camera Sensor is 5645

v4l2_int_device registered

camera ov5645_mipi is found

mxc_v4l2_output v4l2_out.39: V4L2 device registered as video16

mxc_v4l2_output v4l2_out.39: V4L2 device registered as video17

mxc_v4l2_output v4l2_out.39: V4L2 device registered as video18

mxc_v4l2_output v4l2_out.39: V4L2 device registered as video19

Inside max17042_probe:

Inside max17042_get_pdata:

max17042_get_pdata: value of pdata-r_sns(prop) is 10000

max17042_probe: value of num_init_data is 0

max17042_probe: value of r_sns is 10000

max17042_probe: initial value at MAX17042_LearnCFG is 0

max17042_probe: initial value at MAX17042_MiscCFG is 0

Chip type max17047/50 detected

max17042_probe: initial value at MAX17042_LearnCFG is 172

uevent

power_supply_uevent: max POWER_SUPPLY_NAME=max170xx_battery

power_supply max170xx_battery: driver failed to report `present' property: -11

thermal thermal_zone0: failed to read out thermal zone 0

uevent

power_supply_uevent: max POWER_SUPPLY_NAME=max170xx_battery

power_supply max170xx_battery: driver failed to report `present' property: -11

Inside max17042_probe:  if (reg & STATUS_POR_BIT)

Inside max1742_default_config

Inside max17042_init_worker

max17042_init_worker: value of chip->pdata->enable_por_init is 1

max17042_init_worker: value of chip->pdata->enable_por_init && chip->pdata->config_data is 0max17042_init_worker: value of chip->pdata->config_d

ata is 0

Inside max1742_default_config

Inside max1742_default_config

MAX17047: Device Probed Successfully

Bq24296 : charger_probe :I2C Device probed Successfully

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

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

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

Bluetooth: Virtual HCI driver ver 1.3

Bluetooth: HCI UART driver ver 2.2

Bluetooth: HCI H4 protocol initialized

Bluetooth: HCILL protocol initialized

(stk) : st_kim_start

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

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 SL08G 7.40 GiB

mmcblk0: p1 p2

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

(stk) :ldisc installation timeout

(stk) : timed out waiting for ldisc to be un-installedGalcore version 4.6.9.9754  <<-- Kernal Hangs Here

Labels (5)
0 Kudos
3 Replies

844 Views
igorpadykov
NXP Employee
NXP Employee

Hi Parveen

4200mAh battery may be not able to deliver sufficient current, so

there may be voltage sags or ripples which may cause board to hang.

Immediately at boot board can consume quite lot of current.

Just for testing you can attach stationary powerfull voltage regulator with

up to 5A capability instead battery and check once more.

Best regards

igor

0 Kudos

844 Views
parveenkumaryad
Contributor III

Hi igorpadykov,

Why the board boots with LCD parameters at u-boot.

We have tried to use the same frame buffer that LCD is using then the board booted successfully.

for LCD we are using fb2.

for HDMI we are using fb1.

0 Kudos

844 Views
igorpadykov
NXP Employee
NXP Employee

Hi Parveen

reason may be that hdmi requires much more power/current

than LCD. So if power supply (battery) has small current margin -

this may be insufficient for HDMI, but sufficient for LCD.

Note that HDMI is powered from VDD_SOC_CAP

and max. VDD_SOC_IN=1890mA according to

Table 8. Maximum Supply Currents IMX6DQCEC

~igor

0 Kudos