mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
96ebccb235
Rename Audio buffer and soundwire manager instance registers. Remove scratch registers as these registers can be accessed using ACP_SCRATCH_REG_0 register relative offset. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20230201165626.3169041-1-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
496 lines
30 KiB
C
496 lines
30 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* AMD ACP 6.3 Register Documentation
|
|
*
|
|
* Copyright 2022 Advanced Micro Devices, Inc.
|
|
*/
|
|
|
|
#ifndef _acp_ip_OFFSET_HEADER
|
|
#define _acp_ip_OFFSET_HEADER
|
|
|
|
/* Registers from ACP_DMA block */
|
|
#define ACP_DMA_CNTL_0 0x0000000
|
|
#define ACP_DMA_CNTL_1 0x0000004
|
|
#define ACP_DMA_CNTL_2 0x0000008
|
|
#define ACP_DMA_CNTL_3 0x000000C
|
|
#define ACP_DMA_CNTL_4 0x0000010
|
|
#define ACP_DMA_CNTL_5 0x0000014
|
|
#define ACP_DMA_CNTL_6 0x0000018
|
|
#define ACP_DMA_CNTL_7 0x000001C
|
|
#define ACP_DMA_DSCR_STRT_IDX_0 0x0000020
|
|
#define ACP_DMA_DSCR_STRT_IDX_1 0x0000024
|
|
#define ACP_DMA_DSCR_STRT_IDX_2 0x0000028
|
|
#define ACP_DMA_DSCR_STRT_IDX_3 0x000002C
|
|
#define ACP_DMA_DSCR_STRT_IDX_4 0x0000030
|
|
#define ACP_DMA_DSCR_STRT_IDX_5 0x0000034
|
|
#define ACP_DMA_DSCR_STRT_IDX_6 0x0000038
|
|
#define ACP_DMA_DSCR_STRT_IDX_7 0x000003C
|
|
#define ACP_DMA_DSCR_CNT_0 0x0000040
|
|
#define ACP_DMA_DSCR_CNT_1 0x0000044
|
|
#define ACP_DMA_DSCR_CNT_2 0x0000048
|
|
#define ACP_DMA_DSCR_CNT_3 0x000004C
|
|
#define ACP_DMA_DSCR_CNT_4 0x0000050
|
|
#define ACP_DMA_DSCR_CNT_5 0x0000054
|
|
#define ACP_DMA_DSCR_CNT_6 0x0000058
|
|
#define ACP_DMA_DSCR_CNT_7 0x000005C
|
|
#define ACP_DMA_PRIO_0 0x0000060
|
|
#define ACP_DMA_PRIO_1 0x0000064
|
|
#define ACP_DMA_PRIO_2 0x0000068
|
|
#define ACP_DMA_PRIO_3 0x000006C
|
|
#define ACP_DMA_PRIO_4 0x0000070
|
|
#define ACP_DMA_PRIO_5 0x0000074
|
|
#define ACP_DMA_PRIO_6 0x0000078
|
|
#define ACP_DMA_PRIO_7 0x000007C
|
|
#define ACP_DMA_CUR_DSCR_0 0x0000080
|
|
#define ACP_DMA_CUR_DSCR_1 0x0000084
|
|
#define ACP_DMA_CUR_DSCR_2 0x0000088
|
|
#define ACP_DMA_CUR_DSCR_3 0x000008C
|
|
#define ACP_DMA_CUR_DSCR_4 0x0000090
|
|
#define ACP_DMA_CUR_DSCR_5 0x0000094
|
|
#define ACP_DMA_CUR_DSCR_6 0x0000098
|
|
#define ACP_DMA_CUR_DSCR_7 0x000009C
|
|
#define ACP_DMA_CUR_TRANS_CNT_0 0x00000A0
|
|
#define ACP_DMA_CUR_TRANS_CNT_1 0x00000A4
|
|
#define ACP_DMA_CUR_TRANS_CNT_2 0x00000A8
|
|
#define ACP_DMA_CUR_TRANS_CNT_3 0x00000AC
|
|
#define ACP_DMA_CUR_TRANS_CNT_4 0x00000B0
|
|
#define ACP_DMA_CUR_TRANS_CNT_5 0x00000B4
|
|
#define ACP_DMA_CUR_TRANS_CNT_6 0x00000B8
|
|
#define ACP_DMA_CUR_TRANS_CNT_7 0x00000BC
|
|
#define ACP_DMA_ERR_STS_0 0x00000C0
|
|
#define ACP_DMA_ERR_STS_1 0x00000C4
|
|
#define ACP_DMA_ERR_STS_2 0x00000C8
|
|
#define ACP_DMA_ERR_STS_3 0x00000CC
|
|
#define ACP_DMA_ERR_STS_4 0x00000D0
|
|
#define ACP_DMA_ERR_STS_5 0x00000D4
|
|
#define ACP_DMA_ERR_STS_6 0x00000D8
|
|
#define ACP_DMA_ERR_STS_7 0x00000DC
|
|
#define ACP_DMA_DESC_BASE_ADDR 0x00000E0
|
|
#define ACP_DMA_DESC_MAX_NUM_DSCR 0x00000E4
|
|
#define ACP_DMA_CH_STS 0x00000E8
|
|
#define ACP_DMA_CH_GROUP 0x00000EC
|
|
#define ACP_DMA_CH_RST_STS 0x00000F0
|
|
|
|
/* Registers from ACP_AXI2AXIATU block */
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1 0x0000C00
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_1 0x0000C04
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_2 0x0000C08
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_2 0x0000C0C
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_3 0x0000C10
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_3 0x0000C14
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_4 0x0000C18
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_4 0x0000C1C
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_5 0x0000C20
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_5 0x0000C24
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_6 0x0000C28
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_6 0x0000C2C
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_7 0x0000C30
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_7 0x0000C34
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_8 0x0000C38
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_8 0x0000C3C
|
|
#define ACPAXI2AXI_ATU_CTRL 0x0000C40
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_9 0x0000C44
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_9 0x0000C48
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_10 0x0000C4C
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_10 0x0000C50
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_11 0x0000C54
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_11 0x0000C58
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_12 0x0000C5C
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_12 0x0000C60
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_13 0x0000C64
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_13 0x0000C68
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_14 0x0000C6C
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_14 0x0000C70
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_15 0x0000C74
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_15 0x0000C78
|
|
#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_16 0x0000C7C
|
|
#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_16 0x0000C80
|
|
|
|
/* Registers from ACP_CLKRST block */
|
|
#define ACP_SOFT_RESET 0x0001000
|
|
#define ACP_CONTROL 0x0001004
|
|
#define ACP_STATUS 0x0001008
|
|
#define ACP_DYNAMIC_CG_MASTER_CONTROL 0x0001010
|
|
#define ACP_ZSC_DSP_CTRL 0x0001014
|
|
#define ACP_ZSC_STS 0x0001018
|
|
#define ACP_PGFSM_CONTROL 0x0001024
|
|
#define ACP_PGFSM_STATUS 0x0001028
|
|
#define ACP_CLKMUX_SEL 0x000102C
|
|
|
|
/* Registers from ACP_AON block */
|
|
#define ACP_PME_EN 0x0001400
|
|
#define ACP_DEVICE_STATE 0x0001404
|
|
#define AZ_DEVICE_STATE 0x0001408
|
|
#define ACP_PIN_CONFIG 0x0001440
|
|
#define ACP_PAD_PULLUP_CTRL 0x0001444
|
|
#define ACP_PAD_PULLDOWN_CTRL 0x0001448
|
|
#define ACP_PAD_DRIVE_STRENGTH_CTRL 0x000144C
|
|
#define ACP_PAD_SCHMEN_CTRL 0x0001450
|
|
#define ACP_SW0_PAD_KEEPER_EN 0x0001454
|
|
#define ACP_SW0_WAKE_EN 0x0001458
|
|
#define ACP_I2S_WAKE_EN 0x000145C
|
|
#define ACP_SW1_WAKE_EN 0x0001460
|
|
|
|
#define ACP_SW0_I2S_ERROR_REASON 0x00018B4
|
|
#define ACP_SW0_POS_TRACK_AUDIO0_TX_CTRL 0x00018B8
|
|
#define ACP_SW0_AUDIO0_TX_DMA_POS 0x00018BC
|
|
#define ACP_SW0_POS_TRACK_AUDIO1_TX_CTRL 0x00018C0
|
|
#define ACP_SW0_AUDIO1_TX_DMA_POS 0x00018C4
|
|
#define ACP_SW0_POS_TRACK_AUDIO2_TX_CTRL 0x00018C8
|
|
#define ACP_SW0_AUDIO2_TX_DMA_POS 0x00018CC
|
|
#define ACP_SW0_POS_TRACK_AUDIO0_RX_CTRL 0x00018D0
|
|
#define ACP_SW0_AUDIO0_DMA_POS 0x00018D4
|
|
#define ACP_SW0_POS_TRACK_AUDIO1_RX_CTRL 0x00018D8
|
|
#define ACP_SW0_AUDIO1_RX_DMA_POS 0x00018DC
|
|
#define ACP_SW0_POS_TRACK_AUDIO2_RX_CTRL 0x00018E0
|
|
#define ACP_SW0_AUDIO2_RX_DMA_POS 0x00018E4
|
|
#define ACP_ERROR_INTR_MASK1 0X0001974
|
|
#define ACP_ERROR_INTR_MASK2 0X0001978
|
|
#define ACP_ERROR_INTR_MASK3 0X000197C
|
|
|
|
/* Registers from ACP_P1_MISC block */
|
|
#define ACP_EXTERNAL_INTR_ENB 0x0001A00
|
|
#define ACP_EXTERNAL_INTR_CNTL 0x0001A04
|
|
#define ACP_EXTERNAL_INTR_CNTL1 0x0001A08
|
|
#define ACP_EXTERNAL_INTR_STAT 0x0001A0C
|
|
#define ACP_EXTERNAL_INTR_STAT1 0x0001A10
|
|
#define ACP_ERROR_STATUS 0x0001A4C
|
|
#define ACP_SW1_I2S_ERROR_REASON 0x0001A50
|
|
#define ACP_SW1_POS_TRACK_AUDIO0_TX_CTRL 0x0001A6C
|
|
#define ACP_SW1_AUDIO0_TX_DMA_POS 0x0001A70
|
|
#define ACP_SW1_POS_TRACK_AUDIO0_RX_CTRL 0x0001A74
|
|
#define ACP_SW1_AUDIO0_RX_DMA_POS 0x0001A78
|
|
#define ACP_P1_DMIC_I2S_GPIO_INTR_CTRL 0x0001A7C
|
|
#define ACP_P1_DMIC_I2S_GPIO_INTR_STATUS 0x0001A80
|
|
#define ACP_SCRATCH_REG_BASE_ADDR 0x0001A84
|
|
#define ACP_SW1_POS_TRACK_AUDIO1_TX_CTRL 0x0001A88
|
|
#define ACP_SW1_AUDIO1_TX_DMA_POS 0x0001A8C
|
|
#define ACP_SW1_POS_TRACK_AUDIO2_TX_CTRL 0x0001A90
|
|
#define ACP_SW1_AUDIO2_TX_DMA_POS 0x0001A94
|
|
#define ACP_SW1_POS_TRACK_AUDIO1_RX_CTRL 0x0001A98
|
|
#define ACP_SW1_AUDIO1_RX_DMA_POS 0x0001A9C
|
|
#define ACP_SW1_POS_TRACK_AUDIO2_RX_CTRL 0x0001AA0
|
|
#define ACP_SW1_AUDIO2_RX_DMA_POS 0x0001AA4
|
|
#define ACP_ERROR_INTR_MASK4 0X0001AEC
|
|
#define ACP_ERROR_INTR_MASK5 0X0001AF0
|
|
|
|
/* Registers from ACP_AUDIO_BUFFERS block */
|
|
#define ACP_AUDIO0_RX_RINGBUFADDR 0x0002000
|
|
#define ACP_AUDIO0_RX_RINGBUFSIZE 0x0002004
|
|
#define ACP_AUDIO0_RX_LINKPOSITIONCNTR 0x0002008
|
|
#define ACP_AUDIO0_RX_FIFOADDR 0x000200C
|
|
#define ACP_AUDIO0_RX_FIFOSIZE 0x0002010
|
|
#define ACP_AUDIO0_RX_DMA_SIZE 0x0002014
|
|
#define ACP_AUDIO0_RX_LINEARPOSITIONCNTR_HIGH 0x0002018
|
|
#define ACP_AUDIO0_RX_LINEARPOSITIONCNTR_LOW 0x000201C
|
|
#define ACP_AUDIO0_RX_INTR_WATERMARK_SIZE 0x0002020
|
|
#define ACP_AUDIO0_TX_RINGBUFADDR 0x0002024
|
|
#define ACP_AUDIO0_TX_RINGBUFSIZE 0x0002028
|
|
#define ACP_AUDIO0_TX_LINKPOSITIONCNTR 0x000202C
|
|
#define ACP_AUDIO0_TX_FIFOADDR 0x0002030
|
|
#define ACP_AUDIO0_TX_FIFOSIZE 0x0002034
|
|
#define ACP_AUDIO0_TX_DMA_SIZE 0x0002038
|
|
#define ACP_AUDIO0_TX_LINEARPOSITIONCNTR_HIGH 0x000203C
|
|
#define ACP_AUDIO0_TX_LINEARPOSITIONCNTR_LOW 0x0002040
|
|
#define ACP_AUDIO0_TX_INTR_WATERMARK_SIZE 0x0002044
|
|
#define ACP_AUDIO1_RX_RINGBUFADDR 0x0002048
|
|
#define ACP_AUDIO1_RX_RINGBUFSIZE 0x000204C
|
|
#define ACP_AUDIO1_RX_LINKPOSITIONCNTR 0x0002050
|
|
#define ACP_AUDIO1_RX_FIFOADDR 0x0002054
|
|
#define ACP_AUDIO1_RX_FIFOSIZE 0x0002058
|
|
#define ACP_AUDIO1_RX_DMA_SIZE 0x000205C
|
|
#define ACP_AUDIO1_RX_LINEARPOSITIONCNTR_HIGH 0x0002060
|
|
#define ACP_AUDIO1_RX_LINEARPOSITIONCNTR_LOW 0x0002064
|
|
#define ACP_AUDIO1_RX_INTR_WATERMARK_SIZE 0x0002068
|
|
#define ACP_AUDIO1_TX_RINGBUFADDR 0x000206C
|
|
#define ACP_AUDIO1_TX_RINGBUFSIZE 0x0002070
|
|
#define ACP_AUDIO1_TX_LINKPOSITIONCNTR 0x0002074
|
|
#define ACP_AUDIO1_TX_FIFOADDR 0x0002078
|
|
#define ACP_AUDIO1_TX_FIFOSIZE 0x000207C
|
|
#define ACP_AUDIO1_TX_DMA_SIZE 0x0002080
|
|
#define ACP_AUDIO1_TX_LINEARPOSITIONCNTR_HIGH 0x0002084
|
|
#define ACP_AUDIO1_TX_LINEARPOSITIONCNTR_LOW 0x0002088
|
|
#define ACP_AUDIO1_TX_INTR_WATERMARK_SIZE 0x000208C
|
|
#define ACP_AUDIO2_RX_RINGBUFADDR 0x0002090
|
|
#define ACP_AUDIO2_RX_RINGBUFSIZE 0x0002094
|
|
#define ACP_AUDIO2_RX_LINKPOSITIONCNTR 0x0002098
|
|
#define ACP_AUDIO2_RX_FIFOADDR 0x000209C
|
|
#define ACP_AUDIO2_RX_FIFOSIZE 0x00020A0
|
|
#define ACP_AUDIO2_RX_DMA_SIZE 0x00020A4
|
|
#define ACP_AUDIO2_RX_LINEARPOSITIONCNTR_HIGH 0x00020A8
|
|
#define ACP_AUDIO2_RX_LINEARPOSITIONCNTR_LOW 0x00020AC
|
|
#define ACP_AUDIO2_RX_INTR_WATERMARK_SIZE 0x00020B0
|
|
#define ACP_AUDIO2_TX_RINGBUFADDR 0x00020B4
|
|
#define ACP_AUDIO2_TX_RINGBUFSIZE 0x00020B8
|
|
#define ACP_AUDIO2_TX_LINKPOSITIONCNTR 0x00020BC
|
|
#define ACP_AUDIO2_TX_FIFOADDR 0x00020C0
|
|
#define ACP_AUDIO2_TX_FIFOSIZE 0x00020C4
|
|
#define ACP_AUDIO2_TX_DMA_SIZE 0x00020C8
|
|
#define ACP_AUDIO2_TX_LINEARPOSITIONCNTR_HIGH 0x00020CC
|
|
#define ACP_AUDIO2_TX_LINEARPOSITIONCNTR_LOW 0x00020D0
|
|
#define ACP_AUDIO2_TX_INTR_WATERMARK_SIZE 0x00020D4
|
|
|
|
/* Registers from ACP_I2S_TDM block */
|
|
#define ACP_I2STDM_IER 0x0002400
|
|
#define ACP_I2STDM_IRER 0x0002404
|
|
#define ACP_I2STDM_RXFRMT 0x0002408
|
|
#define ACP_I2STDM_ITER 0x000240C
|
|
#define ACP_I2STDM_TXFRMT 0x0002410
|
|
#define ACP_I2STDM0_MSTRCLKGEN 0x0002414
|
|
#define ACP_I2STDM1_MSTRCLKGEN 0x0002418
|
|
#define ACP_I2STDM2_MSTRCLKGEN 0x000241C
|
|
#define ACP_I2STDM_REFCLKGEN 0x0002420
|
|
|
|
/* Registers from ACP_BT_TDM block */
|
|
#define ACP_BTTDM_IER 0x0002800
|
|
#define ACP_BTTDM_IRER 0x0002804
|
|
#define ACP_BTTDM_RXFRMT 0x0002808
|
|
#define ACP_BTTDM_ITER 0x000280C
|
|
#define ACP_BTTDM_TXFRMT 0x0002810
|
|
#define ACP_HSTDM_IER 0x0002814
|
|
#define ACP_HSTDM_IRER 0x0002818
|
|
#define ACP_HSTDM_RXFRMT 0x000281C
|
|
#define ACP_HSTDM_ITER 0x0002820
|
|
#define ACP_HSTDM_TXFRMT 0x0002824
|
|
|
|
/* Registers from ACP_WOV block */
|
|
#define ACP_WOV_PDM_ENABLE 0x0002C04
|
|
#define ACP_WOV_PDM_DMA_ENABLE 0x0002C08
|
|
#define ACP_WOV_RX_RINGBUFADDR 0x0002C0C
|
|
#define ACP_WOV_RX_RINGBUFSIZE 0x0002C10
|
|
#define ACP_WOV_RX_LINKPOSITIONCNTR 0x0002C14
|
|
#define ACP_WOV_RX_LINEARPOSITIONCNTR_HIGH 0x0002C18
|
|
#define ACP_WOV_RX_LINEARPOSITIONCNTR_LOW 0x0002C1C
|
|
#define ACP_WOV_RX_INTR_WATERMARK_SIZE 0x0002C20
|
|
#define ACP_WOV_PDM_FIFO_FLUSH 0x0002C24
|
|
#define ACP_WOV_PDM_NO_OF_CHANNELS 0x0002C28
|
|
#define ACP_WOV_PDM_DECIMATION_FACTOR 0x0002C2C
|
|
#define ACP_WOV_PDM_VAD_CTRL 0x0002C30
|
|
#define ACP_WOV_WAKE 0x0002C54
|
|
#define ACP_WOV_BUFFER_STATUS 0x0002C58
|
|
#define ACP_WOV_MISC_CTRL 0x0002C5C
|
|
#define ACP_WOV_CLK_CTRL 0x0002C60
|
|
#define ACP_PDM_VAD_DYNAMIC_CLK_GATING_EN 0x0002C64
|
|
#define ACP_WOV_ERROR_STATUS_REGISTER 0x0002C68
|
|
#define ACP_PDM_CLKDIV 0x0002C6C
|
|
|
|
/* Registers from ACP_SW0_SWCLK block */
|
|
#define ACP_SW0_EN 0x0003000
|
|
#define ACP_SW0_EN_STATUS 0x0003004
|
|
#define ACP_SW0_FRAMESIZE 0x0003008
|
|
#define ACP_SW0_SSP_COUNTER 0x000300C
|
|
#define ACP_SW0_AUDIO0_TX_EN 0x0003010
|
|
#define ACP_SW0_AUDIO0_TX_EN_STATUS 0x0003014
|
|
#define ACP_SW0_AUDIO0_TX_FRAME_FORMAT 0x0003018
|
|
#define ACP_SW0_AUDIO0_TX_SAMPLEINTERVAL 0x000301C
|
|
#define ACP_SW0_AUDIO0_TX_HCTRL_DP0 0x0003020
|
|
#define ACP_SW0_AUDIO0_TX_HCTRL_DP1 0x0003024
|
|
#define ACP_SW0_AUDIO0_TX_HCTRL_DP2 0x0003028
|
|
#define ACP_SW0_AUDIO0_TX_HCTRL_DP3 0x000302C
|
|
#define ACP_SW0_AUDIO0_TX_OFFSET_DP0 0x0003030
|
|
#define ACP_SW0_AUDIO0_TX_OFFSET_DP1 0x0003034
|
|
#define ACP_SW0_AUDIO0_TX_OFFSET_DP2 0x0003038
|
|
#define ACP_SW0_AUDIO0_TX_OFFSET_DP3 0x000303C
|
|
#define ACP_SW0_AUDIO0_TX_CHANNEL_ENABLE_DP0 0x0003040
|
|
#define ACP_SW0_AUDIO0_TX_CHANNEL_ENABLE_DP1 0x0003044
|
|
#define ACP_SW0_AUDIO0_TX_CHANNEL_ENABLE_DP2 0x0003048
|
|
#define ACP_SW0_AUDIO0_TX_CHANNEL_ENABLE_DP3 0x000304C
|
|
#define ACP_SW0_AUDIO1_TX_EN 0x0003050
|
|
#define ACP_SW0_AUDIO1_TX_EN_STATUS 0x0003054
|
|
#define ACP_SW0_AUDIO1_TX_FRAME_FORMAT 0x0003058
|
|
#define ACP_SW0_AUDIO1_TX_SAMPLEINTERVAL 0x000305C
|
|
#define ACP_SW0_AUDIO1_TX_HCTRL 0x0003060
|
|
#define ACP_SW0_AUDIO1_TX_OFFSET 0x0003064
|
|
#define ACP_SW0_AUDIO1_TX_CHANNEL_ENABLE_DP0 0x0003068
|
|
#define ACP_SW0_AUDIO2_TX_EN 0x000306C
|
|
#define ACP_SW0_AUDIO2_TX_EN_STATUS 0x0003070
|
|
#define ACP_SW0_AUDIO2_TX_FRAME_FORMAT 0x0003074
|
|
#define ACP_SW0_AUDIO2_TX_SAMPLEINTERVAL 0x0003078
|
|
#define ACP_SW0_AUDIO2_TX_HCTRL 0x000307C
|
|
#define ACP_SW0_AUDIO2_TX_OFFSET 0x0003080
|
|
#define ACP_SW0_AUDIO2_TX_CHANNEL_ENABLE_DP0 0x0003084
|
|
#define ACP_SW0_AUDIO0_RX_EN 0x0003088
|
|
#define ACP_SW0_AUDIO0_RX_EN_STATUS 0x000308C
|
|
#define ACP_SW0_AUDIO0_RX_FRAME_FORMAT 0x0003090
|
|
#define ACP_SW0_AUDIO0_RX_SAMPLEINTERVAL 0x0003094
|
|
#define ACP_SW0_AUDIO0_RX_HCTRL_DP0 0x0003098
|
|
#define ACP_SW0_AUDIO0_RX_HCTRL_DP1 0x000309C
|
|
#define ACP_SW0_AUDIO0_RX_HCTRL_DP2 0x0003100
|
|
#define ACP_SW0_AUDIO0_RX_HCTRL_DP3 0x0003104
|
|
#define ACP_SW0_AUDIO0_RX_OFFSET_DP0 0x0003108
|
|
#define ACP_SW0_AUDIO0_RX_OFFSET_DP1 0x000310C
|
|
#define ACP_SW0_AUDIO0_RX_OFFSET_DP2 0x0003110
|
|
#define ACP_SW0_AUDIO0_RX_OFFSET_DP3 0x0003114
|
|
#define ACP_SW0_AUDIO0_RX_CHANNEL_ENABLE_DP0 0x0003118
|
|
#define ACP_SW0_AUDIO0_RX_CHANNEL_ENABLE_DP1 0x000311C
|
|
#define ACP_SW0_AUDIO0_RX_CHANNEL_ENABLE_DP2 0x0003120
|
|
#define ACP_SW0_AUDIO0_RX_CHANNEL_ENABLE_DP3 0x0003124
|
|
#define ACP_SW0_AUDIO1_RX_EN 0x0003128
|
|
#define ACP_SW0_AUDIO1_RX_EN_STATUS 0x000312C
|
|
#define ACP_SW0_AUDIO1_RX_FRAME_FORMAT 0x0003130
|
|
#define ACP_SW0_AUDIO1_RX_SAMPLEINTERVAL 0x0003134
|
|
#define ACP_SW0_AUDIO1_RX_HCTRL 0x0003138
|
|
#define ACP_SW0_AUDIO1_RX_OFFSET 0x000313C
|
|
#define ACP_SW0_AUDIO1_RX_CHANNEL_ENABLE_DP0 0x0003140
|
|
#define ACP_SW0_AUDIO2_RX_EN 0x0003144
|
|
#define ACP_SW0_AUDIO2_RX_EN_STATUS 0x0003148
|
|
#define ACP_SW0_AUDIO2_RX_FRAME_FORMAT 0x000314C
|
|
#define ACP_SW0_AUDIO2_RX_SAMPLEINTERVAL 0x0003150
|
|
#define ACP_SW0_AUDIO2_RX_HCTRL 0x0003154
|
|
#define ACP_SW0_AUDIO2_RX_OFFSET 0x0003158
|
|
#define ACP_SW0_AUDIO2_RX_CHANNEL_ENABLE_DP0 0x000315C
|
|
#define ACP_SW0_BPT_PORT_EN 0x0003160
|
|
#define ACP_SW0_BPT_PORT_EN_STATUS 0x0003164
|
|
#define ACP_SW0_BPT_PORT_FRAME_FORMAT 0x0003168
|
|
#define ACP_SW0_BPT_PORT_SAMPLEINTERVAL 0x000316C
|
|
#define ACP_SW0_BPT_PORT_HCTRL 0x0003170
|
|
#define ACP_SW0_BPT_PORT_OFFSET 0x0003174
|
|
#define ACP_SW0_BPT_PORT_CHANNEL_ENABLE 0x0003178
|
|
#define ACP_SW0_BPT_PORT_FIRST_BYTE_ADDR 0x000317C
|
|
#define ACP_SW0_CLK_RESUME_CTRL 0x0003180
|
|
#define ACP_SW0_CLK_RESUME_DELAY_CNTR 0x0003184
|
|
#define ACP_SW0_BUS_RESET_CTRL 0x0003188
|
|
#define ACP_SW0_PRBS_ERR_STATUS 0x000318C
|
|
#define ACP_SW0_IMM_CMD_UPPER_WORD 0x0003230
|
|
#define ACP_SW0_IMM_CMD_LOWER_QWORD 0x0003234
|
|
#define ACP_SW0_IMM_RESP_UPPER_WORD 0x0003238
|
|
#define ACP_SW0_IMM_RESP_LOWER_QWORD 0x000323C
|
|
#define ACP_SW0_IMM_CMD_STS 0x0003240
|
|
#define ACP_SW0_BRA_BASE_ADDRESS 0x0003244
|
|
#define ACP_SW0_BRA_TRANSFER_SIZE 0x0003248
|
|
#define ACP_SW0_BRA_DMA_BUSY 0x000324C
|
|
#define ACP_SW0_BRA_RESP 0x0003250
|
|
#define ACP_SW0_BRA_RESP_FRAME_ADDR 0x0003254
|
|
#define ACP_SW0_BRA_CURRENT_TRANSFER_SIZE 0x0003258
|
|
#define ACP_SW0_STATECHANGE_STATUS_0TO7 0x000325C
|
|
#define ACP_SW0_STATECHANGE_STATUS_8TO11 0x0003260
|
|
#define ACP_SW0_STATECHANGE_STATUS_MASK_0TO7 0x0003264
|
|
#define ACP_SW0_STATECHANGE_STATUS_MASK_8TO11 0x0003268
|
|
#define ACP_SW0_CLK_FREQUENCY_CTRL 0x000326C
|
|
#define ACP_SW0_ERROR_INTR_MASK 0x0003270
|
|
#define ACP_SW0_PHY_TEST_MODE_DATA_OFF 0x0003274
|
|
|
|
/* Registers from ACP_P1_AUDIO_BUFFERS block */
|
|
#define ACP_P1_AUDIO0_RX_RINGBUFADDR 0x0003A00
|
|
#define ACP_P1_AUDIO0_RX_RINGBUFSIZE 0x0003A04
|
|
#define ACP_P1_AUDIO0_RX_LINKPOSITIONCNTR 0x0003A08
|
|
#define ACP_P1_AUDIO0_RX_FIFOADDR 0x0003A0C
|
|
#define ACP_P1_AUDIO0_RX_FIFOSIZE 0x0003A10
|
|
#define ACP_P1_AUDIO0_RX_DMA_SIZE 0x0003A14
|
|
#define ACP_P1_AUDIO0_RX_LINEARPOSITIONCNTR_HIGH 0x0003A18
|
|
#define ACP_P1_AUDIO0_RX_LINEARPOSITIONCNTR_LOW 0x0003A1C
|
|
#define ACP_P1_AUDIO0_RX_INTR_WATERMARK_SIZE 0x0003A20
|
|
#define ACP_P1_AUDIO0_TX_RINGBUFADDR 0x0003A24
|
|
#define ACP_P1_AUDIO0_TX_RINGBUFSIZE 0x0003A28
|
|
#define ACP_P1_AUDIO0_TX_LINKPOSITIONCNTR 0x0003A2C
|
|
#define ACP_P1_AUDIO0_TX_FIFOADDR 0x0003A30
|
|
#define ACP_P1_AUDIO0_TX_FIFOSIZE 0x0003A34
|
|
#define ACP_P1_AUDIO0_TX_DMA_SIZE 0x0003A38
|
|
#define ACP_P1_AUDIO0_TX_LINEARPOSITIONCNTR_HIGH 0x0003A3C
|
|
#define ACP_P1_AUDIO0_TX_LINEARPOSITIONCNTR_LOW 0x0003A40
|
|
#define ACP_P1_AUDIO0_TX_INTR_WATERMARK_SIZE 0x0003A44
|
|
#define ACP_P1_AUDIO1_RX_RINGBUFADDR 0x0003A48
|
|
#define ACP_P1_AUDIO1_RX_RINGBUFSIZE 0x0003A4C
|
|
#define ACP_P1_AUDIO1_RX_LINKPOSITIONCNTR 0x0003A50
|
|
#define ACP_P1_AUDIO1_RX_FIFOADDR 0x0003A54
|
|
#define ACP_P1_AUDIO1_RX_FIFOSIZE 0x0003A58
|
|
#define ACP_P1_AUDIO1_RX_DMA_SIZE 0x0003A5C
|
|
#define ACP_P1_AUDIO1_RX_LINEARPOSITIONCNTR_HIGH 0x0003A60
|
|
#define ACP_P1_AUDIO1_RX_LINEARPOSITIONCNTR_LOW 0x0003A64
|
|
#define ACP_P1_AUDIO1_RX_INTR_WATERMARK_SIZE 0x0003A68
|
|
#define ACP_P1_AUDIO1_TX_RINGBUFADDR 0x0003A6C
|
|
#define ACP_P1_AUDIO1_TX_RINGBUFSIZE 0x0003A70
|
|
#define ACP_P1_AUDIO1_TX_LINKPOSITIONCNTR 0x0003A74
|
|
#define ACP_P1_AUDIO1_TX_FIFOADDR 0x0003A78
|
|
#define ACP_P1_AUDIO1_TX_FIFOSIZE 0x0003A7C
|
|
#define ACP_P1_AUDIO1_TX_DMA_SIZE 0x0003A80
|
|
#define ACP_P1_AUDIO1_TX_LINEARPOSITIONCNTR_HIGH 0x0003A84
|
|
#define ACP_P1_AUDIO1_TX_LINEARPOSITIONCNTR_LOW 0x0003A88
|
|
#define ACP_P1_AUDIO1_TX_INTR_WATERMARK_SIZE 0x0003A8C
|
|
#define ACP_P1_AUDIO2_RX_RINGBUFADDR 0x0003A90
|
|
#define ACP_P1_AUDIO2_RX_RINGBUFSIZE 0x0003A94
|
|
#define ACP_P1_AUDIO2_RX_LINKPOSITIONCNTR 0x0003A98
|
|
#define ACP_P1_AUDIO2_RX_FIFOADDR 0x0003A9C
|
|
#define ACP_P1_AUDIO2_RX_FIFOSIZE 0x0003AA0
|
|
#define ACP_P1_AUDIO2_RX_DMA_SIZE 0x0003AA4
|
|
#define ACP_P1_AUDIO2_RX_LINEARPOSITIONCNTR_HIGH 0x0003AA8
|
|
#define ACP_P1_AUDIO2_RX_LINEARPOSITIONCNTR_LOW 0x0003AAC
|
|
#define ACP_P1_AUDIO2_RX_INTR_WATERMARK_SIZE 0x0003AB0
|
|
#define ACP_P1_AUDIO2_TX_RINGBUFADDR 0x0003AB4
|
|
#define ACP_P1_AUDIO2_TX_RINGBUFSIZE 0x0003AB8
|
|
#define ACP_P1_AUDIO2_TX_LINKPOSITIONCNTR 0x0003ABC
|
|
#define ACP_P1_AUDIO2_TX_FIFOADDR 0x0003AC0
|
|
#define ACP_P1_AUDIO2_TX_FIFOSIZE 0x0003AC4
|
|
#define ACP_P1_AUDIO2_TX_DMA_SIZE 0x0003AC8
|
|
#define ACP_P1_AUDIO2_TX_LINEARPOSITIONCNTR_HIGH 0x0003ACC
|
|
#define ACP_P1_AUDIO2_TX_LINEARPOSITIONCNTR_LOW 0x0003AD0
|
|
#define ACP_P1_AUDIO2_TX_INTR_WATERMARK_SIZE 0x0003AD4
|
|
|
|
/* Registers from ACP_SW1_SWCLK block */
|
|
#define ACP_SW1_EN 0x0003C00
|
|
#define ACP_SW1_EN_STATUS 0x0003C04
|
|
#define ACP_SW1_FRAMESIZE 0x0003C08
|
|
#define ACP_SW1_SSP_COUNTER 0x0003C0C
|
|
#define ACP_SW1_AUDIO1_TX_EN 0x0003C50
|
|
#define ACP_SW1_AUDIO1_TX_EN_STATUS 0x0003C54
|
|
#define ACP_SW1_AUDIO1_TX_FRAME_FORMAT 0x0003C58
|
|
#define ACP_SW1_AUDIO1_TX_SAMPLEINTERVAL 0x0003C5C
|
|
#define ACP_SW1_AUDIO1_TX_HCTRL 0x0003C60
|
|
#define ACP_SW1_AUDIO1_TX_OFFSET 0x0003C64
|
|
#define ACP_SW1_AUDIO1_TX_CHANNEL_ENABLE_DP0 0x0003C68
|
|
#define ACP_SW1_AUDIO1_RX_EN 0x0003D28
|
|
#define ACP_SW1_AUDIO1_RX_EN_STATUS 0x0003D2C
|
|
#define ACP_SW1_AUDIO1_RX_FRAME_FORMAT 0x0003D30
|
|
#define ACP_SW1_AUDIO1_RX_SAMPLEINTERVAL 0x0003D34
|
|
#define ACP_SW1_AUDIO1_RX_HCTRL 0x0003D38
|
|
#define ACP_SW1_AUDIO1_RX_OFFSET 0x0003D3C
|
|
#define ACP_SW1_AUDIO1_RX_CHANNEL_ENABLE_DP0 0x0003D40
|
|
#define ACP_SW1_BPT_PORT_EN 0x0003D60
|
|
#define ACP_SW1_BPT_PORT_EN_STATUS 0x0003D64
|
|
#define ACP_SW1_BPT_PORT_FRAME_FORMAT 0x0003D68
|
|
#define ACP_SW1_BPT_PORT_SAMPLEINTERVAL 0x0003D6C
|
|
#define ACP_SW1_BPT_PORT_HCTRL 0x0003D70
|
|
#define ACP_SW1_BPT_PORT_OFFSET 0x0003D74
|
|
#define ACP_SW1_BPT_PORT_CHANNEL_ENABLE 0x0003D78
|
|
#define ACP_SW1_BPT_PORT_FIRST_BYTE_ADDR 0x0003D7C
|
|
#define ACP_SW1_CLK_RESUME_CTRL 0x0003D80
|
|
#define ACP_SW1_CLK_RESUME_DELAY_CNTR 0x0003D84
|
|
#define ACP_SW1_BUS_RESET_CTRL 0x0003D88
|
|
#define ACP_SW1_PRBS_ERR_STATUS 0x0003D8C
|
|
|
|
/* Registers from ACP_SW1_ACLK block */
|
|
#define ACP_SW1_CORB_BASE_ADDRESS 0x0003E00
|
|
#define ACP_SW1_CORB_WRITE_POINTER 0x0003E04
|
|
#define ACP_SW1_CORB_READ_POINTER 0x0003E08
|
|
#define ACP_SW1_CORB_CONTROL 0x0003E0C
|
|
#define ACP_SW1_CORB_SIZE 0x0003E14
|
|
#define ACP_SW1_RIRB_BASE_ADDRESS 0x0003E18
|
|
#define ACP_SW1_RIRB_WRITE_POINTER 0x0003E1C
|
|
#define ACP_SW1_RIRB_RESPONSE_INTERRUPT_COUNT 0x0003E20
|
|
#define ACP_SW1_RIRB_CONTROL 0x0003E24
|
|
#define ACP_SW1_RIRB_SIZE 0x0003E28
|
|
#define ACP_SW1_RIRB_FIFO_MIN_THDL 0x0003E2C
|
|
#define ACP_SW1_IMM_CMD_UPPER_WORD 0x0003E30
|
|
#define ACP_SW1_IMM_CMD_LOWER_QWORD 0x0003E34
|
|
#define ACP_SW1_IMM_RESP_UPPER_WORD 0x0003E38
|
|
#define ACP_SW1_IMM_RESP_LOWER_QWORD 0x0003E3C
|
|
#define ACP_SW1_IMM_CMD_STS 0x0003E40
|
|
#define ACP_SW1_BRA_BASE_ADDRESS 0x0003E44
|
|
#define ACP_SW1_BRA_TRANSFER_SIZE 0x0003E48
|
|
#define ACP_SW1_BRA_DMA_BUSY 0x0003E4C
|
|
#define ACP_SW1_BRA_RESP 0x0003E50
|
|
#define ACP_SW1_BRA_RESP_FRAME_ADDR 0x0003E54
|
|
#define ACP_SW1_BRA_CURRENT_TRANSFER_SIZE 0x0003E58
|
|
#define ACP_SW1_STATECHANGE_STATUS_0TO7 0x0003E5C
|
|
#define ACP_SW1_STATECHANGE_STATUS_8TO11 0x0003E60
|
|
#define ACP_SW1_STATECHANGE_STATUS_MASK_0TO7 0x0003E64
|
|
#define ACP_SW1_STATECHANGE_STATUS_MASK_8TO11 0x0003E68
|
|
#define ACP_SW1_CLK_FREQUENCY_CTRL 0x0003E6C
|
|
#define ACP_SW1_ERROR_INTR_MASK 0x0003E70
|
|
#define ACP_SW1_PHY_TEST_MODE_DATA_OFF 0x0003E74
|
|
|
|
/* Registers from ACP_SCRATCH block */
|
|
#define ACP_SCRATCH_REG_0 0x0010000
|
|
|
|
#endif
|