1 /* SPDX-License-Identifier: GPL-2.0
3 * Copyright 2020 HabanaLabs, Ltd.
8 #ifndef GAUDI2_REG_MAP_H_
9 #define GAUDI2_REG_MAP_H_
12 * PSOC scratch-pad registers
14 #define mmHW_STATE mmCPU_IF_KMD_HW_DIRTY_STATUS
15 #define mmPID_STATUS_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_1
16 #define mmARM_STATUS_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_2
17 #define mmGIC_TPC_QM_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_3
18 #define mmGIC_MME_QM_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_4
19 #define mmGIC_DMA_QM_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_5
20 #define mmGIC_ROT_QM_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_6
21 #define mmGIC_NIC_QM_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_7
22 #define mmGIC_DMA_CR_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_8
23 #define mmGIC_HOST_PI_UPD_IRQ_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_9
24 #define mmGIC_HOST_HALT_IRQ_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_10
25 #define mmGIC_HOST_INTS_IRQ_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_11
26 #define mmGIC_HOST_SOFT_RST_IRQ_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_12
27 #define mmCPU_RST_STATUS_TO_HOST mmPSOC_GLOBAL_CONF_SCRATCHPAD_14
29 * Single scratchpad register used for all ARCs to notify dccm queue full event to FW.
30 * So a new event would overwrite any unhandled previous event. In other words, incase
31 * of multiple events before previous ones are handled, last one would be considered.
33 #define mmENGINE_ARC_IRQ_CTRL_POLL_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_15
34 #define mmPID_CFG_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_18
35 #define mmGIC_RAZWI_STATUS_REG mmPSOC_GLOBAL_CONF_SCRATCHPAD_19
36 #define mmCPU_BOOT_DEV_STS0 mmPSOC_GLOBAL_CONF_SCRATCHPAD_20
37 #define mmCPU_BOOT_DEV_STS1 mmPSOC_GLOBAL_CONF_SCRATCHPAD_21
38 #define mmCPU_CMD_STATUS_TO_HOST mmPSOC_GLOBAL_CONF_SCRATCHPAD_23
39 #define mmCPU_BOOT_ERR0 mmPSOC_GLOBAL_CONF_SCRATCHPAD_24
40 #define mmCPU_BOOT_ERR1 mmPSOC_GLOBAL_CONF_SCRATCHPAD_25
41 #define mmUPD_STS mmPSOC_GLOBAL_CONF_SCRATCHPAD_26
42 #define mmUPD_CMD mmPSOC_GLOBAL_CONF_SCRATCHPAD_27
43 #define mmPPBOOT_VER_OFFSET mmPSOC_GLOBAL_CONF_SCRATCHPAD_28
44 #define mmRDWR_TEST mmPSOC_GLOBAL_CONF_SCRATCHPAD_30
45 #define mmBTL_ID mmPSOC_GLOBAL_CONF_SCRATCHPAD_31
46 #define mmRST_SRC mmPSOC_GLOBAL_CONF_COLD_RST_FLOPS_0
47 #define mmCOLD_RST_DATA mmPSOC_GLOBAL_CONF_COLD_RST_FLOPS_2
48 #define mmUPD_PENDING_STS mmPSOC_GLOBAL_CONF_COLD_RST_FLOPS_3
49 #define mmPID_CMD_REQ_REG mmPSOC_PID_PID_CMD_0
50 #define mmPID_CMD_REQ_REG_HI mmPSOC_PID_PID_CMD_1
51 #define mmPID_CMD_RSP_REG mmPSOC_PID_PID_CMD_2
52 #define mmPID_CMD_RSP_REG_HI mmPSOC_PID_PID_CMD_3
53 #define mmPID_CMD_TELEMETRY_REG_0 mmPSOC_PID_PID_CMD_4
54 #define mmPID_CMD_TELEMETRY_REG_0_HI mmPSOC_PID_PID_CMD_5
55 #define mmPID_CMD_TELEMETRY_REG_1 mmPSOC_PID_PID_CMD_6
56 #define mmPID_CMD_TELEMETRY_REG_1_HI mmPSOC_PID_PID_CMD_7
57 #define mmWD_GPIO_OUTSET_REG mmPSOC_GPIO3_OUTENSET
58 #define mmWD_GPIO_DATAOUT_REG mmPSOC_GPIO3_DATAOUT
59 #define mmSTM_PROFILER_SPE_REG mmPSOC_STM_STMSPER
61 /* Registers below are used to pass the boot_if data between ARM and ARC1 */
62 #define mmARM_MSG_BOOT_ERR_SET mmCPU_IF_SPECIAL_GLBL_SPARE_0
63 #define mmARM_MSG_BOOT_ERR_CLR mmCPU_IF_SPECIAL_GLBL_SPARE_1
64 #define mmARM_MSG_BOOT_DEV_STS_SET mmCPU_IF_SPECIAL_GLBL_SPARE_2
65 #define mmARM_MSG_BOOT_DEV_STS_CLR mmCPU_IF_SPECIAL_GLBL_SPARE_3
66 #define mmMGMT_MSG_BOOT_ERR mmCPU_MSTR_IF_SPECIAL_GLBL_SPARE_0
67 #define mmMGMT_MSG_BOOT_DEV_STS mmCPU_MSTR_IF_SPECIAL_GLBL_SPARE_1
69 #endif /* GAUDI2_REG_MAP_H_ */