1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * Copyright 2019-2020 HabanaLabs, Ltd.
4 * All Rights Reserved.
5 *
6 */
7
8#ifndef GAUDI_FW_IF_H
9#define GAUDI_FW_IF_H
10
11#define GAUDI_EVENT_QUEUE_MSI_IDX 8
12#define GAUDI_NIC_PORT1_MSI_IDX 10
13#define GAUDI_NIC_PORT3_MSI_IDX 12
14#define GAUDI_NIC_PORT5_MSI_IDX 14
15#define GAUDI_NIC_PORT7_MSI_IDX 16
16#define GAUDI_NIC_PORT9_MSI_IDX 18
17
18#define UBOOT_FW_OFFSET 0x100000 /* 1MB in SRAM */
19#define LINUX_FW_OFFSET 0x800000 /* 8MB in HBM */
20
21/* HBM thermal delta in [Deg] added to composite (CTemp) */
22#define HBM_TEMP_ADJUST_COEFF 6
23
24enum gaudi_nic_axi_error {
25 RXB,
26 RXE,
27 TXS,
28 TXE,
29 QPC_RESP,
30 NON_AXI_ERR,
31 TMR,
32};
33
34/*
35 * struct eq_nic_sei_event - describes an AXI error cause.
36 * @axi_error_cause: one of the events defined in enum gaudi_nic_axi_error.
37 * @id: can be either 0 or 1, to further describe unit with interrupt cause
38 * (i.e. TXE0 or TXE1).
39 * @pad[6]: padding structure to 64bit.
40 */
41struct eq_nic_sei_event {
42 __u8 axi_error_cause;
43 __u8 id;
44 __u8 pad[6];
45};
46
47struct gaudi_cold_rst_data {
48 union {
49 struct {
50 u32 spsram_init_done : 1;
51 u32 reserved : 31;
52 };
53 __le32 data;
54 };
55};
56
57#define GAUDI_PLL_FREQ_LOW 200000000 /* 200 MHz */
58
59#endif /* GAUDI_FW_IF_H */
60

source code of linux/drivers/accel/habanalabs/include/gaudi/gaudi_fw_if.h