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

Версия 5.3

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

Baikal ARM64 SDK 5.3 Release Notes

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

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

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

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

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

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

    Поддержка плат 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
      32 x GPIO
      eMMC/SD/SDIO
      DW Timers
      PVT
      CoreSight (Debug)

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

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

  6. Бинарная библиотека 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 10.2 / binutils 2.34
    https://gcc.gnu.org/

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

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

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

Changelog (5.2 → 5.3)

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

    • Добавлена поддержка загрузки системы с SD-карты.

    • Реализована поддержка HD Audio и Arm PMU.

    • Добавлена возможность использования профилировщика OProfile 1.4.0.

    • Поддерживается запуск виртуализации (KVM + QEMU).

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

    • Busybox 1.33.1.

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

      baikal/SDK5_VERSION
      baikal/VERSION
      baikal/tools/build-boot-img.sh
      baikal/prebuilts/*
  2. ARM Trusted Firmware (TF-A)

    • Добавлено включение подсветки LVDS-дисплея: при старте на соответствующий выход подаётся ШИМ-сигнал с заполнением 50%).

    • Исправлены ошибки в процедуре инициализации DDR.

    • Мелкие исправления в процедурах инициализации различных подсистем (PCI Express, VDU, SPI и т.д.).

    • Рефакторинг кода.

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

      plat/baikal/bm1000/bm1000_bl1_setup.c
      plat/baikal/bm1000/bm1000_bl2_setup.c
      plat/baikal/bm1000/bm1000_bl31_setup.c
      plat/baikal/bm1000/bm1000_common.c
      plat/baikal/bm1000/bm1000_hdmi.h
      plat/baikal/bm1000/bm1000_mmca57.c
      plat/baikal/bm1000/bm1000_mmmali.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_pm.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_i2c.c
      plat/baikal/bm1000/drivers/bm1000_i2c.h
      plat/baikal/bm1000/drivers/bm1000_pvt.c
      plat/baikal/bm1000/drivers/bm1000_scp.c
      plat/baikal/bm1000/drivers/bm1000_smbus.c
      plat/baikal/bm1000/drivers/bm1000_smbus.h
      plat/baikal/bm1000/drivers/bm1000_smmu.c
      plat/baikal/bm1000/drivers/bm1000_smmu.h
      plat/baikal/bm1000/dt.c
      plat/baikal/bm1000/include/bm1000_private.h
      plat/baikal/bm1000/include/platform_def.h
      plat/baikal/bm1000/platform.mk
      plat/baikal/common/aarch64/plat_bl1_helpers.S
      plat/baikal/common/aarch64/plat_helpers.S
      plat/baikal/common/baikal_bl2_mem_params_desc.c
      plat/baikal/common/baikal_common.c
      plat/baikal/common/baikal_console.c
      plat/baikal/common/baikal_gicv3.c
      plat/baikal/common/baikal_gpio32.c
      plat/baikal/common/baikal_io_storage.c
      plat/baikal/common/baikal_sip_svc_flash.c
      plat/baikal/common/include/memtest.h
      plat/baikal/common/include/plat_macros.S
      plat/baikal/common/include/spi_dw.h
      plat/baikal/common/memtest.c
      plat/baikal/common/spi_dw_boot.c
      plat/baikal/common/spi_scp_boot.c


      plat/baikal/bm1000/bm1000_mmlsp.c переименован,
      новое имя plat/baikal/bm1000/bm1000_mmavlsp.c
      plat/baikal/bm1000/ddr_config/ddr_baikal.h переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_baikal.h
      plat/baikal/bm1000/ddr_config/ddr_init.c переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_init.c
      plat/baikal/bm1000/ddr_config/ddr_lcru.c переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_lcru.c
      plat/baikal/bm1000/ddr_config/ddr_main.c переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_main.c
      plat/baikal/bm1000/ddr_config/ddr_main.h переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_main.h
      plat/baikal/bm1000/ddr_config/ddr_master.c переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_master.c
      plat/baikal/bm1000/ddr_config/ddr_master.h переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_master.h
      plat/baikal/bm1000/ddr_config/ddr_odt_settings.c переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_odt_settings.c
      plat/baikal/bm1000/ddr_config/ddr_spd.h переименован,
      новое имя plat/baikal/common/include/ndelay.h
      plat/baikal/bm1000/ddr_config/ddr_spd.c переименован,
      новое имя plat/baikal/bm1000/drivers/ddr/ddr_spd.c

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

      plat/baikal/bm1000/drivers/ddr/ddr_lcru.h
      plat/baikal/bm1000/include/baikal_def.h
      plat/baikal/bm1000/include/bm1000_def.h
      plat/baikal/common/baikal_bl31_setup.c
      plat/baikal/common/include/xorshift.h
      plat/baikal/common/ndelay.c
      plat/baikal/common/spi_flash_ids.h
      plat/baikal/bm1000/drivers/ddr/ddr_spd.h

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

      plat/baikal/common/spi_dw_list.h
  3. UEFI

    • Реализована загрузка с SD-карты.

    • ACPI: добавлена поддержка таблиц FACS и CSRT.

    • Добавлена поддержка PCIe Bridge.

    • Исправлены мелкие ошибки в процедурах инициализации VDU, PCIe, GMAC, ACPI.

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

      BaseTools/Source/Python/Eot/EotMain.py
      BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
      Platform/Baikal/BM1000Rdb/BM1000Rdb.dsc
      Platform/Baikal/BM1000Rdb/BM1000Rdb.fdf
      Platform/Baikal/BS1000Rdb/BS1000Rdb.dsc
      Platform/Baikal/BS1000Rdb/BS1000Rdb.fdf
      Platform/Baikal/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.h
      Platform/Baikal/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf
      Platform/Baikal/Drivers/AcpiPlatformDxe/Dbg2.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Dsdt.asl
      Platform/Baikal/Drivers/AcpiPlatformDxe/Fadt.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Gtdt.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Madt.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Pptt.c
      Platform/Baikal/Drivers/BaikalSpiBlockDxe/Block.c
      Platform/Baikal/Drivers/BaikalSpiFvDxe/Fv.c
      Platform/Baikal/Drivers/FdtClientDxe/FdtClientDxe.c
      Platform/Baikal/Drivers/GmacDxe/Gmac.c
      Platform/Baikal/Drivers/GmacDxe/GmacSnp.c
      Platform/Baikal/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.c
      Platform/Baikal/Include/Library/BaikalSpdLib.h
      Platform/Baikal/Include/Protocol/FdtClient.h
      Platform/Baikal/Library/BaikalI2cLib/I2cLib.c
      Platform/Baikal/Library/BaikalPciHostBridgeLib/PciHostBridgeLibCtor.c
      Platform/Baikal/Library/BaikalPciSegmentLib/PciSegmentLib.c
      Platform/Baikal/Library/BaikalRtcLib/BaikalRtcLib.c
      Platform/Baikal/Library/BaikalSmbusLib/BaikalSmbusLib.c
      Platform/Baikal/Library/BaikalVduLib/BaikalHdmi.h
      Platform/Baikal/Library/BaikalVduLib/BaikalVduPlatform.c
      Platform/Baikal/Library/PlatformBootManagerLib/PlatformBootManager.c
      Platform/Baikal/PrePi/PrePi.dec
      Platform/Baikal/PrePi/PrePiUniCoreRelocatable.inf
      Silicon/Baikal/BM1000/BM1000.dec
      Silicon/Baikal/BM1000/Include/Library/DwUartLib.h
      Silicon/Baikal/BM1000/Library/DwSerialPortLib/DwSerialPortExtLib.c
      Silicon/Baikal/BM1000/Library/DwSerialPortLib/DwSerialPortExtLib.inf
      Silicon/Baikal/BM1000/Library/DwSerialPortLib/DwSerialPortLib.c
      Silicon/Baikal/BM1000/Library/DwSerialPortLib/DwSerialPortLib.inf
      Silicon/Baikal/BM1000/Library/DwUartLib/DwUartLib.c
      Silicon/Baikal/BM1000/Library/DwUartLib/DwUartLib.inf


      Platform/Baikal/Library/BaikalFdtPlatformLib/BaikalFdtPlatformLib.inf переименован,
      новое имя Platform/Baikal/BS1000Rdb/Library/PlatformLib/PlatformLib.inf
      Platform/Baikal/Library/BaikalFdtPlatformLib/AArch64/RelocatableBaikalHelper.S переименован,
      новое имя Platform/Baikal/BM1000Rdb/Library/PlatformLib/AArch64/RelocatableBaikalHelper.S
      Platform/Baikal/Library/BaikalFdtPlatformLib/FdtParser.c переименован,
      новое имя Platform/Baikal/BM1000Rdb/Library/PlatformLib/FdtParser.c
      Platform/Baikal/Library/BaikalFdtPlatformLib/RelocatableBaikal.c переименован,
      новое имя Platform/Baikal/BM1000Rdb/Library/PlatformLib/RelocatableBaikal.c

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

      Platform/Baikal/BM1000Rdb/Library/PlatformLib/FdtBaikalMem.c
      Platform/Baikal/BM1000Rdb/Library/PlatformLib/PlatformLib.inf
      Platform/Baikal/Drivers/AcpiPlatformDxe/Csrt.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Facs.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Iort.c
      Platform/Baikal/Drivers/AcpiPlatformDxe/Mcfg.c
      Platform/Baikal/Drivers/SdBlockDxe/SdBlock.c
      Platform/Baikal/Drivers/SdBlockDxe/SdBlock.inf
      Platform/Baikal/Drivers/SdBlockDxe/SdhciReg.h
      Platform/Baikal/Drivers/SdBlockDxe/SdLib.c
      Platform/Baikal/Include/Platform/FlashMap.h
      Silicon/Baikal/BM1000/Include/BM1000.h

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

      Platform/Baikal/Include/Platform/BaikalFlashMap.h
      Platform/Baikal/Library/BaikalFdtPlatformLib/FdtBaikalMem.c
  4. Kernel (Linux kernel 5.4.144)

    • Слияние с kernel.org 5.4.144.
    • Добавлен драйвер HDA.
    • Исправлены мелкие ошибки в драйвере VDU и PCI Express.
    • Дерево устройств: изменена структура, устранены мелкие ошибки.
    • Изменения файлов без учёта изменений из kernel.org:

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

      arch/arm64/boot/dts/baikal/bm1000-clocks.dtsi
      arch/arm64/boot/dts/baikal/bm1000.dtsi
      arch/arm64/boot/dts/baikal/bm-dbm.dts
      arch/arm64/boot/dts/baikal/bm-mbm10.dts
      arch/arm64/boot/dts/baikal/bm-mbm20.dts
      arch/arm64/boot/dts/baikal/bm-mbm.dtsi
      arch/arm64/configs/baikal_defconfig
      arch/arm64/configs/baikal_defconfig_debug
      arch/arm64/configs/baikal_defconfig_release
      drivers/gpu/drm/baikal/baikal_vdu_crtc.c
      drivers/gpu/drm/baikal/baikal_vdu_regs.h
      drivers/mmc/host/sdhci.c
      drivers/pci/controller/dwc/pcie-baikal.c
      sound/hda/hdac_controller.c
      sound/pci/hda/hda_controller.c
      sound/pci/hda/Kconfig
      sound/pci/hda/Makefile

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

      sound/pci/hda/hda_baikal.c
  5. Initrd (Baikal Embedded Linux)

    • Busybox 1.33.1.

    • Добавлен бенчмарк Stressapptest 1.0.9.

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

      programs/busybox/*
      programs/benchmarks/Makefile
      programs/benchmarks/compiler.inc

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

      programs/benchmarks/stressapptest-1.0.9/*