TT-System-Firmware APIs 19.13.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
pcie.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#ifndef PCIE_H
7#define PCIE_H
8
9#include <stdint.h>
10#include "noc2axi.h"
11
12/* Default PCIe BAR sizes, in MiB. Shared between pcie.c and the recovery
13 * chip-info backend (chip_info_static.c) so the synthesized recovery defaults
14 * stay in sync with the values pcie.c programs.
15 */
16#define PCIE_BAR0_SIZE_DEFAULT_MB 512
17#define PCIE_BAR2_SIZE_DEFAULT_MB 1
18#define PCIE_BAR4_SIZE_DEFAULT_MB 32768
19
20typedef enum {
24
30
31#define PCIE_INST0_LOGICAL_X 2
32#define PCIE_INST1_LOGICAL_X 11
33#define PCIE_LOGICAL_Y 0
34#define PCIE_DBI_REG_TLB 14
35
36static inline void WriteDbiReg(const uint32_t addr, const uint32_t data)
37{
38 const uint8_t noc_id = 0;
39
40 NOC2AXIWrite32(noc_id, PCIE_DBI_REG_TLB, addr, data);
41}
42
43static inline uint32_t ReadDbiReg(const uint32_t addr)
44{
45 const uint8_t noc_id = 0;
46
47 return NOC2AXIRead32(noc_id, PCIE_DBI_REG_TLB, addr);
48}
49#endif
static uint32_t NOC2AXIRead32(const uint8_t noc_id, const uint8_t tlb_entry, const uint64_t addr)
Definition noc2axi.h:57
static void NOC2AXIWrite32(const uint8_t noc_id, const uint8_t tlb_entry, const uint64_t addr, const uint32_t data)
Definition noc2axi.h:44
#define PCIE_DBI_REG_TLB
Definition pcie.h:34
PCIeInitStatus
Definition pcie.h:25
@ PCIeSerdesFWLoadTimeout
Definition pcie.h:27
@ PCIeInitOk
Definition pcie.h:26
@ PCIeLinkTrainTimeout
Definition pcie.h:28
PCIeDeviceType
Definition pcie.h:20
@ EndPoint
Definition pcie.h:21
@ RootComplex
Definition pcie.h:22
static uint32_t ReadDbiReg(const uint32_t addr)
Definition pcie.h:43
static void WriteDbiReg(const uint32_t addr, const uint32_t data)
Definition pcie.h:36
__UINT32_TYPE__ uint32_t
__UINT8_TYPE__ uint8_t