1 /* SPDX-License-Identifier: GPL-2.0
2  *
3  * Copyright (C) 2020 HabanaLabs Ltd.
4  * All Rights Reserved.
5  */
6 
7 #ifndef __GAUDI2_ARC_COMMON_PACKETS_H__
8 #define __GAUDI2_ARC_COMMON_PACKETS_H__
9 
10 enum {
11 	CPU_ID_SCHED_ARC0 = 0, /* FARM_ARC0 */
12 	CPU_ID_SCHED_ARC1 = 1, /* FARM_ARC1 */
13 	CPU_ID_SCHED_ARC2 = 2, /* FARM_ARC2 */
14 	CPU_ID_SCHED_ARC3 = 3, /* FARM_ARC3 */
15 	/* Dcore1 MME Engine ARC instance used as scheduler */
16 	CPU_ID_SCHED_ARC4 = 4, /* DCORE1_MME0 */
17 	/* Dcore3 MME Engine ARC instance used as scheduler */
18 	CPU_ID_SCHED_ARC5 = 5, /* DCORE3_MME0 */
19 
20 	CPU_ID_TPC_QMAN_ARC0 = 6,   /* DCORE0_TPC0 */
21 	CPU_ID_TPC_QMAN_ARC1 = 7,   /* DCORE0_TPC1 */
22 	CPU_ID_TPC_QMAN_ARC2 = 8,   /* DCORE0_TPC2 */
23 	CPU_ID_TPC_QMAN_ARC3 = 9,   /* DCORE0_TPC3 */
24 	CPU_ID_TPC_QMAN_ARC4 = 10,  /* DCORE0_TPC4 */
25 	CPU_ID_TPC_QMAN_ARC5 = 11,  /* DCORE0_TPC5 */
26 	CPU_ID_TPC_QMAN_ARC6 = 12,  /* DCORE1_TPC0 */
27 	CPU_ID_TPC_QMAN_ARC7 = 13,  /* DCORE1_TPC1 */
28 	CPU_ID_TPC_QMAN_ARC8 = 14,  /* DCORE1_TPC2 */
29 	CPU_ID_TPC_QMAN_ARC9 = 15,  /* DCORE1_TPC3 */
30 	CPU_ID_TPC_QMAN_ARC10 = 16, /* DCORE1_TPC4 */
31 	CPU_ID_TPC_QMAN_ARC11 = 17, /* DCORE1_TPC5 */
32 	CPU_ID_TPC_QMAN_ARC12 = 18, /* DCORE2_TPC0 */
33 	CPU_ID_TPC_QMAN_ARC13 = 19, /* DCORE2_TPC1 */
34 	CPU_ID_TPC_QMAN_ARC14 = 20, /* DCORE2_TPC2 */
35 	CPU_ID_TPC_QMAN_ARC15 = 21, /* DCORE2_TPC3 */
36 	CPU_ID_TPC_QMAN_ARC16 = 22, /* DCORE2_TPC4 */
37 	CPU_ID_TPC_QMAN_ARC17 = 23, /* DCORE2_TPC5 */
38 	CPU_ID_TPC_QMAN_ARC18 = 24, /* DCORE3_TPC0 */
39 	CPU_ID_TPC_QMAN_ARC19 = 25, /* DCORE3_TPC1 */
40 	CPU_ID_TPC_QMAN_ARC20 = 26, /* DCORE3_TPC2 */
41 	CPU_ID_TPC_QMAN_ARC21 = 27, /* DCORE3_TPC3 */
42 	CPU_ID_TPC_QMAN_ARC22 = 28, /* DCORE3_TPC4 */
43 	CPU_ID_TPC_QMAN_ARC23 = 29, /* DCORE3_TPC5 */
44 	CPU_ID_TPC_QMAN_ARC24 = 30, /* DCORE0_TPC6 - Never present */
45 
46 	CPU_ID_MME_QMAN_ARC0 = 31, /* DCORE0_MME0 */
47 	CPU_ID_MME_QMAN_ARC1 = 32, /* DCORE2_MME0 */
48 
49 	CPU_ID_EDMA_QMAN_ARC0 = 33, /* DCORE0_EDMA0 */
50 	CPU_ID_EDMA_QMAN_ARC1 = 34, /* DCORE0_EDMA1 */
51 	CPU_ID_EDMA_QMAN_ARC2 = 35, /* DCORE1_EDMA0 */
52 	CPU_ID_EDMA_QMAN_ARC3 = 36, /* DCORE1_EDMA1 */
53 	CPU_ID_EDMA_QMAN_ARC4 = 37, /* DCORE2_EDMA0 */
54 	CPU_ID_EDMA_QMAN_ARC5 = 38, /* DCORE2_EDMA1 */
55 	CPU_ID_EDMA_QMAN_ARC6 = 39, /* DCORE3_EDMA0 */
56 	CPU_ID_EDMA_QMAN_ARC7 = 40, /* DCORE3_EDMA1 */
57 
58 	CPU_ID_PDMA_QMAN_ARC0 = 41, /* DCORE0_PDMA0 */
59 	CPU_ID_PDMA_QMAN_ARC1 = 42, /* DCORE0_PDMA1 */
60 
61 	CPU_ID_ROT_QMAN_ARC0 = 43, /* ROT0 */
62 	CPU_ID_ROT_QMAN_ARC1 = 44, /* ROT1 */
63 
64 	CPU_ID_NIC_QMAN_ARC0 = 45,  /* NIC0_0 */
65 	CPU_ID_NIC_QMAN_ARC1 = 46,  /* NIC0_1 */
66 	CPU_ID_NIC_QMAN_ARC2 = 47,  /* NIC1_0 */
67 	CPU_ID_NIC_QMAN_ARC3 = 48,  /* NIC1_1 */
68 	CPU_ID_NIC_QMAN_ARC4 = 49,  /* NIC2_0 */
69 	CPU_ID_NIC_QMAN_ARC5 = 50,  /* NIC2_1 */
70 	CPU_ID_NIC_QMAN_ARC6 = 51,  /* NIC3_0 */
71 	CPU_ID_NIC_QMAN_ARC7 = 52,  /* NIC3_1 */
72 	CPU_ID_NIC_QMAN_ARC8 = 53,  /* NIC4_0 */
73 	CPU_ID_NIC_QMAN_ARC9 = 54,  /* NIC4_1 */
74 	CPU_ID_NIC_QMAN_ARC10 = 55, /* NIC5_0 */
75 	CPU_ID_NIC_QMAN_ARC11 = 56, /* NIC5_1 */
76 	CPU_ID_NIC_QMAN_ARC12 = 57, /* NIC6_0 */
77 	CPU_ID_NIC_QMAN_ARC13 = 58, /* NIC6_1 */
78 	CPU_ID_NIC_QMAN_ARC14 = 59, /* NIC7_0 */
79 	CPU_ID_NIC_QMAN_ARC15 = 60, /* NIC7_1 */
80 	CPU_ID_NIC_QMAN_ARC16 = 61, /* NIC8_0 */
81 	CPU_ID_NIC_QMAN_ARC17 = 62, /* NIC8_1 */
82 	CPU_ID_NIC_QMAN_ARC18 = 63, /* NIC9_0 */
83 	CPU_ID_NIC_QMAN_ARC19 = 64, /* NIC9_1 */
84 	CPU_ID_NIC_QMAN_ARC20 = 65, /* NIC10_0 */
85 	CPU_ID_NIC_QMAN_ARC21 = 66, /* NIC10_1 */
86 	CPU_ID_NIC_QMAN_ARC22 = 67, /* NIC11_0 */
87 	CPU_ID_NIC_QMAN_ARC23 = 68, /* NIC11_1 */
88 
89 	CPU_ID_MAX = 69,
90 	CPU_ID_SCHED_MAX = 6,
91 
92 	CPU_ID_ALL = 0xFE,
93 	CPU_ID_INVALID = 0xFF,
94 };
95 
96 enum arc_regions_t {
97 	ARC_REGION0_UNSED  = 0,
98 	/*
99 	 * Extension registers
100 	 * None
101 	 */
102 	ARC_REGION1_SRAM = 1,
103 	/*
104 	 * Extension registers
105 	 * AUX_SRAM_LSB_ADDR
106 	 * AUX_SRAM_MSB_ADDR
107 	 * ARC Address: 0x1000_0000
108 	 */
109 	ARC_REGION2_CFG = 2,
110 	/*
111 	 * Extension registers
112 	 * AUX_CFG_LSB_ADDR
113 	 * AUX_CFG_MSB_ADDR
114 	 * ARC Address: 0x2000_0000
115 	 */
116 	ARC_REGION3_GENERAL = 3,
117 	/*
118 	 * Extension registers
119 	 * AUX_GENERAL_PURPOSE_LSB_ADDR_0
120 	 * AUX_GENERAL_PURPOSE_MSB_ADDR_0
121 	 * ARC Address: 0x3000_0000
122 	 */
123 	ARC_REGION4_HBM0_FW = 4,
124 	/*
125 	 * Extension registers
126 	 * AUX_HBM0_LSB_ADDR
127 	 * AUX_HBM0_MSB_ADDR
128 	 * AUX_HBM0_OFFSET
129 	 * ARC Address: 0x4000_0000
130 	 */
131 	ARC_REGION5_HBM1_GC_DATA = 5,
132 	/*
133 	 * Extension registers
134 	 * AUX_HBM1_LSB_ADDR
135 	 * AUX_HBM1_MSB_ADDR
136 	 * AUX_HBM1_OFFSET
137 	 * ARC Address: 0x5000_0000
138 	 */
139 	ARC_REGION6_HBM2_GC_DATA = 6,
140 	/*
141 	 * Extension registers
142 	 * AUX_HBM2_LSB_ADDR
143 	 * AUX_HBM2_MSB_ADDR
144 	 * AUX_HBM2_OFFSET
145 	 * ARC Address: 0x6000_0000
146 	 */
147 	ARC_REGION7_HBM3_GC_DATA = 7,
148 	/*
149 	 * Extension registers
150 	 * AUX_HBM3_LSB_ADDR
151 	 * AUX_HBM3_MSB_ADDR
152 	 * AUX_HBM3_OFFSET
153 	 * ARC Address: 0x7000_0000
154 	 */
155 	ARC_REGION8_DCCM = 8,
156 	/*
157 	 * Extension registers
158 	 * None
159 	 * ARC Address: 0x8000_0000
160 	 */
161 	ARC_REGION9_PCIE = 9,
162 	/*
163 	 * Extension registers
164 	 * AUX_PCIE_LSB_ADDR
165 	 * AUX_PCIE_MSB_ADDR
166 	 * ARC Address: 0x9000_0000
167 	 */
168 	ARC_REGION10_GENERAL = 10,
169 	/*
170 	 * Extension registers
171 	 * AUX_GENERAL_PURPOSE_LSB_ADDR_1
172 	 * AUX_GENERAL_PURPOSE_MSB_ADDR_1
173 	 * ARC Address: 0xA000_0000
174 	 */
175 	ARC_REGION11_GENERAL = 11,
176 	/*
177 	 * Extension registers
178 	 * AUX_GENERAL_PURPOSE_LSB_ADDR_2
179 	 * AUX_GENERAL_PURPOSE_MSB_ADDR_2
180 	 * ARC Address: 0xB000_0000
181 	 */
182 	ARC_REGION12_GENERAL = 12,
183 	/*
184 	 * Extension registers
185 	 * AUX_GENERAL_PURPOSE_LSB_ADDR_3
186 	 * AUX_GENERAL_PURPOSE_MSB_ADDR_3
187 	 * ARC Address: 0xC000_0000
188 	 */
189 	ARC_REGION13_GENERAL = 13,
190 	/*
191 	 * Extension registers
192 	 * AUX_GENERAL_PURPOSE_LSB_ADDR_4
193 	 * AUX_GENERAL_PURPOSE_MSB_ADDR_4
194 	 * ARC Address: 0xD000_0000
195 	 */
196 	ARC_REGION14_GENERAL = 14,
197 	/*
198 	 * Extension registers
199 	 * AUX_GENERAL_PURPOSE_LSB_ADDR_5
200 	 * AUX_GENERAL_PURPOSE_MSB_ADDR_5
201 	 * ARC Address: 0xE000_0000
202 	 */
203 	ARC_REGION15_LBU = 15
204 	/*
205 	 * Extension registers
206 	 * None
207 	 * ARC Address: 0xF000_0000
208 	 */
209 };
210 
211 #endif /* __GAUDI2_ARC_COMMON_PACKETS_H__ */
212