Примечания к выпуску
2025.05
Изменения совместимости
Ядро Linux данной сборки несовместимо с прошивкой QSPI0 (sbl, ddrinit, TF-A, U-Boot) предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Для корректной работы требуется очистка секции переменных окружения QSPI0. Команды очистки секции см. Переменные окружения.
Основные изменения
Добавлен пакет библиотек DSP ELcore-50 Libraries.
Добавлен фрагмент для сборки QEMU.
SBL, ddrinit
Выполнен рефакторинг кода проекта SBL с целью переиспользования общего кода в загрузчиках sbl-s1 и sbl-xip.
ddrinit:
В конфигурации уточнено, что при подключении LPDDR4 не поддерживается более 16 ГБ.
В конфигурации уточнено, что не поддерживается более 2 ранков на каждый контроллер.
Если в конфигурации выключен DDRMC1, то не выполняется инициализация контроллера и не выводится ошибка.
Добавлена базовая поддержка DDR4.
U-Boot
U-Boot обновлён до версии 2024.07.
Добавлено обнаружение DTB ядра по имени платы-носителя, считываемому из ID EEPROM:
Добавлен новый DTS:
arch/arm/dts/mcom03-elvmc03smarc-r1.0-smarccommoncb-r1.0.dts.В прошивальщик spi-flasher (из пакета mcom03/baremetal-tools) добавлена поддержка прошивки I2C EEPROM. В документации Buildroot добавлена глава «Прошивка ID EEPROM платы-носителя SMARC».
В документации U-Boot добавлены главы с алгоритмом выбора DTB для ядра.
Ранее U-Boot выбирал DTB ядра на основании имени модуля из DTB U-Boot. Это требовало перепрошивки SBL (в частности U-Boot DTB) при установке SMARC-модуля в платы-носители разных моделей.
При прошивке SMARC-модуля образом
sbl-xip-mcom03-elvmc03smarc-r1.0-smarccommoncb-r1.0.binDTB ядра будет определяться из ID EEPROM, установленной на плате-носителе.Добавлена поддержка прошивки eMMC через USB mass storage gadget (ums). Прошивка возможна, если контроллер USB микросхемы разведён в режиме device.
Исправлена ошибка автосогласования соединения на 100 Мбит/с для Phy dp83867 (используется на ELV-MC03-SMARC r1.1).
U-Boot добавляет в DTB ядра новое свойство с версией загрузчика
/proc/device-tree/chosen/u-boot,version. В документации U-Boot добавлена глава «Получение версии U-Boot в ОС Linux».
Linux
Добавлен механизм защиты CPU от перегрева (CPU thermal throttling):
При достижении температуры CPU 90 °C выполняется принудительное снижение частот CPU.
При достижении температуры CPU 100 °C выполняется завершение работы Linux.
В драйвере PVT mr75202 добавлена поддержка сенсоров напряжения (показания доступны в выводе утилиты sensors).
Драйвер аудиокодека es8316 (кодек установлен на ROCK Pi N10) заменён на бэкпортированный из ядра 6.x. Ранее использовался драйвер из ядра https://github.com/rockchip-linux/kernel.
Драйвер arasan-gemac: Добавлен интерфейс для чтения аппаратных счётчиков Tx/Rx утилитой ethtool.
Драйвер mfbsp-i2s: Добавлена поддержка форматов S16_LE, U16_LE, S24_LE, U24_LE, S32_LE, U32_LE.
Драйвер pwm-elvees: Исправлена ошибка отсутствия сигнала при скважности 100%.
Добавлена поддержка платы ELV-SMARC-CB r3.3.0.
mcom03_defconfig: Заменён governor CPUfreq на schedutil.
Драйвер pcie-mcom03:
В документации ядра Linux добавлена глава с описанием драйвера pcie-mcom03.
Изменён контроллер прерываний по умолчанию на MSI (встроен в PCI-контроллер). Контроллер GIC ITS был отключен в 4.19, включен при переходе на ядро 5.10. GIC ITS отключен из-за нестабильности работы.
Добавлена поддержка выбора контроллера прерываний MSI независимо для PCIe0 и PCIe1.
Buildroot
Добавлен пакет с systemd-сервисом elvees-alsa-prepare. При каждой загрузке сервис создаёт файл asound.state в зависимости от типа модуля (и, соответственно, набора аудиокарт) и версии ядра. В external-mcom03 удалён
overlay/elvees/var/lib/alsa/asound.state.Добавлен фрагмент
qemu.fragmentдля поддержки сборки и отладки rootfs в QEMU. Дистрибутив Buildroot распространяется без применения фрагмента.В документации Buildroot добавлена глава с примерами запуска rootfs в QEMU.
Во фрагменте
qt.fragmentвключена сборка PyQt5. Дистрибутив Buildroot распространяется без применения фрагмента.
Поддержка DSP ELcore-50
Добавлен пакет ELcore-50 Libraries 1.0. Пакет содержит реализации DSP функций цифровой обработки сигналов (FFT), скалярных, векторных, матричных операций. Документация библиотеки https://dist.elvees.com/mcom03/docs/elcore50-libraries/1.0.
ElcoreCL SDK обновлён до версии 1.4, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorecl/docs/1.4.
ElcoreNN SDK обновлён до версии 1.8.0, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorenn/docs/1.8.0/html.
Поддержка GPU PowerVR
Исправлена ошибка при многократной загрузке/выгрузке (rmmod/modprobe, unbind/bind) драйвера GPU pvrsrvkm.
Добавлена поддержка автоматического включения/выключения частот GPU при запуске/завершении приложений, использующих GPU.
Поддержка ISP Felix
Исправлена ошибка обрезки для IMX662 в sensorcfg/imx662/imx662.cfg: обрезалось 1081 пикселя вместо 1080.
Улучшение управления экспозицией:
изменен алгоритм вычисления автоэкспозиции: новый алгоритм более простой и учитывает влияние усиления (gain) на целевое время экспозиции;
улучшена точность вычисления экспозиции;
исправлено минимальное время экспозиции для сенсора IMX335;
выполняется пересчет автоэкспозиции, если изменилась частота мерцаний света.
Улучшен механизм устранения мерцаний света при сильном освещении и включенном автобалансе белого.
Обновлены матрицы коррекции цвета для сенсоров IMX327, IMX335, IMX415, IMX662. Новые значения были получены в результате калибровки сенсоров.
Максимальное значение усиления для non-HDR режимов увеличено с 25 дБ до 72 дБ.
Исправлены ошибки утечки памяти в драйвере.
Добавлены проверки максимальных и минимальных значений для усиления, экспозиции и фокуса.
Добавлена поддержка модулей:
ELV-MC03-SMARC r2.9.1, ELV-SMARC-CB r3.3.0;
ELV-MC03-SMARC r1.0, ELV-SMARC-CB r3.3.0;
ELV-MC03-Q7 r2.8.1, ELV-Q7-CB r1.0.0;
ELV-MC03-Q7 r2.8.1, ELV-Q7-CB r3.3.0;
ELV-MC03-SMARC r2.10.0, ELV-SMARC-CB r3.3.0;
ELV-MC03-SMARC r2.11.0, ELV-SMARC-CB r3.3.0;
Конфигурации для плат на основе ELV-MC03-SMARC переименованы в соответствии с шелкографией на модулях:
ELV-MC03-SMARC r1.0, ELV-SMARC-CB r2.10.cfg -> ELV-MC03-SMARC r1.0, ELV-SMARC-CB r2.10.3.cfg;
ELV-MC03-SMARC r2.2, ELV-SMARC-CB r2.9.cfg -> ELV-MC03-SMARC r2.2.0, ELV-SMARC-CB r2.9.1.cfg.
Добавлена поддержка новых режимов работы для сенсора IMX415:
Mode 12: 2 lanes 30 fps, rate 1782 Mbps;
Mode 13: 4 lanes 30 fps, rate 1782 Mbps.
Добавлена поддержка режима „FHD 30 fps 4 lanes“ для сенсора IMX477.
Добавлена поддержка работы сенсора IMX335 с входной частотой 37.124 МГц.
Поддержка VPU Mali
Исправлены ошибки при работе нескольких сессий кодирования/декодирования.
Документация
Документирован порядок включения/выключения доменов и частот.
В описании драйвера arasan-gemac документирована отправка теггированного трафика VLAN.
В описании Buildroot добавлена глава «Идентификатор сборки BUILD_ID».
В описании Buildroot добавлен пример скачивания файлов дистрибутива.
2024.06
Изменения совместимости
Ядро Linux данной сборки несовместимо с прошивкой QSPI0 (sbl, ddrinit, TF-A, U-Boot) предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Для корректной работы требуется очистка секции переменных окружения QSPI0. Команды очистки секции см. Переменные окружения.
Обновлены требования к пакетам хоста для сборки дистрибутива.
Обновлены команды сборки дистрибутива на базе ядра 5.10.
Основные изменения
Прекращена поддержка Linux 4.19, дистрибутив распространяется с ядром 5.10.
Buildroot обновлён с 2021.11 до 2023.05.
Добавлены бинарные драйверы GPU PowerVR.
В U-Boot добавлен драйвер управления частотами.
В ddrinit добавлены опции управления приоритетами чтения и записи портов DDR от разных мастеров.
Добавлена поддержка генерации имени хоста из заводских настроек.
Добавлена поддержка PTP IEEE 1588v2 в драйвере Linux arasan-gemac.
Добавлена поддержка модуля ELV-SMARC-CB 3.2.1.
SBL, ddrinit
ddrinit: Добавлены опции конфигурации приоритета чтения из портов контроллеров DDR (High Priority Reads, HPR). По умолчанию повышен приоритет для контроллера дисплея DP.
Отсутствие приоритета приводило к «рваному» экрану при воспроизведении видео и параллельной нагрузке на DDR со стороны других мастеров (DSP или CPU). Приоритет может переопределяться в ddrinit defconfig модуля.
Опция включения приоритета DP может понижать производительность обмена с DDR других мастеров (CPU, DSP и прочих) при выводе видео (например, при подключении HDMI-монитора).
ddrinit: Добавлены опции конфигурации установки таймаута из портов контроллеров DDR.
В ddrinit и SBL повышены частоты внутренних интерконнектов ISP, VPU, CPU.
U-Boot
Размер доступного загрузчику ОЗУ увеличен с 256 МБ до 1 ГБ.
В документации добавлена карта памяти ОЗУ, см. Карта памяти.
Добавлен драйвер управления частотами.
В defconfig включена команда clk для просмотра частот в U-Boot.
В драйвере Ethernet добавлена поддержка переключения скорости Ethernet. Ранее скорость была фиксирована 1000 Мб/с, скорости 10/100 Мб/с не поддерживались.
В драйвере Ethernet добавлена поддержка DTS-свойства «max-speed» для ограничения максимальной скорости Ethernet (10/100/1000 Мб/с).
В драйвере designware_i2c добавлена поддержка опциональной установки STOP-бита.
В драйвере designware_i2c исправлена ошибка чтения нескольких байт из устройств I2C.
В defconfig отключен драйвер NAND-контроллера и MTD, т.к. драйвер NAND не отлажен. Из документации U-Boot удалено упоминание поддержки NAND-контроллера.
Linux
mali-dp: Исправлен уровень печати в dmesg в случае некорректной настройки частоты контроллера.
mali-dp: Добавлена печать ошибок в dmesg в случае прерываний опустошения FIFO контроллера.
mali-dp: Исправлена ошибка некорректной установки коэффициентов при проигрывании видео YUV.
Добавлены DTS с поддержкой DSI-дисплеев B101UAN01.7, U101FP05.
arasan-gemac: Добавлена поддержка обращения из пространства пользователя к регистрам PHY через шину MDIO.
arasan-gemac: Добавлена поддержка PTP IEEE 1588v2.
Добавлена поддержка сброса ведомых устройств сигналом GPIO взамен выделенного сигнала PCIe PERSTn.
Исправлена ошибка обработки прерывания в драйвере CAN.
Добавлена поддержка ручного изменения частоты GPU через devfreq.
Добавлен драйвер частот PLL и UCG. Новый драйвер позволяет настраивать частоты независимо от того, как они были настроены ранее в загрузчике.
В драйвере UART добавлена поддержка отключения аппаратного управления RS-485.
В драйвере designware-i2s отключена печать сообщений в обработчике прерываний для снижения потерь аудиопакетов.
Понижена частота DSP с 432 до 405 МГц.
Добавлен драйвер dwc-pwm, драйвер реализует поддержку ШИМ на таймерах блока TIMERS. В Ядро Linux добавлена глава с описанием драйвера.
Добавлены DTS для модуля ELV-SMARC-CB 3.2.1 с установленными модулями ELV-MC03-SMARC r1.1 и r2.7. Для модуля добавлена поддержка отключения питания carrier board по команде shutdown.
Добавлена поддержка PTPv2. Добавлена статья Поддержка PTP.
В драйвере PVT mr75202 исправлена ошибка чтения показателей температуры CPU при параллельных обращениях.
Buildroot
Buildroot обновлён с 2021.11 до 2023.05. Обновлены зависимости:
GStreamer обновлён с версии 1.18 до 1.22.2.
systemd обновлён до версии 252.4.
В обновлённом systemd используется механизм Predictable Network Interface Names, изменились имена сетевых устройств eth0 -> end0 и т.п.
Добавлен фрагмент
external-mcom03/fragments/qt.fragmentдля сборки Qt 5. Дистрибутив Buildroot распространяется без применения фрагмента.Утилита BusyBox tar заменена на стандартную утилиту tar. Замена исправляет ошибку распаковки архива rootfs.tar.gz при выполнении утилиты tar2dev на таргете.
Buildroot SDK (архив тулчейнов) больше не использует ccache по умолчанию. Ранее при вызове тулчейнов безусловно выполнялись обращения в директорию
~/.buildroot-ccache.Обновлены
Dockerfile.*для использования более свежих тулчейнов хоста для сборки новой версии Buildroot.Опции Buildroot-фрагмента
linux510.fragmentперенесены вmcom03_defconfig, фрагмент удалён. Обновлены команды сборки дистрибутива.В пакет mcom03-linux-utils добавлены утилита и systemd-сервис для установки hostname таргета. Сервис включен по умолчанию, подробнее см. Имя хоста (hostname).
В mcom03_defconfig включен пакет linuxptp (используется для поддержки и демонстрации PTP), systemd-сервисы пакета ptp4l и phc2sys выключены по умолчанию.
В утилиту tar2dev добавлена опция отключения systemd-сервиса при прошивке.
Поддержка DSP ELcore-50
ElcoreCL SDK обновлён до версии 1.3, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorecl/docs/1.3.
ElcoreNN SDK обновлён до версии 1.7.0, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorenn/docs/1.7.0/html.
Поддержка GPU PowerVR
В external-mcom03 добавлены пакеты:
бинарные библиотеки mcom03-rogue-libs. Пакет собирается с поддержкой Open GL ES, Vulkan, Wayland, OpenCL.
модули ядра mcom03-rogue-modules. Пакет распространяется в исходных кодах.
В external-common добавлены пакеты:
бенчмарк OpenCL mixbench-opencl https://github.com/ekondis/mixbench
демонстрации Vulkan vulkan-demos https://github.com/SaschaWillems/Vulkan
Портирован пакет Mesa.
В пакет mcom03-linux-utils добавлен systemd-сервис mcom03-weston с демонстрацией минимальной настройки и запуска Weston, сервис выключен по умолчанию.
В mcom03_defconfig включены пакеты и опции:
все вышеперечисленные пакеты,
бенчмарк glmark2,
GStreamer-элементы поддержки OpenGL для поворота/масштабирования изображения в GStreamer на GPU.
Добавлена документация — Поддержка GPU, GPU PowerVR Graphics Series8XE (GStreamer-плагины).
Поддержка ISP Felix
Всем утилитам поддержки ISP добавлен префикс felix-. Обновлены примеры документации.
Поддержка VPU Mali
В GStreamer-плагин gst-omx добавлен элемент декодирования JPEG (без dmabuf) omxmjpegdec. В документацию добавлены примеры вызова элемента.
В плагин добавлены и документированы свойства max-qp, min-qp для режима CBR.
Документация
В Ядро Linux добавлены главы с описанием драйверов arasan-gemac, mfbsp-can.
Buildroot:
Добавлены примеры настроек приложения minicom при работе с терминалом устройств.
Добавлен пример команды прошивки eMMC по SSH.
2023.10
Изменения совместимости
Ядро Linux данной сборки несовместимо с прошивкой QSPI0 (sbl, ddrinit, TF-A, U-Boot) предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Для корректной работы требуется очистка секции переменных окружения QSPI0. Команды очистки секции см. Переменные окружения.
Данный релиз является последним с поддержкой ядра 4.19. Будущие релизы будут базироваться на ядре 5.10.
Основные изменения
Buildroot распространяется с ядром Linux 5.10 и 4.19.
В ядро 5.10 добавлена поддержка комплекта ELV-SMARC-CB 2.10.3 с установленным модулем ELV-MC03-SMARC r1.1.
U-Boot обновлён до v2023.04.
В U-Boot добавлена поддержка чтения заводских настроек из eMMC. В случае обнаружения и успешного чтения настроек U-Boot переводит раздел eMMC boot0 в стандартный режим Power-On write protect.
Добавлена опциональная поддержка загрузки по UEFI (для ядра 5.10). В артефакты сборки Buildroot добавлены образы GRUB и утилита
tar2dev-uefi.Тулчейн MIPS RISC0 GCC обновлён до версии r193114_10.2023-04-05.
Изменены скрипты сборки компонентов SBL, удалены фрагменты Buildroot поддержки модулей, сборка всех образов SPI модулей выполняется за один вызов Buildroot.
SBL, ddrinit
Компонент SBL переименован в SBL-XIP. В репозиторий добавлен компонент SBL-S1 для начальной поддержки загрузки через BootROM. Код SBL-S1 является экспериментальным.
Обновлены скрипты сборки SBL (подробнее см. в основных изменениях релиза).
ddrinit: Сокращено время инициализации DDR с ~900 мс на контроллер до ~30 мс.
U-Boot
Обновлён U-Boot до v2023.04.
Файлы
*_defconfigподдержки модулей заменены единым файломmcom03_defconfig.Добавлена опциональная поддержка загрузки приложений UEFI, см. Загрузка ядра Linux.
Добавлена поддержка чтения заводских настроек из eMMC, см. Заводские настройки.
TF-A
Добавлен SiP-вызов для поддержки команды shutdown.
Linux
Изменения в ядре 5.10:
Добавлена поддержка ELV-SMARC-CB r2.10.3 с установленным ELV-MC03-SMARC r1.1, поддерживаемые интерфейсы модуля перечислены в Ядро Linux.
Исправлены ошибки сборки и работы ядра для стандартной конфигурации ядра ALT Linux std-def (исправлены драйверы QSPI, USB, I2C).
Повышена частота SD-карт в режиме HS с 31.25 МГц до 46.875 МГц.
Добавлена поддержка PCIe legacy interrupts.
В mcom03_defconfig включена поддержка EFI STUB и EFI DEBUG.
В DTS добавлены alias для установки имени устройства eMMC /dev/mmc0 в случае, если микросхема eMMC подключена к SDMMC1 (подробнее см. Заводские настройки).
Добавлено управление питанием приёмо-передатчиков PHY CAN (при отключенном интерфейсе can ядро будет отключать питание PHY).
Добавлена поддержка управления частотой devfreq в драйверах ISP, VPU.
В драйвере mfbsp-i2s добавлена поддержка режима мастера.
Драйвер drm_mcom03 разделён на два драйвера энкодеров mcom03-dsi и mcom03-dpi.
Разделение позволяет динамически переключать вывод между DSI и параллельным выходом, при условии одновременного подключения двух видеовыходов.
Многочисленные обновления в драйвере mali-dp для поддержки DSI.
Добавлен драйвер irq-elvees-qlic контроллеров QLIC0, QLIC1. Драйвер перенесён из репозитория модуля ядра DSP.
В два раза увеличены частоты коммутаторов TOP и DDR для портов DSP.
Исправлены ошибки установки частоты в подсистеме devfreq.
Buildroot
Добавлен пакет
external-mcom03/package/mcom03-baremetal-toolsдля сборки демонстрационных baremetal-приложений для RISC0 и ARM. Собранные образы доступны в директорииbuildroot/output/images/baremetal-tools.Включен пакет GRUB2, добавлена утилита tar2dev-uefi, см. Загрузка ОС по UEFI.
Изменены скрипты сборки SBL (SBL-XIP, ddrinit, TF-A, U-Boot).
Было:
U-Boot: U-Boot содержал множественные <board>_defconfig (например,
configs/elvmc03q7-elvq7cb_defconfig). Файлы конфигурации отличались именем файла DTB прикрепляемого к образу U-Boot.Для сборки образов нескольких модулей требовалось многократно вызывать сборку U-Boot.
SBL: Скрипты сборки SBL собирали sbl-*.bin из образов SBL, ddrinit, TF-A, U-Boot (включая DTB).
Для сборки образов нескольких модулей требовалось многократно вызывать сборку SBL.
Buildroot: Buildroot содержал множественные фрагменты поддержки модулей (
external-mcom03/fragments/*.fragments).Для сборки образов нескольких модулей требовалось многократно вызывать сборку Buildroot.
Стало:
U-Boot: содержит единый файл конфигурации mcom03_defconfig (удалены 10 файлов конфигурации). При сборке U-Boot собирается один образ U-Boot и множественные DTB модулей. При исполнении U-Boot считывает DTB с фиксированного адреса.
SBL: Скрипты сборки принимают конфигурационный файл со списком списков «образ ddrinit, образ U-Boot DTB», итерируют по списку, собирают образы sbl-xip-*.bin.
При исполнении SBL-XIP загружает DTB по фиксированному адресу (перед запуском U-Boot).
Сборка образов sbl-xip-*.bin выполняется за один вызов сборки SBL.
Buildroot: Удалены фрагменты поддержки плат (например,
external-mcom03/fragments/rockpi.fragment). Добавлен конфигурационный файл SBLboard/elvees/ddrinit-dtb-map.txt(путь до файла указывается в defconfig-опцииBR2_MCOM03_DDRINIT_DTB_MAP).Не требуется применять фрагмент платы. Сборка образов sbl-xip-*.bin выполняется за один вызов сборки Buildroot.
Поддержка DSP ELcore-50
ElcoreCL SDK обновлён до версии 1.2, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorecl/docs/1.2/html.
ElcoreNN SDK обновлён до версии 1.6.0, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorenn/docs/1.6.0/html.
В Buildroot добавлен пакет
external-elcore50/toolchain/binutils-elcore50c приложениями для работы с объектным кодом DSP (readelf, size, strip, objdump и т.п). Приложения собираются и устанавливаются под целевую платформу, приложения доступны на отладочном модуле по имени с префиксом elcore32-elvees-elf.
Поддержка ISP Felix
Для поддержки разных версий ядер выпускаются разные бинарные файлы поддержки ISP.
Добавлена поддержка сенсоров Sony IMX140, IMX327, IMX335, IMX415, IMX662 и GalaxyCore GC5035, GC8034.
Документация
В документации на Linux обновлено описание поддерживаемых модулей и интерфейсов, добавлено описание драйвера irq-elvees-qlic.
В документации на U-Boot добавлено описание поддержки заводских настроек, загрузки по UEFI.
В описании плагинов GStreamer уточнены команды запуска приёма видео с видеосенсора.
2023.03
Изменения совместимости
Ядро Linux данной сборки несовместимо с прошивкой QSPI0 (sbl, ddrinit, TF-A, U-Boot) предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Для корректной работы требуется очистка секции переменных окружения QSPI0. Команды очистки секции см. Переменные окружения.
Основные изменения
Добавлена поддержка контроллеров CAN, MFBSP0 I2S, PWM, QSPI1.
Добавлена поддержка CPUFreq для CPU и devfreq для DSP.
Добавлена поддержка линейного выхода аудио и микрофона на ROCK Pi N10 и SMARC-CB.
Добавлена поддержка HDMI-аудио на ROCK Pi N10 и SMARC-CB.
U-Boot обновлён до версии 2022.10.
Добавлена поддержка сборки в Ubuntu 2022.04 (файл
Dockerfile.ubuntujammy).Выпускаемые исходные коды переведены на сборку в среде
Dockerfile.centos8stream.Важно
Dockerfile.centos7оставлен для совместимости, будет удалён в будущих выпусках.Добавлен фрагмент
external-mcom03/fragments/linux510.fragmentс начальной поддержкой ядра 5.10. В ядре поддержаны интерфейсы модулей ELV-MC03-SMARC, ROCK Pi N10, ELV-SMARC-CB поддержанные в 4.19 за исключением компонентов поддержки ввода видео GStreamer Felix ISP.Важно
Данные примечания к выпуску описывают изменения в Buildroot c ядром 4.19. Следующие выпуски Buildroot будут базироваться на ядре 5.10. Поддержка ядра 4.19 в будущих выпусках будет прекращена.
U-Boot
U-Boot обновлён до версии 2022.10.
Изменено смещение переменных окружения c 0x100000 на 0xFE0000.
Добавлен скрипт
tools/mcom03-fw-update.shдля обновления прошивки SPI из Linux устройства.Добавлен и включен драйвер mcom03-wdt с реализацией сброса WDT0 через SiP-вызовы TF-A.
Добавлена поддержка USB 3.0 (ранее поддерживался только USB 2.0).
TF-A
Добавлен SiP-сервис (Silicon Provider) для обработки запросов по управлению WDT0.
Linux
Добавлена поддержка контроллеров CAN0, CAN1 (драйвер mfbsp-can).
Добавлена поддержка контроллеров MFBSP0 I2S.
Исправлена поддержка контроллера UART3.
Добавлена поддержка контроллера PWM (драйвер pwm-mcom).
Ограничен размер буфера контроллера SPI0 для обхода ошибки переполнения буфера.
Добавлен и включен драйвер mcom03-wdt с реализацией сброса WDT0 через SiP-вызовы TF-A.
Добавлено описание пинов MFBSP0, MFBSP1 в режиме GPIO.
Добавлена поддержка выбора источника частоты USB Phy с внутренней PLL.
Добавлен драйвер CPUFreq (по умолчанию включен Ondemand governor).
Добавлена поддержка полудуплексного режима Ethernet.
Драйверы pinctrl:
Добавлена поддержка управления падами NAND, QSPI1.
Добавлено отключение падов параллельного порта DP при выводе на DSI.
Поддержка DSP:
Понижена частота DSP с 459 МГЦ до 432 МГц для повышения стабильности работы стресс-тестов.
Добавлена поддержка управления частотой DSP devfreq (по умолчанию включен performance governor).
Buildroot
external-mcom03:Включена сборка пакетов поддержки CAN, ethtool, утилиты mcom03-fw-update.sh.
В overlay добавлен файл конфигурации ALSA для ROCK Pi N10.
В
/etc/os-releaseдобавлен UUID CI-сборки.Исправлена ошибка компиляции Qt5.
Файл
images/output/sbl.binперенесён вimages/output/sbl/sbl.bin.
Поддержка VPU Mali
В GStreamer-плагине
gst-omxисправлены ошибки.
Поддержка DSP ELcore-50
ElcoreCL SDK обновлён до версии 1.1, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorecl/docs/1.1/html.
ElcoreNN SDK обновлён до версии 1.4.0, см. «Примечания к выпуску» в документации https://dist.elvees.com/elcorenn/docs/1.4.0/html.
В Buildroot переименованы пакеты поддержки DSP:
external-elcore50/package/velcore3-driverвexternal-elcore50/package/elcore50-km.
см. также «Поддержка DSP» в главе с описанием изменений в ядре Linux.
Поддержка ISP Felix
Добавлена поддержка IMX219 на ROCK Pi N10.
Обновлены команды примеров запуска приёма видео.
Поддержка ROCK Pi N10
Включен режим High Speed для SD-карты (частота шины ~31 МГц).
Добавлена поддержка аудио на HDMI.
Добавлена поддержка линейного выхода аудио и микрофона.
Поддержка ELV-SMARC-CB
Добавлена поддержка аудио на HDMI.
Добавлена поддержка линейных входа, выхода аудио и микрофона.
Добавлена поддержка CAN0, CAN1.
Добавлено управление вентилятором (контроллер EMC2303) в зависимости от температуры MCom-03.
Добавлена поддержка DSI-дисплея RPi.
Документация
В описании U-Boot добавлены инструкции по сбросу и очистке переменных окружения.
Обновлены поддерживаемые интерфейсы в описании ядра Linux.
Добавлена инструкция по сборке Buildroot с ядром 5.10.
Добавлена глава с описанием тулчейнов Buildroot.
2022.09
Важно
Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Основные изменения
Добавлена поддержка DDR High — увеличен объем доступной памяти ОЗУ в Linux (до 7.5 ГБ на модулях ELV-MC03-SMARC):
Обновлены компоненты sbl, ddrinit, TF-A, U-Boot, Linux.
Тулчейн
toolchain-mipsel-elvees-elf32MIPS RISC0 обновлен до версии r184962_6.2022-05-17 (GCC 11.2.0).Обновлен скрипт
external-mcom03/contrib/mcom03-boot.mdbдля загрузки образов TF-A и U-Boot в DDR High.Пример распределения памяти ОЗУ ELV-MC03-SMARC (установлено 8 ГБ DDR):
0.5 ГБ для DDR Low RISC0 (например, ПО доверенной загрузки, по 0.25 ГБ на DDR-контроллер).
1 ГБ зарезервирован для корректной работы драйверов выполняющих atomic allocation. Резервирование выполнено в файле
/etc/sysctl.d/vm-min-free-kbytes.confrootfs.Объём памяти для пользовательских приложений ~6 ГБ (поле
availableкомандыfree).
Добавлена поддержка программной перезагрузки в Linux (команда
reboot). Подробнее см. Поддержка Watchdog.GStreamer-плагины в бинарном виде Felix ISP добавлены в основную сборку Buildroot.
Добавлен пакет ElcoreNN SDK — набор средств разработки для запуска нейросетей на DSP.
Добавлена поддержка переменных окружения QSPI0 U-Boot в ОС Linux.
Добавлена поддержка модулей:
ELV-SMARC-CB r1.0 с установленным модулем ELV-MC03-SMARC r1.1.
ELV-MC03-CB r1.1.0 с установленным модулем ELV-MC03 r2.0.
Обновлена документация:
Buildroot — добавлены главы по прошивке eMMC, обзору загрузки ОС, запуску ОС на ROCK Pi N10.
Ядро Linux — добавлены главы с описанием поддерживаемых интерфейсов модулей.
ddrinit
Добавлена поддержка VMMU RISC0.
Добавлена поддержка DDR High.
Добавлена начальная поддержка загрузки в режиме BootROM.
U-Boot
Добавлена поддержка режима Quad в драйвере Silvaco QSPI.
Добавлена установка переменных окружения при первичной загрузке модуля (если область переменных в QSPI0 была пустая).
Исправлено зависание при чтении с QSPI.
Добавлена поддержка I2C в U-Boot (по умолчанию I2C включен для модуля MCom-03 BuB).
TF-A
Добавлена поддержка BL32.
Добавлена поддержка отключения CPU в PSCI.
Linux
Добавлена поддержка загрузки Linux с использованием DDR High-диапазона (обновлены драйверы PCIe, Ethernet, SDMMC, USB).
Добавлена поддержка Ethernet multicast.
Добавлена поддержка Ethernet 10 Mbit/s.
Добавлена поддержка DSI-дисплеев B101UAN01.7, U101FP05.
Добавлена поддержка DesignWare SPI0.
Добавлен драйвер Silvaco QSPI в Linux (QSPI0).
Исправлен неправильный clk_rate для VPU в драйвере частот.
Отключен вывод видео на параллельный порт при выводе на DSI-дисплей.
Buildroot
Добавлены утилиты чтения/установки переменных окружения U-Boot в Linux
fw_printenv,fw_setenv(Buildroot пакетuboot-tools).Пакет
wgetзаменён с версии BusyBox на стандартный (доступен расширенный набор опций утилиты).Добавлен бенчмарк
f3(Fight Flash Fraud) — набор утилит для тестирования Flash-накопителей.Включена сборка пакета
collectd(сервис сбора статистики о системе). systemd-сервис выключен по умолчанию.Включена сборка пакетов поддержки SATA, IIO, NFC, NMEA —
smartmontools,libiio,libnfc,gpsd.
Поддержка VPU Mali
В GStreamer-плагине
gst-omxреализована поддержка поворота изображения на 90°, 180°, 270° при кодировании.В GStreamer-плагине
gst-omxдобавлена поддержка отражения входных кадров при кодировании.Добавлена поддержка параметра
qfactorдля элементаomxmjpegencGStreamer-плагинаgst-omx.Обновлена документация плагинов (см. Поддержка аппаратных блоков в GStreamer).
Поддержка DSP ELcore-50
Обновлен тулчейн DSP ELcore-50 до версии r1613_806_2022.07.19.
В Buildroot интегрирован ElcoreNN SDK 1.3.1 — набор средств разработки для запуска нейросетей на DSP:
Включены Buildroot-пакеты
elcorenn,elcorenn-examples.Опубликована документация ElcoreNN SDK.
Библиотека ElcoreCL и драйверы ELcore-50 обновлены до версии 1.0:
Опубликована документация ELcore-50 SDK:
Разработаны инструкции по запуску hello-world на DSP в Buildroot (Buildroot-пакет
elcorecl-examples), профилированию, управления задачами DSP. Добавлено описание утилит elcorectl, elcorecl-run.Включены Buildroot-пакет профилирования драйвера elcore50 (
python-elcorecl).Добавлена поддержка профилирования gprof DSP-приложений.
Обновлен механизм сборки DSP-приложений в ElcoreCL:
cmake-модуль ElcoreProject был удален из субмодуля lib/cmake и перенесен в пакет библиотеки ElcoreCL.
cmake-макрос
elcoreproject_add()теперь доступен после подключения библиотеки ElcoreCL черезfind_package().
Исправлены исключения по чтению и записи на вершине стека при использовании «круглых» адресов.
Исправлены утечки памяти в драйвере DSP при запуске приложений с использованием elcorecl-run.
Оптимизирован драйвер QLIC — уменьшено количество обращений к регистрам QLIC в обработчике прерывания.
Поддержка ISP Felix
Компоненты поддержки Felix ISP перенесены в основную сборку Buildroot.
Добавлена поддержка библиотеки
gpiodдля управления питанием и сбросами сенсоров.Добавлено автоопределение конфигурации сенсоров OV2718 в зависимости от ревизии сенсоров.
Поддержка ELV-SMARC-CB
Добавлена поддержка сборки Buildroot для ELV-MC03-SMARC r1.0 в составе ELV-SMARC-CB r1.0 (фрагмент
elvsmarccb.fragment). Подробнее см. Ядро Linux.
Поддержка ELV-MC03-CB
Добавлена поддержка сборки Buildroot для ELV-MC03 r2.0 в составе ELV-MC03-CB r1.1.0 (фрагмент
elvmc03cb.fragment).
Поддержка NGFW-CB
Добавлена поддержка GPIO-расширителя TCA6416ARTWR.
Добавлена поддержка интерфейса 1-Wire на DS2482.
В Buildroot включен пакет с прошивками для работы Wi-Fi модулей на основе Atheros QCA6174.
В Linux-драйвере
lan743xисправлена автозагрузка при работе с устройствами на основе Microchip LAN743x PCI Express Gigabit Ethernet.Исправлены ошибки при работе uSD-карты (SDMMC1).
Поддержка EGW-CB
Добавлена поддержка сборки Buildroot для EGW-PM r1.0 в составе EGW-CB r1.1 (фрагмент
egwcb.fragment).Добавлена поддержка GPIO-расширителя MCP23017.
Добавлена поддержка модуля Lora RAK2287.
Добавлена поддержка модуля Wi-Fi SparkLAN WNFQ-261ACNI(BT).
Поддержка сенсоров температуры LM73.
Добавлена поддержка Micro Crystal RV-8803 RTC.
2022.06
Важно
Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI-флеш и eMMC/SD-карты модуля.
Исправлена настройка частот в SBL, ddrinit. Некорректная настройка приводила к зависаниям при параллельной работе нескольких ведущих на шине AXI.
Тулчейн Codescape MIPS заменён на тулчейн MIPS от АО НПЦ ЭЛВИС (рецепт сборки для тулчейна см. директории
external-mcom03). Тулчейн от ЭЛВИС реализует обходы аппаратных ошибок RISC0. ОбновлёнDockerfile.ubuntufocalдля поддержки тулчейна.Добавлен архив с тулчейнами (aka Buildroot SDK), см. файл
images/aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz.ddrinit портирован с ARM CPU на MIPS RISC0. Время инициализации DDR увеличилось до 1 с. ddrinit может быть оптимизирован в будущих версиях.
TF-A обновлён до версии 2.6.
В GStreamer-плагинах добавлена поддержка кодирования и декодирования H.265, кодирования MJPEG.
В U-Boot в драйвере NAND-контроллера отключена поддержка подстраниц (subpage) — контроллер не поддерживает подстраницы.
Поддержка ISP Felix:
Добавлена сборка с GStreamer-компонентами gst-felix для поддержки Felix ISP. Примеры запуска видеосенсора OV5647 на ROCK Pi N10 с установленным модулем ELV-MC03-SMARC r1.1 см. ISP Felix v2505.
В драйвере ISP поддержано отключение частот при отключенном приёме видео.
Компоненты поддержки Felix ISP доступны в сборке rockpi-private и будут перенесены в основную сборку rockpi в будущих версиях.