v19.14.0ο
We are pleased to announce the release of TT System Firmware version 19.14.0 π₯³π.
Major enhancements with this release include:
Whatβs Changedο
Generalο
Restructure the release process page, move the version bump on main to immediately follow branch creation, and describe the tag-driven draft release and the pull request workflow required by protected release branches.
Blackholeο
Loggingο
Enable the KMD firmware logging backend by default on Blackhole SMC.
Stop forwarding the boot banner to the KMD log; it carried no useful information and cluttered the output.
The DMC application no longer calls ring buffer log backend functions when
CONFIG_LOG_BACKEND_RINGBUFis not selected, which previously failed to link.
GDDR Thermal Tripο
Move the GDDR thermal-trip (CATMON) configuration out of Kconfig and compile-time constants and into the firmware table:
chip_limits.gddr_therm_trip_temp,chip_limits.gddr_therm_trip_critical_tempandchip_limits.gddr_therm_trip_duration_mincarry the thresholds.feature_enable.gddr_therm_trip_engates the action, and ships disabled on every board.CONFIG_TT_BH_ARC_GDDR_THERM_TRIP_ACTION*is removed.
Add the
TT_SUB_MSG_SET_GDDR_THERM_TRIP_ENABLEDcharacterization submessage so the host can enable or disable the trip action at runtime.Report the feature in telemetry: capability bit 1 (
gddr_therm_trip) ofTAG_FW_CAPABILITIES_0and the matching enable bit ofTAG_FW_ACTIVE_CONFIG_0.
GDDR Harvestingο
Add
dram_table.soft_harvest_dram_maskto the firmware table. Each set bit clears the corresponding GDDR channel from the enabled tile set, which the product-specdram_disable_countpath could not express. The field defaults to0(no harvesting) when a boardβs firmware table omits it.
Ethernetο
Updated Blackhole ERISC FW to v1.12.2, change list from v1.12.0:
v1.12.2 (2026-08-10)
Updated auto train train speed (speed=0) for UBB to 330G for chip-to-chip and chip-to-examax-passive ports, keep retimers and QSFPs at 200G
v1.12.1 (2026-07-15):
Updated the default AW SerDes FW to v0.9.17, which now has the 90G, 95G, and 100G lane speeds built into the default image
Expanded SerDes speed loading logic for new speeds to work on all ports except the QSFP and retimer ports
The default firmware build skips the retimer ports until a BMC release is available that can program them
Removed alternative SerDes firmware support from the SMC. The
altsdfwandaltsdregflash partitions and their blobs have been dropped, as the required link speeds are now part of the default SerDes firmware image.The Ethernet reset path now loads the SerDes configuration as well, matching
EthInit(), and reports SerDes lookup and load failures through four neweth_reseterror codes:ETH_RESET_ERR_SERDES_FW_LOOKUP(9),ETH_RESET_ERR_SERDES_FW_LOAD(10),ETH_RESET_ERR_SERDES_CFG_LOOKUP(11) andETH_RESET_ERR_SERDES_CFG_LOAD(12).A speed override of
0is now applied rather than skipped, and an unsupported speed is warned about instead of being dropped silently. Firmware tables written before this release do not carry the presence bit and keep their previous trained speed.
Persistent SPI Flash Parametersο
Expose
eth_property_table.eth_speed_overridetobh-mod, valid speeds -{0, 40, 100, 200, 330, 350, 370, 400}.0is interpreted as a request to auto-train.Expose
dram_table.soft_harvest_dram_masktobh-mod, so GDDR channels can be soft-harvested at runtime without reflashing the board config.Expose
feature_enable.gddr_therm_trip_entobh-mod.
Host Interfaceο
The message queue ABI is now explicitly
uint32_trather thanuintptr_t, so the contract no longer depends on the pointer width of the platform.Dm2CmReadymoved into init so emulated boards get far enough to report the DMC firmware version.
Driversο
Add PLDM over MCTP support: base commands, platform commands (repository info, PDR and sensor readings), and a Tenstorrent OEM extension that exposes the Zephyr shell.
ARC HS DMA now supports 16 channels with 256 descriptors in interrupt mode, up from 4 channels.
Writing firmware post codes to the status scratch register is now gated on
CONFIG_TT_POST_CODEinstead of a board check, so other platforms can opt in. It defaults on fortt_blackhole.
Boardsο
New board: Galaxy 2 DMC (
tt_blackhole_glx2_dmc), with GALAXY_2 SPI ROM data tables, a UART5 console on PC12/PD2, a cascaded second SPI mux (spi_mux1) for BH / DMC / B2B flash routing, and a MAX7221 display on SPI3.bh_chipgained an optionalspi_mux1, which is configured by the DMC when the board provides the node.Documented the Blackhole DMC SPI flash mux polarity: low connects the flash to BH, high to the DMC.
Toolingο
Add Galaxy recovery scripting that programs a hex file to ASICs which do not enumerate or answer an ARC message, then fixes up ASIC locations from PCIe bus numbers. This requires a BMC firmware build that accepts flash read, write and erase over IPMI.
Add
smc_spi_flash.pyto flash a firmware bundle over PCIe using SMC messages, plus a helper that checks card enumeration and ARC and DMC ping responsiveness.Add a script that builds the manufacturing test artifacts locally instead of downloading them from CI, and a manufacturing test CI job covering the full flash-and-boot sequence on Blackhole PCIe cards.
Consolidate the pyocd argument parsing used by
set-p300-jtag.pyandrecover-blackhole.pyinto a shared helper.Fix two
dmc_reset.pybugs: the PCIe enumeration stage tested the constant timeout instead of the remaining time, and the ping stage could skip a healthy DMC as βtoo oldβ when telemetry came up before the version handshake completed.
Documentationο
Document the SMBus command registers and message payloads in
tt_smbus_regs.hwith Doxygen, including a per-command summary table and field-level breakdowns. Corrects theCMFW_SMBUS_DM_STATIC_INFOpayload size from 160 to 192 bits.Update the testing documentation and add instructions for running the manufacturing test locally.
Grendelο
Restore the correct CPU hart mapping in the Grendel SMC device tree, which had been dropped by mistake.
MK bring-up DMC board (
tt_grendel_mk_bu_dmc):Fix four bring-up blockers that kept the board from reaching a console: the unpopulated 32.768 kHz LSE crystal is disabled,
msi-pll-modeis dropped, chip select index 1 is corrected from PC9 (the SPI level-shifter enable) to PC7, and the unpoweredmt35xu512flash is disabled.Update the board to the STM32U375 part actually fitted, replacing the U385 used for pinctrl testing.
Add a POST-code display on the MAX7221 and a
postshell command todm_test_app, withtest,walkandmapsub-commands for bring-up.
Migration guideο
An overview of required and recommended changes to make when migrating from the previous v19.13.0 release can be found in 19.14 Migration Guide.
Full ChangeLogο
The full ChangeLog from the previous v19.13.0 release can be found at the link below.
https://github.com/tenstorrent/tt-system-firmware/compare/v19.13.0β¦v19.14.0