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 _acp_ip_OFFSET_HEADER 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