Версия 5.3
Baikal ARM64 SDK 5.3 Release Notes
Baikal ARM64 SDK 5.3 содержит следующее программное обеспечение:
Trusted Firmware-A (TF-A) v2.4, лицензия BSD.
https://github.com/ARM-software/arm-trusted-firmwareДобавлена процедура инициализации DDR контроллера.
Не реализована цепочка доверия - Chain of Trust.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.
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.
Бинарные библиотеки OpenGL и OpenCL c поддержкой Wayland/Weston:
- OpenGL ES 1.1, 2.0, 3.0.
- OpenCL 1.1.
Набор патчей c поддержкой Mali T628 для Mesa 20.2.
Бинарная библиотека OpenMAX IL и GStreamer-плагин для работы с видеодекодером. Поддерживаемые кодеки:
VP8
VP6
Sorenson Spark (реализация стандарта Н.263)
AVS
MPEG4
MPEG2
MPEG1
WMV9
VC1
H264
HEVC (H265)rootfs на базе Busybox.
https://www.busybox.net/source.htmlToolchain на основе gcc 10.2 / binutils 2.34
https://gcc.gnu.org/Возможность отладки с использованием OpenOCD / Olimex ARM-USB-OCD-H.
Поддерживается возможность использования профилировщика OProfile 1.4.0.
Есть возможность запуска rootfs Debian 11. В состав SDK не входит, поставляется отдельным архивом.
Changelog (5.2 → 5.3)
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/*
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
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
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
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/*