imx6 solo kernel boot failed(CSI camera issue)

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

imx6 solo kernel boot failed(CSI camera issue)

1,912 Views
昌清黄
Contributor I

Hi all:

          The hardware board is our own development。(imx6 solo)

          BSP :L3.0.101_4.1.1。 kernel defconfig:imx6s_defconfig

        the project source code have not modified。

        

          I compile the project after starting system:

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.101-2790-gc248ed7 (boen@boen-12) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Buil5
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writeback
CPU identified as i.MX6DL/SOLO, silicon rev 1.1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64512
Kernel command line: console=ttymxc0,115200 nosmp ip=dhcp root=/dev/mmcblk0p1 rootwait
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: 246840k/246840k available, 277448k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
    vmalloc : 0xa0800000 - 0xf2000000   (1304 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .init : 0x80008000 - 0x80035000   ( 180 kB)
      .text : 0x80035000 - 0x80a38d58   (10256 kB)
      .data : 0x80a3a000 - 0x80a8e700   ( 338 kB)
       .bss : 0x80a8e724 - 0x80ab3480   ( 148 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
Set periph_clk's parent to pll2_pfd_400M!
arm_max_freq=1GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
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
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32050000, Cache size: 524288 B
bio: create slab <bio-0> at 0
print_constraints: SPKVDD: 4200 mV
print_constraints: vmmc: 3300 mV
SCSI subsystem initialized
spi_imx imx6q-ecspi.0: probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
mc_pfuze 1-0008: ID: 0,Full lay: 1 ,Metal lay: 1
mc_pfuze 1-0008: FAB: 0 ,FIN: 0
mc_pfuze 1-0008: pfuze100 found.
print_constraints: PFUZE100_SW1A: 300 <--> 1875 mV at 1300 mV
print_constraints: PFUZE100_SW1B: 300 <--> 1875 mV at 300 mV
print_constraints: PFUZE100_SW1C: 300 <--> 1875 mV at 1300 mV
print_constraints: PFUZE100_SW2: 800 <--> 3950 mV at 3300 mV
print_constraints: PFUZE100_SW3A: 400 <--> 1975 mV at 1500 mV
print_constraints: PFUZE100_SW3B: 400 <--> 1975 mV at 1500 mV
print_constraints: PFUZE100_SW4: 800 <--> 3950 mV at 3150 mV
print_constraints: PFUZE100_SWBST: 5000 <--> 5150 mV at 5000 mV
print_constraints: PFUZE100_VSNVS: 1200 <--> 3000 mV at 1800 mV
print_constraints: PFUZE100_VREFDDR: at 750 mV
print_constraints: PFUZE100_VGEN1: 800 <--> 1550 mV at 1500 mV
print_constraints: PFUZE100_VGEN2: 800 <--> 1550 mV at 1500 mV
print_constraints: PFUZE100_VGEN3: 1800 <--> 3300 mV at 2800 mV
print_constraints: PFUZE100_VGEN4: 1800 <--> 3300 mV at 1800 mV
print_constraints: PFUZE100_VGEN5: 1800 <--> 3300 mV at 3000 mV
print_constraints: PFUZE100_VGEN6: 1800 <--> 3300 mV at 3300 mV
mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed
mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Version 1.0.24.
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
cfg80211: Calling CRDA to update world regulatory domain
max17135 2-0048: PMIC MAX17135 for eInk display
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 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.
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = 0 suspend_iram_base=f2900000
PM driver module loaded
IMX usb wakeup probe
add wake up source irq 75
IMX usb wakeup probe
cpu regulator mode:ldo_bypass
_regulator_get: get() with no identifier
mx6_cpu_regulator_init: failed to get pu regulator
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 482
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
loop: module loaded
m25p80 spi0.0: unrecognized JEDEC id ffffff
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
egalax_ts 1-0004: egalax_ts: failed to read firmware version
egalax_ts: probe of 1-0004 failed with error -5
egalax_ts 2-0004: egalax_ts: failed to read firmware version
egalax_ts: probe of 2-0004 failed with error -5
elan - Read Hello Packet Failed
elan-touch: probe of 2-0010 failed with error -22
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT
Modules linked in:
CPU: 0    Not tainted  (3.0.101-2790-gc248ed7 #2)
PC is at csi_mclk_enable+0x18/0x28
LR is at clk_enable+0x60/0xa0
pc : [<8034718c>]    lr : [<8005dd3c>]    psr: 20000013
sp : 8bc67ea8  ip : 00000000  fp : 00000000
r10: 8bec5400  r9 : 8034a208  r8 : 8bec5420
r7 : 00000000  r6 : 8bec5400  r5 : 00000001  r4 : 80aab204
r3 : 00000000  r2 : 00000001  r1 : 00000000  r0 : 00000000
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 = 0x8bc662e8)
Stack: (0x8bc67ea8 to 0x8bc68000)
7ea0:                   00000001 803471cc 8005b814 80aab2b0 80a5127c 8034a390
7ec0: 00000000 00000000 8bec5420 804f9fc0 804f9fa8 804f9fc0 8bec5404 80322274
7ee0: 8bec5420 80aa8dcc 8bec5454 00000000 80a79c80 00000000 8002217c 8027a668
7f00: 8bec5420 80a79c80 8bec5454 00000000 00000000 8027a800 80a79c80 00000000
7f20: 8027a774 80279880 8bd13b78 8bde5cf0 80a79c80 80a76568 8be9d8a0 8027a03c
7f40: 809cdba8 80a79c80 8bc66000 80a79c80 8bc66000 8003b670 00000000 00000000
7f60: 8002217c 8027ace0 80a79c58 8bc66000 8003b670 00000000 00000000 80323ed4
7f80: 00000000 80a8e740 8bc66000 8002218c 80a8e740 8003535c 00000000 8bc934e0
7fa0: 8009fe1c 8002217c 80a5fd9c 8009fe4c 000001df 8003b670 00000013 37340000
7fc0: 00000039 8002a9b8 8002ab10 8003b670 00000013 00000000 00000000 00000000
7fe0: 00000000 80008960 00000000 00000000 800088dc 8003b670 00000000 00000000
[<8034718c>] (csi_mclk_enable+0x18/0x28) from [<803471cc>] (csi_enable_mclk+0x14/0x54)
[<803471cc>] (csi_enable_mclk+0x14/0x54) from [<8034a390>] (ov5640_probe+0x188/0x2f0)
[<8034a390>] (ov5640_probe+0x188/0x2f0) from [<80322274>] (i2c_device_probe+0xc0/0xfc)
[<80322274>] (i2c_device_probe+0xc0/0xfc) from [<8027a668>] (driver_probe_device+0x90/0x19c)
[<8027a668>] (driver_probe_device+0x90/0x19c) from [<8027a800>] (__driver_attach+0x8c/0x90)
[<8027a800>] (__driver_attach+0x8c/0x90) from [<80279880>] (bus_for_each_dev+0x60/0x94)
[<80279880>] (bus_for_each_dev+0x60/0x94) from [<8027a03c>] (bus_add_driver+0x17c/0x244)
[<8027a03c>] (bus_add_driver+0x17c/0x244) from [<8027ace0>] (driver_register+0x78/0x13c)
[<8027ace0>] (driver_register+0x78/0x13c) from [<80323ed4>] (i2c_register_driver+0x2c/0xb4)
[<80323ed4>] (i2c_register_driver+0x2c/0xb4) from [<8002218c>] (ov5640_init+0x10/0x40)
[<8002218c>] (ov5640_init+0x10/0x40) from [<8003535c>] (do_one_initcall+0x34/0x174)
[<8003535c>] (do_one_initcall+0x34/0x174) from [<80008960>] (kernel_init+0x84/0x128)
[<80008960>] (kernel_init+0x84/0x128) from [<8003b670>] (kernel_thread_exit+0x0/0x8)
Code: e34840aa e2840008 ebf45ad4 e5943000 (e5932000)
---[ end trace f29efc1086a96175 ]---
Kernel panic - not syncing: Attempted to kill init!
[<80040518>] (unwind_backtrace+0x0/0xf8) from [<804c9504>] (panic+0x74/0x188)
[<804c9504>] (panic+0x74/0x188) from [<8006d01c>] (do_exit+0x668/0x6ec)
[<8006d01c>] (do_exit+0x668/0x6ec) from [<8003e1ec>] (die+0x234/0x2a8)
[<8003e1ec>] (die+0x234/0x2a8) from [<804c9414>] (__do_kernel_fault.part.5+0x54/0x74)
[<804c9414>] (__do_kernel_fault.part.5+0x54/0x74) from [<80044040>] (do_page_fault+0x2b4/0x31c)
[<80044040>] (do_page_fault+0x2b4/0x31c) from [<800351a0>] (do_DataAbort+0x34/0x9c)
[<800351a0>] (do_DataAbort+0x34/0x9c) from [<8003a790>] (__dabt_svc+0x70/0xa0)
Exception stack(0x8bc67e60 to 0x8bc67ea8)
7e60: 00000000 00000000 00000001 00000000 80aab204 00000001 8bec5400 00000000
7e80: 8bec5420 8034a208 8bec5400 00000000 00000000 8bc67ea8 8005dd3c 8034718c
7ea0: 20000013 ffffffff
[<8003a790>] (__dabt_svc+0x70/0xa0) from [<8034718c>] (csi_mclk_enable+0x18/0x28)
[<8034718c>] (csi_mclk_enable+0x18/0x28) from [<803471cc>] (csi_enable_mclk+0x14/0x54)
[<803471cc>] (csi_enable_mclk+0x14/0x54) from [<8034a390>] (ov5640_probe+0x188/0x2f0)
[<8034a390>] (ov5640_probe+0x188/0x2f0) from [<80322274>] (i2c_device_probe+0xc0/0xfc)
[<80322274>] (i2c_device_probe+0xc0/0xfc) from [<8027a668>] (driver_probe_device+0x90/0x19c)
[<8027a668>] (driver_probe_device+0x90/0x19c) from [<8027a800>] (__driver_attach+0x8c/0x90)
[<8027a800>] (__driver_attach+0x8c/0x90) from [<80279880>] (bus_for_each_dev+0x60/0x94)
[<80279880>] (bus_for_each_dev+0x60/0x94) from [<8027a03c>] (bus_add_driver+0x17c/0x244)
[<8027a03c>] (bus_add_driver+0x17c/0x244) from [<8027ace0>] (driver_register+0x78/0x13c)
[<8027ace0>] (driver_register+0x78/0x13c) from [<80323ed4>] (i2c_register_driver+0x2c/0xb4)
[<80323ed4>] (i2c_register_driver+0x2c/0xb4) from [<8002218c>] (ov5640_init+0x10/0x40)
[<8002218c>] (ov5640_init+0x10/0x40) from [<8003535c>] (do_one_initcall+0x34/0x174)
[<8003535c>] (do_one_initcall+0x34/0x174) from [<80008960>] (kernel_init+0x84/0x128)
[<80008960>] (kernel_init+0x84/0x128) from [<8003b670>] (kernel_thread_exit+0x0/0x8)

how can i do?

Labels (2)
0 Kudos
Reply
6 Replies

1,586 Views
igorpadykov
NXP Employee
NXP Employee

Hi 昌清

what is memory capacity on your board, had DDR tests

run OK  ?

Best regards

igor

0 Kudos
Reply

1,586 Views
昌清黄
Contributor I

Hi igorpadykov:

          my board memory capacity: 512M.

                         DDR chip: MT41K128M16JT

                         DDR chip total number: 2

                         data bus width: 32

     when excute Read DQS Gating, but system information showed the result failed


Read DQS Gating failed.png

what causes this issue?

0 Kudos
Reply

1,586 Views
igorpadykov
NXP Employee
NXP Employee

Hi 昌清

if you board runs other memory tests well, you can omit

DQS Gating. In particular this issue may be caused by board noise.

Best regards

igor

0 Kudos
Reply

1,586 Views
昌清黄
Contributor I

hi igor:

    Stress Test failed

Stress Test failed.png

0 Kudos
Reply

1,586 Views
igorpadykov
NXP Employee
NXP Employee

suggest to run SDK (it has simple DDR test)

i.MX 6Series Platform SDK

and check this error, it means

data 0x10000000 was written on address 0x10000000

but back read 0.

You can check that with jtag, probably data line is broken or shorted.

~igor

0 Kudos
Reply

1,586 Views
昌清黄
Contributor I

hi igor:

        i.MX6_DDR_Stress_Tester_User_Guide.pdf

      “DDR_ Stress_Tester -t mx6x -df mx6x_ddr_script_filename”

       The mx6x_ddr_script_filename must be manually configured

        Can use tool to generate script? such as I.MX6DQSDL DDR3 Script Aid V0.10.xlsx?

       But I.MX6DQSDL DDR3 Script Aid V0.10.xlsx  is just a file

0 Kudos
Reply