TT-System-Firmware APIs 19.16.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
pciesd.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 Tenstorrent AI ULC
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6/* Interface to tt_blackhole_libpciesd.a, shared verbatim by syseng and tt-system-firmware */
7
8#ifndef TTZP_LIB_TENSTORRENT_BH_ARC_PCIESD_H_
9#define TTZP_LIB_TENSTORRENT_BH_ARC_PCIESD_H_
10
11#include <stdbool.h>
12#include <stdint.h>
13#include <stdlib.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
24
25typedef enum {
29
41
42/* V2 plus EQ tuning. Once released firmware calls CntlInitV3, add V4 instead of changing this */
58
59/* The functions below are implemented in tt_blackhole_libpciesd.a */
61 uint8_t num_serdes_instance);
62void ExitLoopback(void);
63void EnterLoopback(void);
64void CntlInit(uint8_t pcie_inst, uint8_t num_serdes_instance, uint8_t max_pcie_speed,
65 uint64_t board_id, uint32_t vendor_id);
66
67void CntlInitV2(const struct CntlInitV2Param *param);
68void CntlInitV3(const struct CntlInitV3Param *param);
69void ChangeLinkSpeed(uint8_t pcie_speed);
70
71/* Provided by the firmware; a mismatch with its arc_dma.h prototype fails to compile */
72bool ArcDmaTransfer(const void *src, void *dst, uint32_t size);
73
74#ifdef __cplusplus
75}
76#endif
77
78#endif /* TTZP_LIB_TENSTORRENT_BH_ARC_PCIESD_H_ */
void EnterLoopback(void)
void CntlInitV3(const struct CntlInitV3Param *param)
PCIeInitStatus SerdesInit(uint8_t pcie_inst, PCIeDeviceType device_type, uint8_t num_serdes_instance)
void CntlInitV2(const struct CntlInitV2Param *param)
void CntlInit(uint8_t pcie_inst, uint8_t num_serdes_instance, uint8_t max_pcie_speed, uint64_t board_id, uint32_t vendor_id)
bool ArcDmaTransfer(const void *src, void *dst, uint32_t size)
Definition pcie.c:171
void ChangeLinkSpeed(uint8_t pcie_speed)
PCIeInitStatus
Definition pciesd.h:19
@ PCIeSerdesFWLoadTimeout
Definition pciesd.h:21
@ PCIeInitOk
Definition pciesd.h:20
@ PCIeLinkTrainTimeout
Definition pciesd.h:22
PCIeDeviceType
Definition pciesd.h:25
@ EndPoint
Definition pciesd.h:26
@ RootComplex
Definition pciesd.h:27
void ExitLoopback(void)
__UINT32_TYPE__ uint32_t
__UINT64_TYPE__ uint64_t
__UINT8_TYPE__ uint8_t
Definition pciesd.h:30
uint8_t num_serdes_instance
Definition pciesd.h:34
uint8_t device_type
Definition pciesd.h:36
uint64_t region4_mask
Definition pciesd.h:39
uint32_t vendor_id
Definition pciesd.h:32
uint64_t region2_mask
Definition pciesd.h:38
uint64_t region0_mask
Definition pciesd.h:37
uint8_t pcie_inst
Definition pciesd.h:33
uint8_t max_pcie_speed
Definition pciesd.h:35
uint64_t board_id
Definition pciesd.h:31
Definition pciesd.h:43
uint32_t gen4_eq_pset_req_vec
Definition pciesd.h:55
uint32_t gen5_eq_pset_req_vec
Definition pciesd.h:56
uint8_t device_type
Definition pciesd.h:49
uint64_t board_id
Definition pciesd.h:44
uint64_t region0_mask
Definition pciesd.h:50
uint64_t region4_mask
Definition pciesd.h:52
uint8_t pcie_inst
Definition pciesd.h:46
uint64_t region2_mask
Definition pciesd.h:51
uint32_t gen3_eq_pset_req_vec
Definition pciesd.h:53
uint8_t num_serdes_instance
Definition pciesd.h:47
uint32_t vendor_id
Definition pciesd.h:45
uint8_t gen3_eq_fb_mode
Definition pciesd.h:54
uint8_t max_pcie_speed
Definition pciesd.h:48