<<<<<<< HEAD
Перейти к основному содержимому

Версия 5.9

⤓ Скачать Baikal ARM64 SDK 5.9

Baikal ARM64 SDK 5.9 Release Notes

Baikal ARM64 SDK 5.9 содержит следующее программное обеспечение:

  1. Trusted Firmware-A (TF-A) v2.8, лицензия BSD.
    =======

    Версия 5.9

    ⤓ Скачать Baikal ARM64 SDK 5.9

    Baikal ARM64 SDK 5.9 Release Notes

    Baikal ARM64 SDK 5.9 содержит следующее программное обеспечение:

    1. Trusted Firmware-A (TF-A) v2.8, лицензия BSD.
      >>>>>>> 34205a3fd08364bacb7d90bfeb34626c67b8d413 https://github.com/ARM-software/arm-trusted-firmware

      Не реализована цепочка доверия - Chain of Trust.

      Baikal-M
      Инициализация DDR-контроллера реализована в TF-A.

      Baikal-S
      Инициализация DDR-контроллера реализована в TF-A.

    2. TianoCore UEFI (EDK II) edk2-stable202302, лицензия BSD.
      https://github.com/tianocore/tianocore.github.io/wiki

      Baikal-M
      Поддерживается загрузка Linux с SATA, NVMe, USB, SPI Flash, Gigabit Ethernet, DVD-ROM, SD card, eMMC. Есть видеоконсоль HDMI/LVDS и USB-мышь/клавиатура, а также последовательная консоль на UART0. Имеется поддержка 3 x PCIe RC.

      Примечание

      Последовательная консоль в UEFI в релизной сборке отключена. При необходимости использование последовательной консоли необходимо пересобрать образ прошивки с опцией

      -ud/--uefi-debug

      Baikal-S
      Поддерживается загрузка Linux с USB и SPI Flash. Есть USB-мышь/клавиатура, последовательная консоль на UART0 (включена как в релизной сборке, так и в отладочной).

    3. Linux kernel 5.4.231.
      https://www.kernel.org/

      Baikal-M
      Поддержка плат c Baikal-M:

      • DBM (Cortex-A57 1500 MHz, DDR4-1600, объём RAM до 64 GB)

      • MBM 1.0 / 2.0 (Cortex-A57 1500 MHz, DDR4-2400, объём RAM до 64 GB)

         2 x PCIe x4 (Gen3)
        1 x PCIe x8 (Gen3)
        2 x SATA 6G
        2 x Gigabit Ethernet (RGMII) (Поддержка XDP sockets)
        2 x 10 Gigabit Ethernet (10GBase-KR/KX4)
        4 x USB2.0
        2 x USB3.0/2.0
        Mali T628 (midgard/panfrost) 750 MHz
        VDU/HDMI 2560x1440@60Hz, экспериментальный режим 3840x2160@27Hz
        VDU/LVDS 2560x1440@60Hz
        LVDS+HDMI одновременно, только panfrost: макс. 1920x1080@60 на каждом экране
        HDMI audio
        Video Decoder
        I2S
        HDA
        1 x SPI
        1 x eSPI
        2 x UART
        2 x I²C
        2 x SMBus
        1 x GPIO32
        eMMC/SD/SDIO
        DW Timers
        PVT
        CoreSight (Debug)

        cpufreq - Динамическое управление частотой ядер A57 и Mali T628.
        Поддержка включения/выключения ядер/кластеров Cortex-A57.
        PMU - Performance Monitor Unit.
        Поддержка виртуализации KVM + QEMU.

      Baikal-S

      Поддержка плат c Baikal-S:

      • DBS (Cortex-A75 2000 MHz, DDR4-3200, объём RAM до 768 GB)

         1 x QSPI
        2 x ARM UART PL011
        4 x DW Timers
        USB2.0
        Watchdog
        1 x GPIO32
        1 x GPIO16
        2 x GPIO8
        3 x I²C/SMBus
        2 x Gigabit Ethernet (RGMII)
        PCIe RC x16 / x8 / x4
        PCIe EP x16 / x8
        PVT
        MUX
        1 x DW UART (MUX)
        2 x I²C/SMBus (MUX)
        1 x eSPI (MUX)
        1 x QSPI (MUX)

        cpufreq - Динамическое управление частотой ядер A75.
        Поддержка виртуализации KVM + QEMU.
        PMU - Performance Monitor Unit.

        Поддержка следующих интерфейсов еще не добавлена в ядро Линукс:
        3 x PCIe CCIX x16
        CoreSight
    4. Baikal-M: Бинарные библиотеки OpenGL и OpenCL c поддержкой Wayland/Weston:

      • OpenGL ES 1.1, 2.0, 3.0.
      • OpenCL 1.1.
    5. Baikal-M: Набор патчей c поддержкой Mali T628 для Mesa 20.2.

    6. Baikal-M: Бинарная библиотека OpenMAX IL и GStreamer-плагин для работы с видеодекодером. Поддерживаемые кодеки:

      VP8
      VP6
      Sorenson Spark (реализация стандарта Н.263)
      AVS
      MPEG4
      MPEG2
      MPEG1
      WMV9
      VC1
      H264
      HEVC (H265)
    7. rootfs на базе Busybox.
      https://www.busybox.net/source.html

    8. Toolchain на основе gcc 12.1 / binutils 2.35
      https://gcc.gnu.org/

    9. Возможность отладки с использованием OpenOCD / Olimex ARM-USB-OCD-H.

    10. Поддерживается возможность использования профилировщика OProfile 1.4.0.

    11. Есть возможность запуска rootfs Debian 11. В состав SDK не входит, поставляется отдельным архивом.

    12. Библиотека SIMDe для запуска ISA расширений из других архитектур на ARM64.

    13. Поддерживается возможность применить RT Linux патч на ядро Linux 5.4.

    14. ACPICA версии 20221020 (iASL, tools).

    15. Библиотека OpenCSD, использующая возможности CoreSight для трассировки событий посредством утилиты ядра perf.

    Примечание

    Файлы образов прошивок из директории prebuilts совместимы со старыми версиями утилиты flashrom (<= 0.9.x) Если необходимо использовать более новые версии flashrom, следует расширить файл образа до размера микросхемы флеш-памяти (32 Мб). Это можно сделать при помощи ключа

    -bt/--build-padding 

    или вручную соответствующими командами ОС Linux (например, truncate).

    Changelog (5.8 → 5.9)

    1. SDK (основное дерево SDK)

      • BE-M1000: обновлена прошивка SCP до версии 6.1.

      • ACPICA обновлена до версии 20221020.

      • OpenOCD обновлена до версии 0.11.0, добавлена поддержка отладки BE-S1000.

      • Добавлены исходные тексты библиотеки OpenCSD.

      • Исправлены мелкие ошибки в скриптах сборки и вспомогательных файлах.

        Изменённые файлы:

        prebuilts/bm1000-scp.bin
        src/acpica/*
        src/openocd/*
        tools/build-boot-img.sh
        VERSION

        Добавленые файлы:

        prebuilts/bs1000-ddr-trainfware.bin
        src/opencsd/*
    2. ARM Trusted Firmware (TF-A)

      • BE-S1000: добавлена процедура инициализации DDR-контроллера, теперь подсистема DDR инициализируется TF-A, а не SCP Firmware.

      • Исправлены мелкие ошибки в процедурах инициализации и драйверах различных подсистем.

        Изменённые файлы:

        plat/baikal/bm1000/bm1000_bl1_setup.c
        plat/baikal/bm1000/bm1000_mmavlsp.c
        plat/baikal/bm1000/bm1000_mmpcie.c
        plat/baikal/bm1000/bm1000_mmusb.c
        plat/baikal/bm1000/bm1000_mmvdec.c
        plat/baikal/bm1000/bm1000_mmxgbe.c
        plat/baikal/bm1000/bm1000_sip_svc.c
        plat/baikal/bm1000/bm1000_splash.c
        plat/baikal/bm1000/bm1000_vdu.h
        plat/baikal/bm1000/drivers/bm1000_cmu.c
        plat/baikal/bm1000/drivers/bm1000_cmu.h
        plat/baikal/bm1000/drivers/bm1000_scp.c
        plat/baikal/bm1000/drivers/bm1000_smmu.c
        plat/baikal/bm1000/drivers/bm1000_smmu.h
        plat/baikal/bm1000/drivers/ddr/ddr_lcru.h
        plat/baikal/bm1000/include/bm1000_def.h
        plat/baikal/bs1000/bs1000_bl1_setup.c
        plat/baikal/bs1000/bs1000_bl31_setup.c
        plat/baikal/bs1000/drivers/bs1000_cmu.c
        plat/baikal/bs1000/drivers/bs1000_cmu.h
        plat/baikal/bs1000/drivers/bs1000_scp.c
        plat/baikal/bs1000/include/bs1000_def.h
        plat/baikal/bs1000/include/platform_def.h
        plat/baikal/bs1000/platform.mk

        Добавленные файлы:

        plat/baikal/bs1000/bs1000_dt.c
        plat/baikal/bs1000/drivers/ddr/*
    3. UEFI

      • UEFI обновлён до edk2-stable202302.

      • BE-M1000: улучшена поддержка HDMI - теперь вывод на экран работает корректно, даже если HDMI-монитор подключается уже после загрузки UEFI.

      • Исправлены мелкие ошибки в драйверах различных подсистем.

        Изменения файлов без учёта изменений из upstream:

        Изменённые файлы:

        Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Dbg2.c
        Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Spcr.c
        Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/SsdtPcieCustom.asl
        Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dbg2.c
        Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.asl
        Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Spcr.c
        Platform/Baikal/Drivers/FdtClientDxe/FdtClientDxe.c
        Platform/Baikal/Drivers/GmacDxe/Gmac.c
        Platform/Baikal/Drivers/GmacDxe/Gmac.c
        Platform/Baikal/Library/BaikalVduLib/BaikalVduLib.inf
        Platform/Baikal/Library/BaikalVduLib/BaikalVduPlatform.c
        Silicon/Baikal/BM1000/Drivers/NonDiscoverableAhciDxe/NonDiscoverableAhci.c
        Silicon/Baikal/BM1000/Drivers/NonDiscoverableAhciDxe/NonDiscoverableAhciDxe.inf
        Silicon/Baikal/BM1000/Drivers/NonDiscoverableXhciDxe/NonDiscoverableXhci.c
        Silicon/Baikal/BM1000/Drivers/NonDiscoverableXhciDxe/NonDiscoverableXhciDxe.inf
        Silicon/Baikal/BM1000/Drivers/NonDiscoverableXhciDxe/NonDiscoverableXhciDxe.inf
        Silicon/Baikal/Library/DwI2cLib/DwI2cLib.c
    4. Kernel (Linux kernel 5.4.231)

      • Слияние с kernel.org 5.4.231 (поддерживается Linux RT Patch 5.4.230-rt80, который распространяется отдельно от SDK).
      • BE-M1000: драйвер VDU обновлён до версии 2.0:
        • для плат с HDMI и LVDS теперь вместо двух DRM-устройств (каждое с одним видеовыходом) в системе определяется одно (с двумя видеовыходами);
        • прерывания используются только для отслеживания ошибок;
        • за счёт изменения способа управления DMA улучшена стабильность работы;
        • параметр drm.vblankoffdelay=0 теперь не нужно указывать в командной строке ядра для нормальной работы драйвера;
        • параметрами baikal_vdu_drm.hdmi_off=1 и baikal_vdu_drm.lvds_off=1 можно полностью отключать HDMI VDU либо LVDS VDU соответственно (например, если по каким-то причинам нет возможности отключить поддержку HDMI или LVDS в дереве устройств).
      • Драйвер PCI Express: теперь по умолчанию выполняется дополнительная подстройка для режима Gen3 (BE-M1000), её можно отключить опцией pcie-baikal.notune=1.
      • В конфигурации ядра включена поддержка BPF.
      • Изменения файлов без учёта изменений из kernel.org:

        Изменённые файлы:

        arch/arm64/boot/dts/baikal/bm1000-dbm.dtsi
        arch/arm64/boot/dts/baikal/bm1000.dtsi
        arch/arm64/boot/dts/baikal/bm1000-mbm20.dts
        arch/arm64/boot/dts/baikal/bm1000-mbm.dtsi
        arch/arm64/boot/dts/baikal/bm1000-qemu-m.dts
        arch/arm64/boot/dts/baikal/bs1000-dbs.dts
        arch/arm64/boot/dts/baikal/bs1000-dbs.dtsi
        arch/arm64/boot/dts/baikal/bs1000-dbs-ov.dts
        arch/arm64/boot/dts/baikal/bs1000.dtsi
        arch/arm64/boot/dts/baikal/bs1000-qemu-s.dts
        arch/arm64/boot/dts/baikal/Makefile
        arch/arm64/configs/baikal_defconfig
        drivers/clk/baikal/clk-bm1000.c
        drivers/clk/baikal/clk-bs1000.c
        drivers/gpu/drm/baikal/baikal_vdu_crtc.c
        drivers/gpu/drm/baikal/baikal_vdu_debugfs.c
        drivers/gpu/drm/baikal/baikal_vdu_drm.h
        drivers/gpu/drm/baikal/baikal_vdu_drv.c
        drivers/gpu/drm/baikal/baikal_vdu_panel.c
        drivers/gpu/drm/baikal/baikal_vdu_plane.c
        drivers/gpu/drm/baikal/baikal_vdu_regs.h
        drivers/gpu/drm/baikal/Makefile
        drivers/mux/baikal.c
        drivers/pci/controller/dwc/Kconfig
        drivers/pci/controller/dwc/Makefile
        drivers/pci/controller/dwc/pcie-baikal-acpi.c
        drivers/pci/controller/dwc/pcie-baikal-bs1000.c
        drivers/pci/controller/dwc/pcie-baikal-tune.c
        drivers/phy/baikal/baikal-usb-phy.c
        drivers/gpu/drm/baikal/baikal_vdu_connector.c переименован,
        новое имя drivers/gpu/drm/baikal/baikal_vdu_backlight.c
        drivers/pci/controller/dwc/pcie-baikal.c переименован,
        новое имя drivers/pci/controller/dwc/pcie-baikal-core.c

        Добавленные файлы:

        arch/arm64/boot/dts/baikal/bs1000-dbs-mezzanine-espi.dtsi
        arch/arm64/boot/dts/baikal/bs1000-dbs-mezzanine-qspi2.dtsi
        drivers/gpu/drm/baikal/baikal_vdu_panel.c
        drivers/pci/controller/dwc/pcie-baikal.h
        drivers/pci/controller/dwc/pcie-baikal-tune.c

        Удалённые файлы:

        arch/arm64/configs/baikal_defconfig_debug
        drivers/pci/controller/dwc/pcie-baikal-bs1000.c
    5. Initrd (Baikal Embedded Linux)

      • Небольшие исправления в fstab.

        Изменённые файлы:

        static/baikal/etc/fstab
    <<<<<<< HEAD ======= >>>>>>> 34205a3fd08364bacb7d90bfeb34626c67b8d413