Дистрибутив ОС GNU/Linux на базе Buildroot для 1892ВМ14Я. Список изменений¶
О документе¶
Документ описывает основные изменения в дистрибутиве операционной системы GNU/Linux на базе Buildroot для микросхемы 1892ВМ14Я (MCom-02).
Изменения в Buildroot v3.1¶
Основные изменения¶
- В драйвер delcore30m добавлена поддержка SDMA.
- Добавлены утилиты для тестирования и демонстрации работы драйвера delcore30m.
- В драйвер elvees-swic добавлена реализация функции
read()
. - Добавлены утилиты для тестирования и демонстрации работы драйвера elvees-swic.
- Повышена скорость передачи по Ethernet с модуля на ПК.
- В драйвер arasan-nfc добавлена поддержка асинхронных режимов работы SDR1-SDR5.
- В U-Boot добавлено чтение заводских настроек из SPI-флеш.
- В U-Boot добавлена поддержка загрузки c
extlinux.conf
(схема Distro).
Ядро Linux¶
Ядро Linux обновлено до v4.4.189.2. Изменения в ядре Linux по сравнению с v4.4.178.2:
- Upstream-версия Linux обновлена до v4.4.189.
- Драйвер delcore30m:
- Удален ioctl() ELCIOC_PRAM_CONFIG для изменения границы PRAM/XYRAM. В MCom-02 изменение границы не поддерживается.
- Исправлена ошибка “Не останавливается DSP при аварийном завершении программы”.
- Добавлен ioctl() ELCIOC_SYS_INFO. Используется для получения информации о количестве ядер и размере XYRAM в DSP-кластере.
- Добавлен ioctl() ELCIOC_GET_CAPS. Используется для идентификации драйвера и версии DSP-ядра.
- Добавлена поддержка работы с SDMA.
- Добавлена поддержка профилирования программ, исполняемых на DSP.
- Драйвер elvees-swic:
- Реализована функция
read()
для приема данных из канала SpaceWire. - Добавлен ioctl() SWICIOC_GET_SPEED. Используется для получения скорости передачи и приема.
- Реализована функция
- Драйвер arasan-gemac:
- Скорость передачи по Ethernet с модуля Салют-ЭЛ24ПМ увеличена с 380 Мбит/c до 530 Мбит/c.
- Добавлена поддержка Jumbo-фреймов размером до 3500 байт.
- Драйвер arasan-nfc:
- Удален режим ECC 4/512 для страниц 2K, т.к не поддерживается контроллером.
- Добавлена поддержка асинхронных режимов работы SDR1-SDR5. Для модулей Салют-ЭЛ24* скорость чтения увеличилась в 3 раза, скорость записи увеличилась в 2 раза.
- В драйвер avico добавлена поддержка кодирования видео с шириной и высотой кадра кратной 2.
- В драйвер vinc добавлена поддержка входного формата RGB888_1X24 для параллельного интерфейса.
- Исправлена ошибка “Не работает ChipSelect через GPIO на SPI1”. Ошибка приводила к невозможности работать с SPI1 из Linux.
- Добавлен драйвер микросхемы Toshiba TC358762. Микросхема используется для преобразования данных из формата MIPI DSI в формат параллельного интерфейса.
- В драйвер sdhci-mcom02 добавлена поддержка чтения из DeviceTree задержек между тактовым сигналом и данными на SD-карту (tap-delay).
- Драйвер Mali:
- Исправлены ошибки “Failed to setup interrupt handlers for MMU” и “Failed to setup interrupt handler for PP”. Ошибки проявлялись не всегда, но при проявлении приводили к сбою в загрузке драйвера. Для обхода ошибок использовался systemd-сервис, выполняющий повторную загрузку драйвера в случае сбоя.
- Исправлена ошибка “Xorg-сервер падает при запуске glmark2-es2”.
Загрузчик U-Boot¶
Загрузчик обновлён до v2019.01.0.9. Изменения в загрузчике по сравнению с v2019.01.0.4:
- Добавлена поддержка Distro. Позволяет загружать Linux с использованием файла
extlinux.conf
. - Добавлено чтение заводских настроек (MAC-адрес и серийный номер модуля) из SPI-флеш.
- Включен режим DDR52 на eMMC0 для модулей Салют-ЭЛ24ПМ.
- В драйвер sdhci-mcom02 добавлена поддержка чтения из DeviceTree задержек между тактовым сигналом и данными на SD-карту (tap-delay).
- В драйвере mcom02-nand удален режим ECC 4/512 для страниц 2K, т.к не поддерживается контроллером.
- В DeviceTree увеличена частота VPU до 360 МГц.
Система сборки Buildroot, скрипты сборки дистрибутива¶
- Пакет Python2 заменен на Python3. Все Python-утилиты портированы на Python3.
- Добавлен пакет libswic с утилитами для тестирования драйвера elvees-swic:
- swic-xfer — утилита для передачи файлов через SpaceWire;
- swic-loopback-test.py — тест драйвера elvees-swic в режиме loopback;
- spacewire-video-receive.service, spacewire-video-transmit.service — systemd-сервисы
- для запуска демонстрации передачи видео по SpaceWire.
- В пакет delcore30m-tests добавлены утилиты для демонстрации работы драйвера delcore30m:
- delcore30m-dspdetector — захват видео с камеры, детекция движения на DSP, вывод на HDMI-монитор;
- delcore30m-inversiondemo — захват видео с камеры, инвертирование цветов на DSP, вывод на HDMI-монитор.
- Удален systemd-сервис, выполняющий повторную загрузку драйвера Mali в случае сбоя при загрузке. Сервис удален, т.к ошибки, приводящие к сбоям при загрузке драйвера исправлены.
- Добавлен пакет mcom-python-linux-tests. Пакет содержит различные Python-утилиты для тестирования MCom-02.
- Пакет memtester-simple включен в сборку. Пакет был выключен по ошибке.
- Выключен пакет MPlayer. Это сделано в связи с удалением пакета в новых релизах Buildroot. Во всех демонстрациях и тестах MPlayer заменен на FFmpeg.
- Пакет утилит mcom02-flash-tools добавлена утилита для прошивки заводских настроек модулей.
Документы¶
- Добавлен документ “Драйвер контроллера SWIC для микросхемы 1892ВМ14Я. Руководство программиста”.
- Добавлен документ “Спецификация заводских настроек модулей на базе 1892ВМ14Я”.
- Добавлен документ “Драйвер delcore30m. Руководство программиста”.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство программиста”:
- Переработана структура документа.
- Добавлена глава c обзором загрузки.
- Исправлены неточности формулировок и опечатки.
- Добавлена глава с описанием схем загрузки Linux Distro и Legacy.
- Добавлена инструкция по настройке U-Boot для загрузки корневой файловой системы из NFS.
- Актуализированы переменные окружения.
- Описана обработка заводских настроек.
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Изменена инструкция по тестированию SPI.
- Во всех инструкциях MPlayer заменен на FFmpeg.
- Документ “Инструкция по захвату видео с последовательного сенсора на модулях на базе 1892ВМ14Я”
- Добавлена инструкция по запуску демонстрации передачи видео по SpaceWire.
- Добавлена инструкция по запуску демонстраций работы драйвера delcore30m.
- Во всех инструкциях MPlayer заменен на FFmpeg.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство программиста”:
- Обновлено описание поддерживаемых свойств и ограничений драйвера avico.
- Обновлено описание поддерживаемых свойств и ограничений драйвера arasan-gemac.
Изменения в Buildroot v3.0¶
Основные изменения¶
- Изменены скрипты сборки дистрибутива. Упрощена сборка образов SD-карты и SPI.
- В драйвер avico добавлена поддержка сжатия нескольких потоков видео.
- В драйвере avico исправлены ошибки зависания и повреждения видео при кодировании.
- Добавлена базовая версия драйвера delcore-30m для DSP-кластера DELcore-30M.
- Добавлена поддержка прошивки U-Boot и управления переменными окружения U-Boot из ОС модуля.
- В Linux и U-Boot включен режим HighSpeed для SD и eMMC.
- Добавлен пакет документации в формате HTML.
Ядро Linux¶
Ядро Linux обновлено до v4.4.178.2. Изменения в ядре Linux по сравнению с v4.4.162.5:
- Upstream-версия Linux обновлена до v4.4.178.
- Драйвер avico:
- Добавлена поддержка сжатия нескольких потоков видео. Потоки сжимаются с разделением по времени, используется один аппаратный поток сжатия.
- Добавлена возможность изменения QP без остановки кодирования.
- Добавлена поддержка контрола V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME. Установка контрола позволяет сделать следующий сжимаемый кадр IDR-кадром.
- Исправлена ошибка “cap-enc: Timeout waiting for data”. Ошибка приводила к зависанию при приеме и кодировании видео с видеосенсора.
- Добавлено включение тактовых частот DSP. Это необходимо, т.к VPU использует XYRAM память, которая тактируется частотами DSP.
- Добавлена поддержка входа/выхода из режима сна.
- Добавлено динамическое включение/выключение тактовых частот и домена питания VPU. При отсутствии приложений, использующих драйвер, тактовые частоты и домен питания VPU автоматически выключаются.
- Исправлена ошибка “Артефакты в видео при QP < 16”. Ошибка приводила к возникновению артефактов в нижней части видеокадра при кодировании видео с высоким качеством.
- Исправлена ошибка “Alignment exception в модуле avico”. Ошибка возникала иногда при посылке сигнала завершения приложением cap-enc.
- Драйвер dw-apb-gpio:
- Свойство DTS
skip-gpios
переименовано вskip-gpio-list
, чтобы избежать предупреждений при компиляции. - Исправлена ошибка “Все пины из
skip-gpio-list
переводятся в режим GPIO”. Из описания свойстваskip-gpio-list
следует, что драйвер не должен настраивать пины, перечисленные в свойстве. Вместо этого драйвер переводил все пины в режим GPIO.
- Свойство DTS
- В драйвер vpout-drm добавлена возможность импорта dma-buf дескрипторов. Это позволяет реализовать передачу видеокадров во фреймбуфер без копирования.
- Драйвер elvees-swic:
- Реализован ioctl SWICIOC_SET_MTU. ioctl позволяет установить размера пакета передаваемых данных.
- Реализована функция
write()
для передачи данных через канал SpaceWire.
- Исправлена ошибка в драйвере RTC ds1307. Ошибка приводила к таймауту при считывании времени с RTC с помощью утилиты hwclock.
- Добавлена базовая версия драйвера delcore-30m для DSP-кластера DELcore-30M. Базовая версия позволяет запускать код на DSP-кластере, но не поддерживает работу с SDMA.
- Отключена сборка драйвера DSP-кластера uio-delcore30m.
- Драйвер sdhci-mcom02:
- Задержка между тактовым сигналом и данными на SD-карту для режима HighSpeed (HS) установлена в максимальное значение (15). Это необходимо для корректной работы SD в режиме HS.
- Включен режим HS для SD и eMMC.
- Исправлена ошибка “Низкая частота SDIO Wi-Fi AP6212 на Салют-ЭЛ24ОМ”. Ошибка приводила к низкой скорости передачи (~ 1 Мб/c) по Wi-Fi на модулях Салют-ЭЛ24ОМ1. Скорость передачи по Wi-Fi увеличилась до 10-15 Мб/c.
- Исправлена ошибка “SPI: Не изменяется делитель частоты при обращении к разным устройствам”. Ошибка приводила к сбоям при чтении данных по SPI, если на SPI-шине есть несколько устройств с различным baudrate.
- В драйвере arasan-gemac исправлена ошибка “GEMAC: Превышена частота MDC”. Ошибка возникала из-за установки некорректного делителя для тактовой частоты MDC и могла приводить к ошибкам чтения/записи данных по MDIO.
Загрузчик U-Boot¶
Загрузчик обновлён до v2019.01.0.4. Изменения в загрузчике по сравнению с v2017.07.0.19:
- Upstream-версия U-Boot обновлена до v2019.01.
- Исправлена ошибка “Не работает загрузка Linux с NAND на Салют-ЭЛ24Д1”.
- Добавлена возможность фиксации MAC-адреса для модуля. MAC-адрес сохраняется в SPI-памяти в
переменной
ethaddr
и автоматически передается Linux через Device Tree при загрузке. - Добавлена утилита mcom02-fw-update. Утилита позволяет прошивать образ загрузчика в SPI-память из Linux.
- Исправлена ошибка “DWC2 не может обнаружить USB Storage при повторном сканировании”. Ошибка
возникала при выполнении команд
usb start
,usb reset
и приводила к остановке работы USB в U-Boot. - Исправлена ошибка “SD/MMC: U-Boot включает режим HS независимо от состояния регистра capabilities”. Ошибка приводила к включению режима HS в U-Boot, даже если режим был запрещен в регистре Сapabilities SD/MMC контроллера.
- Включены команды
icache
иdcache
по включению/выключению L1-кэша. - Включен режим HS для SD и eMMC.
- Исправлена ошибка “При включении CONFIG_DM_DEVICE_REMOVE перестает работать запись в SPI flash”.
- Изменения в Device Tree:
- Увеличена частота VPU до 312 МГц.
- Обновлено описание DSP-кластера.
- Увеличена частота DSP до 672 МГц.
- Увеличена частота GPU до 336 МГц.
- Добавлено описание домена питания VPU.
- Актуализированы значения CPLL для всех модулей.
Система сборки Buildroot, скрипты сборки дистрибутива¶
- Выполнен рефакторинг скриптов сборки дистрибутива:
- Для создания образа SD-карты используется стандартная утилита genimage. В отличие от
использованной ранее mkfs genimage не требует
sudo
для создания образов. - Упрощена процедура сборки/пересборки образа SD-карты. Для этого на верхний уровень добавлен
Makefile
, позволяющий прозрачно вызывать цели системы сборки Buildroot. - Упрощена процедура сборки/пересборки образа SPI. Для этого файл
build.sh
заменен наMakefile.uboot
, позволяющий собирать образ SPI для конкретного модуля. - Упрощена структура директорий. Содержимое директории
buildroot-script
перенесено на уровень выше. Директория удалена. - Baremetal-тесты и baremetal-тулчейн вынесены в отдельный компонент и больше не распространяются в составе Buildroot.
- Для создания образа SD-карты используется стандартная утилита genimage. В отличие от
использованной ранее mkfs genimage не требует
- Цели сборки образа SD-карты в контейнере docker перенесены в
Makefile.docker
. - Для поддержки прошивки U-Boot из ОС модуля:
- В сборку включен пакет u-boot-tools.
- Добавлена сборка и установка утилиты mcom02-fw-update в составе пакета u-boot-tools.
- Включена установка стандартных утилит U-Boot fw_printenv, fw_setenv для работы с переменными окружения в Linux.
- Добавлено правило udev для создания символьных ссылок на MTD-устройства. Ссылки позволяют получать доступ к заданному MTD-устройству независимо от порядка инициализации устройств в Linux.
- Для поддержки RTSP-вещания включены пакеты:
- FFMPEG GPL;
- GStreamer rawparse плагин;
- GStreamer video4linux2 плагин;
- gst-rtsp-test-launch;
- Добавлен рецепт утилиты memtester-simple для тестирования памяти с помощью CPU. Пакет включен в сборку.
- Для поддержки DSP-кластера DELcore-30M:
- Добавлен пакет delcore30m-tests содержащий тесты драйвера delcore30m. Пакет включен в сборку.
- Отключены пакеты libdsp и fc-dsp. Утилиты используют uio-delcore30m драйвер, который заменен на delcore30m.
- Добавлен тулчейн для сборки приложений для DELcore-30M.
- Включен systemd-сервис для повторной загрузки драйвера Mali в случае сбоя при первой загрузке. Сервис был отключен по ошибке.
Документы¶
- Добавлен пакет документации в формате HTML.
- Все документы, содержащие в названии “Руководство пользователя”, “Руководство системного программиста”, “Cпецификация на драйвер” переименованы в “Руководство программиста”.
- Документ “Дистрибутив ОС GNU/Linux на базе Buildroot для 1892ВМ14Я.
Руководство программиста”:
- Аппаратные требования к ПЭВМ выделены в отдельную главу.
- Обновлено описание сборки дистрибутива в ОС ПЭВМ.
sudo
больше не требуется. - Расширено описание основных компонентов дистрибутива Buildroot.
- Обновлено описание и расположение артефактов сборки.
- Уточнены инструкции по запуску сборки образов с использованием Docker.
- Добавлена глава по прошивке SPI-памяти из ОС модуля.
- Удалено описание baremetal-тестов.
- Добавлена инструкция по прошивке eMMC-карты на модулях Салют-ЭЛ24ПМ.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство программиста”:
- Добавлено описание механизма сохранения MAC-адреса в SPI-памяти. Обновлено описание
переменной окружения
ethaddr
. - Добавлено соответствие конфигураций, DTS-файлов и модулей.
- Добавлено описание механизма сохранения MAC-адреса в SPI-памяти. Обновлено описание
переменной окружения
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Порог скорости в тесте Wi-Fi для модуля Салют-ЭЛ24ОМ1 увеличен до 10 Мб/c.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство программиста”:
- Исправлено описание использования ioctl для управления полудуплексными приемопередатчиками RS-485.
- Добавлена инструкция по выгрузке модуля vpoutfb.
- Обновлено описание поддерживаемых свойств драйвера avico.
- Документ “Инструкция по захвату видео с последовательного сенсора на модулях на базе 1892ВМ14Я”
- Добавлена инструкция по запуску RTSP-вещания.
Изменения в Buildroot v2.10¶
Основные изменения¶
- Система инициализации BusyBox заменена на systemd.
- Upstream-версия Linux обновлена до v4.4.162.
- В драйвере avico реализовано управление качеством сжатия видео.
- В U-Boot исправлена ошибка “Не работает загрузка Linux по TFTP”.
- В U-Boot исправлена ошибка “Не определяются некоторые USB-флешки”.
Ядро Linux¶
Ядро Linux обновлено до v4.4.162.5. Изменения в ядре Linux по сравнению с v4.4.111.8:
- Upstream-версия Linux обновлена до v4.4.162.
- Драйвер UMP обновлен до версии r8p1.
- Добавлен “скелет” драйвера контроллера SpaceWire. Драйвер не готов к использованию, т.к.
не реализованы системные вызовы
read()
/write()
. - Исправлена ошибка “При загрузке время ОС не синхронизируется с временем RTC”. Ошибка наблюдалась на модулях Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/ПМ2.
- Драйвер avico:
- Реализован контрол V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP для управления качеством сжатия видео.
- Исправлена ошибка “Ошибка SDMA Try increasing mcbufsz при сжатии видео”. Ошибка приводила к некорректному вычислению длины SDMA-транзакции при QP < 20 и порче видеопотока.
- Добавлен драйвер Toshiba TC358748 — преобразователя параллельного видео интерфейса в CSI2.
- Драйвер vinc:
- Исправлена зависимость между целями сборки драйвера. Неправильная зависимость приводила к ошибкам при параллельной сборке.
- Добавлена поддержка входного формата MEDIA_BUS_FMT_RGB888_1X24 для CSI2.
- Исправлен коэффициент преобразования YCbCr в RGB.
- Добавлена поддержка 16-разрядной NAND-памяти в драйвер arasan_nfc.
- Включена поддержка fhandle.
- Исправлена ошибка “Иногда вместо FullHD устанавливается разрешение 1024x768”. Ошибка исправлена увеличением таймаута при чтения EDID в драйвере HDMI-передатчика tda998x.
- Драйвер vpout-drm:
- Выполнен рефакторинг драйвера. Исправлены ошибки:
- “Драйвер иногда не загружается при загрузке ОС”.
- “Не работает подсветка при подключении нескольких LCD-дисплеев”.
- “Драйвер vpout-drm не захватывает ссылку на tda9988x”.
- Исправлена ошибка “Нарушение инварианта идентификаторов LCD панелей”. Ошибка приводила к выбору неправильного DRM-коннектора в случае изменения порядка загрузки драйверов для LCD-панелей.
- Добавлен механизм установки предпочитаемого режима DRM-коннектора. Механизм позволяет задавать предпочитаемый режим через параметр ядра “video”. Отсутствие механизма приводило к выбору неправильного DRM-коннектора в некоторых случаях.
- Выполнен рефакторинг драйвера. Исправлены ошибки:
Загрузчик U-Boot¶
Загрузчик обновлён до v2017.07.0.19. Изменения в загрузчике по сравнению с v2017.07.0.14:
- Исправлена ошибка в реализации опции “skip-gpios” в драйвере dwapb. Ошибка заключалась в отсутствии сброса списка пропускаемых драйвером GPIO при переходе к следующему порту GPIO.
- Опция конфигурации CONFIG_TIMER_CLK_FREQ переименована в TIMER_FREQ. В результате исправлена ошибка компиляции U-Boot при сборке цели по умолчанию.
- Исправлена ошибка “Не работает загрузка Linux по TFTP”.
- Исправлена ошибка “Не определяются некоторые USB-флешки”:
- Время ожидания подключенных к хабу USB-устройств увеличено до 10 секунд.
- Добавлен механизм повторной отправки USB-транзакции в случае отсутствия ответа со стороны USB-устройства.
- Изменения в Device Tree:
- Добавлена поддержка модулей Салют-ЭЛ24ПМ r1.1.
- Добавлено описание контроллеров SpaceWire.
- Исправлена ошибка совместимости DTS-файлов: Салют-ЭЛ24ПМ2 r1.0 не совместим с Салют-ЭЛ24ОМ1 r1.1.
- Добавлено свойство “compatible” для всех модулей совместимых с MCom-02.
- Добавлено описание ARM Cortex-A9 PMU. Поддержка PMU позволяет профилировать ядро и приложения пространства пользователя при помощи OProfile.
- Название аудиокарты для модулей Салют-ЭЛ24ПМ1/ПМ2 изменено на “Salute-EL24PM”.
Система сборки Buildroot, скрипты сборки дистрибутива¶
Система инициализации BusyBox заменена на systemd. Изменения вызванные переходом на systemd:
systemd обновлен до v239. По умолчанию в Buildroot v2018.02 используется v237.
Скрипт запуска Wi-Fi
/etc/init.d/S30wifi
заменен на systemd-сервис/usr/lib/systemd/system/brcmfmac-load-fw.service
.Скрипт конфигурации ALSA для Салют-ЭЛ24Д1 заменен на systemd-сервис из состава alsactl.
Добавлен файл
/var/lib/alsa/asound.state
с конфигурацией аудиокарт для модулей Салют-ЭЛ24Д1 и Салют-ЭЛ24ПМ1/ПМ2.Скрипт запуска Mali
/etc/init.d/S82mali
заменен на systemd-сервис/usr/lib/systemd/system/mali-reload.service
.Включена конфигурация сети с помощью systemd-networkd. Изменения вызванные переходом на systemd-networkd:
- Удален файл
/etc/network/interfaces
. - Добавлен файл конфигурации CAN
/usr/lib/systemd/network/can.network
. - Добавлен systemd-сервис для конфигурации LoWPAN интерфейса
/usr/lib/systemd/system/lowpan.service
. - Отключен пакет dhcpcd.
- Удален файл
Пакет getty заменен на systemd-getty-generator.
Имя хоста по умолчанию изменено c mcom на mcom02.
Отключены устаревшие утилиты из пакета BlueZ utils.
Изменена опция компилятора для сборки всех пакетов Buildroot с “-Os” (используется по умолчанию) на “-O3”.
Добавлены рецепты пакетов:
- audio-tests — утилита тестирования ввод/вывода аудио. Пакет включен в сборку.
- igt-gpu-tools — набор утилит для тестирования DRM-подсистемы. Пакет не включен в сборку.
В сборку включены пакеты:
- GStreamer-1.x;
- OProfile.
Префикс пути установки пакетов cimg, openvx, openvx-headers изменен с
/
на/usr
.В пакет mcom02-flash-tools добавлена утилита для прошивки eMMC-памяти через USB на модулях, где USB разведен в режиме OTG или Device.
Документы¶
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Добавлена инструкция по загрузке Linux c SD/MMC/USB.
- Обновлена инструкция по сборке загрузчика.
- Документ “Дистрибутив ОС GNU/Linux на базе Buildroot для 1892ВМ14Я.
Руководство системного программиста”:
- Обновлена инструкция по настройке сети в ОС Linux в связи с переходом на systemd-networkd.
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Обновлены главы: Wi-Fi, ZigBee, NAND, RTC, Bluetooth.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста”:
- Добавлено описание поддержки управления качеством сжатия видео на VPU.
- Документ “Спецификация на драйвер V4L2 vinc блока ISP VPIN/VINC 1892ВМ14Я”:
- Добавлено описание поддержки входного формата RGB888 для CSI2.
Изменения в Buildroot v2.9¶
Основные изменения¶
- Система сборки Buildroot обновлена до версии 2018.02.3.
- Добавлена реализация OpenVX, оптимизированная для DSP 1892ВМ14Я.
- Добавлена базовая поддержка режима сна (System Suspend).
- В U-Boot добавлен драйвер контроллера NAND и поддержка загрузки Linux с NAND-накопителя.
- В U-Boot добавлена поддержка встроенного в CнК USB в режимах Host и Device.
- В U-Boot добавлена поддержка загрузки Linux c USB-накопителя.
- В драйвере mfbsp-i2s исправлена ошибка записи #MCOM02SW-724, возникающая сразу после воспроизведения аудио на модулях Салют-ЭЛ24Д1.
- Добавлена поддержка сборки дистрибутива в контейнере Docker.
- Источник исходных кодов ядра Linux заменён с директории
linux
на GitHub-репозиторий. Директорияlinux
удалена. - Объявление дополнительных переменных окружения перенесено из файла
u-boot.env
в секцию переменных окружения в U-Boot. Файлu-boot.env
удален.
Ядро Linux¶
Ядро Linux обновлено до версии v4.4.111.8. Изменения в ядре Linux по сравнению с v4.4.111.3:
Подсистема управления энергопотреблением:
Добавлена базовая поддержка режима сна (System Suspend). Поддерживаются состояния сна:
- Suspend-To-Idle (s2idle, freeze);
- Power-On Suspend (shallow, standby).
В драйвер mcp7940x добавлена поддержка использования RTC в качестве источника события для выхода из режима сна.
Исправлены предупреждения при компиляции драйверов vpoutfb, arasan_nfc, vinc.
В драйвере mfbsp-i2s исправлена ошибка записи #MCOM02SW-724, возникающая сразу после воспроизведения аудио на модулях Салют-ЭЛ24Д1.
Добавлена поддержка SPI NOR-памяти mr25h40.
Включена поддержка I2C EEPROM.
Исправлена ошибка таймаута при чтении больших блоков данных из SPI-флеш памяти.
Включена поддержка DebugFS. Подсистема может использоваться для просмотра установленных частот CнК.
Включена поддержка ftrace.
Драйвер dw-apb-gpio:
- Добавлена поддержка использования GPIO в качестве источника события для выхода из режима сна.
- Добавлена поддержка DTS-опции “skip-gpios”. Опция полезна, если требуется не настраивать отдельные GPIO при загрузке Linux (например, если GPIO используется для управления питанием DDR).
Загрузчик U-Boot¶
Загрузчик обновлён до v2017.07.0.14. Изменения в загрузчике по сравнению с v2017.07.0.7:
- Файл конфигурации
salute_defconfig
модулей Салют-ЭЛ24Д1 и Салют-ЭЛ24Д2 разделён на независимые файлы конфигурацийsaluted1_defconfig
иsaluted2_defconfig
. - Частота работы DDR на модулях Салют-ЭЛ24Д2 увеличена до 504 МГц.
- Добавлен драйвер контроллера NAND.
- Добавлена поддержка встроенного в CнК USB в режимах Host и Device.
- Добавлена поддержка загрузки Linux c USB-накопителя.
- Добавлена поддержка загрузки Linux c NAND-накопителя.
- Добавлена печать частоты DDR в случае успешной инициализации.
- Добавлена опция конфигурации для печати ODT, ODS параметров DDR.
- Добавлена поддержка DTS-опции “skip-gpios”. Опция используется для указания драйверу dw-apb-gpio не настраивать отдельные GPIO при загрузке U-Boot.
- Дополнительные параметры ядра перенесены из файла
u-boot.env
в секцию переменных окружения в U-Boot. - HDMI установлен в качестве DRM-коннектора по умолчанию в Linux для модулей Салют-ЭЛ24ОМ1 c установленным Салют-ЭЛ24ПМ1/ПМ2.
- Изменения в Device Tree:
- Исправлена ошибка описания VINC #MCOM02SW-740, приводящая к отсутствию приема видео с видеомодуля LINK OV2715 Rev 1.0 на модулях Салют-ЭЛ24Д1, Салют-ЭЛ24Д2.
- Описания LCD и HDMI добавлены в общий DTS-файл для Салют-ЭЛ24ОМ1.
- В описание внешнего RTC на модулях Салют-ЭЛ24ОМ1 добавлено свойство, позволяющее использовать прерывание RTC в качестве источника события для выхода из режима сна.
- В описание SD/MMC контроллера добавлено свойство, позволяющее сохранять питания SD-карты в режиме сна.
Система сборки Buildroot, скрипты сборки дистрибутива¶
- Система сборки Buildroot обновлена до версии 2018.02.3.
- Включена сборка пакетов: bash, schedutils, ncurses, sysstat.
- Включена сборка Host-пакета CMake.
- Утилита m2m-test обновлена до версии 1.5:
- Добавлена поддержка версии FFmpeg, входящего в состав обновлённого Buildroot.
- Добавлена реализация OpenVX, оптимизированная для DSP 1892ВМ14Я.
Реализация состоит из пакетов:
- openvx — библиотека, реализующая стандарт OpenVX;
- openvx-demo — набор демонстрационных примеров;
- openvx-headers — заголовочные файлы OpenVX.
- Добавлены рецепты для сборки пакетов: CImg, dmatestcontig.
- Добавлены опции оптимизации для сборки утилиты coremark.
- Добавлена поддержка сборки дистрибутива в контейнере Docker:
- Dockerfile;
- Makefile для сборки Docker-образа и Buildroot в Docker-контейнере.
- Пакет утилит для прошивки СнК mcom-flash переименован в mcom02-flash.
- В корневую файловую систему дистрибутива добавлен файл
/etc/os-release
, содержащий информацию о версии дистрибутива. - Источник исходных кодов ядра Linux заменён с директории
linux
на GitHub-репозиторий. Директорияlinux
удалена. В Buildroot удалена опция BR2_LINUX_KERNEL_CUSTOM_LOCAL. - Объявление дополнительных переменных окружения перенесено из файла
u-boot.env
в секцию переменных окружения в U-Boot. Файлu-boot.env
удален.
Документы¶
- Добавлен документ “ELVEES OpenVX SDK для 1892ВМ14Я. Руководство пользователя” с описанием реализации OpenVX.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Уточнены инструкции и требования к сборке U-Boot.
- Добавлены инструкции для загрузки Linux c USB-накопителя.
- Добавлены инструкции для загрузки Linux c NAND-накопителя.
- Документ “Дистрибутив ОС GNU/Linux на базе Buildroot для 1892ВМ14Я.
Руководство системного программиста”:
- Добавлены инструкции по запуску сборки дистрибутива в Docker-контейнере.
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Исправлено описание теста LCD.
- Добавлен тест RS-485 для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/ПМ2.
- Добавлен тест входа/выхода из режима сна по событию от RTC для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/ПМ2.
- Увеличен порог скорости в тесте USB для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ2.
- Добавлен тест SDMA. Тест реализован на базе пакета Buildroot dmatestcontig.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста”:
- Добавлено описание поддерживаемых режимов сна.
- Добавлено описание подсистемы UART в режиме RS-485.
- Добавлена инструкция по входу и выходу из режима сна по событию от внешнего RTC.
- Документ “Спецификация на драйвер V4L2 vinc блока ISP VPIN/VINC 1892ВМ14Я”:
- Удалено описание неподдерживаемых драйвером форматов пикселей.
- Удалено описание неподдерживаемых драйвером ioctl.
- Дополнено описание поддерживаемых драйвером ioctl.
- Документ “Инструкция по прошивке SPI флеш-памяти модулей на базе 1892ВМ14Я”:
- Добавлены ссылка на репозиторий mcom02-flash-tools и инструкция по установке пакета из репозитория.
Изменения в Buildroot v2.8¶
Основные изменения¶
- Upstream-версия ядра Linux обновлена до v4.4.111.
- Добавлена поддержка включения/выключения CPU1 из пространства пользователя (механизм CPU hotplug).
- Исправлена ошибка с зависанием Linux при записи звука через интерфейс MFBSP-I2S без предварительного проигрывания.
- Исправлена ошибка с зависанием Linux при одновременной записи и проигрывании звука через интерфейс MFBSP-I2S.
- Для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2 добавлена
поддержка интерфейсов:
- Bluetooth;
- HDMI-аудио;
- RS-485;
- видеомодулей RPi Camera (B) на базе OV5647, подключаемых по интерфейсу CSI2;
- видеомодулей TechToys OV2643 2MPixel на базе OV2643, подключаемых по 10-битному параллельному интерфейсу.
Ядро Linux¶
- Ядро Linux обновлено до версии v4.4.111.3.
- Изменения в ядре Linux v4.4.111.3 по сравнению с v4.1.43.2:
- Upstream-версия Linux обновлена до v4.4.111.
- Реализовано включение домена питания CPU1 при загрузке Linux. Домен питания CPU1 выключается при загрузке U-Boot начиная с U-Boot v2017.07.0.6.
- Добавлена поддержка включения/выключения CPU1 из пространства пользователя (механизм CPU hotplug).
- Драйвер mcom02-sdhci:
- Добавлен драйвер для контроллера SD/MMC mcom02-sdhci. Драйвер реализован на основе драйвера arasan-sdhci, который использовался для контроллеров SD/MMC ранее.
- В драйвер добавлена установка задержек между тактовым сигналом и данными на SD/eMMC карту для поддержки HS режимов.
- Включена поддержка NFSv2 и NFSv3.
- Драйвер mfbsp-i2s:
- Исправлена ошибка с зависанием Linux при записи звука через интерфейс MFBSP-I2S без предварительного проигрывания.
- Исправлена ошибка с зависанием Linux при одновременной записи и проигрывании звука через интерфейс MFBSP-I2S.
- Добавлена поддержка Bluetooth для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2.
- Добавлена поддержка HDMI-аудио для модулей Салют-ЭЛ24ОМ1 с установленным
Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2:
- Добавлена поддержка контроллера DesignWare I2S. Поддерживается только режим PIO.
- Включена поддержка управляемого генератора Si514.
- Добавлена поддержка HDMI аудио-кодека.
- Добавлена поддержка HDMI-аудио в драйвер HDMI-передатчика tda998x.
- Добавлена поддержка RS-485 для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2.
- Драйвер vinc:
- Добавлена поддержка одновременного подключения до четырех видеосенсоров. При подключении четырех видеосенсоров захват видео может производиться с любых двух видеосенсоров одновременно.
- Добавлена поддержка входного формата YCbCr.
- Добавлена поддержка видеосенсора OV5647.
- Добавлена поддержка видеосенсора OV2643.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2017.07.0.7.
- Изменения в загрузчике v2017.07.0.7 по сравнению с v2017.07.0.5:
- Останов CPU1 в цикле ожидания заменен на выключение домена питания CPU1.
- Добавлены команды для автоматической загрузки и исполнения ELF-файлов из SPI при загрузке U-Boot.
- Исправлена ошибка компиляции U-Boot при включении сторожевого таймера.
- Исправлена ошибка с некорректным расчетом пиксельной частоты в драйвере vpout-drm. Ошибка проявлялась в неработоспособности некоторых мониторах при подключении к модулю Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2. Ошибка исправлена установкой корректной частоты CPLL (504 МГц) в Device Tree для модулей Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2.
- Мультиплексор для выбора интерфейса CS11/DSI переведен в режиме CSI. Это позволяет подключать до двух видеомодулей с интерфейсом CSI к модулю Салют-ЭЛ24ОМ1.
- Изменения в Device Tree:
- Добавлено описание контроллеров SMCTR, PMCTR.
- Включен UART1 для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание светодиода USERLED для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание контроллера Bluetooth для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание видеосенсора OV5647 для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание управляемого генератора Si514 для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание контроллера DesignWare I2S для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание HDMI-аудиокарты для модулей Салют-ЭЛ24ОМ1.
- Добавлено описание видеосенсора OV2643 для модулей Салют-ЭЛ24ОМ1.
Пакеты Buildroot, скрипты сборки¶
- Включен пакет iperf3.
- Режим 1920x1080-30 больше не поддерживается драйвером vpoutfb. Соответствующая
запись удалена из файла
/etc/fb.modes
. - Версия пакета pyserial обновлена до версии 3.4.
- Включен пакет BlueZ5 для работы с Bluetooth.
- Исправлен скрипт инициализации Wi-Fi
/etc/init.d/S30Wifi
в связи с переходом на драйвер mcom02-sdhci.
Документы¶
- Изменены префиксы названий некоторых документов с “salute-el24d1” на “mcom02”.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Добавлено описание опции автоматической загрузки ELF-файла из SPI при загрузке U-Boot.
- Добавлена инструкция по включению домена питания CPU1.
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Добавлен тест Wi-Fi для модулей Салют-ЭЛ24ОМ1.
- Добавлен тест VINC.
- Добавлен тест Bluetooth для модулей Салют-ЭЛ24ОМ1.
- Добавлен тест HDMI-аудио для модулей Салют-ЭЛ24ОМ1.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста”:
- Добавлено описание реализованного механизма CPU hotplug.
- Документ “Спецификация на драйвер V4L2 vinc блока ISP VPIN/VINC 1892ВМ14Я”:
- Добавлено описание реализованных контролов в драйвере видеосенсора OV5647.
- Добавлено описание реализованных контролов в драйвере видеосенсора OV2643.
- Добавлено описание опций Device Tree “elvees,ifacenum” и “elvees,pport-low-bits”.
- Добавлено описание изменений коэффициентов векторов и матриц для блока CT.
- Документ “Инструкция по захвату видео с последовательного сенсора на модулях
на базе микросхемы 1892ВМ14Я”:
- Для модулей Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1/Салют-ЭЛ24ПМ2 добавлена инструкция по захвату видео с видеомодуля RPi Camera (B) на базе OV5647.
Прочее¶
- Утилита v4l2tofb:
- Добавлена настройка разрешения фреймбуфера. Фреймбуфер настраивается на разрешение, при котором происходит захват видео с сенсора.
- Изменено значение опции “-i”. Вместо указания номера устройства указывается номер входного интерфейса, с которого необходимо производить захват видео.
- Модифицировано baremetal-приложение sample-cpu01: реализовано включение домена питания CPU1.
Изменения в Buildroot v2.7¶
Основные изменения¶
- Добавлена поддержка модулей Салют-ЭЛ24ПМ2 r1.0.
- Исправлен баг с зависанием при загрузке U-Boot v2017.07.0.4 на модулях Салют-ЭЛ24Д1/Салют-ЭЛ24Д2.
- Добавлен исходный код модулей ядра Linux для драйвера Mali.
Ядро Linux¶
- Ядро Linux обновлено до версии v4.1.43.2.
- Изменения в ядре Linux v4.1.43.2 по сравнению с v4.1.43.1:
- Добавлена настройка PLL в драйвере кодека ALC5623. Настройка PLL позволяет устанавливать частоту дискретизации в значение не кратное входной частоте кодека (например 22050 кГц, 44100 кГц).
- В драйвер контроллера BCM43430 SDIO Wi-Fi brcmfmac добавлена поддержка загрузки прошивки версии A0. Прошивка версии A0 требуется для работоспособности Wi-Fi на модулях Салют-ЭЛ24ОМ1 r1.2.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2017.07.0.5.
- Изменения в загрузчике v2017.07.0.5 по сравнению с v2017.07.0.4:
- Добавлена поддержка модулей Салют-ЭЛ24ПМ2 r1.0.
- Добавлено описание LCD в Device Tree для модулей Салют-ЭЛ24ОМ1 r1.1/r1.2.
- Исправлен баг с зависанием при загрузке U-Boot v2017.07.0.4 на модулях Салют-ЭЛ24Д1/Салют-ЭЛ24Д2.
- Калибровка DDR:
- Добавлена возможность калибровки параметров DQS-gating.
- Добавлена возможность стресс-тестирования двух контроллеров DDR одновременно.
Пакеты Buildroot, скрипты сборки¶
- Добавлен исходный код модулей ядра Linux для драйвера Mali. Рецепт сборки
mcom-mali-driver
модифицирован для сборки модулей из исходных кодов. - Добавлены файлы прошивки версии A0 для контроллера BCM43430 SDIO Wi-Fi.
- Модифицирован скрипт сборки
build.sh
: dtb-файлы с описанием LCD копируются при сборке в раздел BOOT образа SD-карты.
Документы¶
- Документ “Дистрибутив ОС GNU/Linux на базе Buildroot для 1892ВМ14Я.
Руководство системного программиста”:
- Добавлено описание настройки ОС для вывода изображения на LCD для модулей Салют-ЭЛ24ОМ1 r1.1/r1.2.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Добавлена инструкция по передаче управления CPU0, CPU1 из U-Boot в baremetal-приложение.
- Добавлена информация о включенных кэшах CPU0, CPU1 в U-Boot.
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Добавлено описание тестов LCD, PWM, CPUfreq.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста”:
- Добавлено описание драйвера cpufreq-dt.
Прочее¶
- Добавлено baremetal-приложение sample-cpu01. Приложение предназначено для демонстрации передачи управления CPU0, CPU1 из U-Boot в baremetal-приложение.
Изменения в Buildroot v2.6¶
Основные изменения¶
- Повышена частота DDR3 до 504 МГц для модулей Салют-ЭЛ24ПМ1.
- Исправлена ошибка установки некорректных таймингов памяти DDR3 для модулей Салют-ЭЛ24ПМ1, Салют-ЭЛ24Д1, Салют-ЭЛ24Д2.
- Добавлена поддержка драйвера cpufreq-dt. Возможно управление частотой CPU штатными средствами драйвера.
Ядро Linux¶
- Ядро Linux обновлено до версии v4.1.43.1.
- Изменения в ядре Linux v4.1.43.1 по сравнению с v4.1.41.3:
- Добавлена поддержка cpufreq-dt:
- в качестве источника тактовых сигналов используется таймер DesignWare, глобальный таймер подсистемы ARM отключен;
- включен драйвер cpufreq-dt;
- добавлены режимы governers, режим по умолчанию — on-demand.
- Исправлены ошибки драйвера VPOUT vpout-drm:
- отключен черезстрочный режим;
- исправлена полярность сигналов HSYNC, VSYNC приводящая к смещению изображения и появлению лишней строки.
- Добавлена поддержка cpufreq-dt:
Загрузчик U-Boot¶
- Загрузчик обновлён до v2017.07.0.4.
- Изменения в загрузчике v2017.07.0.4 по сравнению с v2017.07.0.3:
- Установлена частота DDR равной 504 МГц для модулей Салют-ЭЛ24ПМ1.
- Исправлена ошибка ложно положительного результата завершения калибровки.
- Отключена терминация ODT для DDR.
- Исправлена ошибка установки таймингов памяти DDR3 и регистра
DFITMG1
DDR PHY. - Исправлена ошибка компиляции при включении опции сторожевого таймера.
- Добавлено описание таймеров DesignWare на APB.
Документы¶
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Уточнено описание тестов аудио и RTC.
Прочее¶
- Обновлён пакет
tools/uboot-test-iterator
:- Добавлена опция
--ddr
; - Исправлено маскирование пинов в тесте
test-mfbsp-gpio
; - Добавлена поддержка выбора режима сообщений;
- Отключен тест MFBSP для Салют-ЭЛ24Д2.
- Добавлена опция
Изменения в Buildroot v2.5¶
Основные изменения¶
- Реализован DRM-драйвер контроллера VPOUT vpout-drm.
- Добавлена поддержка модулей Салют-ЭЛ24ОМ1 r1.2 с установленным Салют-ЭЛ24ПМ1 r1.2.
- Добавлена процедура включения питания DDR в U-Boot SPL для модулей Салют-ЭЛ24ПМ1.
- Устранены ошибки компиляции при сборке драйвера arasan-gemac в U-Boot (ограничение #MCOM02SW-372).
Ядро Linux¶
- Ядро Linux обновлено до версии v4.1.41.3.
- Изменения в ядре Linux v4.1.41.3 по сравнению с v4.1.41.2:
- Реализован DRM-драйвер контроллера VPOUT vpout-drm. Драйвер используется совместно с драйвером контроллера HDMI tda998x для вывода изображений на модулях Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1.
- Драйвер arasan-gemac: добавлена поддержка выполнения следующих операций из пространства
пользователя с использованием утилиты
ethtool
:- установка скорости (10/100/1000 МБит/с);
- установка дуплекса (full/half);
- установка уровня сообщений драйвера;
- перезапуск автосогласования;
- проверка физического подключения.
- Драйвер vinc:
- Добавлена поддержка вывода тактовой пиксельной частоты через PCLK.
- Изменены названия контролов.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2017.07.0.3.
- Изменения в загрузчике v2017.07.0.3 по сравнению с v2017.07.0.1:
- Устранены ошибки компиляции при сборке драйвера arasan-gemac (ограничение #MCOM02SW-372).
- Включена сборка драйвера arasan-gemac. Включены команды для загрузки Linux по TFTP.
- Исправлена установка параметра tWR при инициализации DDR3 памяти. Это добавляет возможность инициализировать DDR3 на ранее недоступных частотах (100 - 300 МГц).
- Добавлено описание контроллера VPOUT в Device Tree для модуля Салют-ЭЛ24ПМ1. Описание используется для драйвера vpout-drm.
- Добавлено описание контроллера HDMI в Device Tree для модуля Салют-ЭЛ24ОМ1.
- Включено динамическое выделение памяти в U-Boot SPL.
- Добавлена поддержка I2C0 в U-Boot и в U-Boot SPL для модулей Салют-ЭЛ24ПМ1.
- Добавлена процедура включения питания DDR в U-Boot SPL для модулей Салют-ЭЛ24ПМ1.
- Добавлена поддержка модулей Салют-ЭЛ24ОМ1 r1.2 с установленным Салют-ЭЛ24ПМ1 r1.2.
Пакеты Buildroot, скрипты сборки¶
- Добавлена утилита
ethtool
для изменения параметров драйвера arasan-gemac из пространства пользователя. - Добавлен набор библиотек для поддержки DRM в пространстве пользователя.
Документы¶
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Добавлены тесты GPU, VPU для модуля Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста”:
- Добавлено описание драйвера vpout-drm.
- Добавлено описание драйвера arasan-gemac.
- Обновлен документ “Драйверы Linux для GPU 1892ВМ14Я. Руководство пользователя”.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Удалена инструкция по включению в конфигурации U-Boot сборки драйвера arasan-gemac и команд для загрузки Linux по TFTP так как драйвер и команды собираются по умолчанию.
Изменения в Buildroot v2.4¶
Основные изменения¶
- Добавлена поддержка контроллера USB для модуля Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1.
- Добавлена поддержка контроллера PWM.
- Добавлена поддержка контроллера RTC для модуля Салют-ЭЛ24ОМ1.
- Добавлена поддержка контроллера Wi-Fi для модуля Салют-ЭЛ24ОМ1.
- Добавлена поддержка инициализации памяти LPDDR2 в U-Boot.
Ядро Linux¶
- Ядро Linux обновлено до версии v4.1.41.2.
- Изменения в ядре Linux v4.1.41.2 по сравнению с v4.1.39.1:
- Upstream-версия Linux обновлена до v4.1.41.
- Реализован драйвер контроллера USB FT313H, подключенного через NORMPORT порт, для модуля Салют-ЭЛ24ОМ1 с установленным Салют-ЭЛ24ПМ1.
- Реализован драйвер контроллера PWM pwm-mcom. Добавлена документация по формату описания устройств в Device Tree.
- Добавлена поддержка управления яркостью подстветки дисплея.
- Добавлена поддержка контроллера RTC для модуля Салют-ЭЛ24ОМ1.
- Добавлена поддержка сенсорного дисплея FT5206 для модуля Салют-ЭЛ24ОМ1.
- Драйвер CAN: увеличена длительность ожидания сброса приемопередатчика.
- Драйвер vpoutfb: исправлена ошибка некорректного чтения временных параметров из Device Tree.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2017.07.0.1.
- Изменения в загрузчике v2017.07.0.1 по сравнению с v2017.01.0.2:
- Upstream-версия U-Boot обновлена до v2017.07.
- Включен второй контроллер DDR для модуля Салют-ЭЛ24ПМ1. Объем памяти DDR доступный по умолчанию увеличен до 2 ГиБ.
- Добавлено описание контроллера Wi-Fi в Device Tree для модуля Салют-ЭЛ24ОМ1.
- Включен режим PIO для SD/MMC.
- Добавлена поддержка инициализации памяти LPDDR2.
- Добавлено описание контроллера USB в Device Tree для модуля Салют-ЭЛ24ОМ1 c установленным Салют-ЭЛ24ПМ1.
- Включена сборка U-Boot SPL в режиме THUMB2. Размер образа U-Boot SPL уменьшен на 25%.
- Добавлено описание контроллера PWM в Device Tree.
- Добавлено описание контроллера RTC в Device Tree для модуля Салют-ЭЛ24ОМ1.
- Добавлено описание сенсорного дисплея FT5206 в Device Tree для модуля Салют-ЭЛ24ОМ1.
- Исправлены переменные окружения, используемые для загрузки с MMC устройств: выбор
контроллера SD/MMC для загрузки Linux определяется переменной
mmcdev
. - Установлены рекомендованные значения задержек кэша L2 в Device Tree.
Пакеты Buildroot, скрипты сборки¶
- Добавлены файлы прошивки для контроллера Wi-Fi для модуля Салют-ЭЛ24ОМ1.
- Утилита
flash-spi.py
заменена на пакетmcom-flash
, состоящий из утилит прошивки SPI флеш-памяти и SD/MMC карты.
Документы¶
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Добавлены тесты USB, Wi-Fi, PWM, RTC для модуля Салют-ЭЛ24ОМ1 r1.1 с установленным Салют-ЭЛ24ПМ1 r1.1.
- Документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста”:
- Добавлено описание драйвера PWM.
- Документ “Дистрибутив ОС GNU/Linux на базе Buildroot для 1892ВМ14Я.
Руководство системного программиста”:
- Обновлен состав архива дистрибутива.
- Обновлен документ “Инструкция по прошивке SPI флеш памяти отладочных модулей на базе 1892ВМ14Я”.
- Добавлен документ “Спецификация на драйвер V4L2 VINC блока ISP VPIN/VINC 1892ВМ14Я”.
Изменения в Buildroot v2.3¶
Основные изменения¶
- Добавлен исходный код драйвера avico блока VPU.
- Добавлена поддержка модуля Салют-ЭЛ24ОМ1 r1.1 с установленным Салют-ЭЛ24ПМ1 r1.1.
- Реализован драйвер Ethernet-контроллера GEMAC в U-Boot.
- Добавлена поддержка переменных окружения в U-Boot.
Ядро Linux¶
- Ядро Linux обновлено до версии v4.1.39.1.
- Изменения в ядре Linux v4.1.39.1 по сравнению с v4.1.35.2:
- Upstream-версия Linux обновлена до v4.1.39.
- Драйвер vpoutfb:
- Реализована поддержка установки временных параметров через вызовы
ioctl()
из пространства пользователя: установка выполняется утилитойfbset
. - Реализовано чтение временных параметров из DTS для поддержки встраиваемых LCD-модулей.
- Добавлена документация по формату описания устройств в DTS.
- Реализована поддержка установки временных параметров через вызовы
- Добавлен исходный код драйвера avico блока VPU. Добавлена документация по формату описания устройств в DTS.
- Светодиоды поддерживаемых модулей настроены на индикацию загрузки процессора (heartbeat) и доступа к карте памяти SD/MMC.
- Драйвер arasan-gemac:
- Исправлена ошибка сброса контроллера DMA GEMAC.
- Добавлена поддержка Ethernet 1Гб/с.
- Добавлен автовыбор скорости сети в зависимости от подключения.
- Драйвер vinc:
- Добавлена проверка границ зон статистики.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2017.01.0.2.
- Изменения в загрузчике v2017.01.0.2 по сравнению с v2016.03.0.6:
- Upstream-версия U-Boot обновлена до v2017.01.
- Добавлена поддержка модуля Салют-ЭЛ24ОМ1 r1.1 с установленным Салют-ЭЛ24ПМ1 r1.1.
- Реализована функция инициализации DDR
mcom_ddr_init()
:- функция и структуры инициализации DDR не используют BootROM API;
- функция инициализации исправляет ограничения реализации аналогичных функций BootROM: невозможность установки ODT/ODS и пр.;
- функция принимает структуры содержащие параметры чипов памяти DDR (ранее функции инициализации принимали значения регистров контроллера и PHY DDRMC). Параметры должны заполняться на базе datasheet чипов памяти и топологии разводки модуля.
- функция реализует инициализацию DDR3.
- Добавлен технологический режим программной калибровки параметров DDR. Режим отключен по умолчанию.
- Место хранения переменных окружения перенесено в SPI флеш-память. В конфигурации по умолчанию включены команды по установке и просмотру переменных окружения.
- Установлена частота AXI и DDR равная 384 МГц для поддерживаемых модулей.
- Реализован драйвер сетевого контроллера GEMAC. Драйвер отключен по умолчанию.
- Реализован выбор SDMMC1 в качестве источника загрузки Linux:
- Реализован драйвер SDHCI, соответствующий модели драйверов U-Boot. Драйвер считывает параметры SDMMC-контроллеров из DTS.
- Реализован код независимой инициализации контроллеров SDMMC0 и SDMMC1.
- Добавлена проверка размера SPL при сборке U-Boot.
- Исправлена ошибка некорректного описания аудиокодека в DTS, что приводило к некорректному вычислению времени записи и воспроизведения аудиофайлов.
- Уменьшен размер ОЗУ используемый SPL U-Boot: изменено расположение U-Boot в ОЗУ, отключено динамическое выделение памяти на ранних этапах загрузки.
- Добавлено управление питанием приёмопередатчика CAN на модулях Салют-ЭЛ24Д1.
- Отключен неиспользуемый pre-console буфер.
Пакеты Buildroot, скрипты сборки¶
- Скрипт
build.sh
:- Удалены параметры ядра Linux, т.к. параметры устанавливаются в переменных окружения U-Boot.
- Добавлена сборка образа U-Boot для Салют-ЭЛ24ОМ1 r1.1 с установленным Салют-ЭЛ24ПМ1 r1.1.
- Добавлен файл
fb.modes
с временными параметрами стандартных видеорежимов.
Документы¶
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Добавлены тесты для модуля Салют-ЭЛ24ОМ1 r1.1 с установленным Салют-ЭЛ24ПМ1 r1.1.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Добавлена глава с описанием переменных окружения.
- Изменено содержимое образа SPI флеш-памяти.
- Добавлена карта памяти ОЗУ U-Boot.
- Добавлена глава по загрузке Linux по TFTP.
- Добавлена глава по включению драйвера Ethernet.
- Добавлен документ “Ядро Linux для 1892ВМ14Я. Руководство системного программиста” с частичным описанием драйверов, реализованных для поддержки 1892ВМ14Я.
Изменения в Buildroot v2.2¶
Основные изменения¶
- В Linux добавлена поддержка ввода/вывода аудио на модулях Салют-ЭЛ24Д1.
- В драйверах GPU Mali добавлен параметр для задания максимального размера системной памяти, используемой драйвером.
- В Linux исправлена ошибка в драйвере контроллера NAND при работе с UBI.
- В U-Boot SPL добавлена поддержка загрузки U-Boot из SD/MMC.
- В U-Boot добавлена поддержка модулей Салют-ЭЛ24Д1 r1.5.
Ядро Linux¶
Ядро обновлено до версии v4.1.35.1.
Изменения в ядре версии v4.1.35.1 по сравнению с ядром v4.1.27.4:
В ядро включены обновления upstream ядра Linux v4.1.35.
Драйвер V4L2 vinc блока VINC/VPIN:
- Добавлены контролы сенсоров автоэкспозиции, автоусиления и автобаланса белого.
- Добавлен контрол автоэкспозиции.
- Добавлен контрол компенсации заднего фона.
- Исправлена ошибка чтения статистики.
- Исправлена ошибка сброса гамма-кривой при открытии устройства.
- Реализован обход проблемы выброса значения при построении гистограмм.
Драйвер сенсоров ov772x:
- Добавлены контролы экспозиции и автоэкспозиции.
- Добавлен контрол автобаланса белого.
- Контрол полосового фильта BAND_STOP_FILTER заменён на контрол POWER_LINE_FREQUENCY.
Драйвер сенсора ov2715:
- Добавлены контролы экспозиции и автоэкспозиции.
- Добавлен контрол автобаланса белого.
- Добавлены контролы вертикального и горизонтального отражения.
- Изменён алгоритм установки усиления и автоусиления.
- Исправлена ошибка повышенной яркости изображения.
Драйвер arasan-nfc:
Исправлена ошибка работы с UBI.
Исправлена ошибка некорректного размещения ECC в OOB NAND.
Важно
В связи с изменением, пользовательские данные, записанные в NAND-память с использованием ядер Linux версий v4.1.27.4 и ниже, не могут быть считаны корректно при использовании ядра Linux v4.1.35.1. Для работы с NAND-памятью необходимо переформатировать/перезаписать пользовательские данные в NAND-памяти.
Драйвер vpoutfb: Добавлен режим r6g6b6.
Добавлены драйверы mfbsp-i2s и mfbsp-pcm.
Включена поддержка аудио.
Изменения в драйвере Mali-FB:
- Драйвер обновлён до версии r3p0-04rel0-v2.3.
- Добавлен параметр для задания максимального размера системной памяти, используемой драйвером.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2016.03.0.6.
- Изменения в загрузчике v2016.03.0.6 по сравнению с v2016.03.0.5:
- Добавлен учёт ограничения rf#3346 BootROM — размер образа U-Boot SPL должен быть кратен 2.
- Изменения в загрузчике v2016.03.0.5 по сравнению с v2016.03.0.4:
- DTS: добавлено описание модуля Салют-ЭЛ24Д1 r1.5.
- Включены команды терминала для управления кэшами, загрузки и запуска исполняемых
файлов (
booelf
,load*
). - Добавлена печать модели и ревизии модуля при загрузке.
- DTS: Удалено нестандартное свойство revision корневой ноды. Ревизия модуля добавлена в свойство model корневой ноды.
- Изменения в загрузчике v2016.03.0.4 по сравнению с v2016.03.0.3:
- DTS: Добавлена поддержка аудиокодека ALC5623.
- Конфигурация
sbcdbg_defconfig
переименована вsalute_defconfig
. - Исправлены ошибки некорректной установки тактовой частоты SPI-контроллера.
- Включены команды терминала для тестирования подсистемы SPI (
sf
). - В U-Boot SPL добавлена поддержка загрузки U-Boot из SD/MMC.
Пакеты Buildroot, скрипты сборки¶
- В
mcom_defconfig
Buildroot включена поддержка ALSA и UBIFS. - Добавлены скрипты по конфигурации аудиокарты.
- Исправлена ошибка rf#2527: Запуск теста VPU fc-avico завершается с ошибкой.
- Исправлен порядок загрузки драйверов WiFi.
Документы¶
- Документ “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я”:
- Добавлена глава по запуску теста аудио на отладочных модулях Салют-ЭЛ24Д1.
- Удалён тест с запуском утилиты
mtdtest.sh
на чипе NAND-памяти. - Добавлен тест UBIFS с верификацией данных для чипа NAND-памяти.
- Документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”:
- Добавлено описание новых команд терминала.
- Изменено название конфигурационного файла.
- Добавлено описание режима загрузки с SD/MMC.
- Документ “Инструкция по прошивке SPI флеш-памяти отладочных модулей на базе 1892ВМ14Я”:
- Добавлено предупреждение о необходимости переключать питание для перезагрузки модуля.
Прочие изменения¶
- Утилита
flash-spi.py
:- Добавлена проверка доступности терминала 1892ВМ14Я.
- Добавлено отключение retention DDR перед прошивкой SPI флеш-памяти модуля для обхода аппаратного ограничения rf#1160.
Изменения в Buildroot v2.1¶
Ядро Linux¶
- Ядро обновлено до версии v4.1.27.4.
- Изменения в ядре версии v4.1.27.4 по сравнению с ядром v4.1.27.1:
- Изменения в V4L2-драйвере vinc блока VINC/VPIN:
- Добавлены контролы:
- V4L2_COLORFX_ANTIQUE;
- V4L2_COLORFX_AQUA;
- V4L2_COLORFX_BW;
- V4L2_COLORFX_NEGATIVE;
- V4L2_COLORFX_SEPIA;
- V4L2_COLORFX_VIVID;
- V4L2_COLORFX_SET_CBCR;
- V4L2_CID_AUTOBRIGHTNESS.
- Добавлен обход проблемы #2159.
- Реализована функция автообрезки: если запрашиваемое приложением разрешение меньше разрешения сенсора, то драйвер включает обрезку до требуемого разрешения в блоке VINC/VPIN.
- Добавлены контролы:
- Добавлено отключение сигнала сброса в драйвере CAN mcp251x.
- Добавлена поддержка CAN.
- Включена опция MODVERSIONS в
mcom_defconfig
. - Изменения в драйвере сенсоров ov772x:
- Добавлены контролы для управления усилением и автоусилением.
- Изменения в V4L2-драйвере vinc блока VINC/VPIN:
- Изменения в драйвере Mali-FB:
- Драйвер обновлён до версии r3p0-04rel0-v2.2.
- Драйвер собирается в опцией MODVERSIONS.
- Изменения в драйвере avico VPU:
- Драйвер обновлён до v1.0 (реализован обход проблемы зависания #1382).
- Драйвер собирается в опцией MODVERSIONS.
Загрузчик U-Boot¶
- Загрузчик обновлён до v2016.03.0.3;
- Изменения в загрузчике v2016.03.0.3 по сравнению с v2016.03.0.1:
- Код остановки CPU1 перенесён в
lowlevel_init()
. - DTS: добавлено описание CAN-контроллера.
- Реализована новая функция инициализации контроллера DDR.
- Код остановки CPU1 перенесён в
Buildroot¶
- В
mcom_defconfig
Buildroot включена поддержка CAN. - Добавлены скрипты по конфигурации интерфейса can0 на отладочных модулях.
Документы¶
- В документе “Инструкция по запуску тестов на отладочных модулях на базе 1892ВМ14Я” добавлена глава по запуску тестов CAN на отладочных модулях.
Список известных ограничений¶
rf#2527: Запуск теста VPU fc-avico завершается с ошибкой
В некоторых случаях запуск теста
fc-avico
завершается с ошибкой:Input #0, yuv4mpegpipe, from 'm420.y4m': Duration: N/A, bitra[ 672.802811] ov2715 1-0036: reg_read: i2c read error, r8 te: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 25 fpsc m2m-test: Can not open /dev/video0: Remote I/O error TEST FAILED
Критичность ошибки:
Низкая.
Причина ошибки:
Тест открывает устройство
/dev/video0
. Тест завершается с ошибкой в случае инициализации драйвера vinc на устройстве/dev/video0
(из-за неопределённого порядка загрузки драйверов).Обход ошибки:
Заменить строки скрипта
fc-avico
:m2m-test -d /dev/video0 -v -o encoded.264 m420.y4m | tee avico.log
на строку:
m2m-test -d $DEVICE -v -o encoded.264 m420.y4m | tee avico.log
Изменения в Buildroot v2.0¶
Список изменений по сравнению с Buildroot v1.3.
Ядро Linux¶
- Ядро обновлено до версии v4.1.27.1
- Изменения в ядре версии v4.1.27.1 по сравнению с ядром v4.1.0.2:
- Выполнено слияние с ядром v4.1.27.
- Удалены DTS-файлы поддерживаемых модулей (перемещены в U-Boot).
- Изменения в V4L2-драйвере vinc блока VINC/VPIN :
- Добавлена поддержка параллельного порта.
- Добавлены контролы:
- V4L2_CID_BRIGHTNESS;
- V4L2_CID_CONTRAST;
- V4L2_CID_SATURATION;
- V4L2_CID_HUE;
- V4L2_CID_COLOR_KILLER;
- V4L2_CID_RED_BALANCE;
- V4L2_CID_BLUE_BALANCE;
- V4L2_CID_WHITE_BALANCE_TEMPERATURE;
- V4L2_CID_AUTO_WHITE_BALANCE.
- Добавлена поддержка одновременной работы нескольких камер в подсистеме soc-camera.
- Добавлена поддержка одновременной работы двух сенсоров.
- Добавлена поддержка задания активного уровня сигнала сброса на сенсор.
- Изменения в драйвере сенсоров ov772x:
- Добавлена поддержка DTS.
- Теперь используется шина I2C вместо SMBus.
- Добавлен повтор трансфера I2C при ошибке на шине.
- Исправлен AWB в режиме Байера.
- Включена поддержка ov772x.
- Изменения в драйвере сенсоров ov2715:
- Добавлены контролы усиления и автоусиления.
- Изменения в драйвере framebuffer VPOUT vpoutfb:
- Исправлен размер буфера DMA.
- Добавлен spinlock на регистры.
- Исправлены названия поддерживаемых режимов.
- Добавлено описание vpoutfb bindings в документации ядра Linux.
- Драйвер vpoutfb собирается как модуль.
- Изменения в драйвере Mali (
mali.ko
,ump.ko
):- Версия обновлена до r3p0-04rel0-v2.0.
- Добавлена функция для экспортирования SecureID (требуется для vpoutfb).
Загрузчик U-Boot¶
- Загрузчик обновлён до v2016.03.0.1;
- Изменения в загрузчике версии v2016.03.0.1 по сравнению с версией распространяемой
в Buildroot v1.3:
- В Kconfig добавлена опция для включения сторожевого таймера при загрузке.
- Выполнено слияние с U-Boot версии v2016.03-g563d8d9.
- Выключены неиспользуемые в мониторе команды.
- Добавлена поддержка драйвера SPI флеш-памяти.
- Добавлена поддержка драйвера GPIO.
- Добавлена поддержка драйвера контроллера SPI.
- Изменено устройство с которого грузится загрузчик с SD на SPI.
- Исправлена ошибка с некорректной остановкой ядра CPU1 при загрузке U-Boot.
- Исправлена ошибка с некорректным ожиданием захвата PLL (см также Baremetal-приложения.).
- В Makefile устанавливается свойство ОС равное ‘U-Boot’ для обхода ограничения #867.
- В Makefile добавлена цель u-boot.mcom для сборки образа прошивки SPI флеш-памяти.
- Добавлены DTS СнК и поддерживаемых модулей.
- Уменьшена задержка L2 кэша СнК в DTS.
- Добавлена установка параметров DDR-памяти не устанавливаемых в Bootrom для обхода ограничения #1969.
- Добавлено отключение DDR retention для обхода ограничения #1160.
- В DTS исправлен активный уровень пина CS микросхемы SPI флеш-памяти.
- Выполнен рефакторинг кода инициализации структур параметров памяти DDR.
Утилита flash-spi.py
¶
- Скрипт обновлён до версии 2.0 — добавлена поддержка прошивки SPI флеш-памяти модулей бинарными файлами.
Buildroot, скрипт build.sh
¶
- При создании файла
u-boot.env
добавляется переменная “modprobe.blacklist=vpoutfb” для отключения загрузку модуля vpoutfb при загрузке Linux. - При сборке генерируется образ прошивки U-Boot для SPI флеш-памяти для заданного отладочного модуля.
- U-Boot образ не записывается на SD-карту.
- В Buildroot добавлен пакет v4l2tofb.
Baremetal-приложения¶
- Исправлена ошибка с некорректным ожиданием захвата PLL в тестах baremetal.
- Удалён загрузчик
baremetal-src/sd-bootload
, т.к. загрузку с SD-карты выполняет U-Boot.
Документы¶
- Изменения по документу “Дистрибутив ОС GNU/Linux на базе Buildroot.
Руководство системного программиста”:
- Специфицирована рекомендуемая архитектура ПЭВМ для сборки Buildroot.
- Требования к ОС ПЭВМ обновлены до CentOS 7.2.
- Добавлены главы по сборке и прошивке SPI флеш-памяти.
- Добавлена глава по включению модуля ядра vpoutfb при загрузке Linux.
- Обновлён документ “Инструкция по прошивке SPI флеш-памяти отладочных модулей на базе
1892ВМ14Я” с использованием утилиты
flash-spi.py
v2.0. - Выпущен документ “Загрузчик U-Boot для 1892ВМ14Я. Руководство пользователя”.
- Выпущен документ “Инструкция по миграции с Buildroot v1.3 на Buildroot v2.0”.