162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * linux/sound/soc/hisilicon/hi6210-i2s.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2015 Linaro, Ltd 662306a36Sopenharmony_ci * Author: Andy Green <andy.green@linaro.org> 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Note at least on 6220, S2 == BT, S1 == Digital FM Radio IF 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#ifndef _HI6210_I2S_H 1262306a36Sopenharmony_ci#define _HI6210_I2S_H 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#define HII2S_SW_RST_N 0 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#define HII2S_SW_RST_N__STEREO_UPLINK_WORDLEN_SHIFT 28 1762306a36Sopenharmony_ci#define HII2S_SW_RST_N__STEREO_UPLINK_WORDLEN_MASK 3 1862306a36Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_UPLINK_WORDLEN_SHIFT 26 1962306a36Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_UPLINK_WORDLEN_MASK 3 2062306a36Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_UPLINK_WORDLEN_SHIFT 24 2162306a36Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_UPLINK_WORDLEN_MASK 3 2262306a36Sopenharmony_ci#define HII2S_SW_RST_N__ST_DL_WORDLEN_SHIFT 20 2362306a36Sopenharmony_ci#define HII2S_SW_RST_N__ST_DL_WORDLEN_MASK 3 2462306a36Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_DLINK_WORDLEN_SHIFT 18 2562306a36Sopenharmony_ci#define HII2S_SW_RST_N__THIRDMD_DLINK_WORDLEN_MASK 3 2662306a36Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_DLINK_WORDLEN_SHIFT 16 2762306a36Sopenharmony_ci#define HII2S_SW_RST_N__VOICE_DLINK_WORDLEN_MASK 3 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci#define HII2S_SW_RST_N__SW_RST_N BIT(0) 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_cienum hi6210_bits { 3262306a36Sopenharmony_ci HII2S_BITS_16, 3362306a36Sopenharmony_ci HII2S_BITS_18, 3462306a36Sopenharmony_ci HII2S_BITS_20, 3562306a36Sopenharmony_ci HII2S_BITS_24, 3662306a36Sopenharmony_ci}; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG 4 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__THIRDMD_UPLINK_EN BIT(25) 4262306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__THIRDMD_DLINK_EN BIT(24) 4362306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S3_IF_CLK_EN BIT(20) 4462306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_IF_CLK_EN BIT(16) 4562306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_OL_MIXER_EN BIT(15) 4662306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_OL_SRC_EN BIT(14) 4762306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_IR_PGA_EN BIT(13) 4862306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S2_IL_PGA_EN BIT(12) 4962306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S1_IR_PGA_EN BIT(10) 5062306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S1_IL_PGA_EN BIT(9) 5162306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__S1_IF_CLK_EN BIT(8) 5262306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_DLINK_SRC_EN BIT(7) 5362306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_DLINK_EN BIT(6) 5462306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__ST_DL_R_EN BIT(5) 5562306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__ST_DL_L_EN BIT(4) 5662306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_UPLINK_R_EN BIT(3) 5762306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__VOICE_UPLINK_L_EN BIT(2) 5862306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__STEREO_UPLINK_R_EN BIT(1) 5962306a36Sopenharmony_ci#define HII2S_IF_CLK_EN_CFG__STEREO_UPLINK_L_EN BIT(0) 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG 8 6262306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_SDM_EN BIT(30) 6362306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_HBF2I_EN BIT(28) 6462306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_MIXER_EN BIT(25) 6562306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACR_AGC_EN BIT(24) 6662306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_SDM_EN BIT(22) 6762306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_HBF2I_EN BIT(20) 6862306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_MIXER_EN BIT(17) 6962306a36Sopenharmony_ci#define HII2S_DIG_FILTER_CLK_EN_CFG__DACL_AGC_EN BIT(16) 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci#define HII2S_FS_CFG 0xc 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_S2_SHIFT 28 7462306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_S2_MASK 7 7562306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_S1_SHIFT 24 7662306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_S1_MASK 7 7762306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_ADCLR_SHIFT 20 7862306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_ADCLR_MASK 7 7962306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_DACLR_SHIFT 16 8062306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_DACLR_MASK 7 8162306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_R_SHIFT 8 8262306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_R_MASK 7 8362306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_L_SHIFT 4 8462306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_ST_DL_L_MASK 7 8562306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_VOICE_DLINK_SHIFT 0 8662306a36Sopenharmony_ci#define HII2S_FS_CFG__FS_VOICE_DLINK_MASK 7 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_cienum hi6210_i2s_rates { 8962306a36Sopenharmony_ci HII2S_FS_RATE_8KHZ = 0, 9062306a36Sopenharmony_ci HII2S_FS_RATE_16KHZ = 1, 9162306a36Sopenharmony_ci HII2S_FS_RATE_32KHZ = 2, 9262306a36Sopenharmony_ci HII2S_FS_RATE_48KHZ = 4, 9362306a36Sopenharmony_ci HII2S_FS_RATE_96KHZ = 5, 9462306a36Sopenharmony_ci HII2S_FS_RATE_192KHZ = 6, 9562306a36Sopenharmony_ci}; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci#define HII2S_I2S_CFG 0x10 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_IF_TX_EN BIT(31) 10062306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_IF_RX_EN BIT(30) 10162306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_FRAME_MODE BIT(29) 10262306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_MST_SLV BIT(28) 10362306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_LRCK_MODE BIT(27) 10462306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_CHNNL_MODE BIT(26) 10562306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_CODEC_IO_WORDLENGTH_SHIFT 24 10662306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_CODEC_IO_WORDLENGTH_MASK 3 10762306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_DIRECT_LOOP_SHIFT 22 10862306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_DIRECT_LOOP_MASK 3 10962306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_TX_CLK_SEL BIT(21) 11062306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_RX_CLK_SEL BIT(20) 11162306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_CODEC_DATA_FORMAT BIT(19) 11262306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_FUNC_MODE_SHIFT 16 11362306a36Sopenharmony_ci#define HII2S_I2S_CFG__S2_FUNC_MODE_MASK 7 11462306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_IF_TX_EN BIT(15) 11562306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_IF_RX_EN BIT(14) 11662306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_FRAME_MODE BIT(13) 11762306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_MST_SLV BIT(12) 11862306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_LRCK_MODE BIT(11) 11962306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_CHNNL_MODE BIT(10) 12062306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_CODEC_IO_WORDLENGTH_SHIFT 8 12162306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_CODEC_IO_WORDLENGTH_MASK 3 12262306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_DIRECT_LOOP_SHIFT 6 12362306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_DIRECT_LOOP_MASK 3 12462306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_TX_CLK_SEL BIT(5) 12562306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_RX_CLK_SEL BIT(4) 12662306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_CODEC_DATA_FORMAT BIT(3) 12762306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_FUNC_MODE_SHIFT 0 12862306a36Sopenharmony_ci#define HII2S_I2S_CFG__S1_FUNC_MODE_MASK 7 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_cienum hi6210_i2s_formats { 13162306a36Sopenharmony_ci HII2S_FORMAT_I2S, 13262306a36Sopenharmony_ci HII2S_FORMAT_PCM_STD, 13362306a36Sopenharmony_ci HII2S_FORMAT_PCM_USER, 13462306a36Sopenharmony_ci HII2S_FORMAT_LEFT_JUST, 13562306a36Sopenharmony_ci HII2S_FORMAT_RIGHT_JUST, 13662306a36Sopenharmony_ci}; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG 0x14 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_GAIN_SHIFT 28 14162306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_GAIN_MASK 3 14262306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN4_MUTE BIT(27) 14362306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN3_MUTE BIT(26) 14462306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN2_MUTE BIT(25) 14562306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACR_MIXER_IN1_MUTE BIT(24) 14662306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_GAIN_SHIFT 20 14762306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_GAIN_MASK 3 14862306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN4_MUTE BIT(19) 14962306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN3_MUTE BIT(18) 15062306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN2_MUTE BIT(17) 15162306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__DACL_MIXER_IN1_MUTE BIT(16) 15262306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__SW_DACR_SDM_DITHER BIT(9) 15362306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__SW_DACL_SDM_DITHER BIT(8) 15462306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__LM_CODEC_DAC2ADC_SHIFT 4 15562306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__LM_CODEC_DAC2ADC_MASK 7 15662306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__RM_CODEC_DAC2ADC_SHIFT 0 15762306a36Sopenharmony_ci#define HII2S_DIG_FILTER_MODULE_CFG__RM_CODEC_DAC2ADC_MASK 7 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_cienum hi6210_gains { 16062306a36Sopenharmony_ci HII2S_GAIN_100PC, 16162306a36Sopenharmony_ci HII2S_GAIN_50PC, 16262306a36Sopenharmony_ci HII2S_GAIN_25PC, 16362306a36Sopenharmony_ci}; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG 0x18 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_GAIN_SHIFT 14 16862306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_GAIN_MASK 3 16962306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_IN2_MUTE BIT(13) 17062306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_MIXER_IN1_MUTE BIT(12) 17162306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_GAIN_SHIFT 10 17262306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_GAIN_MASK 3 17362306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_IN2_MUTE BIT(9) 17462306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_MIXER_IN1_MUTE BIT(8) 17562306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_SRC_RDY BIT(6) 17662306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_SRC_MODE_SHIFT 4 17762306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__S2_OL_SRC_MODE_MASK 3 17862306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_SRC_RDY BIT(3) 17962306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_SRC_MODE_SHIFT 0 18062306a36Sopenharmony_ci#define HII2S_MUX_TOP_MODULE_CFG__VOICE_DLINK_SRC_MODE_MASK 7 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_cienum hi6210_s2_src_mode { 18362306a36Sopenharmony_ci HII2S_S2_SRC_MODE_3, 18462306a36Sopenharmony_ci HII2S_S2_SRC_MODE_12, 18562306a36Sopenharmony_ci HII2S_S2_SRC_MODE_6, 18662306a36Sopenharmony_ci HII2S_S2_SRC_MODE_2, 18762306a36Sopenharmony_ci}; 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_cienum hi6210_voice_dlink_src_mode { 19062306a36Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_12 = 1, 19162306a36Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_6, 19262306a36Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_2, 19362306a36Sopenharmony_ci HII2S_VOICE_DL_SRC_MODE_3, 19462306a36Sopenharmony_ci}; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci#define HII2S_ADC_PGA_CFG 0x1c 19762306a36Sopenharmony_ci#define HII2S_S1_INPUT_PGA_CFG 0x20 19862306a36Sopenharmony_ci#define HII2S_S2_INPUT_PGA_CFG 0x24 19962306a36Sopenharmony_ci#define HII2S_ST_DL_PGA_CFG 0x28 20062306a36Sopenharmony_ci#define HII2S_VOICE_SIDETONE_DLINK_PGA_CFG 0x2c 20162306a36Sopenharmony_ci#define HII2S_APB_AFIFO_CFG_1 0x30 20262306a36Sopenharmony_ci#define HII2S_APB_AFIFO_CFG_2 0x34 20362306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG 0x38 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AEMPTY_SHIFT 24 20662306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AEMPTY_MASK 0x1f 20762306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AFULL_SHIFT 16 20862306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_R_AFULL_MASK 0x1f 20962306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AEMPTY_SHIFT 8 21062306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AEMPTY_MASK 0x1f 21162306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AFULL_SHIFT 0 21262306a36Sopenharmony_ci#define HII2S_ST_DL_FIFO_TH_CFG__ST_DL_L_AFULL_MASK 0x1f 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci#define HII2S_STEREO_UPLINK_FIFO_TH_CFG 0x3c 21562306a36Sopenharmony_ci#define HII2S_VOICE_UPLINK_FIFO_TH_CFG 0x40 21662306a36Sopenharmony_ci#define HII2S_CODEC_IRQ_MASK 0x44 21762306a36Sopenharmony_ci#define HII2S_CODEC_IRQ 0x48 21862306a36Sopenharmony_ci#define HII2S_DACL_AGC_CFG_1 0x4c 21962306a36Sopenharmony_ci#define HII2S_DACL_AGC_CFG_2 0x50 22062306a36Sopenharmony_ci#define HII2S_DACR_AGC_CFG_1 0x54 22162306a36Sopenharmony_ci#define HII2S_DACR_AGC_CFG_2 0x58 22262306a36Sopenharmony_ci#define HII2S_DMIC_SIF_CFG 0x5c 22362306a36Sopenharmony_ci#define HII2S_MISC_CFG 0x60 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci#define HII2S_MISC_CFG__THIRDMD_DLINK_TEST_SEL BIT(17) 22662306a36Sopenharmony_ci#define HII2S_MISC_CFG__THIRDMD_DLINK_DIN_SEL BIT(16) 22762306a36Sopenharmony_ci#define HII2S_MISC_CFG__S3_DOUT_RIGHT_SEL BIT(14) 22862306a36Sopenharmony_ci#define HII2S_MISC_CFG__S3_DOUT_LEFT_SEL BIT(13) 22962306a36Sopenharmony_ci#define HII2S_MISC_CFG__S3_DIN_TEST_SEL BIT(12) 23062306a36Sopenharmony_ci#define HII2S_MISC_CFG__VOICE_DLINK_SRC_UP_DOUT_VLD_SEL BIT(8) 23162306a36Sopenharmony_ci#define HII2S_MISC_CFG__VOICE_DLINK_TEST_SEL BIT(7) 23262306a36Sopenharmony_ci#define HII2S_MISC_CFG__VOICE_DLINK_DIN_SEL BIT(6) 23362306a36Sopenharmony_ci#define HII2S_MISC_CFG__ST_DL_TEST_SEL BIT(4) 23462306a36Sopenharmony_ci#define HII2S_MISC_CFG__S2_DOUT_RIGHT_SEL BIT(3) 23562306a36Sopenharmony_ci#define HII2S_MISC_CFG__S2_DOUT_TEST_SEL BIT(2) 23662306a36Sopenharmony_ci#define HII2S_MISC_CFG__S1_DOUT_TEST_SEL BIT(1) 23762306a36Sopenharmony_ci#define HII2S_MISC_CFG__S2_DOUT_LEFT_SEL BIT(0) 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci#define HII2S_S2_SRC_CFG 0x64 24062306a36Sopenharmony_ci#define HII2S_MEM_CFG 0x68 24162306a36Sopenharmony_ci#define HII2S_THIRDMD_PCM_PGA_CFG 0x6c 24262306a36Sopenharmony_ci#define HII2S_THIRD_MODEM_FIFO_TH 0x70 24362306a36Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_TX_INC_CNT 0x74 24462306a36Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_TX_DEC_CNT 0x78 24562306a36Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_RX_INC_CNT 0x7c 24662306a36Sopenharmony_ci#define HII2S_S3_ANTI_FREQ_JITTER_RX_DEC_CNT 0x80 24762306a36Sopenharmony_ci#define HII2S_ANTI_FREQ_JITTER_EN 0x84 24862306a36Sopenharmony_ci#define HII2S_CLK_SEL 0x88 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci/* 0 = BT owns the i2s */ 25162306a36Sopenharmony_ci#define HII2S_CLK_SEL__I2S_BT_FM_SEL BIT(0) 25262306a36Sopenharmony_ci/* 0 = internal source, 1 = ext */ 25362306a36Sopenharmony_ci#define HII2S_CLK_SEL__EXT_12_288MHZ_SEL BIT(1) 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci#define HII2S_THIRDMD_DLINK_CHANNEL 0xe8 25762306a36Sopenharmony_ci#define HII2S_THIRDMD_ULINK_CHANNEL 0xec 25862306a36Sopenharmony_ci#define HII2S_VOICE_DLINK_CHANNEL 0xf0 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci/* shovel data in here for playback */ 26162306a36Sopenharmony_ci#define HII2S_ST_DL_CHANNEL 0xf4 26262306a36Sopenharmony_ci#define HII2S_STEREO_UPLINK_CHANNEL 0xf8 26362306a36Sopenharmony_ci#define HII2S_VOICE_UPLINK_CHANNEL 0xfc 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci#endif/* _HI6210_I2S_H */ 266