BB & Qt — подключение дисплея BB-View

К сожалению, придётся перекомпилировать ядро. Видео будет работать сразу (за исключением порядка цветов), а вот подключение сенсорной панели не совпадает со стандартным 4-проводным интерфейсом TI.

Первоисточник: "How-to BB-View on latest Debian"
http://www.element14.com/community/thread/31051/l/how-to-bb-view-on-latest-debian

Создаём каталог /home/user/beaglebone/kernel и заходим в него:

$ mkdir /home/user/beaglebone/kernel
$ cd /home/user/beaglebone/kernel

Если на ПК git ещё не установлен, устанавливаем:

$ sudo apt-get install git

Клонируем проект linux-dev автора Robert Nelson. Готовьтесь к большой загрузке (~100 МБ для кросс-компилятора и ~700 МБ для исходников ядра).

$ git clone https://github.com/RobertCNelson/linux-dev.git

Заходим в новый каталог linux-dev и выбираем ветку/тег, соответствующую версии Debian.

$ cd linux-dev
$ git checkout 3.8.13-bone53 -b tmp

Теперь нам нужно собрать базовый образ, чтобы каталог драйверов плат расширения заполнился. Сценарий подскажет вам, если понадобится что-то сделать или доустановить.

$ ./build_kernel.sh

Процесс будет длиться час или около того. Наберитесь терпения...

По состоянию на 2014-07-15: Скачиваем в каталог /home/user/beaglebone/kernel архив BB-View Angstrom Source Code. Взять его можно здесь: Expansion Board for BeagleBone family with 7 inch LCD - Downloads.

Вытаскиваем оттуда два файла:

$ unzip angstrom-source.zip
$ bzip2 -cd bb-black-kernel-3.8.13-bb-view.tar.bz2 | tar -xvf -
$ cp kernel/kernel/drivers/input/touchscreen/ti_am335x_tsc.c ../linux-dev/KERNEL/drivers/input/touchscreen/
$ cp kernel/kernel/firmware/capes/BB-VIEW-LCD7-01-00A0.dts ../linux-dev/KERNEL/firmware/capes/

По состоянию на 2014-09-02: Скачиваем в каталог /home/user/beaglebone/kernel архив Debian Source Code Patched for BB View. Взять его можно здесь: element14: BB View LCD Cape Software Download Centre[1].

Вытаскиваем оттуда три файла:

$ unzip BB\ VIEW\ Debian\ Source\ Code.zip
$ cd BB\ VIEW\ Debian\ Source\ Code/
$ bzip2 -cd bb-black-kernel-3.8.13-bb-view.tar.bz2 | tar -xvf -
$ cp kernel/kernel/drivers/input/touchscreen/ti_am335x_tsc.c ../linux-dev/KERNEL/drivers/input/touchscreen/
$ cp kernel/kernel/include/linux/mfd/ti_am335x_tscadc.h ../linux-dev/KERNEL/include/linux/mfd/
$ cp kernel/kernel/firmware/capes/BB-VIEW-LCD7-01-00A0.dts ../linux-dev/KERNEL/firmware/capes/

Теперь надо включить добавленное в сборку. Открываем файл:

$ nano /home/user/beaglebone/kernel/linux-dev/KERNEL/firmware/Makefile

Добавляем следующую строку где-то около 192-ой (CTRL-C показывает текущую позицию курсора):

BB-VIEW-LCD7-01-00A0.dtbo \

Не забываем про закрывающий слеш, это важно. Теперь сохраняем и выходим, нажимая CTRL-O, Enter, CTRL-X. Переходим обратно в корневой каталог linux-dev:

$ cd /home/user/beaglebone/kernel/linux-dev

Теперь запускаем пересборку ядра, это уже не должно занять много времени:

$ ./tools/rebuild.sh

В итоге получаем каталог /home/user/beaglebone/kernel/linux-dev/deploy . Из него размещаем файлы на SD карте: * deploy/config-3.8.13-bone53 копируем в BEAGLE_BONE/config-3.8.13-bone53 * deploy/3.8.13-bone53.zImage копируем в BEAGLE_BONE/zImage * deploy/3.8.13-bone53-dtbs.tar.gz распаковываем в BEAGLE_BONE/dtbs * deploy/3.8.13-bone53-firmware.tar.gz распаковываем в rootfs/lib/firmware/ * deploy/3.8.13-bone53-modules.tar.gz распаковываем в rootfs/

Также, надо включить поддержку этого дисплея. Открываем файл BEAGLE_BONE/uEnv.txt. Где-то после строки #Disable HDMI добавляем параметры загрузки, в которых отключаем поддержку HDMI и включаем BB-View:

optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-VIEW-LCD7-01

Подключаем карту памяти к плате и загружаемся. Проверяем, что HDMI выключен (должна отсутствовать буква ...-L в списке), а BB-View включен:

debian@beaglebone:~$ cat /sys/devices/bone_capemgr.9/slots
 0: 54:PF--- 
 1: 55:PF--- 
 2: 56:PF--- 
 3: 57:PF--- 
 4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
 5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
 6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
 7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-VIEW-LCD7-01
debian@beaglebone:~$ 

Если всё нормально... в ходе загрузки наблюдаем синего пингвина :) Как исправить - в продолжении.

Приобрести BB-View можно на eBay.