AnsweredAssumed Answered

imx6 solo kernel boot failed(CSI camera issue)

Question asked by 昌清 黄 on Feb 3, 2015
Latest reply on Mar 12, 2015 by igorpadykov

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?

Outcomes