TT Zephyr Platforms 18.11.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"
12
13typedef enum {
17
23
24#define PCIE_INST0_LOGICAL_X 2
25#define PCIE_INST1_LOGICAL_X 11
26#define PCIE_LOGICAL_Y 0
27#define PCIE_DBI_REG_TLB 14
28
29PCIeInitStatus PCIeInit(uint8_t pcie_inst, const FwTable_PciPropertyTable *pci_prop_table);
30
31static inline void WriteDbiReg(const uint32_t addr, const uint32_t data)
32{
33 const uint8_t noc_id = 0;
34
35 NOC2AXIWrite32(noc_id, PCIE_DBI_REG_TLB, addr, data);
36}
37
38static inline uint32_t ReadDbiReg(const uint32_t addr)
39{
40 const uint8_t noc_id = 0;
41
42 return NOC2AXIRead32(noc_id, PCIE_DBI_REG_TLB, addr);
43}
44#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:27
PCIeInitStatus
Definition pcie.h:18
@ PCIeSerdesFWLoadTimeout
Definition pcie.h:20
@ PCIeInitOk
Definition pcie.h:19
@ PCIeLinkTrainTimeout
Definition pcie.h:21
PCIeDeviceType
Definition pcie.h:13
@ EndPoint
Definition pcie.h:14
@ RootComplex
Definition pcie.h:15
static uint32_t ReadDbiReg(const uint32_t addr)
Definition pcie.h:38
PCIeInitStatus PCIeInit(uint8_t pcie_inst, const FwTable_PciPropertyTable *pci_prop_table)
Definition pcie.c:338
static void WriteDbiReg(const uint32_t addr, const uint32_t data)
Definition pcie.h:31
__UINT32_TYPE__ uint32_t
__UINT8_TYPE__ uint8_t