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 analysis

  • scripts: 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 to tt_smc_msg

    • Header file changed from tenstorrent/msg_type.h to tenstorrent/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