Baikal ARM64 SDK 2412-6.6 Changelog ------------------------------------------------------------------------ CHANGELOG SDK 2409-6.6 ---> SDK 2412-6.6: ------------------------------------------------------------------------ ======================================== 1. SDK (основное дерево SDK) ======================================== - BE-S1000: платы MBS-1S и MBS-2S переименованы в RDS-1S и RDS-2S соответсвенно. Соответствующие параметры скрипта build-boot-img.sh называются теперь rds-1s и rds-2s. - BE-S1000: в директории prebuilts добавлен файл конфигурации СнК bs1000-cfg2soc.bin (его нужно записывать в EEPROM на материнской плате). - build-boot-img.sh: файлы прошивок для всех поддерживаемых платформ (b*1000-scp.bin) переименованы в b*1000-xcp.bin. - BE-S1000: прошивка XCP обновлена до версии 5.7.3. Файлы прошивок для всех платформ на базе BE-S1000 теперь называются одинаково. - Изменилась поддиректория, куда помещаются собираемые модули ядра: * в предыдущем SDK: build/kernel/modules/lib/modules; * в настоящее время: build/kernel/lib/modules. - build-boot-img.sh: ключ --vdec удалён: теперь модули поддержки видеодекодера (VDEC) собираются вместе со всеми остальными модулями ядра; двоичные файлы прошивок для VDEC копируются в build/kernel/lib/firmware. - build-initrd-img.sh: опция --modules теперь не пересобирает модули ядра, а просто помещает ранее собранные модули в образ корневой файловой системы. - Исправлены мелкие ошибки в скриптах сборки и вспомогательных файлах. <> Изменённые файлы: VERSION prebuilts/* baikal/README.rst baikal/tools/build-boot-img.sh baikal/tools/build-initrd-img.sh baikal/tools/environment.sh ======================================== 2. Trusted Firmware-A (TF-A) ======================================== - TF-A обновлён до версии v2.12. - Теперь при ошибке DDR сообщение выводится не только в UART, но также и на экран (HDMI и LVDS). В штатных ситуациях логотип на экран выводится только после загрузки и старта BL2. - BE-M1000: логотипы сделаны более компактными в размерах. Изменена система именования файлов: * символьная ссылка bm1000_logo_hdmi.c указывает на файл логотипа HDMI; * символьная ссылка bm1000_logo_lvds.c указывает на файл логотипа LVDS. Благодаря этому теперь можно демонстрировать разные логотипы на двух вышеперечисленных интерфейсах. Вариант практического применения - избавление от искажений, возникающих из-за разных соотношений сторон экранов. На HDMI при демонстрации логотипа всегда используется разрешение 640x480 (соотношение 4:3), на LVDS же чаще всего используется разрешение с соотношением сторон 16:9 (в SDK по умолчанию задано 1920x1080) либо 16:10. В предыдущих выпусках SDK на LVDS демонстрировался такой же логотип, как на HDMI, в результате чего изображение на LVDS выглядело сжатым по горизонтали. Теперь же на HDMI демонстрируется логотип размером 256x105, а на LVDS - размером 342x105 пикселов (для компенсации искажения). - ВЕ-M1000: исправлены критические ошибки в драйвере CMU (влияли на стабильность работы различных подсистем). - BE-S1000: реализовано чтение из eFuse параметров разбраковки. - Исправлены мелкие стилистические и логические ошибки в процедурах инициализации и драйверах различных подсистем. Оптимизировано использование памяти в BL1. Изменения файлов (без учёта изменений из upstream): <> Изменённые файлы: 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_font.h plat/baikal/bm1000/bm1000_logo_hdmi.c plat/baikal/bm1000/bm1000_logo_lvds.c plat/baikal/bm1000/bm1000_mmavlsp.c 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_sip_svc.c plat/baikal/bm1000/bm1000_splash.c plat/baikal/bm1000/bm1000_splash.h 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/ddr/ddr_init.c plat/baikal/bm1000/drivers/ddr/ddr_lcru.c plat/baikal/bm1000/drivers/ddr/ddr_main.c plat/baikal/bm1000/include/baikal_scp.h plat/baikal/bm1000/include/bm1000_def.h plat/baikal/bm1000/include/platform_def.h plat/baikal/bm1000/platform.mk plat/baikal/bs1000/bs1000_bl31_setup.c plat/baikal/bs1000/bs1000_dt.c plat/baikal/bs1000/bs1000_pcie.c plat/baikal/bs1000/bs1000_pm.c plat/baikal/bs1000/bs1000_sip_svc.c plat/baikal/bs1000/drivers/bs1000_cmu.c plat/baikal/bs1000/drivers/bs1000_scp.c plat/baikal/bs1000/drivers/ddr/ddr_main.c plat/baikal/bs1000/drivers/ddr/ddr_menu.c plat/baikal/bs1000/drivers/ddr/phy/ddr_phy_init.c plat/baikal/bs1000/include/baikal_def.h plat/baikal/bs1000/include/baikal_scp.h plat/baikal/bs1000/include/platform_def.h plat/baikal/bs1000/platform.mk plat/baikal/common/baikal_mshc.c plat/baikal/common/cdns_sdemmc.c plat/baikal/common/include/baikal_sip_svc.h plat/baikal/bm1000/bm1000_bl31_logo_v3.c переименован, plat/baikal/bm1000/bm1000_logo_512_157.c plat/baikal/bm1000/bm1000_bl31_logo_v4.c переименован, plat/baikal/bm1000/bm1000_logo_384_157.c ++ Добавленные файлы: plat/baikal/bm1000/bm1000_logo_256_105.c plat/baikal/bm1000/bm1000_logo_342_105.c plat/baikal/bm1000/bm1000_logo_hdmi.c plat/baikal/bm1000/bm1000_logo_lvds.c plat/baikal/bs1000/drivers/bs1000_efuse.c plat/baikal/bs1000/drivers/bs1000_efuse.h plat/baikal/bs1000/drivers/bs1000_pvt.c plat/baikal/bs1000/drivers/bs1000_pvt.h -- Удалённые файлы: plat/baikal/bm1000/bm1000_bl31_logo.c plat/baikal/bm1000/bm1000_bl31_logo_v1.c plat/baikal/bm1000/bm1000_bl31_logo_v2.c plat/baikal/bm1000/bm1000_logo_384_157.c plat/baikal/bm1000/bm1000_logo_512_157.c ======================================== 3. UEFI ======================================== - UEFI обновлён до edk2-stable202411. - BE-S1000: для платформ без аппаратных часов реального времени реализован псевдо-драйвер часов на базе системного таймера (в качестве "нуля" используется дата компиляции UEFI). Это позволяет избежать ошибок инициализации некоторых PCIe-карт. При первом запуске выдаёт диагностическое сообщение (это не ошибка): LibGetTime: RtcEpochSeconds non volatile variable was not found - Using compilation time epoch. Для плат RDS-1S и RDS-2S реализован драйвер аппаратных часов Microchip MCP79400. - BE-S1000: реализовано графическое меню для отображения параметров разбраковки. - Исправлены мелкие ошибки в драйверах различных подсистем. Изменения файлов в edk2-platforms (без учёта изменений из upstream): <> Изменённые файлы: Platform/Baikal/Application/DdrSettings/DdrSettings.c Platform/Baikal/Application/DdrSettings/DdrSettings.inf Platform/Baikal/Baikal.dec Platform/Baikal/BM1000Rdb/BM1000Rdb.dsc Platform/Baikal/BM1000Rdb/BM1000Rdb.fdf Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/DsdtDbm10.asl Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/DsdtDbm20.asl Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/DsdtInclude.asl Platform/Baikal/BM1000Rdb/Drivers/AcpiPlatformDxe/README Platform/Baikal/BM1000Rdb/Drivers/EuiClientDxe/EuiClientDxe.c Platform/Baikal/BM1000Rdb/Drivers/EuiClientDxe/EuiClientDxe.inf Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamMenu.inf Platform/Baikal/BM1000Rdb/Drivers/RamMenu/RamStruc.c Platform/Baikal/BM1000Rdb/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.c Platform/Baikal/BM1000Rdb/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf Platform/Baikal/BM1000Rdb/Drivers/UidClientDxe/UidClientDxe.c Platform/Baikal/BM1000Rdb/Drivers/XGmacDxe/XGmac.c Platform/Baikal/BM1000Rdb/Library/PlatformLib/AArch64/BM1000Helper.S Platform/Baikal/BM1000Rdb/Library/PlatformLib/PlatformLibMem.c Platform/Baikal/BS1000Rdb/BS1000Rdb.dsc Platform/Baikal/BS1000Rdb/BS1000Rdb.fdf Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dbg2.c Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtDbs.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtDbsOv.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Dsdt.h Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtMbs1s.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtMbs2s.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtRds1s.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtRds2s.asl Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Madt.c Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Pptt.c Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/README Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/Srat.c Platform/Baikal/BS1000Rdb/Drivers/EuiClientDxe/EuiClientDxe.c Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu1s.inf Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu1s.vfr Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu2s.inf Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu2s.vfr Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu.c Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenuComponent.c Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenuComponent.h Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenuDataStruct1s.h Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenuDataStruct2s.h Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu.h Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenuHii.c Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenuHii.h Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamMenu.uni Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamStruc.c Platform/Baikal/BS1000Rdb/Drivers/RamMenu/RamStruc.h Platform/Baikal/BS1000Rdb/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.c Platform/Baikal/BS1000Rdb/Drivers/SmbiosPlatformDxe/SmbiosPlatformDxe.inf Platform/Baikal/BS1000Rdb/Drivers/SpdClientDxe/SpdClientDxe.c Platform/Baikal/BS1000Rdb/Drivers/UidClientDxe/UidClientDxe.c Platform/Baikal/BS1000Rdb/Library/PlatformLib/AArch64/BS1000Helper.S Platform/Baikal/BS1000Rdb/Library/PlatformLib/PlatformLibMem.c Platform/Baikal/Drivers/FdtClientDxe/FdtClientDxe.c Platform/Baikal/Drivers/FruClientDxe/FruClientDxe.c Platform/Baikal/Drivers/FruClientDxe/FruInternals.c Platform/Baikal/Drivers/GmacDxe/Gmac.c Platform/Baikal/Drivers/GmacDxe/GmacSnp.c Platform/Baikal/Drivers/SdBlockDxe/SdBlock.c Platform/Baikal/Drivers/SdFvbDxe/SdFvbDxe.c Platform/Baikal/Drivers/SmcFlashFvbDxe/SmcFlashFvbDxe.c Platform/Baikal/Library/BaikalMemoryRangeLib/BaikalMemoryRangeLib.c Platform/Baikal/Library/BaikalRealTimeClockLib/BaikalRealTimeClockLib.c Platform/Baikal/Library/BaikalRealTimeClockLib/BaikalRealTimeClockLib.inf Platform/Baikal/Library/BaikalRtcLib/BaikalRtcLib.c Platform/Baikal/Library/BaikalVduLib/BaikalHdmi.c Platform/Baikal/Library/BaikalVduLib/BaikalVdu.c Platform/Baikal/Library/BaikalVduLib/BaikalVduPlatform.c Platform/Baikal/Library/MemoryInitPeiLib/MemoryInitPeiLib.c Platform/Baikal/Library/PlatformBootManagerLib/PlatformBootManager.c Silicon/Baikal/BM1000/Drivers/NonDiscoverableAhciDxe/NonDiscoverableAhci.c Silicon/Baikal/BM1000/Drivers/NonDiscoverableSdhciDxe/NonDiscoverableSdhci.c Silicon/Baikal/BM1000/Drivers/NonDiscoverableXhciDxe/NonDiscoverableXhci.c Silicon/Baikal/BM1000/Library/PciHostBridgeLib/PciHostBridgeLibConstructor.c Silicon/Baikal/BS1000/Drivers/NonDiscoverableEhciDxe/NonDiscoverableEhci.c Silicon/Baikal/BS1000/Drivers/NonDiscoverableOhciDxe/NonDiscoverableOhci.c Silicon/Baikal/BS1000/Drivers/PcieEndpointDxe/PcieEndpoint.c Silicon/Baikal/BS1000/Include/BS1000.h Silicon/Baikal/BS1000/Library/PciHostBridgeLib/PciHostBridgeLibConstructor.c Silicon/Baikal/Library/EspiLib/EspiLib.c ++ Добавленные файлы: Platform/Baikal/BM1000Rdb/BM1000Rdb.dec Platform/Baikal/BS1000Rdb/BS1000Rdb.dec Platform/Baikal/BS1000Rdb/Drivers/AcpiPlatformDxe/DsdtInit.c Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfo.c Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfoComponent.c Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfoComponent.h Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfoDataStruc.h Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfo.h Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfoHii.c Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfoHii.h Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfo.inf Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfo.uni Platform/Baikal/BS1000Rdb/Drivers/BinningInfoDxe/BinningInfo.vfr Platform/Baikal/BS1000Rdb/Include/Library/SmcEfuseLib.h Platform/Baikal/BS1000Rdb/Library/SmcEfuseLib/SmcEfuseLib.c Platform/Baikal/BS1000Rdb/Library/SmcEfuseLib/SmcEfuseLib.inf Platform/Baikal/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c Platform/Baikal/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf ======================================== 4. Kernel (Linux kernel 6.6.63) ======================================== - Слияние с kernel.org 6.6.63 (поддерживается патч PREEMPT_RT версии 6.6.63-rt46, который распространяется отдельно от SDK). - BE-S1000: Добавлена поддержка WDT-SCP для RDS-2S. - BE-S1000: реализован драйвер PVT-SCP. - BE-M1000: портированы последние изменения в драйверах XGbE (stmmaс и amd-xgbe). - Файл конфигурации ядра гармонизирован с обобщённым файлом defconfig для архитектуры ARM64. - Проведена оптимизация деревьев устройств, исправлены мелкие ошибки в драйверах различных подсистем. Изменения файлов - отличия от оригинальной версии 6.6.63 c kernel.org: <> Изменённые файлы: arch/arm64/boot/dts/baikal/bm1000-dbm.dtsi arch/arm64/boot/dts/baikal/bm1000-dbm-mezzanine-xgbe-krkx4.dtsi arch/arm64/boot/dts/baikal/bm1000.dtsi arch/arm64/boot/dts/baikal/bm1000-qemu-m.dts arch/arm64/boot/dts/baikal/bs1000-clocks.dtsi arch/arm64/boot/dts/baikal/bs1000-coresight.dtsi arch/arm64/boot/dts/baikal/bs1000-dbs.dtsi arch/arm64/boot/dts/baikal/bs1000.dtsi arch/arm64/boot/dts/baikal/bs1000-qemu-s.dts arch/arm64/boot/dts/baikal/bs1000-rds-1s.dts arch/arm64/boot/dts/baikal/bs1000-rds-2s.dts arch/arm64/boot/dts/baikal/Makefile arch/arm64/configs/baikal_defconfig drivers/base/platform.c drivers/cpufreq/Kconfig.arm drivers/cpufreq/Makefile drivers/hwmon/baikal-pvt-core.c drivers/hwmon/baikal-pvt.h drivers/hwmon/baikal-pvt-hwmon.c drivers/hwmon/hwmon.c drivers/hwmon/Kconfig drivers/hwmon/Makefile drivers/mailbox/Kconfig drivers/mailbox/mailbox.c drivers/mailbox/Makefile drivers/net/ethernet/amd/Kconfig drivers/net/ethernet/amd/xgbe/Makefile drivers/net/ethernet/amd/xgbe/xgbe-dcb.c drivers/net/ethernet/amd/xgbe/xgbe-desc.c drivers/net/ethernet/amd/xgbe/xgbe-dev.c drivers/net/ethernet/amd/xgbe/xgbe-drv.c drivers/net/ethernet/amd/xgbe/xgbe.h drivers/net/ethernet/amd/xgbe/xgbe-main.c drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c drivers/net/ethernet/amd/xgbe/xgbe-platform.c drivers/net/ethernet/stmicro/stmmac/dwmac-baikal.c drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c drivers/net/ethernet/stmicro/stmmac/stmmac_main.c drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c drivers/net/mdio/mdio-dw-xpcs.c drivers/net/pcs/pcs-xpcs.c drivers/net/pcs/pcs-xpcs-pma.c drivers/net/phy/marvell-88x2222.c drivers/pci/controller/dwc/pcie-baikal-core.c drivers/watchdog/dw_wdt.c drivers/watchdog/Kconfig drivers/watchdog/Makefile include/linux/mailbox_client.h include/linux/stmmac.h arch/arm64/boot/dts/baikal/bs1000-mbs-1s.dts переименован, arch/arm64/boot/dts/baikal/bs1000-rds-1s.dts arch/arm64/boot/dts/baikal/bs1000-mbs-2s.dts переименован, arch/arm64/boot/dts/baikal/bs1000-rds-2s.dts ++ Добавленные файлы: drivers/hwmon/bs1000-pvt.c drivers/mailbox/baikal-mailbox-sms.c drivers/net/ethernet/amd/xgbe/xgbe-phy-v3.c drivers/watchdog/baikal_wdt.c -- Удалённые файлы: drivers/hwmon/baikal-pvt-i2c.c drivers/net/ethernet/amd/xgbe/baikal-mdio.c ======================================== 5. Initrd (Baikal Embedded Linux) ======================================== Изменений нет. -------------------------------------------------