1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* |
3 | * AMD ACP 5.x Register Documentation |
4 | * |
5 | * Copyright 2021 Advanced Micro Devices, Inc. |
6 | */ |
7 | |
8 | #ifndef _acp_ip_OFFSET_HEADER |
9 | #define |
10 | |
11 | /* Registers from ACP_DMA block */ |
12 | #define ACP_DMA_CNTL_0 0x1240000 |
13 | #define ACP_DMA_CNTL_1 0x1240004 |
14 | #define ACP_DMA_CNTL_2 0x1240008 |
15 | #define ACP_DMA_CNTL_3 0x124000C |
16 | #define ACP_DMA_CNTL_4 0x1240010 |
17 | #define ACP_DMA_CNTL_5 0x1240014 |
18 | #define ACP_DMA_CNTL_6 0x1240018 |
19 | #define ACP_DMA_CNTL_7 0x124001C |
20 | #define ACP_DMA_DSCR_STRT_IDX_0 0x1240020 |
21 | #define ACP_DMA_DSCR_STRT_IDX_1 0x1240024 |
22 | #define ACP_DMA_DSCR_STRT_IDX_2 0x1240028 |
23 | #define ACP_DMA_DSCR_STRT_IDX_3 0x124002C |
24 | #define ACP_DMA_DSCR_STRT_IDX_4 0x1240030 |
25 | #define ACP_DMA_DSCR_STRT_IDX_5 0x1240034 |
26 | #define ACP_DMA_DSCR_STRT_IDX_6 0x1240038 |
27 | #define ACP_DMA_DSCR_STRT_IDX_7 0x124003C |
28 | #define ACP_DMA_DSCR_CNT_0 0x1240040 |
29 | #define ACP_DMA_DSCR_CNT_1 0x1240044 |
30 | #define ACP_DMA_DSCR_CNT_2 0x1240048 |
31 | #define ACP_DMA_DSCR_CNT_3 0x124004C |
32 | #define ACP_DMA_DSCR_CNT_4 0x1240050 |
33 | #define ACP_DMA_DSCR_CNT_5 0x1240054 |
34 | #define ACP_DMA_DSCR_CNT_6 0x1240058 |
35 | #define ACP_DMA_DSCR_CNT_7 0x124005C |
36 | #define ACP_DMA_PRIO_0 0x1240060 |
37 | #define ACP_DMA_PRIO_1 0x1240064 |
38 | #define ACP_DMA_PRIO_2 0x1240068 |
39 | #define ACP_DMA_PRIO_3 0x124006C |
40 | #define ACP_DMA_PRIO_4 0x1240070 |
41 | #define ACP_DMA_PRIO_5 0x1240074 |
42 | #define ACP_DMA_PRIO_6 0x1240078 |
43 | #define ACP_DMA_PRIO_7 0x124007C |
44 | #define ACP_DMA_CUR_DSCR_0 0x1240080 |
45 | #define ACP_DMA_CUR_DSCR_1 0x1240084 |
46 | #define ACP_DMA_CUR_DSCR_2 0x1240088 |
47 | #define ACP_DMA_CUR_DSCR_3 0x124008C |
48 | #define ACP_DMA_CUR_DSCR_4 0x1240090 |
49 | #define ACP_DMA_CUR_DSCR_5 0x1240094 |
50 | #define ACP_DMA_CUR_DSCR_6 0x1240098 |
51 | #define ACP_DMA_CUR_DSCR_7 0x124009C |
52 | #define ACP_DMA_CUR_TRANS_CNT_0 0x12400A0 |
53 | #define ACP_DMA_CUR_TRANS_CNT_1 0x12400A4 |
54 | #define ACP_DMA_CUR_TRANS_CNT_2 0x12400A8 |
55 | #define ACP_DMA_CUR_TRANS_CNT_3 0x12400AC |
56 | #define ACP_DMA_CUR_TRANS_CNT_4 0x12400B0 |
57 | #define ACP_DMA_CUR_TRANS_CNT_5 0x12400B4 |
58 | #define ACP_DMA_CUR_TRANS_CNT_6 0x12400B8 |
59 | #define ACP_DMA_CUR_TRANS_CNT_7 0x12400BC |
60 | #define ACP_DMA_ERR_STS_0 0x12400C0 |
61 | #define ACP_DMA_ERR_STS_1 0x12400C4 |
62 | #define ACP_DMA_ERR_STS_2 0x12400C8 |
63 | #define ACP_DMA_ERR_STS_3 0x12400CC |
64 | #define ACP_DMA_ERR_STS_4 0x12400D0 |
65 | #define ACP_DMA_ERR_STS_5 0x12400D4 |
66 | #define ACP_DMA_ERR_STS_6 0x12400D8 |
67 | #define ACP_DMA_ERR_STS_7 0x12400DC |
68 | #define ACP_DMA_DESC_BASE_ADDR 0x12400E0 |
69 | #define ACP_DMA_DESC_MAX_NUM_DSCR 0x12400E4 |
70 | #define ACP_DMA_CH_STS 0x12400E8 |
71 | #define ACP_DMA_CH_GROUP 0x12400EC |
72 | #define ACP_DMA_CH_RST_STS 0x12400F0 |
73 | |
74 | /* Registers from ACP_AXI2AXIATU block */ |
75 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1 0x1240C00 |
76 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_1 0x1240C04 |
77 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_2 0x1240C08 |
78 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_2 0x1240C0C |
79 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_3 0x1240C10 |
80 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_3 0x1240C14 |
81 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_4 0x1240C18 |
82 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_4 0x1240C1C |
83 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_5 0x1240C20 |
84 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_5 0x1240C24 |
85 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_6 0x1240C28 |
86 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_6 0x1240C2C |
87 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_7 0x1240C30 |
88 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_7 0x1240C34 |
89 | #define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_8 0x1240C38 |
90 | #define ACPAXI2AXI_ATU_BASE_ADDR_GRP_8 0x1240C3C |
91 | #define ACPAXI2AXI_ATU_CTRL 0x1240C40 |
92 | |
93 | /* Registers from ACP_CLKRST block */ |
94 | #define ACP_SOFT_RESET 0x1241000 |
95 | #define ACP_CONTROL 0x1241004 |
96 | #define ACP_STATUS 0x1241008 |
97 | #define ACP_DYNAMIC_CG_MASTER_CONTROL 0x1241010 |
98 | |
99 | /* Registers from ACP_MISC block */ |
100 | #define ACP_EXTERNAL_INTR_ENB 0x1241800 |
101 | #define ACP_EXTERNAL_INTR_CNTL 0x1241804 |
102 | #define ACP_EXTERNAL_INTR_STAT 0x1241808 |
103 | #define ACP_ERROR_STATUS 0x12418C4 |
104 | #define ACP_SW_I2S_ERROR_REASON 0x12418C8 |
105 | #define ACP_MEM_PG_STS 0x12418CC |
106 | #define ACP_PGMEM_DEEP_SLEEP_CTRL 0x12418D0 |
107 | #define ACP_PGMEM_SHUT_DOWN_CTRL 0x12418D4 |
108 | |
109 | /* Registers from ACP_PGFSM block */ |
110 | #define ACP_PIN_CONFIG 0x1241400 |
111 | #define ACP_PAD_PULLUP_CTRL 0x1241404 |
112 | #define ACP_PAD_PULLDOWN_CTRL 0x1241408 |
113 | #define ACP_PAD_DRIVE_STRENGTH_CTRL 0x124140C |
114 | #define ACP_PAD_SCHMEN_CTRL 0x1241410 |
115 | #define ACP_SW_PAD_KEEPER_EN 0x1241414 |
116 | #define ACP_SW_WAKE_EN 0x1241418 |
117 | #define ACP_I2S_WAKE_EN 0x124141C |
118 | #define ACP_PME_EN 0x1241420 |
119 | #define ACP_PGFSM_CONTROL 0x1241424 |
120 | #define ACP_PGFSM_STATUS 0x1241428 |
121 | #define ACP_CLKMUX_SEL 0x124142C |
122 | #define ACP_DEVICE_STATE 0x1241430 |
123 | #define AZ_DEVICE_STATE 0x1241434 |
124 | #define ACP_INTR_URGENCY_TIMER 0x1241438 |
125 | #define AZ_INTR_URGENCY_TIMER 0x124143C |
126 | #define ACP_AON_SW_INTR_TRIG 0x1241440 |
127 | |
128 | /* Registers from ACP_SCRATCH block */ |
129 | #define ACP_SCRATCH_REG_0 0x1250000 |
130 | #define ACP_SCRATCH_REG_1 0x1250004 |
131 | #define ACP_SCRATCH_REG_2 0x1250008 |
132 | #define ACP_SCRATCH_REG_3 0x125000C |
133 | #define ACP_SCRATCH_REG_4 0x1250010 |
134 | #define ACP_SCRATCH_REG_5 0x1250014 |
135 | #define ACP_SCRATCH_REG_6 0x1250018 |
136 | #define ACP_SCRATCH_REG_7 0x125001C |
137 | #define ACP_SCRATCH_REG_8 0x1250020 |
138 | #define ACP_SCRATCH_REG_9 0x1250024 |
139 | #define ACP_SCRATCH_REG_10 0x1250028 |
140 | #define ACP_SCRATCH_REG_11 0x125002C |
141 | #define ACP_SCRATCH_REG_12 0x1250030 |
142 | #define ACP_SCRATCH_REG_13 0x1250034 |
143 | #define ACP_SCRATCH_REG_14 0x1250038 |
144 | #define ACP_SCRATCH_REG_15 0x125003C |
145 | #define ACP_SCRATCH_REG_16 0x1250040 |
146 | #define ACP_SCRATCH_REG_17 0x1250044 |
147 | #define ACP_SCRATCH_REG_18 0x1250048 |
148 | #define ACP_SCRATCH_REG_19 0x125004C |
149 | #define ACP_SCRATCH_REG_20 0x1250050 |
150 | #define ACP_SCRATCH_REG_21 0x1250054 |
151 | #define ACP_SCRATCH_REG_22 0x1250058 |
152 | #define ACP_SCRATCH_REG_23 0x125005C |
153 | #define ACP_SCRATCH_REG_24 0x1250060 |
154 | #define ACP_SCRATCH_REG_25 0x1250064 |
155 | #define ACP_SCRATCH_REG_26 0x1250068 |
156 | #define ACP_SCRATCH_REG_27 0x125006C |
157 | #define ACP_SCRATCH_REG_28 0x1250070 |
158 | #define ACP_SCRATCH_REG_29 0x1250074 |
159 | #define ACP_SCRATCH_REG_30 0x1250078 |
160 | #define ACP_SCRATCH_REG_31 0x125007C |
161 | #define ACP_SCRATCH_REG_32 0x1250080 |
162 | #define ACP_SCRATCH_REG_33 0x1250084 |
163 | #define ACP_SCRATCH_REG_34 0x1250088 |
164 | #define ACP_SCRATCH_REG_35 0x125008C |
165 | #define ACP_SCRATCH_REG_36 0x1250090 |
166 | #define ACP_SCRATCH_REG_37 0x1250094 |
167 | #define ACP_SCRATCH_REG_38 0x1250098 |
168 | #define ACP_SCRATCH_REG_39 0x125009C |
169 | #define ACP_SCRATCH_REG_40 0x12500A0 |
170 | #define ACP_SCRATCH_REG_41 0x12500A4 |
171 | #define ACP_SCRATCH_REG_42 0x12500A8 |
172 | #define ACP_SCRATCH_REG_43 0x12500AC |
173 | #define ACP_SCRATCH_REG_44 0x12500B0 |
174 | #define ACP_SCRATCH_REG_45 0x12500B4 |
175 | #define ACP_SCRATCH_REG_46 0x12500B8 |
176 | #define ACP_SCRATCH_REG_47 0x12500BC |
177 | #define ACP_SCRATCH_REG_48 0x12500C0 |
178 | #define ACP_SCRATCH_REG_49 0x12500C4 |
179 | #define ACP_SCRATCH_REG_50 0x12500C8 |
180 | #define ACP_SCRATCH_REG_51 0x12500CC |
181 | #define ACP_SCRATCH_REG_52 0x12500D0 |
182 | #define ACP_SCRATCH_REG_53 0x12500D4 |
183 | #define ACP_SCRATCH_REG_54 0x12500D8 |
184 | #define ACP_SCRATCH_REG_55 0x12500DC |
185 | #define ACP_SCRATCH_REG_56 0x12500E0 |
186 | #define ACP_SCRATCH_REG_57 0x12500E4 |
187 | #define ACP_SCRATCH_REG_58 0x12500E8 |
188 | #define ACP_SCRATCH_REG_59 0x12500EC |
189 | #define ACP_SCRATCH_REG_60 0x12500F0 |
190 | #define ACP_SCRATCH_REG_61 0x12500F4 |
191 | #define ACP_SCRATCH_REG_62 0x12500F8 |
192 | #define ACP_SCRATCH_REG_63 0x12500FC |
193 | #define ACP_SCRATCH_REG_64 0x1250100 |
194 | #define ACP_SCRATCH_REG_65 0x1250104 |
195 | #define ACP_SCRATCH_REG_66 0x1250108 |
196 | #define ACP_SCRATCH_REG_67 0x125010C |
197 | #define ACP_SCRATCH_REG_68 0x1250110 |
198 | #define ACP_SCRATCH_REG_69 0x1250114 |
199 | #define ACP_SCRATCH_REG_70 0x1250118 |
200 | #define ACP_SCRATCH_REG_71 0x125011C |
201 | #define ACP_SCRATCH_REG_72 0x1250120 |
202 | #define ACP_SCRATCH_REG_73 0x1250124 |
203 | #define ACP_SCRATCH_REG_74 0x1250128 |
204 | #define ACP_SCRATCH_REG_75 0x125012C |
205 | #define ACP_SCRATCH_REG_76 0x1250130 |
206 | #define ACP_SCRATCH_REG_77 0x1250134 |
207 | #define ACP_SCRATCH_REG_78 0x1250138 |
208 | #define ACP_SCRATCH_REG_79 0x125013C |
209 | #define ACP_SCRATCH_REG_80 0x1250140 |
210 | #define ACP_SCRATCH_REG_81 0x1250144 |
211 | #define ACP_SCRATCH_REG_82 0x1250148 |
212 | #define ACP_SCRATCH_REG_83 0x125014C |
213 | #define ACP_SCRATCH_REG_84 0x1250150 |
214 | #define ACP_SCRATCH_REG_85 0x1250154 |
215 | #define ACP_SCRATCH_REG_86 0x1250158 |
216 | #define ACP_SCRATCH_REG_87 0x125015C |
217 | #define ACP_SCRATCH_REG_88 0x1250160 |
218 | #define ACP_SCRATCH_REG_89 0x1250164 |
219 | #define ACP_SCRATCH_REG_90 0x1250168 |
220 | #define ACP_SCRATCH_REG_91 0x125016C |
221 | #define ACP_SCRATCH_REG_92 0x1250170 |
222 | #define ACP_SCRATCH_REG_93 0x1250174 |
223 | #define ACP_SCRATCH_REG_94 0x1250178 |
224 | #define ACP_SCRATCH_REG_95 0x125017C |
225 | #define ACP_SCRATCH_REG_96 0x1250180 |
226 | #define ACP_SCRATCH_REG_97 0x1250184 |
227 | #define ACP_SCRATCH_REG_98 0x1250188 |
228 | #define ACP_SCRATCH_REG_99 0x125018C |
229 | #define ACP_SCRATCH_REG_100 0x1250190 |
230 | #define ACP_SCRATCH_REG_101 0x1250194 |
231 | #define ACP_SCRATCH_REG_102 0x1250198 |
232 | #define ACP_SCRATCH_REG_103 0x125019C |
233 | #define ACP_SCRATCH_REG_104 0x12501A0 |
234 | #define ACP_SCRATCH_REG_105 0x12501A4 |
235 | #define ACP_SCRATCH_REG_106 0x12501A8 |
236 | #define ACP_SCRATCH_REG_107 0x12501AC |
237 | #define ACP_SCRATCH_REG_108 0x12501B0 |
238 | #define ACP_SCRATCH_REG_109 0x12501B4 |
239 | #define ACP_SCRATCH_REG_110 0x12501B8 |
240 | #define ACP_SCRATCH_REG_111 0x12501BC |
241 | #define ACP_SCRATCH_REG_112 0x12501C0 |
242 | #define ACP_SCRATCH_REG_113 0x12501C4 |
243 | #define ACP_SCRATCH_REG_114 0x12501C8 |
244 | #define ACP_SCRATCH_REG_115 0x12501CC |
245 | #define ACP_SCRATCH_REG_116 0x12501D0 |
246 | #define ACP_SCRATCH_REG_117 0x12501D4 |
247 | #define ACP_SCRATCH_REG_118 0x12501D8 |
248 | #define ACP_SCRATCH_REG_119 0x12501DC |
249 | #define ACP_SCRATCH_REG_120 0x12501E0 |
250 | #define ACP_SCRATCH_REG_121 0x12501E4 |
251 | #define ACP_SCRATCH_REG_122 0x12501E8 |
252 | #define ACP_SCRATCH_REG_123 0x12501EC |
253 | #define ACP_SCRATCH_REG_124 0x12501F0 |
254 | #define ACP_SCRATCH_REG_125 0x12501F4 |
255 | #define ACP_SCRATCH_REG_126 0x12501F8 |
256 | #define ACP_SCRATCH_REG_127 0x12501FC |
257 | #define ACP_SCRATCH_REG_128 0x1250200 |
258 | |
259 | /* Registers from ACP_AUDIO_BUFFERS block */ |
260 | #define ACP_I2S_RX_RINGBUFADDR 0x1242000 |
261 | #define ACP_I2S_RX_RINGBUFSIZE 0x1242004 |
262 | #define ACP_I2S_RX_LINKPOSITIONCNTR 0x1242008 |
263 | #define ACP_I2S_RX_FIFOADDR 0x124200C |
264 | #define ACP_I2S_RX_FIFOSIZE 0x1242010 |
265 | #define ACP_I2S_RX_DMA_SIZE 0x1242014 |
266 | #define ACP_I2S_RX_LINEARPOSCNTR_HIGH 0x1242018 |
267 | #define ACP_I2S_RX_LINEARPOSCNTR_LOW 0x124201C |
268 | #define ACP_I2S_RX_INTR_WATERMARK_SIZE 0x1242020 |
269 | #define ACP_I2S_TX_RINGBUFADDR 0x1242024 |
270 | #define ACP_I2S_TX_RINGBUFSIZE 0x1242028 |
271 | #define ACP_I2S_TX_LINKPOSITIONCNTR 0x124202C |
272 | #define ACP_I2S_TX_FIFOADDR 0x1242030 |
273 | #define ACP_I2S_TX_FIFOSIZE 0x1242034 |
274 | #define ACP_I2S_TX_DMA_SIZE 0x1242038 |
275 | #define ACP_I2S_TX_LINEARPOSCNTR_HIGH 0x124203C |
276 | #define ACP_I2S_TX_LINEARPOSCNTR_LOW 0x1242040 |
277 | #define ACP_I2S_TX_INTR_WATERMARK_SIZE 0x1242044 |
278 | #define ACP_BT_RX_RINGBUFADDR 0x1242048 |
279 | #define ACP_BT_RX_RINGBUFSIZE 0x124204C |
280 | #define ACP_BT_RX_LINKPOSITIONCNTR 0x1242050 |
281 | #define ACP_BT_RX_FIFOADDR 0x1242054 |
282 | #define ACP_BT_RX_FIFOSIZE 0x1242058 |
283 | #define ACP_BT_RX_DMA_SIZE 0x124205C |
284 | #define ACP_BT_RX_LINEARPOSCNTR_HIGH 0x1242060 |
285 | #define ACP_BT_RX_LINEARPOSCNTR_LOW 0x1242064 |
286 | #define ACP_BT_RX_INTR_WATERMARK_SIZE 0x1242068 |
287 | #define ACP_BT_TX_RINGBUFADDR 0x124206C |
288 | #define ACP_BT_TX_RINGBUFSIZE 0x1242070 |
289 | #define ACP_BT_TX_LINKPOSITIONCNTR 0x1242074 |
290 | #define ACP_BT_TX_FIFOADDR 0x1242078 |
291 | #define ACP_BT_TX_FIFOSIZE 0x124207C |
292 | #define ACP_BT_TX_DMA_SIZE 0x1242080 |
293 | #define ACP_BT_TX_LINEARPOSCNTR_HIGH 0x1242084 |
294 | #define ACP_BT_TX_LINEARPOSCNTR_LOW 0x1242088 |
295 | #define ACP_BT_TX_INTR_WATERMARK_SIZE 0x124208C |
296 | #define ACP_HS_RX_RINGBUFADDR 0x1242090 |
297 | #define ACP_HS_RX_RINGBUFSIZE 0x1242094 |
298 | #define ACP_HS_RX_LINKPOSITIONCNTR 0x1242098 |
299 | #define ACP_HS_RX_FIFOADDR 0x124209C |
300 | #define ACP_HS_RX_FIFOSIZE 0x12420A0 |
301 | #define ACP_HS_RX_DMA_SIZE 0x12420A4 |
302 | #define ACP_HS_RX_LINEARPOSCNTR_HIGH 0x12420A8 |
303 | #define ACP_HS_RX_LINEARPOSCNTR_LOW 0x12420AC |
304 | #define ACP_HS_RX_INTR_WATERMARK_SIZE 0x12420B0 |
305 | #define ACP_HS_TX_RINGBUFADDR 0x12420B4 |
306 | #define ACP_HS_TX_RINGBUFSIZE 0x12420B8 |
307 | #define ACP_HS_TX_LINKPOSITIONCNTR 0x12420BC |
308 | #define ACP_HS_TX_FIFOADDR 0x12420C0 |
309 | #define ACP_HS_TX_FIFOSIZE 0x12420C4 |
310 | #define ACP_HS_TX_DMA_SIZE 0x12420C8 |
311 | #define ACP_HS_TX_LINEARPOSCNTR_HIGH 0x12420CC |
312 | #define ACP_HS_TX_LINEARPOSCNTR_LOW 0x12420D0 |
313 | #define ACP_HS_TX_INTR_WATERMARK_SIZE 0x12420D4 |
314 | |
315 | /* Registers from ACP_I2S_TDM block */ |
316 | #define ACP_I2STDM_IER 0x1242400 |
317 | #define ACP_I2STDM_IRER 0x1242404 |
318 | #define ACP_I2STDM_RXFRMT 0x1242408 |
319 | #define ACP_I2STDM_ITER 0x124240C |
320 | #define ACP_I2STDM_TXFRMT 0x1242410 |
321 | #define ACP_I2STDM0_MSTRCLKGEN 0x1242414 |
322 | #define ACP_I2STDM1_MSTRCLKGEN 0x1242418 |
323 | #define ACP_I2STDM2_MSTRCLKGEN 0x124241C |
324 | #define ACP_I2STDM_REFCLKGEN 0x1242420 |
325 | |
326 | /* Registers from ACP_BT_TDM block */ |
327 | #define ACP_BTTDM_IER 0x1242800 |
328 | #define ACP_BTTDM_IRER 0x1242804 |
329 | #define ACP_BTTDM_RXFRMT 0x1242808 |
330 | #define ACP_BTTDM_ITER 0x124280C |
331 | #define ACP_BTTDM_TXFRMT 0x1242810 |
332 | #define ACP_HSTDM_IER 0x1242814 |
333 | #define ACP_HSTDM_IRER 0x1242818 |
334 | #define ACP_HSTDM_RXFRMT 0x124281C |
335 | #define ACP_HSTDM_ITER 0x1242820 |
336 | #define ACP_HSTDM_TXFRMT 0x1242824 |
337 | #endif |
338 | |