![]() |
TT-System-Firmware APIs 19.8.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_init.h"#include "bh_reset.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) |
Functions | |
| LOG_MODULE_REGISTER (InitHW, CONFIG_TT_APP_LOG_LEVEL) | |
| bool | is_cable_fault_mode (void) |
| Check if the system is in cable fault mode. | |
| void | bh_soft_reset_all_tensix (void) |
| static int | AssertSoftResets (void) |
| SYS_INIT_APP (AssertSoftResets) | |
| static int | DeassertRiscvResets (void) |
| SYS_INIT_APP (DeassertRiscvResets) | |
| static __maybe_unused uint8_t | ToggleTensixReset (const union request *req, struct response *rsp) |
| Handler for TT_SMC_MSG_TOGGLE_TENSIX_RESET. | |
| REGISTER_MESSAGE (TT_SMC_MSG_TOGGLE_TENSIX_RESET, ToggleTensixReset) | |
| static __maybe_unused uint8_t | ReinitTensix (const union request *req, struct response *rsp) |
| Handler for TT_SMC_MSG_REINIT_TENSIX. | |
| REGISTER_MESSAGE (TT_SMC_MSG_REINIT_TENSIX, ReinitTensix) | |
| static int | DeassertTileResets (void) |
| SYS_INIT_APP (DeassertTileResets) | |
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)) |
| STATUS_ERROR_STATUS0_reg_u | 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 | ) |
| REGISTER_MESSAGE | ( | TT_SMC_MSG_REINIT_TENSIX | , |
| ReinitTensix | ) |
| 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 |
Handler for TT_SMC_MSG_TOGGLE_TENSIX_RESET.
|
static |
| STATUS_ERROR_STATUS0_reg_u error_status0 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |