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

Версия 5.8

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

Baikal ARM64 SDK 5.8 Release Notes

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

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

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

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

    Baikal-S
    Инициализацию DDR-контроллера выполняет SCP.

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

    Baikal-M
    Поддерживается загрузка Linux с SATA, NVMe, USB, SPI Flash, Gigabit Ethernet, DVD-ROM, SD card. Есть видеоконсоль 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.227. 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 версии 20220331 (iASL, tools).

Примечание

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

-bt/--build-padding 

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

Changelog (5.7 → 5.8)

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

    • Baikal BE-M1000: обновлена прошивка SCP до версии 6.0.
    • Добавлена поддержка платы DBS-OV.
    • Исправлены мелкие ошибки в скриптах сборки и вспомогательных файлах.

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

     prebuilts/bm1000-scp.bin
    src/vdec/Makefile
    tools/build-boot-img.sh
    xtools/aarch64-unknown-linux-gnu/README
    VERSION
  2. ARM Trusted Firmware (TF-A)

    • TF-A обновлён до версии 2.8.
    • Усовершенствованы процедуры инициализации A57/A75, DDR.
    • Исправлены мелкие ошибки в драйвере SPI.

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

     plat/baikal/bm1000/bm1000_bl1_setup.c
    plat/baikal/bm1000/bm1000_mmca57.c
    plat/baikal/bm1000/bm1000_sip_svc.c
    plat/baikal/bm1000/drivers/bm1000_cmu.c
    plat/baikal/bm1000/drivers/bm1000_scp_flash.c
    plat/baikal/bm1000/drivers/bm1000_scp_flash.h
    plat/baikal/bm1000/drivers/ddr/ddr_master.c
    plat/baikal/bm1000/drivers/ddr/ddr_spd.c
    plat/baikal/bm1000/include/baikal_def.h
    plat/baikal/bm1000/platform.mk
    plat/baikal/bs1000/bs1000_bl1_setup.c
    plat/baikal/bs1000/bs1000_ca75.c
    plat/baikal/bs1000/bs1000_ca75.h
    plat/baikal/bs1000/bs1000_pm.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/baikal_def.h
    plat/baikal/bs1000/platform.mk
    plat/baikal/common/baikal_io_storage.c
    plat/baikal/common/baikal_sip_svc_flash.c
    plat/baikal/common/dw_spi_flash.c
    plat/baikal/common/include/baikal_sip_svc.h
    plat/baikal/common/include/dw_spi_flash.h
    plat/baikal/common/scp_flash.c
    plat/baikal/common/include/spi_dw.h переименован,
    новое имя plat/baikal/common/include/dw_spi_flash.h
    plat/baikal/common/include/baikal_scp_flash.h переименован,
    новое имя plat/baikal/bm1000/drivers/bm1000_scp_flash.h
    plat/baikal/common/include/scp_flash.h переименован,
    новое имя plat/baikal/common/include/baikal_scp_flash.h
    plat/baikal/common/baikal_scp_flash.c переименован,
    новое имя plat/baikal/bm1000/drivers/bm1000_scp_flash.c
    plat/baikal/common/scp_flash.c переименован,
    новое имя plat/baikal/common/baikal_scp_flash.c
    plat/baikal/common/spi_dw_boot.c переименован,
    новое имя plat/baikal/common/dw_spi_flash.c

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

     plat/baikal/common/baikal_bootflash.c
    plat/baikal/common/include/baikal_bootflash.h

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

     plat/baikal/common/include/baikal_sip_svc_flash.h
  3. UEFI

    • UEFI обновлён до edk2-stable202211.
    • PCIe: теперь в UEFI обнаруживаются функции выше "0" у устройств на "secondary bus" (раньше они обнаруживались только в Linux.
    • Исправлены мелкие ошибки в драйверах различных подсистем.

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

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

     Platform/Baikal/BM1000Rdb/BM1000Rdb.dsc
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Dbg2.c
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.asl
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Fadt.c
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Gtdt.c
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Madt.c
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/Spcr.c
    Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/SsdtPcieCustom.asl
    Platform/Baikal/BS1000Rdb/BS1000Rdb.dsc
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dbg2.c
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.asl
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Fadt.c
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Gtdt.c
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Madt.c
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Spcr.c
    Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/SsdtPcie.asl
    Platform/Baikal/Drivers/FruClientDxe/FruClientDxe.c
    Platform/Baikal/Drivers/GmacDxe/GmacSnp.c
    Platform/Baikal/Drivers/SmcFlashFvbDxe/SmcFlashFvbDxe.c
    Platform/Baikal/Library/BaikalVduLib/BaikalVdu.c
    Silicon/Baikal/BM1000/Library/PciHostBridgeLib/PciHostBridgeLibConstructor.c
    Silicon/Baikal/BM1000/Library/PciSegmentLib/PciSegmentLib.c
    Silicon/Baikal/BS1000/Library/PciHostBridgeLib/PciHostBridgeLibConstructor.c
    Silicon/Baikal/BS1000/Library/PciSegmentLib/PciSegmentLib.c
  4. Kernel (Linux kernel 5.4.227)

    • Слияние с kernel.org 5.4.227 (поддерживается Linux RT Patch 5.4.221-rt79, который распространяется отдельно от SDK).
    • В конфигурации ядра включена инициализация zbud (необходимо для работы zswap).
    • Добавлена поддержка I2S-кодека TLV320AIC3X.
    • Исправлен ряд мелких ошибок в драйверах тактовых генераторов, USB, PCIe, BMC, I2S, SPI/eSPI.
    • Изменения файлов без учёта изменений из kernel.org:

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

     arch/arm64/boot/dts/baikal/bm1000.dtsi
    arch/arm64/boot/dts/baikal/bm1000-dbm.dtsi
    arch/arm64/boot/dts/baikal/bm1000-mbm.dtsi
    arch/arm64/boot/dts/baikal/bs1000-clocks.dtsi
    arch/arm64/boot/dts/baikal/bs1000-dbs.dts
    arch/arm64/boot/dts/baikal/bs1000-dbs-ov.dts
    arch/arm64/boot/dts/baikal/bs1000.dtsi
    arch/arm64/boot/dts/baikal/Makefile
    arch/arm64/configs/baikal_defconfig
    arch/arm64/configs/baikal_defconfig_debug
    drivers/clk/baikal/clk-bm1000.c
    drivers/cpufreq/cpufreq-dt-platdev.c
    drivers/gpu/drm/baikal/baikal_vdu_connector.c
    drivers/hwmon/pvt.c
    drivers/i2c/busses/i2c-baikal-smbus.c
    drivers/misc/tp_bmc.c
    drivers/mux/baikal.c
    drivers/net/ethernet/stmicro/stmmac/dwmac-baikal.c
    drivers/net/phy/mdio-gpio-baikal.c
    drivers/pci/controller/dwc/pcie-baikal-bs1000.c
    drivers/pci/controller/dwc/pcie-baikal.c
    drivers/phy/baikal/baikal-usb-phy.c
    drivers/phy/Kconfig
    drivers/phy/Makefile
    drivers/spi/spi-baikal-espi.c
    drivers/tty/serial/8250/8250_dw.c
    drivers/usb/dwc3/dwc3-baikal.c
    sound/pci/hda/hda_baikal.c
    sound/soc/dwc/baikal_snd.c
    sound/soc/dwc/dwc-i2s.c

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

     arch/arm64/boot/dts/baikal/bs1000-dbs.dtsi
    arch/arm64/boot/dts/baikal/bs1000-dbs-ov.dts
    drivers/phy/baikal/baikal-usb-phy.c
    drivers/phy/baikal/Kconfig
    drivers/phy/baikal/Makefile
  5. Initrd (Baikal Embedded Linux)

    Изменений нет.