AnsweredAssumed Answered

I.MX6Q HDMI no output issue

Question asked by waley xing on Jan 26, 2018
Latest reply on Jul 20, 2018 by yi tang

Dear guys,


        We have a custom board with I.MX6Q chip, and connect HDMI out . The problem is the HDMI no output always on our board, even I config boot arg, dtb, config as attached. 

        I checked below parts:

              1. HDMI power is OK.

              2. HDMI plug-in/plug-out is OK.

              3. HDMI_CLK & HDMI_DATA no signal output.

              4. Connect to other HDMI TV, same problem.

              5. Enable HDMI AUDIO, same problem.


When I plug in a HDMI TV, the log as below,


U-Boot 2015.04 (Jan 24 2018 - 19:42:42)

I2C: ready
DRAM: 512 MiB
Using default environment

switch to partitions #0, OK
mmc2(part 0) is current device
Normal Boot
Hit any key to stop autoboot: 0

MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK
Kernel image @ 0x12000000 [ 0x000000 - 0x2fdb68 ]
## Flattened Device Tree blob at 11f00000
Booting using the fdt blob at 0x11f00000
Using Device Tree in place at 11f00000, end 11f0c95b
No PMIC found!

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.14.52 MantaFree_System_V0.0.5 (waleyx@ubuntu) (gcc version 4.9.2 (GCC) ) #1 SMP PREEMPT Fri Jan 26 15:58:11 CST 2018
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 Quad SABRE Smart Device Board
cma: CMA: reserved 320 MiB at 1c000000
Memory policy: Data cache writealloc
PERCPU: Embedded 7 pages/cpu @8bb25000 s8064 r8192 d12416 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24 root=/dev/mmcblk3p2 rootwait rw rootfstype=ext4
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 185360K/524288K available (3877K kernel code, 195K rwdata, 1204K rodata, 187K init, 381K bss, 338928K reserved, 0K highmem)
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.text : 0x80008000 - 0x804fe890 (5083 kB)
.init : 0x804ff000 - 0x8052df80 ( 188 kB)
.data : 0x8052e000 - 0x8055efe0 ( 196 kB)
.bss : 0x8055efec - 0x805be7b0 ( 382 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, 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: 1024 kB
Switching to timer-based delay loop
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655765682ns
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: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x103b1e08 - 0x103b1e60
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
Brought up 4 CPUs
SMP: Total of 4 processors activated (24.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
pinctrl core: initialized pinctrl subsystem
regulator-dummy: no parameters
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.MX6Q, silicon rev 1.5
Use WDOG1 as reset source
syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered
vdd1p1: 800 <--> 1375 mV at 1100 mV
vdd3p0: 2625 <--> 3400 mV at 3000 mV
vdd2p5: 2000 <--> 2750 mV at 2400 mV
vddarm: 725 <--> 1450 mV at 1150 mV
vddpu: 725 <--> 1450 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
usb_otg_vbus: 5000 mV
usb_h1_vbus: 5000 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
i2c i2c-0: IMX I2C adapter registered
i2c i2c-1: IMX I2C adapter registered
Linux video capture interface: v2.00
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)
MIPI CSI2 driver module loaded
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
imx_busfreq busfreq.15: DDR medium rate not supported.
Bus freq driver module loaded
futex hash table entries: 1024 (order: 4, 65536 bytes)
msgmni has been set to 1002
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
mxc_hdmi_probe() ok!
hdmi_init_route() - ipu_id:0, disp_id:0
mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1
fbcvt: 1280x720@60: CVT Name - .921M9
mxc_sdc_fb fb.21: registered mxc display driver hdmi
imx-ipuv3 2400000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
mxc_hdmi_fb_event() - event=FB_EVENT_MODE_CHANGE
mxc_hdmi_fb_event() - event=FB_EVENT_BLANK - UNBLANK
Console: switching to colour frame buffer device 160x45
mxc_hdmi_fb_event() - event=FB_EVENT_FB_REGISTERED
imx-sdma 20ec000.sdma: no iram assigned, using external mem
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.2
imx-sdma 20ec000.sdma: initialized
pfuze100-regulator 1-0008: unrecognized pfuze chip ID!
pfuze100-regulator: probe of 1-0008 failed with error -5
Serial: IMX driver
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a IMX
hotplug_worker() -EVENT=plugin
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 59, base_baud = 5000000) is a IMX
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX
loop: module loaded
CAN device driver interface
2090000.can supply xceiver not found, using dummy regulator
flexcan 2090000.can: device registered (reg_base=a0968000, irq=142)
2094000.can supply xceiver not found, using dummy regulator
flexcan 2094000.can: device registered (reg_base=a0970000, irq=143)
i2c /dev entries driver
camera ap0101 probe......
ap0101 1-0048: cannot get io voltage
ap0101 1-0048: cannot get core voltage
ap0101 1-0048: cannot get analog voltage
mxc_v4l2_output v4l2_out.24: V4L2 device registered as video16
mxc_v4l2_output v4l2_out.24: V4L2 device registered as video17
imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc1: no vqmmc regulator found
mmc1: no vmmc regulator found
mxc_hdmi_fb_event() - event=FB_EVENT_MODE_CHANGE
mxc_hdmi_setup() - video mode changed
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
mmc3: no vqmmc regulator found
mmc3: no vmmc regulator found
mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
Warning: No contiguous memory is reserverd for gpu.!

Warning: Will use default value(134217728) for the reserved memory!

Galcore version
mmc3: BKOPS_EN bit is not set
mmc3: new high speed DDR MMC card at address 0001
mmcblk3: mmc3:0001 SEM08G 7.28 GiB
mmcblk3boot0: mmc3:0001 SEM08G partition 1 2.00 MiB
mmcblk3boot1: mmc3:0001 SEM08G partition 2 2.00 MiB
mmcblk3rpmb: mmc3:0001 SEM08G partition 3 2.00 MiB
mmcblk3: p1 p2
mmcblk3boot1: unknown partition table
mmcblk3boot0: unknown partition table
mxc_hdmi_fb_event() - event=FB_EVENT_MODE_CHANGE
mxc_hdmi_setup() - video mode changed
mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
mxc_vpu 2040000.vpu: VPU initialized
mxc_hdmi_cec hdmi_cec.4: HDMI CEC initialized
TCP: cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
cpu cpu0: failed to get regulators
imx6q-cpufreq: probe of imx6q-cpufreq.0 failed with error -2
sensor-supply: disabling
mipi_dsi_pwr_on: disabling
usb_h1_vbus: disabling
usb_otg_vbus: disabling
regulator-dummy: disabling
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
EXT4-fs (mmcblk3p2): recovery complete
EXT4-fs (mmcblk3p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 184K (804ff000 - 8052d000)
INIT: version 2.88 booting
flexcan 2090000.can can0: writing ctrl=0x03292005
flexcan 2094000.can can1: writing ctrl=0x03292005
Starting udev
udevd[103]: starting version 182

hotplug_worker() -EVENT=plugout
hotplug_worker() -EVENT=plugin
mxc_hdmi 20e0000.hdmi_video: same edid
mxc_hdmi_setup() - video mode changed
random: nonblocking pool is initialized
hotplug_worker() -EVENT=plugout
hotplug_worker() -EVENT=plugin
mxc_hdmi 20e0000.hdmi_video: same edid
mxc_hdmi_setup() - video mode changed


The EDID print as below,

cea extent revision 3
CEA underscan 0
CEA basicaudio 1
CEA ycbcr444 1
CEA ycbcr422 1
CEA Short desc timmings
Tagcode 2 Len 15
Support CEA Format #16
Support CEA Format #31
Support CEA Format #20
Support CEA Format #5
Support CEA Format #4
Support CEA Format #19
Support CEA Format #18
Support CEA Format #17
Support CEA Format #3
Support CEA Format #7
Support CEA Format #2
Support CEA Format #6
Support CEA Format #1
Tagcode 1 Len 3
Audio Format Descriptor : 1
Max Number of Channels : 2
Sample Rates : 0f
Sample Sizes : 03
Tagcode 4 Len 3
Speaker Alloc : 01
Tagcode 3 Len 6
VSD hdmi capability 1
VSD support ai 1
VSD support deep color 48bit 0
VSD support deep color 36bit 0
VSD support deep color 30bit 0
VSD support deep color y444 0
VSD support dvi dual 0
CEA long desc timmings
Aspect ratio: 16:9
74 MHz 1280 1720 1760 1980 720 725 730 750 +HSync +VSync

Aspect ratio: 16:9
74 MHz 1920 2448 2492 2640 540 542 547 562 +HSync +VSync

Aspect ratio: 4:3
27 MHz 720 736 798 858 480 489 495 525 -HSync -VSync

Aspect ratio: 4:3
27 MHz 720 732 796 864 576 581 586 625 -HSync -VSync

mxc_hdmi 20e0000.hdmi_video: same edid