v18.12.0
We are pleased to announce the release of TT Zephyr Platforms firmware version 18.12.0 🥳🎉.
This release brings significant enhancements to power management, SMBus communication robustness, and developer tooling, along with improved stability across the platform.
Major Highlights
Enhanced Power Management: New MRISC PHY powerdown/wakeup support and power command capabilities
Improved SMBus Reliability: Enhanced error detection, logging, and robustness for CM2DM operations
Advanced Developer Tooling: New stack dump utilities and improved console tooling
Zephyr v4.3.0 Alignment: Updated to latest Zephyr pre-release for better upstream compatibility
Streamlined Board Support: Focused support on production devices
New Features
Power Management
lib: bh_arc: Added support for MRISC PHY powerdown/wakeup operations
lib: bh_arc: Implemented new Power command functionality
boards: tt_blackhole: Enabled AICLK PPM in firmware table for Galaxy boards
boards: tenstorrent: Applied more conservative TDP limits for P300 boards
Communication & Protocols
app: dmc: Added support for SMBus block process call (pcall) operations
drivers: smbus: stm32: Enhanced with block read capabilities
app: smc: Added overlay configuration to build DMFW with I2C shell enabled
Developer & Debug Tools
scripts: New
dump_smc_stack.py
utility for on-demand SMC state analysisscripts: tooling: Enhanced
tt-console
with PCIe rescan skip option for smooth TT-KMD transitions (2.3.0 to 2.4.1)scripts: Updated
blackhole_recovery
with improved status messaging and increased delays
Stability & Robustness Improvements
Communication Reliability
CM2DM Protocol: Enhanced robustness with detection of duplicate SMBus messages and improved error handling
lib: tenstorrent: bh_arc: Improved error logging in SPI EEPROM operations
System Reliability
app: dmc: Implemented fine-grained DMC events, replacing the previous single “wakeup” flag approach
regulators: Fixed Galaxy SerDes programming regression
boards: tenstorrent: Reduced P300 I2C clock speeds to minimize packet errors
lib: bh_chip: Optimized I2C gate handling during BH ARC reset operations
Infrastructure
CI/CD: Migrated to centralized Docker containers hosted at
ghcr.io/tenstorrent
scripts: tooling: Reworked logging macros with new rate-limited variants
Wormhole Updates
blobs: Updated Wormhole firmware blob
CMFW 2.36.0.0
Attempt to enter A3 state on both chips of n300 before triggering reset
Fix VR addresses for Nebula CB P0V8_GDDR_VDD and P1V35_MVDDQ
Update Nebula CB SPI parameters
Disable DRAM training at boot
Voltage margin = 0
P0V8_GDDR_VDD override to 850 mV
P1V35_MVDDQ override to 1.35 V
Enable additional DRAM training parameters
ERISC 6.7.1.0
Enable partial response phase detector mode to compensate jitter lanes
Initial support for per asic resetting in WH Galaxy
API Changes
Breaking Changes
lib: bh_arc: Renamed
msg_type
tott_smc_msg
Header file changed from
tenstorrent/msg_type.h
totenstorrent/smc_msg.h
Migration Required: Update include statements in existing code
Platform Updates
zephyr: patches: Added patch for SPI-NOR erase-block-size property support
Zephyr Integration
Version Update
manifest: Updated to Zephyr v4.3.0-pre
Snapshot from Zephyr mainline prior to v4.3.0 feature freeze (October 24th)
Minimized in-tree patches through active upstream contribution
Upstream Contributions
Enhanced PWM API test suite with cleaner platform-specific conditionals
Fixed I2C DesignWare target implementation
Improved SMBus STM32 driver with proper block write byte count handling
Added IRQ lock protection for CTF tracing timestamp generation
Extended interrupt controller support for multiple DesignWare instances
Implemented “safe” API variants for
k_event_wait()
in kernel events
Documentation Improvements
Enhanced Documentation
lib: bh_arc: Comprehensive Doxygen documentation for host-to-SMC message types
doxygen: Added supported boards reference links
doc: New contribution and coding guidelines
docs: Added CI job status visualization on project landing page
Developer Guidance
doc: Added code update workflow snippet:
west patch clean; west update; west patch apply
lib: bh_arc: Documented unused commands for better API clarity
doc: Improved version handling using project settings from
conf.py
Board Support Changes
Removed Support
Removed P100 (Scrappy) Support:
P100 was an internal engineering unit used during initial bringup and testing
Support removed to focus resources on consumer-facing devices
Migration Impact: P100 users must transition to supported production boards
Migration Guide
For detailed migration instructions from v18.11.0, including required code changes and recommended updates, please refer to the v18.12 Migration Guide.
Full Changelog
Complete changelog from v18.11.0 is available at: https://github.com/tenstorrent/tt-zephyr-platforms/compare/v18.11.0…v18.12.0