Path: blob/master/sound/soc/mediatek/mt7986/mt7986-reg.h
26488 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* mt7986-reg.h -- MediaTek 7986 audio driver reg definition3*4* Copyright (c) 2023 MediaTek Inc.5* Authors: Vic Wu <[email protected]>6* Maso Huang <[email protected]>7*/89#ifndef _MT7986_REG_H_10#define _MT7986_REG_H_1112#define AUDIO_TOP_CON2 0x000813#define AUDIO_TOP_CON4 0x001014#define AUDIO_ENGEN_CON0 0x001415#define AFE_IRQ_MCU_EN 0x010016#define AFE_IRQ_MCU_STATUS 0x012017#define AFE_IRQ_MCU_CLR 0x012818#define AFE_IRQ0_MCU_CFG0 0x014019#define AFE_IRQ0_MCU_CFG1 0x014420#define AFE_IRQ1_MCU_CFG0 0x014821#define AFE_IRQ1_MCU_CFG1 0x014c22#define AFE_IRQ2_MCU_CFG0 0x015023#define AFE_IRQ2_MCU_CFG1 0x015424#define ETDM_IN5_CON0 0x13f025#define ETDM_IN5_CON1 0x13f426#define ETDM_IN5_CON2 0x13f827#define ETDM_IN5_CON3 0x13fc28#define ETDM_IN5_CON4 0x140029#define ETDM_OUT5_CON0 0x157030#define ETDM_OUT5_CON4 0x158031#define ETDM_OUT5_CON5 0x158432#define ETDM_4_7_COWORK_CON0 0x15e033#define ETDM_4_7_COWORK_CON1 0x15e434#define AFE_CONN018_1 0x1b4435#define AFE_CONN018_4 0x1b5036#define AFE_CONN019_1 0x1b6437#define AFE_CONN019_4 0x1b7038#define AFE_CONN124_1 0x288439#define AFE_CONN124_4 0x289040#define AFE_CONN125_1 0x28a441#define AFE_CONN125_4 0x28b042#define AFE_CONN_RS_0 0x392043#define AFE_CONN_RS_3 0x392c44#define AFE_CONN_16BIT_0 0x396045#define AFE_CONN_16BIT_3 0x396c46#define AFE_CONN_24BIT_0 0x398047#define AFE_CONN_24BIT_3 0x398c48#define AFE_MEMIF_CON0 0x3d9849#define AFE_MEMIF_RD_MON 0x3da050#define AFE_MEMIF_WR_MON 0x3da451#define AFE_DL0_BASE_MSB 0x3e4052#define AFE_DL0_BASE 0x3e4453#define AFE_DL0_CUR_MSB 0x3e4854#define AFE_DL0_CUR 0x3e4c55#define AFE_DL0_END_MSB 0x3e5056#define AFE_DL0_END 0x3e5457#define AFE_DL0_RCH_MON 0x3e5858#define AFE_DL0_LCH_MON 0x3e5c59#define AFE_DL0_CON0 0x3e6060#define AFE_VUL0_BASE_MSB 0x422061#define AFE_VUL0_BASE 0x422462#define AFE_VUL0_CUR_MSB 0x422863#define AFE_VUL0_CUR 0x422c64#define AFE_VUL0_END_MSB 0x423065#define AFE_VUL0_END 0x423466#define AFE_VUL0_CON0 0x42386768#define AFE_MAX_REGISTER AFE_VUL0_CON069#define AFE_IRQ_STATUS_BITS 0x770#define AFE_IRQ_CNT_SHIFT 071#define AFE_IRQ_CNT_MASK 0xffffff7273/* AUDIO_TOP_CON2 */74#define CLK_OUT5_PDN BIT(14)75#define CLK_OUT5_PDN_MASK BIT(14)76#define CLK_IN5_PDN BIT(7)77#define CLK_IN5_PDN_MASK BIT(7)7879/* AUDIO_TOP_CON4 */80#define PDN_APLL_TUNER2 BIT(12)81#define PDN_APLL_TUNER2_MASK BIT(12)8283/* AUDIO_ENGEN_CON0 */84#define AUD_APLL2_EN BIT(3)85#define AUD_APLL2_EN_MASK BIT(3)86#define AUD_26M_EN BIT(0)87#define AUD_26M_EN_MASK BIT(0)8889/* AFE_DL0_CON0 */90#define DL0_ON_SFT 2891#define DL0_ON_MASK 0x192#define DL0_ON_MASK_SFT BIT(28)93#define DL0_MINLEN_SFT 2094#define DL0_MINLEN_MASK 0xf95#define DL0_MINLEN_MASK_SFT (0xf << 20)96#define DL0_MODE_SFT 897#define DL0_MODE_MASK 0x1f98#define DL0_MODE_MASK_SFT (0x1f << 8)99#define DL0_PBUF_SIZE_SFT 5100#define DL0_PBUF_SIZE_MASK 0x3101#define DL0_PBUF_SIZE_MASK_SFT (0x3 << 5)102#define DL0_MONO_SFT 4103#define DL0_MONO_MASK 0x1104#define DL0_MONO_MASK_SFT BIT(4)105#define DL0_HALIGN_SFT 2106#define DL0_HALIGN_MASK 0x1107#define DL0_HALIGN_MASK_SFT BIT(2)108#define DL0_HD_MODE_SFT 0109#define DL0_HD_MODE_MASK 0x3110#define DL0_HD_MODE_MASK_SFT (0x3 << 0)111112/* AFE_VUL0_CON0 */113#define VUL0_ON_SFT 28114#define VUL0_ON_MASK 0x1115#define VUL0_ON_MASK_SFT BIT(28)116#define VUL0_MODE_SFT 8117#define VUL0_MODE_MASK 0x1f118#define VUL0_MODE_MASK_SFT (0x1f << 8)119#define VUL0_MONO_SFT 4120#define VUL0_MONO_MASK 0x1121#define VUL0_MONO_MASK_SFT BIT(4)122#define VUL0_HALIGN_SFT 2123#define VUL0_HALIGN_MASK 0x1124#define VUL0_HALIGN_MASK_SFT BIT(2)125#define VUL0_HD_MODE_SFT 0126#define VUL0_HD_MODE_MASK 0x3127#define VUL0_HD_MODE_MASK_SFT (0x3 << 0)128129/* AFE_IRQ_MCU_CON */130#define IRQ_MCU_MODE_SFT 4131#define IRQ_MCU_MODE_MASK 0x1f132#define IRQ_MCU_MODE_MASK_SFT (0x1f << 4)133#define IRQ_MCU_ON_SFT 0134#define IRQ_MCU_ON_MASK 0x1135#define IRQ_MCU_ON_MASK_SFT BIT(0)136#define IRQ0_MCU_CLR_SFT 0137#define IRQ0_MCU_CLR_MASK 0x1138#define IRQ0_MCU_CLR_MASK_SFT BIT(0)139#define IRQ1_MCU_CLR_SFT 1140#define IRQ1_MCU_CLR_MASK 0x1141#define IRQ1_MCU_CLR_MASK_SFT BIT(1)142#define IRQ2_MCU_CLR_SFT 2143#define IRQ2_MCU_CLR_MASK 0x1144#define IRQ2_MCU_CLR_MASK_SFT BIT(2)145146/* ETDM_IN5_CON2 */147#define IN_CLK_SRC(x) ((x) << 10)148#define IN_CLK_SRC_SFT 10149#define IN_CLK_SRC_MASK GENMASK(12, 10)150151/* ETDM_IN5_CON3 */152#define IN_SEL_FS(x) ((x) << 26)153#define IN_SEL_FS_SFT 26154#define IN_SEL_FS_MASK GENMASK(30, 26)155156/* ETDM_IN5_CON4 */157#define IN_RELATCH(x) ((x) << 20)158#define IN_RELATCH_SFT 20159#define IN_RELATCH_MASK GENMASK(24, 20)160#define IN_CLK_INV BIT(18)161#define IN_CLK_INV_MASK BIT(18)162163/* ETDM_IN5_CON0 & ETDM_OUT5_CON0 */164#define RELATCH_SRC_MASK GENMASK(30, 28)165#define ETDM_CH_NUM_MASK GENMASK(27, 23)166#define ETDM_WRD_LEN_MASK GENMASK(20, 16)167#define ETDM_BIT_LEN_MASK GENMASK(15, 11)168#define ETDM_FMT_MASK GENMASK(8, 6)169#define ETDM_SYNC BIT(1)170#define ETDM_SYNC_MASK BIT(1)171#define ETDM_EN BIT(0)172#define ETDM_EN_MASK BIT(0)173174/* ETDM_OUT5_CON4 */175#define OUT_RELATCH(x) ((x) << 24)176#define OUT_RELATCH_SFT 24177#define OUT_RELATCH_MASK GENMASK(28, 24)178#define OUT_CLK_SRC(x) ((x) << 6)179#define OUT_CLK_SRC_SFT 6180#define OUT_CLK_SRC_MASK GENMASK(8, 6)181#define OUT_SEL_FS(x) (x)182#define OUT_SEL_FS_SFT 0183#define OUT_SEL_FS_MASK GENMASK(4, 0)184185/* ETDM_OUT5_CON5 */186#define ETDM_CLK_DIV BIT(12)187#define ETDM_CLK_DIV_MASK BIT(12)188#define OUT_CLK_INV BIT(9)189#define OUT_CLK_INV_MASK BIT(9)190191/* ETDM_4_7_COWORK_CON0 */192#define OUT_SEL(x) ((x) << 12)193#define OUT_SEL_SFT 12194#define OUT_SEL_MASK GENMASK(15, 12)195#endif196197198