Hi Igor,
Good links, but it doesn't seem to be helping with the exception of gathering more data. It's correct that like the first link I'm also trying to get a MCIMXHDMICARD to work on a i.MX6 Solo X SABRE board, and I was using the same kernel version and initially loading the same device tree as that user, but adding the additional environment variables into my bootloader set up didn't seem to help. Here's some excerpts from my bootlog:
Bootloader Environment:
=> printenv
baudrate=115200
boot_fdt=try
bootcmd=mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run neti
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
ethact=FEC0
ethaddr=00:04:9f:03:89:1c
ethprime=FEC
fdt_addr=0x83000000
fdt_file=imx6sx-sdb-lcdif1.dtb
fdt_high=0xffffffff
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}
m4boot=sf probe 1:0; bootaux 0x78000000
m4image=m4_qspi.bin
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_stora
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot} video=${video}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if t;
mmcdev=2
mmcpart=1
mmcroot=/dev/mmcblk3p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt};
panel=MCIMX28LCD
script=boot.scr
update_m4_from_sd=if sf probe 1:0; then if run loadm4image; then setexpr fw_sz ${filesize} + 0xffff; setexpr fw_sz ${fw_sz} / 0x10000; setexpr fw_sz ${fw_sz} * 0x10000; i
video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24
Environment size: 2444/8188 bytes
So there you can see I've set the "panel", "fdt_file", and "video" as requested. For video that was my second attempt, I tried the noted: "video=mxc_lcdif:SEIKO-WVGA,bpp=16" but that didn't work either and I think that's incorrect for the HDMI anyway.
=> boot
mmc2 is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
5545424 bytes read in 256 ms (20.7 MiB/s)
Booting from mmc ...
reading imx6sx-sdb-lcdif1.dtb
48947 bytes read in 19 ms (2.5 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x549dd0 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300ef32
switch to ldo_bypass mode!
Here in the boot command you can see it found and is reading the correct dtb file. Then below in the boot log you can see the command line I set as well as the linux version I'm using:
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 3.10.53-1.1.0_ga+g496fbe0 (jenkins@scmbl1) (gcc version 4.8.2 (GCC) ) #1 SMP PREEMPT Mon Jan 5 15:55:14 CST 2015
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX6 SoloX (Device Tree), model: Freescale i.MX6 SoloX SDB Board
cma: CMA: reserved 320 MiB at ac000000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @81598000 s8960 r8192 d15616 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@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: 1024MB = 1024MB total
Memory: 697256k/697256k available, 351320k reserved, 0K highmem
Nothing more interesting in the boot of the kernel, but here after the boot finishes you can see the command line, uname, dmesg (searching for any HDMI messages), also loaded device drivers and framebuffer information:
Stopping Bootlog daemon: bootlogd.
Poky (Yocto Project Reference Distro) 1.6.2 imx6sxsabresd /dev/ttymxc0
imx6sxsabresd login: root
root@imx6sxsabresd:~# cat /proc/cmdline
console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24
root@imx6sxsabresd:~#
root@imx6sxsabresd:~# uname -a
Linux imx6sxsabresd 3.10.53-1.1.0_ga+g496fbe0 #1 SMP PREEMPT Mon Jan 5 15:55:14 CST 2015 armv7l GNU/Linux
root@imx6sxsabresd:~#
root@imx6sxsabresd:~# dmesg | grep "hdmi"
[ 0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk3p2 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24
root@imx6sxsabresd:~#
root@imx6sxsabresd:~# fbset -i
mode "800x480-60"
# D: 33.501 MHz, H: 31.515 kHz, V: 60.259 Hz
geometry 800 480 800 480 16
timings 29850 89 164 23 10 10 10
rgba 5/11,6/5,5/0,0/0
endmode
Frame buffer device information:
Name : mxs-lcdif0
Address : 0xb4600000
Size : 8358400
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 0
YPanStep : 1
YWrapStep : 0
LineLength : 1600
Accelerator : No
root@imx6sxsabresd:~#
root@imx6sxsabresd:~# cat /sys/class/graphics/fb
fb0/ fb1/ fbcon/
root@imx6sxsabresd:~# cat /sys/class/graphics/fb0/modes
U:800x480p-60
U:800x480p-60
root@imx6sxsabresd:~# cat /sys/class/graphics/fb1/modes
U:1024x768p-60
root@imx6sxsabresd:~#
root@imx6sxsabresd:~# lsmod
Module Size Used by
ov5642_camera 75119 0
mxc_vadc_tvin 6408 0
mxc_dcic 5334 0
ov5640_camera 17959 0
evbug 1476 0
csi_v4l2_capture 17745 1
fsl_csi 5380 1 csi_v4l2_capture
In here it's interesting that fbset is telling me that it's 800x480p-60 so clearly it's using fb0. Seems that the video option isn't setting anything for the framebuffer.