Path: blob/master/drivers/accel/habanalabs/include/gaudi2/gaudi2_fw_if.h
26445 views
/* SPDX-License-Identifier: GPL-2.01*2* Copyright 2019-2021 HabanaLabs, Ltd.3* All Rights Reserved.4*5*/67#ifndef GAUDI2_FW_IF_H8#define GAUDI2_FW_IF_H910#define GAUDI2_EVENT_QUEUE_MSIX_IDX 01112#define UBOOT_FW_OFFSET 0x100000 /* 1MB in SRAM */13#define LINUX_FW_OFFSET 0x800000 /* 8BM in DDR */1415#define GAUDI2_PLL_FREQ_LOW 200000000 /* 200 MHz */1617#define GAUDI2_SP_SRAM_BASE_ADDR 0x27FE000018#define GAUDI2_MAILBOX_BASE_ADDR 0x27FE18001920#define GAUDI2_NUM_MME 42122#define NUM_OF_GPIOS_PER_PORT 1623#define GAUDI2_WD_GPIO (62 % NUM_OF_GPIOS_PER_PORT)2425#define GAUDI2_ARCPID_TX_MB_SIZE 0x100026#define GAUDI2_ARCPID_RX_MB_SIZE 0x40027#define GAUDI2_ARM_TX_MB_SIZE 0x40028#define GAUDI2_ARM_RX_MB_SIZE 0x18002930#define GAUDI2_DCCM_BASE_ADDR 0x270200003132#define GAUDI2_ARM_TX_MB_ADDR GAUDI2_MAILBOX_BASE_ADDR3334#define GAUDI2_ARM_RX_MB_ADDR (GAUDI2_ARM_TX_MB_ADDR + \35GAUDI2_ARM_TX_MB_SIZE)3637#define GAUDI2_ARCPID_TX_MB_ADDR (GAUDI2_ARM_RX_MB_ADDR + GAUDI2_ARM_RX_MB_SIZE)3839#define GAUDI2_ARCPID_RX_MB_ADDR (GAUDI2_ARCPID_TX_MB_ADDR + GAUDI2_ARCPID_TX_MB_SIZE)4041#define GAUDI2_ARM_TX_MB_OFFSET (GAUDI2_ARM_TX_MB_ADDR - \42GAUDI2_SP_SRAM_BASE_ADDR)4344#define GAUDI2_ARM_RX_MB_OFFSET (GAUDI2_ARM_RX_MB_ADDR - \45GAUDI2_SP_SRAM_BASE_ADDR)4647#define POWER_MODE_LEVELS { \48150000, /* 00 */ \49250000, /* 01 */ \50400000, /* 10 */ \51/* 11: Normal mode */ \52}5354enum gaudi2_fw_status {55GAUDI2_PID_STATUS_UP = 0x1, /* PID on ARC0 is up */56GAUDI2_ARM_STATUS_UP = 0x2, /* ARM Linux Boot complete */57GAUDI2_MGMT_STATUS_UP = 0x3, /* ARC1 Mgmt is up */58GAUDI2_STATUS_LAST = 0xFF59};6061enum gaudi2_rst_src {62HL_COLD_RST = 1,63HL_MANUAL_RST = 2,64HL_PRSTN_RST = 4,65HL_SOFT_RST = 8,66HL_WD_RST = 16,67HL_FW_ALL_RST = 32,68HL_SW_ALL_RST = 64,69HL_FLR_RST = 128,70HL_ECC_DERR_RST = 25671};7273struct gaudi2_redundancy_ctx {74__le32 redundant_hbm;75__le32 redundant_edma;76__le32 redundant_tpc;77__le32 redundant_vdec;78__le64 hbm_mask;79__le64 edma_mask;80__le64 tpc_mask;81__le64 vdec_mask;82__le64 mme_mask;83__le64 nic_mask;84__le64 rtr_mask;85__le64 hmmu_hif_iso;86__le64 xbar_edge_iso;87__le64 hmmu_hif_mask;88__le64 xbar_edge_mask;89__u8 mme_pe_iso[GAUDI2_NUM_MME];90__le32 full_hbm_mode; /* true on full (non binning hbm)*/91} __packed;9293#endif /* GAUDI2_FW_IF_H */949596