drm: bridge: adv7511: remove s32 format from i2s capabilities
[drm/drm-misc.git] / drivers / accel / habanalabs / include / goya / asic_reg / goya_masks.h
blob9ff3cb2455807e787c25e892269f1e8de623486b
1 /* SPDX-License-Identifier: GPL-2.0
3 * Copyright 2016-2018 HabanaLabs, Ltd.
4 * All Rights Reserved.
6 */
8 #ifndef ASIC_REG_GOYA_MASKS_H_
9 #define ASIC_REG_GOYA_MASKS_H_
11 #include "goya_regs.h"
13 /* Useful masks for bits in various registers */
14 #define QMAN_DMA_ENABLE (\
15 (1 << DMA_QM_0_GLBL_CFG0_PQF_EN_SHIFT) | \
16 (1 << DMA_QM_0_GLBL_CFG0_CQF_EN_SHIFT) | \
17 (1 << DMA_QM_0_GLBL_CFG0_CP_EN_SHIFT) | \
18 (1 << DMA_QM_0_GLBL_CFG0_DMA_EN_SHIFT))
20 #define QMAN_DMA_FULLY_TRUSTED (\
21 (1 << DMA_QM_0_GLBL_PROT_PQF_PROT_SHIFT) | \
22 (1 << DMA_QM_0_GLBL_PROT_CQF_PROT_SHIFT) | \
23 (1 << DMA_QM_0_GLBL_PROT_CP_PROT_SHIFT) | \
24 (1 << DMA_QM_0_GLBL_PROT_DMA_PROT_SHIFT) | \
25 (1 << DMA_QM_0_GLBL_PROT_PQF_ERR_PROT_SHIFT) | \
26 (1 << DMA_QM_0_GLBL_PROT_CQF_ERR_PROT_SHIFT) | \
27 (1 << DMA_QM_0_GLBL_PROT_CP_ERR_PROT_SHIFT) | \
28 (1 << DMA_QM_0_GLBL_PROT_DMA_ERR_PROT_SHIFT))
30 #define QMAN_DMA_PARTLY_TRUSTED (\
31 (1 << DMA_QM_0_GLBL_PROT_PQF_PROT_SHIFT) | \
32 (1 << DMA_QM_0_GLBL_PROT_CQF_PROT_SHIFT) | \
33 (1 << DMA_QM_0_GLBL_PROT_CP_PROT_SHIFT) | \
34 (1 << DMA_QM_0_GLBL_PROT_PQF_ERR_PROT_SHIFT) | \
35 (1 << DMA_QM_0_GLBL_PROT_CQF_ERR_PROT_SHIFT) | \
36 (1 << DMA_QM_0_GLBL_PROT_CP_ERR_PROT_SHIFT) | \
37 (1 << DMA_QM_0_GLBL_PROT_DMA_ERR_PROT_SHIFT))
39 #define QMAN_DMA_STOP (\
40 (1 << DMA_QM_0_GLBL_CFG1_PQF_STOP_SHIFT) | \
41 (1 << DMA_QM_0_GLBL_CFG1_CQF_STOP_SHIFT) | \
42 (1 << DMA_QM_0_GLBL_CFG1_CP_STOP_SHIFT) | \
43 (1 << DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT))
45 #define QMAN_DMA_IS_STOPPED (\
46 (1 << DMA_QM_0_GLBL_STS0_PQF_IS_STOP_SHIFT) | \
47 (1 << DMA_QM_0_GLBL_STS0_CQF_IS_STOP_SHIFT) | \
48 (1 << DMA_QM_0_GLBL_STS0_CP_IS_STOP_SHIFT) | \
49 (1 << DMA_QM_0_GLBL_STS0_DMA_IS_STOP_SHIFT))
51 #define QMAN_DMA_ERR_MSG_EN (\
52 (1 << DMA_QM_0_GLBL_ERR_CFG_PQF_ERR_MSG_EN_SHIFT) | \
53 (1 << DMA_QM_0_GLBL_ERR_CFG_CQF_ERR_MSG_EN_SHIFT) | \
54 (1 << DMA_QM_0_GLBL_ERR_CFG_CP_ERR_MSG_EN_SHIFT) | \
55 (1 << DMA_QM_0_GLBL_ERR_CFG_DMA_ERR_MSG_EN_SHIFT) | \
56 (1 << DMA_QM_0_GLBL_ERR_CFG_PQF_STOP_ON_ERR_SHIFT) | \
57 (1 << DMA_QM_0_GLBL_ERR_CFG_CQF_STOP_ON_ERR_SHIFT) | \
58 (1 << DMA_QM_0_GLBL_ERR_CFG_CP_STOP_ON_ERR_SHIFT))
60 #define QMAN_MME_ENABLE (\
61 (1 << MME_QM_GLBL_CFG0_PQF_EN_SHIFT) | \
62 (1 << MME_QM_GLBL_CFG0_CQF_EN_SHIFT) | \
63 (1 << MME_QM_GLBL_CFG0_CP_EN_SHIFT))
65 #define CMDQ_MME_ENABLE (\
66 (1 << MME_CMDQ_GLBL_CFG0_CQF_EN_SHIFT) | \
67 (1 << MME_CMDQ_GLBL_CFG0_CP_EN_SHIFT))
69 #define QMAN_MME_STOP (\
70 (1 << MME_QM_GLBL_CFG1_PQF_STOP_SHIFT) | \
71 (1 << MME_QM_GLBL_CFG1_CQF_STOP_SHIFT) | \
72 (1 << MME_QM_GLBL_CFG1_CP_STOP_SHIFT))
74 #define CMDQ_MME_STOP (\
75 (1 << MME_CMDQ_GLBL_CFG1_CQF_STOP_SHIFT) | \
76 (1 << MME_CMDQ_GLBL_CFG1_CP_STOP_SHIFT))
78 #define QMAN_MME_ERR_MSG_EN (\
79 (1 << MME_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_SHIFT) | \
80 (1 << MME_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_SHIFT) | \
81 (1 << MME_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_SHIFT) | \
82 (1 << MME_QM_GLBL_ERR_CFG_DMA_ERR_MSG_EN_SHIFT) | \
83 (1 << MME_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_SHIFT) | \
84 (1 << MME_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_SHIFT) | \
85 (1 << MME_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_SHIFT) | \
86 (1 << MME_QM_GLBL_ERR_CFG_DMA_STOP_ON_ERR_SHIFT))
88 #define CMDQ_MME_ERR_MSG_EN (\
89 (1 << MME_CMDQ_GLBL_ERR_CFG_PQF_ERR_MSG_EN_SHIFT) | \
90 (1 << MME_CMDQ_GLBL_ERR_CFG_CQF_ERR_MSG_EN_SHIFT) | \
91 (1 << MME_CMDQ_GLBL_ERR_CFG_CP_ERR_MSG_EN_SHIFT) | \
92 (1 << MME_CMDQ_GLBL_ERR_CFG_DMA_ERR_MSG_EN_SHIFT) | \
93 (1 << MME_CMDQ_GLBL_ERR_CFG_PQF_STOP_ON_ERR_SHIFT) | \
94 (1 << MME_CMDQ_GLBL_ERR_CFG_CQF_STOP_ON_ERR_SHIFT) | \
95 (1 << MME_CMDQ_GLBL_ERR_CFG_CP_STOP_ON_ERR_SHIFT) | \
96 (1 << MME_CMDQ_GLBL_ERR_CFG_DMA_STOP_ON_ERR_SHIFT))
98 #define QMAN_MME_ERR_PROT (\
99 (1 << MME_QM_GLBL_PROT_PQF_ERR_PROT_SHIFT) | \
100 (1 << MME_QM_GLBL_PROT_CQF_ERR_PROT_SHIFT) | \
101 (1 << MME_QM_GLBL_PROT_CP_ERR_PROT_SHIFT) | \
102 (1 << MME_QM_GLBL_PROT_DMA_ERR_PROT_SHIFT))
104 #define CMDQ_MME_ERR_PROT (\
105 (1 << MME_CMDQ_GLBL_PROT_PQF_ERR_PROT_SHIFT) | \
106 (1 << MME_CMDQ_GLBL_PROT_CQF_ERR_PROT_SHIFT) | \
107 (1 << MME_CMDQ_GLBL_PROT_CP_ERR_PROT_SHIFT) | \
108 (1 << MME_CMDQ_GLBL_PROT_DMA_ERR_PROT_SHIFT))
110 #define QMAN_TPC_ENABLE (\
111 (1 << TPC0_QM_GLBL_CFG0_PQF_EN_SHIFT) | \
112 (1 << TPC0_QM_GLBL_CFG0_CQF_EN_SHIFT) | \
113 (1 << TPC0_QM_GLBL_CFG0_CP_EN_SHIFT))
115 #define CMDQ_TPC_ENABLE (\
116 (1 << TPC0_CMDQ_GLBL_CFG0_CQF_EN_SHIFT) | \
117 (1 << TPC0_CMDQ_GLBL_CFG0_CP_EN_SHIFT))
119 #define QMAN_TPC_STOP (\
120 (1 << TPC0_QM_GLBL_CFG1_PQF_STOP_SHIFT) | \
121 (1 << TPC0_QM_GLBL_CFG1_CQF_STOP_SHIFT) | \
122 (1 << TPC0_QM_GLBL_CFG1_CP_STOP_SHIFT))
124 #define CMDQ_TPC_STOP (\
125 (1 << TPC0_CMDQ_GLBL_CFG1_CQF_STOP_SHIFT) | \
126 (1 << TPC0_CMDQ_GLBL_CFG1_CP_STOP_SHIFT))
128 #define QMAN_TPC_ERR_MSG_EN (\
129 (1 << TPC0_QM_GLBL_ERR_CFG_PQF_ERR_MSG_EN_SHIFT) | \
130 (1 << TPC0_QM_GLBL_ERR_CFG_CQF_ERR_MSG_EN_SHIFT) | \
131 (1 << TPC0_QM_GLBL_ERR_CFG_CP_ERR_MSG_EN_SHIFT) | \
132 (1 << TPC0_QM_GLBL_ERR_CFG_DMA_ERR_MSG_EN_SHIFT) | \
133 (1 << TPC0_QM_GLBL_ERR_CFG_PQF_STOP_ON_ERR_SHIFT) | \
134 (1 << TPC0_QM_GLBL_ERR_CFG_CQF_STOP_ON_ERR_SHIFT) | \
135 (1 << TPC0_QM_GLBL_ERR_CFG_CP_STOP_ON_ERR_SHIFT) | \
136 (1 << TPC0_QM_GLBL_ERR_CFG_DMA_STOP_ON_ERR_SHIFT))
138 #define CMDQ_TPC_ERR_MSG_EN (\
139 (1 << TPC0_CMDQ_GLBL_ERR_CFG_PQF_ERR_MSG_EN_SHIFT) | \
140 (1 << TPC0_CMDQ_GLBL_ERR_CFG_CQF_ERR_MSG_EN_SHIFT) | \
141 (1 << TPC0_CMDQ_GLBL_ERR_CFG_CP_ERR_MSG_EN_SHIFT) | \
142 (1 << TPC0_CMDQ_GLBL_ERR_CFG_DMA_ERR_MSG_EN_SHIFT) | \
143 (1 << TPC0_CMDQ_GLBL_ERR_CFG_PQF_STOP_ON_ERR_SHIFT) | \
144 (1 << TPC0_CMDQ_GLBL_ERR_CFG_CQF_STOP_ON_ERR_SHIFT) | \
145 (1 << TPC0_CMDQ_GLBL_ERR_CFG_CP_STOP_ON_ERR_SHIFT) | \
146 (1 << TPC0_CMDQ_GLBL_ERR_CFG_DMA_STOP_ON_ERR_SHIFT))
148 #define QMAN_TPC_ERR_PROT (\
149 (1 << TPC0_QM_GLBL_PROT_PQF_ERR_PROT_SHIFT) | \
150 (1 << TPC0_QM_GLBL_PROT_CQF_ERR_PROT_SHIFT) | \
151 (1 << TPC0_QM_GLBL_PROT_CP_ERR_PROT_SHIFT) | \
152 (1 << TPC0_QM_GLBL_PROT_DMA_ERR_PROT_SHIFT))
154 #define CMDQ_TPC_ERR_PROT (\
155 (1 << TPC0_CMDQ_GLBL_PROT_PQF_ERR_PROT_SHIFT) | \
156 (1 << TPC0_CMDQ_GLBL_PROT_CQF_ERR_PROT_SHIFT) | \
157 (1 << TPC0_CMDQ_GLBL_PROT_CP_ERR_PROT_SHIFT) | \
158 (1 << TPC0_CMDQ_GLBL_PROT_DMA_ERR_PROT_SHIFT))
160 /* RESETS */
161 #define DMA_MME_TPC_RESET (\
162 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_TPC_SHIFT |\
163 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_MME_SHIFT |\
164 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_DMA_SHIFT)
166 #define RESET_ALL (\
167 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_TPC_SHIFT |\
168 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_MME_SHIFT |\
169 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_MC_SHIFT |\
170 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_CPU_SHIFT |\
171 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_PSOC_SHIFT |\
172 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_IC_IF_SHIFT |\
173 PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_SRAM_MASK |\
174 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_DMA_SHIFT |\
175 1 << PSOC_GLOBAL_CONF_SW_ALL_RST_CFG_DMA_IF_SHIFT)
177 #define CA53_RESET (\
179 (1 << PSOC_GLOBAL_CONF_UNIT_RST_N_CPU_SHIFT)\
180 ) & 0x7FFFFF)
182 #define CPU_RESET_ASSERT (\
183 1 << CPU_CA53_CFG_ARM_RST_CONTROL_NMBISTRESET_SHIFT)
185 #define CPU_RESET_CORE0_DEASSERT (\
186 1 << CPU_CA53_CFG_ARM_RST_CONTROL_NCPUPORESET_SHIFT |\
187 1 << CPU_CA53_CFG_ARM_RST_CONTROL_NCORERESET_SHIFT |\
188 1 << CPU_CA53_CFG_ARM_RST_CONTROL_NL2RESET_SHIFT |\
189 1 << CPU_CA53_CFG_ARM_RST_CONTROL_NMBISTRESET_SHIFT)
191 #define GOYA_IRQ_HBW_ID_MASK 0x1FFF
192 #define GOYA_IRQ_HBW_ID_SHIFT 0
193 #define GOYA_IRQ_HBW_INTERNAL_ID_MASK 0xE000
194 #define GOYA_IRQ_HBW_INTERNAL_ID_SHIFT 13
195 #define GOYA_IRQ_HBW_AGENT_ID_MASK 0x1F0000
196 #define GOYA_IRQ_HBW_AGENT_ID_SHIFT 16
197 #define GOYA_IRQ_HBW_Y_MASK 0xE00000
198 #define GOYA_IRQ_HBW_Y_SHIFT 21
199 #define GOYA_IRQ_HBW_X_MASK 0x7000000
200 #define GOYA_IRQ_HBW_X_SHIFT 24
201 #define GOYA_IRQ_LBW_ID_MASK 0xFF
202 #define GOYA_IRQ_LBW_ID_SHIFT 0
203 #define GOYA_IRQ_LBW_INTERNAL_ID_MASK 0x700
204 #define GOYA_IRQ_LBW_INTERNAL_ID_SHIFT 8
205 #define GOYA_IRQ_LBW_AGENT_ID_MASK 0xF800
206 #define GOYA_IRQ_LBW_AGENT_ID_SHIFT 11
207 #define GOYA_IRQ_LBW_Y_MASK 0x70000
208 #define GOYA_IRQ_LBW_Y_SHIFT 16
209 #define GOYA_IRQ_LBW_X_MASK 0x380000
210 #define GOYA_IRQ_LBW_X_SHIFT 19
212 #define DMA_QM_IDLE_MASK (DMA_QM_0_GLBL_STS0_PQF_IDLE_MASK | \
213 DMA_QM_0_GLBL_STS0_CQF_IDLE_MASK | \
214 DMA_QM_0_GLBL_STS0_CP_IDLE_MASK | \
215 DMA_QM_0_GLBL_STS0_DMA_IDLE_MASK)
217 #define TPC_QM_IDLE_MASK (TPC0_QM_GLBL_STS0_PQF_IDLE_MASK | \
218 TPC0_QM_GLBL_STS0_CQF_IDLE_MASK | \
219 TPC0_QM_GLBL_STS0_CP_IDLE_MASK)
221 #define TPC_CMDQ_IDLE_MASK (TPC0_CMDQ_GLBL_STS0_CQF_IDLE_MASK | \
222 TPC0_CMDQ_GLBL_STS0_CP_IDLE_MASK)
224 #define TPC_CFG_IDLE_MASK (TPC0_CFG_STATUS_SCALAR_PIPE_EMPTY_MASK | \
225 TPC0_CFG_STATUS_VECTOR_PIPE_EMPTY_MASK | \
226 TPC0_CFG_STATUS_IQ_EMPTY_MASK | \
227 TPC0_CFG_STATUS_NO_INFLIGH_MEM_ACCESSES_MASK)
229 #define MME_QM_IDLE_MASK (MME_QM_GLBL_STS0_PQF_IDLE_MASK | \
230 MME_QM_GLBL_STS0_CQF_IDLE_MASK | \
231 MME_QM_GLBL_STS0_CP_IDLE_MASK)
233 #define MME_CMDQ_IDLE_MASK (MME_CMDQ_GLBL_STS0_CQF_IDLE_MASK | \
234 MME_CMDQ_GLBL_STS0_CP_IDLE_MASK)
236 #define MME_ARCH_IDLE_MASK (MME_ARCH_STATUS_SB_A_EMPTY_MASK | \
237 MME_ARCH_STATUS_SB_B_EMPTY_MASK | \
238 MME_ARCH_STATUS_SB_CIN_EMPTY_MASK | \
239 MME_ARCH_STATUS_SB_COUT_EMPTY_MASK)
241 #define MME_SHADOW_IDLE_MASK (MME_SHADOW_0_STATUS_A_MASK | \
242 MME_SHADOW_0_STATUS_B_MASK | \
243 MME_SHADOW_0_STATUS_CIN_MASK | \
244 MME_SHADOW_0_STATUS_COUT_MASK | \
245 MME_SHADOW_0_STATUS_TE_MASK | \
246 MME_SHADOW_0_STATUS_LD_MASK | \
247 MME_SHADOW_0_STATUS_ST_MASK)
249 #define TPC1_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
250 #define TPC2_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
251 #define TPC3_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
252 #define TPC4_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
253 #define TPC5_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
254 #define TPC6_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
255 #define TPC7_CFG_TPC_STALL_V_SHIFT TPC0_CFG_TPC_STALL_V_SHIFT
257 #define DMA_QM_1_GLBL_CFG1_DMA_STOP_SHIFT DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT
258 #define DMA_QM_2_GLBL_CFG1_DMA_STOP_SHIFT DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT
259 #define DMA_QM_3_GLBL_CFG1_DMA_STOP_SHIFT DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT
260 #define DMA_QM_4_GLBL_CFG1_DMA_STOP_SHIFT DMA_QM_0_GLBL_CFG1_DMA_STOP_SHIFT
262 #define PSOC_ETR_AXICTL_PROTCTRLBIT1_SHIFT 1
263 #define PSOC_ETR_AXICTL_PROTCTRLBIT0_MASK 0x1
264 #define PSOC_ETR_AXICTL_PROTCTRLBIT1_MASK 0x2
265 #define PSOC_ETR_AXICTL_WRBURSTLEN_MASK 0xF00
267 #endif /* ASIC_REG_GOYA_MASKS_H_ */