AnsweredAssumed Answered

i.MX6dl Sabresd board won't boot with HDMI cable connected

Question asked by Scott Vander Weide on Oct 5, 2016
Latest reply on Oct 5, 2016 by igorpadykov

I am working NXP i.MX6dl Sabresd board, trying to get Yocto Krogoth (2.1.1) up and running. If I don't have an HDMI cable (and monitor) connected the board boots fine. When I boot the board with an HDMI cable and monitor connected it fails to get passed the "Starting kernel ..." message. This happens with my build of Yocto, the FSL Community build, and the NXP reference build.

 

I also tried multiple DTB files ( imx6dl-sabresd.dtb , imx6dl-sabresd-ldo.dtb and imx6dl-sabresd-hdcp.dtb ). The same failure to boot occurs, except with the  imx6dl-sabresd-hdcp.dtb, which starts to boot but has a kernel panic.  Here is the output from the panic:

 

Booting Linux on physical CPU 0x0
Linux version 4.1.28-fslc+g0c0844f (support@disti-yocto) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Mon Oct 3 12:26:48 EDT 2016
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 DualLite SABRE Smart Device Board
Reserved memory: created CMA memory pool at 0x3c000000, size 320 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @ab71c000 s16908 r8192 d24052 u49152
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk2p2 rootwait rw video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
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: 698540K/1048576K available (8174K kernel code, 430K rwdata, 2920K rodata, 424K init, 449K bss, 22356K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x80addd78 (11096 kB)
.init : 0x80ade000 - 0x80b48000 ( 424 kB)
.data : 0x80b48000 - 0x80bb38e0 ( 431 kB)
.bss : 0x80bb6000 - 0x80c26780 ( 450 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
Additional per-CPU info printed with stalls.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 16 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 16 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76450001
mxc_clocksource_init 3000000
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x10008280 - 0x100082d8
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (12.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
CPU identified as i.MX6DL, silicon rev 1.1
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
imx6dl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
mxs-dma 110000.dma-apbh: initialized
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
2000000.aips-bus:usbphy_nop1 supply vcc not found, using dummy regulator
2000000.aips-bus:usbphy_nop2 supply vcc not found, using dummy regulator
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
i2c i2c-2: Max17135 PMIC not found!
i2c i2c-2: IMX I2C adapter registered
i2c i2c-2: can't use DMA
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)
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.20
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
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
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.
CPU PMU: Failed to parse /soc/pmu/interrupt-affinity[0]
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 512 (order: 3, 32768 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: 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.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
backlight supply power not found, using dummy regulator
mxc_mipi_dsi 21e0000.mipi: i.MX MIPI DSI driver probed
MIPI DSI driver module loaded
MIPI DSI driver module loaded
mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
fbcvt: 1280x720@60: CVT Name - .921M9
mxc_sdc_fb fb@0: registered mxc display driver hdmi
imx-ipuv3 2400000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
Console: switching to colour frame buffer device 160x45
mxc_hdmi 20e0000.hdmi_video: Error only one HDMI output support now!
mxc_sdc_fb fb@1: NO mxc display driver found!
imx-sdma 20ec000.sdma: no iram assigned, using external mem
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: initialized
imx-sdma 20ec000.sdma: loaded firmware 3.3
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 25, base_baud = 5000000) is a IMX
mxc_hdmi 20e0000.hdmi_video: mxc_edid_read_internal
console [ttymxc0] enabled
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
m25p80 spi0.0: m25p32 (4096 Kbytes)
spi_imx 2008000.ecspi: probed
CAN device driver interface
2188000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
fec 2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
fec 2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: 72:28:cf:47:29:6c
fec 2188000.ethernet (unnamed net_device) (uninitialized): MDIO read timeout
fec: probe of 2188000.ethernet failed with error -5
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
reg-fixed-voltage regulators:regulator@0: Failed to resolve vin-supply for usb_otg_vbus
imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517
reg-fixed-voltage regulators:regulator@1: Failed to resolve vin-supply for usb_h1_vbus
imx_usb 2184200.usb: Can't register ci_hdrc platform device, err=-517
mousedev: PS/2 mouse device common for all mice
random: nonblocking pool is initialized
egalax_ts 2-0004: Failed to read firmware version
egalax_ts: probe of 2-0004 failed with error -5
input: isl29023 light sensor as /devices/virtual/input/input1
isl29023 2-0044: driver version 1.0 enabled
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
mxc_v4l2_output v4l2_out: V4L2 device registered as video16
mxc_v4l2_output v4l2_out: V4L2 device registered as video17
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
FAIL max11801_client not initialize
mag3110 2-000e: check mag3110 chip ID
input: mag3110 as /devices/virtual/input/input2
mag3110 2-000e: mag3110 is probed
input: mma845x as /devices/virtual/input/input3
imx2-wdt 20c0000.wdog: use WDOG_B to reboot.
imx2-wdt 20c0000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2194000.usdhc: Got WP GPIO
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified
sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2198000.usdhc: Got WP GPIO
sdhci-esdhc-imx 2198000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@0219c000: voltage-ranges unspecified
sdhci-esdhc-imx 219c000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 219c000.usdhc: No vqmmc regulator found
mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
mxc_vpu 2040000.vpu_fsl: VPU initialized
mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
mxc_hdmi_cec soc:hdmi_cec@00120000: HDMI CEC initialized
caam 2100000.caam: Entropy delay = 3200
caam 2100000.caam: Instantiated RNG4 SH0
caam 2100000.caam: Instantiated RNG4 SH1
caam 2100000.caam: device ID = 0x0a16010000000100 (Era -524)
caam 2100000.caam: job rings = 2, qi = 0
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = 80004000
[00000000] *pgd=00000000
Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.1.28-fslc+g0c0844f #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
task: a806ef80 ti: a8092000 task.ti: a8092000
PC is at 0x0
LR is at call_timer_fn+0x24/0x98
pc : [<00000000>] lr : [<8007aba8>] psr: 20000113
sp : a8093e98 ip : a8092000 fp : 00000000
r10: 00000000 r9 : 80b4a100 r8 : 00000000
r7 : 00000200 r6 : 00000000 r5 : 00000101 r4 : a8328ed4
r3 : a8093e98 r2 : 00000000 r1 : 00000000 r0 : 00000000
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: 1000404a DAC: 00000015
Process swapper/1 (pid: 0, stack limit = 0xa8092210)
Stack: (0xa8093e98 to 0xa8094000)
3e80: ab728380 ab728380
3ea0: a8328ed4 ab728380 a8093ec0 8007b108 ab72839c ab728b9c ab728d9c ab728f9c
3ec0: a808bee4 a808bee4 00000003 00000000 00000001 80b4a084 a8092000 00000101
3ee0: 80b4a080 80b4a080 40000001 80037c00 00000000 00000001 a8093ef0 80bb9000
3f00: 0000000a ffff8ba9 80b4a100 00200040 00000000 80b44be4 00000000 00000010
3f20: 00000000 00000001 a8093f78 a8008000 00000000 80037fe0 80b44be4 8006c9b8
3f40: f4a0010c 80b4a834 a8093f78 f4a00100 00000000 a8093fc8 00000001 8000944c
3f60: 8000ff68 60000113 ffffffff a8093fac 00000000 80013200 00000001 00000000
3f80: 00000000 8001f4e0 a8092000 80b4a5a4 807d2878 00000000 00000000 a8093fc8
3fa0: 00000001 00000000 01000000 a8093fc0 8000ff64 8000ff68 60000113 ffffffff
3fc0: a8092000 80064318 00000000 80b43300 80b45e88 80b4a6bc 80b4a5ac 80b46800
3fe0: 80bb3668 80014908 3807c06a 80bb6348 00000000 1000952c 1df2ea3d 593f7de6
[<8007aba8>] (call_timer_fn) from [<8007b108>] (run_timer_softirq+0x1d0/0x24c)
[<8007b108>] (run_timer_softirq) from [<80037c00>] (__do_softirq+0x120/0x238)
[<80037c00>] (__do_softirq) from [<80037fe0>] (irq_exit+0xc0/0xfc)
[<80037fe0>] (irq_exit) from [<8006c9b8>] (__handle_domain_irq+0x80/0xec)
[<8006c9b8>] (__handle_domain_irq) from [<8000944c>] (gic_handle_irq+0x24/0x60)
[<8000944c>] (gic_handle_irq) from [<80013200>] (__irq_svc+0x40/0x74)
Exception stack(0xa8093f78 to 0xa8093fc0)
3f60: 00000001 00000000
3f80: 00000000 8001f4e0 a8092000 80b4a5a4 807d2878 00000000 00000000 a8093fc8
3fa0: 00000001 00000000 01000000 a8093fc0 8000ff64 8000ff68 60000113 ffffffff
[<80013200>] (__irq_svc) from [<8000ff68>] (arch_cpu_idle+0x38/0x3c)
[<8000ff68>] (arch_cpu_idle) from [<80064318>] (cpu_startup_entry+0x288/0x320)
[<80064318>] (cpu_startup_entry) from [<1000952c>] (0x1000952c)
Code: bad PC value
---[ end trace 51ee5747d34cccb0 ]---
Kernel panic - not syncing: Fatal exception in interrupt
CPU0: stopping
CPU: 0 PID: 25 Comm: kworker/0:1 Tainted: G D 4.1.28-fslc+g0c0844f #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
Workqueue: events hotplug_worker
[<80015d78>] (unwind_backtrace) from [<8001271c>] (show_stack+0x10/0x14)
[<8001271c>] (show_stack) from [<807c83d8>] (dump_stack+0x88/0x9c)
[<807c83d8>] (dump_stack) from [<80014c80>] (handle_IPI+0x178/0x18c)
[<80014c80>] (handle_IPI) from [<80009484>] (gic_handle_irq+0x5c/0x60)
[<80009484>] (gic_handle_irq) from [<80013200>] (__irq_svc+0x40/0x74)
Exception stack(0xa81dfb18 to 0xa81dfb60)
fb00: 00000000 809bad4c
fb20: 80bb9000 00000000 00000082 00000000 00000010 a81de000 00000001 80b4a080
fb40: a8008000 00000000 00000001 a81dfb60 80037b74 80037b84 20000113 ffffffff
[<80013200>] (__irq_svc) from [<80037b84>] (__do_softirq+0xa4/0x238)
[<80037b84>] (__do_softirq) from [<80037fe0>] (irq_exit+0xc0/0xfc)
[<80037fe0>] (irq_exit) from [<8006c9b8>] (__handle_domain_irq+0x80/0xec)
[<8006c9b8>] (__handle_domain_irq) from [<8000944c>] (gic_handle_irq+0x24/0x60)
[<8000944c>] (gic_handle_irq) from [<80013200>] (__irq_svc+0x40/0x74)
Exception stack(0xa81dfbe8 to 0xa81dfc30)
fbe0: 00000000 c0883000 00000000 00000000 a8360010 a83612a4
fc00: a8360aa4 00000000 00000002 02b275d0 05837020 00000000 000000ce a81dfc30
fc20: 80c0dfb8 802fe748 60000113 ffffffff
[<80013200>] (__irq_svc) from [<802fe748>] (mxc_hdmi_phy_init+0x68/0x424)
[<802fe748>] (mxc_hdmi_phy_init) from [<802feb10>] (mxc_hdmi_power_on+0xc/0x14)
[<802feb10>] (mxc_hdmi_power_on) from [<80305608>] (mxcfb_set_par+0x9a4/0xb1c)
[<80305608>] (mxcfb_set_par) from [<802edce0>] (fb_set_var+0x1d4/0x354)
[<802edce0>] (fb_set_var) from [<802fe164>] (mxc_hdmi_notify_fb+0x58/0x84)
[<802fe164>] (mxc_hdmi_notify_fb) from [<802ff6f8>] (mxc_hdmi_set_mode+0xcc/0x124)
[<802ff6f8>] (mxc_hdmi_set_mode) from [<802ff924>] (hotplug_worker+0x1d4/0x2f0)
[<802ff924>] (hotplug_worker) from [<80047db4>] (process_one_work+0x118/0x3e4)
[<80047db4>] (process_one_work) from [<800480cc>] (worker_thread+0x4c/0x4f4)
[<800480cc>] (worker_thread) from [<8004d044>] (kthread+0xdc/0xf4)
[<8004d044>] (kthread) from [<8000f528>] (ret_from_fork+0x14/0x2c)
---[ end Kernel panic - not syncing: Fatal exception in interrupt

 

Does anyone have any ideas how to get the board up and running with HDMI?

Outcomes