18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * linux/sound/soc/hisilicon/hi6210-i2s.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2015 Linaro, Ltd 68c2ecf20Sopenharmony_ci * Author: Andy Green <andy.green@linaro.org> 78c2ecf20Sopenharmony_ci * 88c2ecf20Sopenharmony_ci * Note at least on 6220, S2 == BT, S1 == Digital FM Radio IF 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#ifndef _HI6210_I2S_H 128c2ecf20Sopenharmony_ci#define _HI6210_I2S_H 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N 0 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__STEREO_UPLINK_WORDLEN_SHIFT 28 178c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__STEREO_UPLINK_WORDLEN_MASK 3 188c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_UPLINK_WORDLEN_SHIFT 26 198c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_UPLINK_WORDLEN_MASK 3 208c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_UPLINK_WORDLEN_SHIFT 24 218c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_UPLINK_WORDLEN_MASK 3 228c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__ST_DL_WORDLEN_SHIFT 20 238c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__ST_DL_WORDLEN_MASK 3 248c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_DLINK_WORDLEN_SHIFT 18 258c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_DLINK_WORDLEN_MASK 3 268c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_DLINK_WORDLEN_SHIFT 16 278c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_DLINK_WORDLEN_MASK 3 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci#define HII2S_SW_RST_N__SW_RST_N BIT(0) 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cienum hi6210_bits { 328c2ecf20Sopenharmony_ci HII2S_BITS_16, 338c2ecf20Sopenharmony_ci HII2S_BITS_18, 348c2ecf20Sopenharmony_ci HII2S_BITS_20, 358c2ecf20Sopenharmony_ci HII2S_BITS_24, 368c2ecf20Sopenharmony_ci}; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG 4 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__THIRDMD_UPLINK_EN BIT(25) 428c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__THIRDMD_DLINK_EN BIT(24) 438c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S3_IF_CLK_EN BIT(20) 448c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_IF_CLK_EN BIT(16) 458c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_OL_MIXER_EN BIT(15) 468c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_OL_SRC_EN BIT(14) 478c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_IR_PGA_EN BIT(13) 488c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_IL_PGA_EN BIT(12) 498c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S1_IR_PGA_EN BIT(10) 508c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S1_IL_PGA_EN BIT(9) 518c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S1_IF_CLK_EN BIT(8) 528c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_DLINK_SRC_EN BIT(7) 538c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_DLINK_EN BIT(6) 548c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__ST_DL_R_EN BIT(5) 558c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__ST_DL_L_EN BIT(4) 568c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_UPLINK_R_EN BIT(3) 578c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_UPLINK_L_EN BIT(2) 588c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__STEREO_UPLINK_R_EN BIT(1) 598c2ecf20Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__STEREO_UPLINK_L_EN BIT(0) 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG 8 628c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_SDM_EN BIT(30) 638c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_HBF2I_EN BIT(28) 648c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_MIXER_EN BIT(25) 658c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_AGC_EN BIT(24) 668c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_SDM_EN BIT(22) 678c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_HBF2I_EN BIT(20) 688c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_MIXER_EN BIT(17) 698c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_AGC_EN BIT(16) 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci#define HII2S_FS_CFG 0xc 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_S2_SHIFT 28 748c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_S2_MASK 7 758c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_S1_SHIFT 24 768c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_S1_MASK 7 778c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_ADCLR_SHIFT 20 788c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_ADCLR_MASK 7 798c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_DACLR_SHIFT 16 808c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_DACLR_MASK 7 818c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_R_SHIFT 8 828c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_R_MASK 7 838c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_L_SHIFT 4 848c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_L_MASK 7 858c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_VOICE_DLINK_SHIFT 0 868c2ecf20Sopenharmony_ci#define HII2S_FS_CFG__FS_VOICE_DLINK_MASK 7 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_cienum hi6210_i2s_rates { 898c2ecf20Sopenharmony_ci HII2S_FS_RATE_8KHZ = 0, 908c2ecf20Sopenharmony_ci HII2S_FS_RATE_16KHZ = 1, 918c2ecf20Sopenharmony_ci HII2S_FS_RATE_32KHZ = 2, 928c2ecf20Sopenharmony_ci HII2S_FS_RATE_48KHZ = 4, 938c2ecf20Sopenharmony_ci HII2S_FS_RATE_96KHZ = 5, 948c2ecf20Sopenharmony_ci HII2S_FS_RATE_192KHZ = 6, 958c2ecf20Sopenharmony_ci}; 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG 0x10 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_IF_TX_EN BIT(31) 1008c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_IF_RX_EN BIT(30) 1018c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_FRAME_MODE BIT(29) 1028c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_MST_SLV BIT(28) 1038c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_LRCK_MODE BIT(27) 1048c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_CHNNL_MODE BIT(26) 1058c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_CODEC_IO_WORDLENGTH_SHIFT 24 1068c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_CODEC_IO_WORDLENGTH_MASK 3 1078c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_DIRECT_LOOP_SHIFT 22 1088c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_DIRECT_LOOP_MASK 3 1098c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_TX_CLK_SEL BIT(21) 1108c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_RX_CLK_SEL BIT(20) 1118c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_CODEC_DATA_FORMAT BIT(19) 1128c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_FUNC_MODE_SHIFT 16 1138c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S2_FUNC_MODE_MASK 7 1148c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_IF_TX_EN BIT(15) 1158c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_IF_RX_EN BIT(14) 1168c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_FRAME_MODE BIT(13) 1178c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_MST_SLV BIT(12) 1188c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_LRCK_MODE BIT(11) 1198c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_CHNNL_MODE BIT(10) 1208c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_CODEC_IO_WORDLENGTH_SHIFT 8 1218c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_CODEC_IO_WORDLENGTH_MASK 3 1228c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_DIRECT_LOOP_SHIFT 6 1238c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_DIRECT_LOOP_MASK 3 1248c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_TX_CLK_SEL BIT(5) 1258c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_RX_CLK_SEL BIT(4) 1268c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_CODEC_DATA_FORMAT BIT(3) 1278c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_FUNC_MODE_SHIFT 0 1288c2ecf20Sopenharmony_ci#define HII2S_I2S_CFG__S1_FUNC_MODE_MASK 7 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_cienum hi6210_i2s_formats { 1318c2ecf20Sopenharmony_ci HII2S_FORMAT_I2S, 1328c2ecf20Sopenharmony_ci HII2S_FORMAT_PCM_STD, 1338c2ecf20Sopenharmony_ci HII2S_FORMAT_PCM_USER, 1348c2ecf20Sopenharmony_ci HII2S_FORMAT_LEFT_JUST, 1358c2ecf20Sopenharmony_ci HII2S_FORMAT_RIGHT_JUST, 1368c2ecf20Sopenharmony_ci}; 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG 0x14 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_GAIN_SHIFT 28 1418c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_GAIN_MASK 3 1428c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN4_MUTE BIT(27) 1438c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN3_MUTE BIT(26) 1448c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN2_MUTE BIT(25) 1458c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN1_MUTE BIT(24) 1468c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_GAIN_SHIFT 20 1478c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_GAIN_MASK 3 1488c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN4_MUTE BIT(19) 1498c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN3_MUTE BIT(18) 1508c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN2_MUTE BIT(17) 1518c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN1_MUTE BIT(16) 1528c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__SW_DACR_SDM_DITHER BIT(9) 1538c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__SW_DACL_SDM_DITHER BIT(8) 1548c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__LM_CODEC_DAC2ADC_SHIFT 4 1558c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__LM_CODEC_DAC2ADC_MASK 7 1568c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__RM_CODEC_DAC2ADC_SHIFT 0 1578c2ecf20Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__RM_CODEC_DAC2ADC_MASK 7 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_cienum hi6210_gains { 1608c2ecf20Sopenharmony_ci HII2S_GAIN_100PC, 1618c2ecf20Sopenharmony_ci HII2S_GAIN_50PC, 1628c2ecf20Sopenharmony_ci HII2S_GAIN_25PC, 1638c2ecf20Sopenharmony_ci}; 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG 0x18 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_GAIN_SHIFT 14 1688c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_GAIN_MASK 3 1698c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_IN2_MUTE BIT(13) 1708c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_IN1_MUTE BIT(12) 1718c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_GAIN_SHIFT 10 1728c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_GAIN_MASK 3 1738c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_IN2_MUTE BIT(9) 1748c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_IN1_MUTE BIT(8) 1758c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_SRC_RDY BIT(6) 1768c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_SRC_MODE_SHIFT 4 1778c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_SRC_MODE_MASK 3 1788c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_SRC_RDY BIT(3) 1798c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_SRC_MODE_SHIFT 0 1808c2ecf20Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_SRC_MODE_MASK 7 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_cienum hi6210_s2_src_mode { 1838c2ecf20Sopenharmony_ci HII2S_S2_SRC_MODE_3, 1848c2ecf20Sopenharmony_ci HII2S_S2_SRC_MODE_12, 1858c2ecf20Sopenharmony_ci HII2S_S2_SRC_MODE_6, 1868c2ecf20Sopenharmony_ci HII2S_S2_SRC_MODE_2, 1878c2ecf20Sopenharmony_ci}; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_cienum hi6210_voice_dlink_src_mode { 1908c2ecf20Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_12 = 1, 1918c2ecf20Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_6, 1928c2ecf20Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_2, 1938c2ecf20Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_3, 1948c2ecf20Sopenharmony_ci}; 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci#define HII2S_ADC_PGA_CFG 0x1c 1978c2ecf20Sopenharmony_ci#define HII2S_S1_INPUT_PGA_CFG 0x20 1988c2ecf20Sopenharmony_ci#define HII2S_S2_INPUT_PGA_CFG 0x24 1998c2ecf20Sopenharmony_ci#define HII2S_ST_DL_PGA_CFG 0x28 2008c2ecf20Sopenharmony_ci#define HII2S_VOICE_SIDETONE_DLINK_PGA_CFG 0x2c 2018c2ecf20Sopenharmony_ci#define HII2S_APB_AFIFO_CFG_1 0x30 2028c2ecf20Sopenharmony_ci#define HII2S_APB_AFIFO_CFG_2 0x34 2038c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG 0x38 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AEMPTY_SHIFT 24 2068c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AEMPTY_MASK 0x1f 2078c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AFULL_SHIFT 16 2088c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AFULL_MASK 0x1f 2098c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AEMPTY_SHIFT 8 2108c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AEMPTY_MASK 0x1f 2118c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AFULL_SHIFT 0 2128c2ecf20Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AFULL_MASK 0x1f 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci#define HII2S_STEREO_UPLINK_FIFO_TH_CFG 0x3c 2158c2ecf20Sopenharmony_ci#define HII2S_VOICE_UPLINK_FIFO_TH_CFG 0x40 2168c2ecf20Sopenharmony_ci#define HII2S_CODEC_IRQ_MASK 0x44 2178c2ecf20Sopenharmony_ci#define HII2S_CODEC_IRQ 0x48 2188c2ecf20Sopenharmony_ci#define HII2S_DACL_AGC_CFG_1 0x4c 2198c2ecf20Sopenharmony_ci#define HII2S_DACL_AGC_CFG_2 0x50 2208c2ecf20Sopenharmony_ci#define HII2S_DACR_AGC_CFG_1 0x54 2218c2ecf20Sopenharmony_ci#define HII2S_DACR_AGC_CFG_2 0x58 2228c2ecf20Sopenharmony_ci#define HII2S_DMIC_SIF_CFG 0x5c 2238c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG 0x60 2248c2ecf20Sopenharmony_ci 2258c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__THIRDMD_DLINK_TEST_SEL BIT(17) 2268c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__THIRDMD_DLINK_DIN_SEL BIT(16) 2278c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S3_DOUT_RIGHT_SEL BIT(14) 2288c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S3_DOUT_LEFT_SEL BIT(13) 2298c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S3_DIN_TEST_SEL BIT(12) 2308c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__VOICE_DLINK_SRC_UP_DOUT_VLD_SEL BIT(8) 2318c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__VOICE_DLINK_TEST_SEL BIT(7) 2328c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__VOICE_DLINK_DIN_SEL BIT(6) 2338c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__ST_DL_TEST_SEL BIT(4) 2348c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S2_DOUT_RIGHT_SEL BIT(3) 2358c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S2_DOUT_TEST_SEL BIT(2) 2368c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S1_DOUT_TEST_SEL BIT(1) 2378c2ecf20Sopenharmony_ci#define HII2S_MISC_CFG__S2_DOUT_LEFT_SEL BIT(0) 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci#define HII2S_S2_SRC_CFG 0x64 2408c2ecf20Sopenharmony_ci#define HII2S_MEM_CFG 0x68 2418c2ecf20Sopenharmony_ci#define HII2S_THIRDMD_PCM_PGA_CFG 0x6c 2428c2ecf20Sopenharmony_ci#define HII2S_THIRD_MODEM_FIFO_TH 0x70 2438c2ecf20Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_TX_INC_CNT 0x74 2448c2ecf20Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_TX_DEC_CNT 0x78 2458c2ecf20Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_RX_INC_CNT 0x7c 2468c2ecf20Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_RX_DEC_CNT 0x80 2478c2ecf20Sopenharmony_ci#define HII2S_ANTI_FREQ_JITTER_EN 0x84 2488c2ecf20Sopenharmony_ci#define HII2S_CLK_SEL 0x88 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci/* 0 = BT owns the i2s */ 2518c2ecf20Sopenharmony_ci#define HII2S_CLK_SEL__I2S_BT_FM_SEL BIT(0) 2528c2ecf20Sopenharmony_ci/* 0 = internal source, 1 = ext */ 2538c2ecf20Sopenharmony_ci#define HII2S_CLK_SEL__EXT_12_288MHZ_SEL BIT(1) 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_ci#define HII2S_THIRDMD_DLINK_CHANNEL 0xe8 2578c2ecf20Sopenharmony_ci#define HII2S_THIRDMD_ULINK_CHANNEL 0xec 2588c2ecf20Sopenharmony_ci#define HII2S_VOICE_DLINK_CHANNEL 0xf0 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci/* shovel data in here for playback */ 2618c2ecf20Sopenharmony_ci#define HII2S_ST_DL_CHANNEL 0xf4 2628c2ecf20Sopenharmony_ci#define HII2S_STEREO_UPLINK_CHANNEL 0xf8 2638c2ecf20Sopenharmony_ci#define HII2S_VOICE_UPLINK_CHANNEL 0xfc 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ci#endif/* _HI6210_I2S_H */ 266