Не удаётся подключить SK-ATM0700D4-Plug к плате. Кажется, что должно быть всё очень просто:
1) Подключить экран через шлейф к X11 LVDS2 на плате, X10 LVDS на экране, соблюдая положение перемычки (на плате - выемка, на экране - небольшая белая полоса у границы устройства)
2) Зайти в настройки u-boot (make menuconfig, Bootloaders) и указать fb0 mode -> ldb,SK-ATM0704.
3) Пересобрать u-boot через uboot_rebuild.sh
4) Залить его на плату через sudo dd if=output/images/u-boot.imx of=/dev/sdc bs=512 seek=2 conv=notrunc
Но картинка всё равно выводится на HDMI. Тут есть 2 проблемы:
1) Корректно работающий экран я ещё ни разу не видел, с LVDS сталкиваюсь первый раз, но, кажется, что белый экран, высцветающий со временем до бело-цветного в вертикальную полоску сразу при включении - это неправильно. У нас 12 экранов, попробовал только 2, у двух одинаковое поведение. Остальные подключать опасаюсь. Фотографии:
IMG_20191002_171000.jpg IMG_20191002_170936.jpg IMG_20191002_171039.jpg На форум файлы не загрузить, Upload error: 500.
2) Несмотря на запись модифицированного u-boot, в отладочной консоли при "Starting kernel..." отображается следующая строка:
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk2p1 rootwait rw video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24 dmfc=3 video=mxcfb1:dev=ldb,if=RGB24 consoleblank=0
И, да, в конце концов изображение выводится на HDMI + в /proc/cmdline запущенного устройства эти параметры и отображаются.
Я dd'хнул первые 512K прям с /dev/mmcblk2, никакого HDMI нет:
^@%.*s^@ [noreset]^@bootdelay=1^@baudrate=115200^@loadaddr=0x12000000^@delenv=env default -a -f; saveenv^@ipaddr=192.168.0.136^@netmask=255.255.255.0^@ethaddr=00:1f:f2:00:00:00^@serverip=192.168.0.2^@kernel=zImage^@dtbfile=imx6q-sodimm.dtb^@dtbaddr=12800000^@fdt_high=0xffffffff^@initrd_high=0xffffffff^@console=console=ttymxc0,115200^@mmcroot=root=/dev/mmcblk2p1 rootwait rw^@video=video=mxcfb0:dev=ldb,if=RGB24 video=mxcfb1:dev=lcd,SK-ATM0704,if=RGB24 consoleblank=0^@mmcargs=setenv bootargs ${console} ${mmcroot} ${video}^@mmc_boot=run mmcargs;ext2load mmc 0:1 ${loadaddr} /boot/${kernel};ext2load mmc 0:1 ${dtbaddr} /boot/${dtbfile};bootz ${loadaddr} - ${dtbaddr}^@bootcmd=setenv bootcmd 'run mmc_boot'; saveenv; run bootcmd^@nfsroot=nfsroot=192.168.0.2:/home/sasa/nfs_root root=/dev/nfs rw ip=192.168.0.136:::255.255.255.0::eth0:on^@nfsargs=setenv bootargs ${console} ${nfsroot} ${video}^@nfs_boot=run nfsargs;tftp ${loadaddr} ${kernel};tftp ${dtbaddr} ${dtbfile};bootz ${loadaddr} - ${dtbaddr}^@bootcmd_mfg=run nfs_boot^@^@^@, ^@(%d:%d) Vendor: %s Prod.: %s Rev: %s
В связи с этим у меня есть несколько вопросов (напишу сразу все тут, чтобы не множить темы):
1) Как корректно менять параметры запуска ядра? Я нигде не смог найти dev=hdmi, откуда он берётся - не понимаю. Кроме того, опытным путём понял, что /boot/boot.scr вообще не влияет на параметры запуска.
2) Почему я вижу белый экран в полосочку при подключении экрана? Может ли быть это из-за того, что я однажды подключил его вверх ногами? Возможно, нужно какие-то джамперы переставлять на экране?
3) Какая разница между LVDS2 (X11) и LVDS1 (X12)? fb0 и fb1 устройства? Что выводится на fb1? Консоль? Использую собранное в buildroot-2017.08 ядро и Debian 9.
4) Имеется ли возможность выводить одно и то же изображение и на LVDS-экран, и на HDMI?