![]() |
TT-System-Firmware APIs 19.11.99
Tenstorrent Firmware
|
#include "cm2dm_msg.h"#include "eth.h"#include "gddr.h"#include "harvesting.h"#include "init.h"#include "irqnum.h"#include "noc.h"#include "noc_init.h"#include "noc2axi.h"#include "reg.h"#include "status_reg.h"#include "tensix.h"#include "tensix_init.h"#include "aiclk_ppm.h"#include "bh_reset.h"#include <tenstorrent/bh_power.h>#include <stdint.h>#include <tenstorrent/msgqueue.h>#include <tenstorrent/smc_msg.h>#include <tenstorrent/post_code.h>#include <tenstorrent/sys_init_defines.h>#include <tenstorrent/tt_boot_fs.h>#include <zephyr/drivers/misc/bh_fwtable.h>#include <zephyr/init.h>#include <zephyr/kernel.h>#include <zephyr/logging/log.h>#include <zephyr/sys/util.h>#include <zephyr/toolchain.h>#include <zephyr/device.h>#include <zephyr/devicetree.h>#include <zephyr/drivers/clock_control/clock_control_tt_bh.h>#include <zephyr/drivers/clock_control.h>
Macros | |
| #define | DT_DRV_COMPAT tenstorrent_bh_clock_control |
| #define | PLL_DEVICE_INIT(inst) |
Variables | |
| static const struct device *const | pll_devs [] = {DT_INST_FOREACH_STATUS_OKAY(PLL_DEVICE_INIT)} |
| static const struct device *const | fwtable_dev = DEVICE_DT_GET(DT_NODELABEL(fwtable)) |
| uint32_t | error_status0 |
| static bool | cable_fault_mode |
| static const uint8_t | kNocRing |
| static const uint8_t | kNocTlb |
| static const uint32_t | kSoftReset0Addr = 0xFFB121B0 |
| static const uint32_t | kAllRiscSoftReset = 0x47800 |
| #define DT_DRV_COMPAT tenstorrent_bh_clock_control |
| #define PLL_DEVICE_INIT | ( | inst | ) |
|
static |
| void bh_soft_reset_all_tensix | ( | void | ) |
|
static |
|
static |
| bool is_cable_fault_mode | ( | void | ) |
Check if the system is in cable fault mode.
Cable fault mode is entered when DMC reports 0W power limit (no cable or improper installation). In this mode, all tiles except column 15 are clock-gated via NIU_CFG_0 TILE_CLK_OFF to minimize power draw while the full NOC mesh and ARC-PCIe path remain available for host communication.
| LOG_MODULE_REGISTER | ( | InitHW | , |
| CONFIG_TT_APP_LOG_LEVEL | ) |
| void record_init_failure | ( | enum init_stage_id | stage | ) |
Record a failure from an init function.
Sets bit stage in STATUS_ERROR_STATUS0 and writes the shadow value through to scratch RAM immediately so the host can read it even if init hangs after this call. Safe to call multiple times; the bitmap accumulates.
| REGISTER_MESSAGE | ( | TT_SMC_MSG_REINIT_TENSIX | , |
| ReinitTensix | ) |
| REGISTER_MESSAGE | ( | TT_SMC_MSG_TOGGLE_SINGLE_TENSIX_RESET | , |
| ToggleSingleTensixReset | ) |
| REGISTER_MESSAGE | ( | TT_SMC_MSG_TOGGLE_TENSIX_RESET | , |
| ToggleTensixReset | ) |
Handler for TT_SMC_MSG_REINIT_TENSIX.
Redo Tensix init that gets cleared on Tensix reset. This includes all NOC programming and any programming within the tile.
| SYS_INIT_APP | ( | AssertSoftResets | ) |
| SYS_INIT_APP | ( | DeassertRiscvResets | ) |
| SYS_INIT_APP | ( | DeassertTileResets | ) |
|
static |
|
static |
Handler for TT_SMC_MSG_TOGGLE_TENSIX_RESET.
|
static |
| uint32_t error_status0 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |