AnsweredAssumed Answered

imx6 solo kernel boot failed(gpu issue)

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

Hi all:

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

          BSP :L3.0.35_4.1.0_130816_source。 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.35-2666-gbdde708 (boen@boen-12) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 --5
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: 246904k/246904k available, 277384k 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 - 0x80a2aa4c   (10199 kB)
      .data : 0x80a2c000 - 0x80a7e440   ( 330 kB)
       .bss : 0x80a7e464 - 0x80aa3298   ( 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 0x02050000, 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
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 = a0820000 suspend_iram_base=a087c000
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
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
i2c-core: driver [mma8450] using legacy suspend method
i2c-core: driver [mma8450] using legacy resume method
add mma8450 i2c driver
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.3] using ADMA
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA
mmc2: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA
VPU initialized
mxc_asrc registered
Galcore version 4.6.9.6622
Unhandled fault: imprecise external abort (0x406) at 0x00000000
Internal error: : 406 [#1] PREEMPT
Modules linked in:
CPU: 0    Not tainted  (3.0.35-2666-gbdde708 #2)
PC is at gckOS_ReadRegisterEx+0x1c/0x30
LR is at _IdentifyHardware+0x20/0x5a8
pc : [<8036c514>]    lr : [<8037c9c8>]    psr: a0000013
sp : 8fff9da0  ip : 00000fa5  fp : 8e167a08
r10: 00000001  r9 : 8e167a00  r8 : 8e23c30c
r7 : 00000001  r6 : 8e062cc0  r5 : 00000001  r4 : 8e077310
r3 : 8fff9da0  r2 : 00000000  r1 : a0928000  r0 : 8e167a00
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 = 0x8fff82e8)
Stack: (0x8fff9da0 to 0x8fffa000)
9da0: 00000000 00000000 00000000 8fff9dd8 8e077300 8e062cc0 00000000 00000001
9dc0: 8e23c30c 8e167a00 00000001 8037e7b4 00000000 8e23c320 8e077300 ff000000
9de0: 8e23c300 8e062cc0 00000000 00000000 00000000 8e167a00 00000001 80371158
9e00: 00000000 8e081380 8e167a0c 8e167a00 00000000 00000000 ffffffff 0000002a
9e20: ffffffff 8e167a0c 00000000 8036a6dc 8e167a08 8fff8000 00000000 00000000
9e40: 00000000 8021864c 00000006 8e167a00 00000000 00000000 00000000 00000000
9e60: 00000000 80a6db08 00000000 800227bc 00000000 8e098208 ffffffff 00004000
9e80: 02200000 28000000 00000000 08000000 00000001 804bbd3c 02200000 00004000
9ea0: ffffffff 00000000 00000001 28000000 08000000 00000000 ffffffff ffffffff
9ec0: 80000000 00000000 00000030 00000000 8e098208 00000001 8fff9ee4 80133db0
9ee0: 8e08e570 00000000 8e098208 8e098208 80a98b08 8e09823c 00000000 80a6db08
9f00: 00000000 800227bc 00000000 80278868 80278850 80277638 8e098208 80a6db08
9f20: 8e09823c 00000000 00000000 802777d0 80a6db08 00000000 80277744 80276858
9f40: 8e0010f8 8e08c7b0 80a6db08 80a5f3f0 8e19c300 8027700c 8097f4a8 80a6db08
9f60: 8fff8000 80a6db08 8fff8000 8003b670 00000000 00000000 800227bc 80277cb0
9f80: 80a7e480 8fff8000 8003b670 00000000 00000000 8003535c 00000000 8ffe74e0
9fa0: 8009dd44 800227bc 80a52258 8009dd74 000001df 8003b670 00000013 37340000
9fc0: 00000039 8002a734 8002a848 8003b670 00000013 00000000 00000000 00000000
9fe0: 00000000 80008960 00000000 00000000 800088dc 8003b670 ffffffff ffffffff
[<8036c514>] (gckOS_ReadRegisterEx+0x1c/0x30) from [<8037c9c8>] (_IdentifyHardware+0x20/0x5a8)
[<8037c9c8>] (_IdentifyHardware+0x20/0x5a8) from [<8037e7b4>] (gckHARDWARE_Construct+0x9c/0x324)
[<8037e7b4>] (gckHARDWARE_Construct+0x9c/0x324) from [<80371158>] (gckKERNEL_Construct+0xd8/0x35c)
[<80371158>] (gckKERNEL_Construct+0xd8/0x35c) from [<8036a6dc>] (gckGALDEVICE_Construct+0x2b8/0x9fc)
[<8036a6dc>] (gckGALDEVICE_Construct+0x2b8/0x9fc) from [<804bbd3c>] (gpu_probe+0x35c/0x578)
[<804bbd3c>] (gpu_probe+0x35c/0x578) from [<80278868>] (platform_drv_probe+0x18/0x1c)
[<80278868>] (platform_drv_probe+0x18/0x1c) from [<80277638>] (driver_probe_device+0x90/0x19c)
[<80277638>] (driver_probe_device+0x90/0x19c) from [<802777d0>] (__driver_attach+0x8c/0x90)
[<802777d0>] (__driver_attach+0x8c/0x90) from [<80276858>] (bus_for_each_dev+0x5c/0x88)
[<80276858>] (bus_for_each_dev+0x5c/0x88) from [<8027700c>] (bus_add_driver+0x17c/0x244)
[<8027700c>] (bus_add_driver+0x17c/0x244) from [<80277cb0>] (driver_register+0x78/0x13c)
[<80277cb0>] (driver_register+0x78/0x13c) from [<8003535c>] (do_one_initcall+0x34/0x174)
[<8003535c>] (do_one_initcall+0x34/0x174) from [<80008960>] (kernel_init+0x84/0x124)
[<80008960>] (kernel_init+0x84/0x124) from [<8003b670>] (kernel_thread_exit+0x0/0x8)
Code: e0801101 e591105c e7912002 f57ff04f (e3a00000)
USB Host suspend begins
will suspend roothub and its children
ehci_fsl_bus_suspend begins, DR
---[ end trace a1e76d6aea76b7c3 ]---
Kernel panic - not syncing: Attempted to kill init!
[<80040518>] (unwind_backtrace+0x0/0xf8) from [<804bdb60>] (panic+0x74/0x188)
[<804bdb60>] (panic+0x74/0x188) from [<8006b16c>] (do_exit+0x668/0x6ec)
[<8006b16c>] (do_exit+0x668/0x6ec) from [<8003e1ec>] (die+0x234/0x2a8)
[<8003e1ec>] (die+0x234/0x2a8) from [<800351f8>] (do_DataAbort+0x8c/0x9c)
[<800351f8>] (do_DataAbort+0x8c/0x9c) from [<8003a790>] (__dabt_svc+0x70/0xa0)
Exception stack(0x8fff9d58 to 0x8fff9da0)
9d40:                                                       8e167a00 a0928000
9d60: 00000000 8fff9da0 8e077310 00000001 8e062cc0 00000001 8e23c30c 8e167a00
9d80: 00000001 8e167a08 00000fa5 8fff9da0 8037c9c8 8036c514 a0000013 ffffffff
[<8003a790>] (__dabt_svc+0x70/0xa0) from [<8036c514>] (gckOS_ReadRegisterEx+0x1c/0x30)
[<8036c514>] (gckOS_ReadRegisterEx+0x1c/0x30) from [<8037c9c8>] (_IdentifyHardware+0x20/0x5a8)
[<8037c9c8>] (_IdentifyHardware+0x20/0x5a8) from [<8037e7b4>] (gckHARDWARE_Construct+0x9c/0x324)
[<8037e7b4>] (gckHARDWARE_Construct+0x9c/0x324) from [<80371158>] (gckKERNEL_Construct+0xd8/0x35c)
[<80371158>] (gckKERNEL_Construct+0xd8/0x35c) from [<8036a6dc>] (gckGALDEVICE_Construct+0x2b8/0x9fc)
[<8036a6dc>] (gckGALDEVICE_Construct+0x2b8/0x9fc) from [<804bbd3c>] (gpu_probe+0x35c/0x578)
[<804bbd3c>] (gpu_probe+0x35c/0x578) from [<80278868>] (platform_drv_probe+0x18/0x1c)
[<80278868>] (platform_drv_probe+0x18/0x1c) from [<80277638>] (driver_probe_device+0x90/0x19c)
[<80277638>] (driver_probe_device+0x90/0x19c) from [<802777d0>] (__driver_attach+0x8c/0x90)
[<802777d0>] (__driver_attach+0x8c/0x90) from [<80276858>] (bus_for_each_dev+0x5c/0x88)
[<80276858>] (bus_for_each_dev+0x5c/0x88) from [<8027700c>] (bus_add_driver+0x17c/0x244)
[<8027700c>] (bus_add_driver+0x17c/0x244) from [<80277cb0>] (driver_register+0x78/0x13c)
[<80277cb0>] (driver_register+0x78/0x13c) from [<8003535c>] (do_one_initcall+0x34/0x174)
[<8003535c>] (do_one_initcall+0x34/0x174) from [<80008960>] (kernel_init+0x84/0x124)
[<80008960>] (kernel_init+0x84/0x124) from [<8003b670>] (kernel_thread_exit+0x0/0x8)

 


when i  modified kernel menuconfig to disable < > MXC Vivante GPU support, the kenel can boot successfully?

MXC GPU has a bug?

how can i do?

Outcomes