162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * This file is provided under a dual BSD/GPLv2 license. When using or 462306a36Sopenharmony_ci * redistributing this file, you may do so under either license. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright(c) 2021, 2023 Advanced Micro Devices, Inc. All rights reserved. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Author: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#ifndef _ACP_DSP_IP_OFFSET_H 1262306a36Sopenharmony_ci#define _ACP_DSP_IP_OFFSET_H 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* Registers from ACP_DMA_0 block */ 1562306a36Sopenharmony_ci#define ACP_DMA_CNTL_0 0x00 1662306a36Sopenharmony_ci#define ACP_DMA_DSCR_STRT_IDX_0 0x20 1762306a36Sopenharmony_ci#define ACP_DMA_DSCR_CNT_0 0x40 1862306a36Sopenharmony_ci#define ACP_DMA_PRIO_0 0x60 1962306a36Sopenharmony_ci#define ACP_DMA_CUR_DSCR_0 0x80 2062306a36Sopenharmony_ci#define ACP_DMA_ERR_STS_0 0xC0 2162306a36Sopenharmony_ci#define ACP_DMA_DESC_BASE_ADDR 0xE0 2262306a36Sopenharmony_ci#define ACP_DMA_DESC_MAX_NUM_DSCR 0xE4 2362306a36Sopenharmony_ci#define ACP_DMA_CH_STS 0xE8 2462306a36Sopenharmony_ci#define ACP_DMA_CH_GROUP 0xEC 2562306a36Sopenharmony_ci#define ACP_DMA_CH_RST_STS 0xF0 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci/* Registers from ACP_DSP_0 block */ 2862306a36Sopenharmony_ci#define ACP_DSP0_RUNSTALL 0x414 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci/* Registers from ACP_AXI2AXIATU block */ 3162306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1 0xC00 3262306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_1 0xC04 3362306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_2 0xC08 3462306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_2 0xC0C 3562306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_3 0xC10 3662306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_3 0xC14 3762306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_4 0xC18 3862306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_4 0xC1C 3962306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_5 0xC20 4062306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_5 0xC24 4162306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_6 0xC28 4262306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_6 0xC2C 4362306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_7 0xC30 4462306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_7 0xC34 4562306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_8 0xC38 4662306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_8 0xC3C 4762306a36Sopenharmony_ci#define ACPAXI2AXI_ATU_CTRL 0xC40 4862306a36Sopenharmony_ci#define ACP_SOFT_RESET 0x1000 4962306a36Sopenharmony_ci#define ACP_CONTROL 0x1004 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci#define ACP3X_I2S_PIN_CONFIG 0x1400 5262306a36Sopenharmony_ci#define ACP5X_I2S_PIN_CONFIG 0x1400 5362306a36Sopenharmony_ci#define ACP6X_I2S_PIN_CONFIG 0x1440 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci/* Registers offsets from ACP_PGFSM block */ 5662306a36Sopenharmony_ci#define ACP3X_PGFSM_BASE 0x141C 5762306a36Sopenharmony_ci#define ACP5X_PGFSM_BASE 0x1424 5862306a36Sopenharmony_ci#define ACP6X_PGFSM_BASE 0x1024 5962306a36Sopenharmony_ci#define PGFSM_CONTROL_OFFSET 0x0 6062306a36Sopenharmony_ci#define PGFSM_STATUS_OFFSET 0x4 6162306a36Sopenharmony_ci#define ACP3X_CLKMUX_SEL 0x1424 6262306a36Sopenharmony_ci#define ACP5X_CLKMUX_SEL 0x142C 6362306a36Sopenharmony_ci#define ACP6X_CLKMUX_SEL 0x102C 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci/* Registers from ACP_INTR block */ 6662306a36Sopenharmony_ci#define ACP3X_EXT_INTR_STAT 0x1808 6762306a36Sopenharmony_ci#define ACP5X_EXT_INTR_STAT 0x1808 6862306a36Sopenharmony_ci#define ACP6X_EXT_INTR_STAT 0x1A0C 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci#define ACP3X_DSP_SW_INTR_BASE 0x1814 7162306a36Sopenharmony_ci#define ACP5X_DSP_SW_INTR_BASE 0x1814 7262306a36Sopenharmony_ci#define ACP6X_DSP_SW_INTR_BASE 0x1808 7362306a36Sopenharmony_ci#define DSP_SW_INTR_CNTL_OFFSET 0x0 7462306a36Sopenharmony_ci#define DSP_SW_INTR_STAT_OFFSET 0x4 7562306a36Sopenharmony_ci#define DSP_SW_INTR_TRIG_OFFSET 0x8 7662306a36Sopenharmony_ci#define ACP_ERROR_STATUS 0x18C4 7762306a36Sopenharmony_ci#define ACP3X_AXI2DAGB_SEM_0 0x1880 7862306a36Sopenharmony_ci#define ACP5X_AXI2DAGB_SEM_0 0x1884 7962306a36Sopenharmony_ci#define ACP6X_AXI2DAGB_SEM_0 0x1874 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci/* Registers from ACP_SHA block */ 8262306a36Sopenharmony_ci#define ACP_SHA_DSP_FW_QUALIFIER 0x1C70 8362306a36Sopenharmony_ci#define ACP_SHA_DMA_CMD 0x1CB0 8462306a36Sopenharmony_ci#define ACP_SHA_MSG_LENGTH 0x1CB4 8562306a36Sopenharmony_ci#define ACP_SHA_DMA_STRT_ADDR 0x1CB8 8662306a36Sopenharmony_ci#define ACP_SHA_DMA_DESTINATION_ADDR 0x1CBC 8762306a36Sopenharmony_ci#define ACP_SHA_DMA_CMD_STS 0x1CC0 8862306a36Sopenharmony_ci#define ACP_SHA_DMA_ERR_STATUS 0x1CC4 8962306a36Sopenharmony_ci#define ACP_SHA_TRANSFER_BYTE_CNT 0x1CC8 9062306a36Sopenharmony_ci#define ACP_SHA_DMA_INCLUDE_HDR 0x1CCC 9162306a36Sopenharmony_ci#define ACP_SHA_PSP_ACK 0x1C74 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci#define ACP_SCRATCH_REG_0 0x10000 9462306a36Sopenharmony_ci#define ACP6X_DSP_FUSION_RUNSTALL 0x0644 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci/* Cache window registers */ 9762306a36Sopenharmony_ci#define ACP_DSP0_CACHE_OFFSET0 0x0420 9862306a36Sopenharmony_ci#define ACP_DSP0_CACHE_SIZE0 0x0424 9962306a36Sopenharmony_ci#endif 100