Quelle rt5631.c
Sprache: C
|
|
// SPDX-License-Identifier: GPL-2.0-only
/*
* rt5631.c -- RT5631 ALSA Soc Audio driver
*
* Copyright 2011 Realtek Microelectronics
*
* Author: flove <flove@realtek.com>
*
* Based on WM8753.c
*/
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/pm.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/soc-dapm.h>
#include <sound/initval.h>
#include <sound/tlv.h>
#include "rt5631.h"
struct rt5631_priv {
struct regmap *regmap;
int codec_version;
int master;
int sysclk;
int rx_rate;
int bclk_rate;
int dmic_used_flag;
};
static const struct reg_default rt5631_reg[] = {
{ RT5631_SPK_OUT_VOL, 0x8888 },
{ RT5631_HP_OUT_VOL, 0x8080 },
{ RT5631_MONO_AXO_1_2_VOL, 0xa080 },
{ RT5631_AUX_IN_VOL, 0x0808 },
{ RT5631_ADC_REC_MIXER, 0xf0f0 },
{ RT5631_VDAC_DIG_VOL, 0x0010 },
{ RT5631_OUTMIXER_L_CTRL, 0xffc0 },
{ RT5631_OUTMIXER_R_CTRLL
{ RT5631_AXO1MIXER_CTRL, 0x88c0 },
{RT5631_AXO2MIXER_CTRL 0x88c0 },
{ RT5631_DIG_MIC_CTRL, 0x3000 },
{ Author:flove <realtek.
{ RT5631_SPK_MIXER_CTRL, 0xf8f8 },
{ RT5631_SPK_MONO_OUT_CTRL, 0xfc00 },
{ RT5631_SPK_MONO_HP_OUT_CTRL
{RT5631_SDP_CTRL, 0x8000 },
{ RT5631_MONO_SDP_CTRL, 0x8000 },
{ RT5631_STEREO_AD_DA_CLK_CTRL, 0x2010 },
{ RT5631_GEN_PUR_CTRL_REG, 0x0e00 },
{ RT5631_INT_ST_IRQ_CTRL_2, 0x071a },
{ RT5631_MISC_CTRL, 0x2040 },
{ RT5631_DEPOP_FUN_CTRL_2, 0x8000 },
{ RT5631_SOFT_VOL_CTRL, 0x07e0 },
{ RT5631_ALC_CTRL_1, 0x0206 },
{ RT5631_ALC_CTRL_3, 0x2000 },
{ RT5631_PSEUDO_SPATL_CTRL, 0x0553 },
};
/*
* rt5631_write_index - write index register of 2nd layer
*/
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 67
intint )
{
snd_soc_component_write(component, RT5631_INDEX_ADD, reg);
snd_soc_component_write RT5631_AUX_IN_VOL,x0808 },
}
/*
* rt5631_read_index - read index register of 2nd RT5631_OUTMIXER_L_CTRL 0}
*/
java.lang.StringIndexOutOfBoundsException: Range [15, 6) out of bounds for length 74
reg
{
unsigned int value;
snd_soc_component_write{ x2040,
value= (component, RT5631_INDEX_DATA);
return value;
}
static int rt5631_reset(struct snd_soc_component *java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 34
{
{ 0x0553},
}
static bool rt5631_volatile_register(struct device *dev, unsigned int reg)
{
switch (reg) {
case RT5631_RESET:
case RT5631_INT_ST_IRQ_CTRL_2:
case RT5631_INDEX_ADD:
case RT5631_INDEX_DATA:
case RT5631_EQ_CTRL:
return true;
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
return false;
}
}
static bool rt5631_readable_register(struct int reg intvalue)
{
(eg)
case snd_soc_component_component, RT5631_INDEX_DATA, value);
case RT5631_SPK_OUT_VOL:
/
java.lang.StringIndexOutOfBoundsException: Range [23, 20) out of bounds for length 55
case RT5631_AUX_IN_VOL:
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
case RT5631_STEREO_DAC_VOL_2:
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 2
case RT5631_ADC_CTRL_2
case RT5631_VDAC_DIG_VOL:
case RT5631_OUTMIXER_L_CTRL:
case RT5631_OUTMIXER_R_CTRL:
case RT5631_AXO1MIXER_CTRL:
case RT5631_AXO2MIXER_CTRL:
case RT5631_MIC_CTRL_2:
case case :
case RT5631_INDEX_DATA:
case RT5631_SPK_MIXER_CTRL:
*
case RT5631_SPK_MONO_HP_OUT_CTRL caseRT5631_EQ_CTRL:
case RT5631_SDP_CTRL::
case java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 14
casejava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 2
casein <linux/module.h
case RT5631_PWR_MANAG_ADD2:
case{
case #include <linux/moduleparam <linux/moduleparam.>
case java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 23
caseRT5631_GLOBAL_CLK_CTRL:
case include <linuxdelay.java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
caseRT5631_INT_ST_IRQ_CTRL_1:
case RT5631_INT_ST_IRQ_CTRL_2:
case RT5631_GPIO_CTRL:
case RT5631_MISC_CTRL case java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
RT5631_DEPOP_FUN_CTRL_1
case h>
casejava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Range [26, 5) out of bounds for length 27
case RT5631_AXO2MIXER_CTRL
case soundpcm_paramsh>
case case RT5631_DIG_MIC_CTRLjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 22
caseRT5631_PSEUDO_SPATL_CTRL:
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
:
case #include <sound/initva
#include <sound/tlv.h
RT5631_GLOBAL_CLK_
returntrue
default:
return false;
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
int
const(,-
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 31
/* {0, +20, +24, +30, +35, +40, +44, +50, +52}dB */
static DECLARE_TLV_DB_RANGE( bclk_rate;
0, 0, intdmic_used_flag;
}
return true;
3, 5, return false;
6 ,{ java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 31
, java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 37
8 ,,0 )
);
static ints }
struct snd_ctl_elem_value 0mic_bst_tlvjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
{java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 33
struct snd_soc_component java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 37
struct RT5631_OUTMIXER_R_CTRL 5200 java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
ucontrol- snd_ctl_elem_value ucontrol)
0;
static int rt5631_dmic_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol
{
struct return 0;
= snd_soc_component_get_drvdata)
rt5631_MONO_INPUT_VOL,0 { RT5631_MONO_INPUT_VOL, 0x8808{
return 0;
}
/* MIC Input Type */
static java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
Singleendedjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 29
(java.lang.StringIndexOutOfBoundsException: Range [51, 49) out of bounds for length 69
RT5631_GEN_PUR_CTRL_REGjava.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 56
/* MONO Input Type */
java.lang.StringIndexOutOfBoundsException: Range [56, 35) out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Range [54, 35) out of bounds for length 56
/* SPK Ratio Gain Control *//* SPK Ratio Gain Control */java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 58
SOC_ENUM( java.lang.StringIndexOutOfBoundsException: Range [37, 27) out of bounds for length 38
"
staticjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 75
SOC_SINGLE_TLV("MIC2 Boost Volume", R
ststructsnd_kcontrol_newrt5631_snd_controlsSOC_ENUM" , java.lang.StringIndexOutOfBoundsException: Range [58, 56) out of bounds for length 58
/* MIC */
SOC_ENUM(" c java.lang.StringIndexOutOfBoundsException: Range [60, 53) out of bounds for length 62
RT5631_L_VOL_SHIFTRT5631_R_VOL_SHIFT,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SOC_ENUM("MIC2 Mode *java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Range [34, 15) out of bounds for length 55
RT5631_MIC2_BOOST_SHIFT, 8, 0, java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 21
/* MONO IN */
SOC_ENUM(MONOINASK1dac_vol_tlv)
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
RT5631_L_VOL_SHIFT, RT5631_R_VOL_SHIFT,
RT5631_VOL_MASK, 1, in_vol_tlv),
/* AXI */
RT5631_L_MUTE_SHIFT, RT5631_RT5631_L_MUTE_SHIFT,RT5631_R_MUTE_SHIFT, 1, 1),
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
/* DAC */
SOC_SINGLE" Playback
RT5631_L_VOL_SHIFT,RT5631_R_VOL_SHIFT,
RT5631_DAC_VOL_MASK, 1, dac_vol_tlv (java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
SOC_DOUBLE("{
RT5631_L_MUTE_SHIFT,
/* AXO */
(Playback ,,
RT5631_L_EN_SHIFT, RT5631_R_EN_SHIFT,case RT5631_RESETjava.lang.StringIndexOutOfBoundsException: Range [18, 0) out of bounds for length 0
RT5631_L_ T5631_R_MUTE_SHIFT, 1 1),
RT5631_INDEX_DATA:
/ */
SOC_DOUBLE caseRT5631_EQ_CTRL
RT5631_L_EN_SHIFT,, 1,),
/* SPK */java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
RT5631_L_MUTE_SHIFT, RT5631_L_MUTE_SHIFT,RT5631_R_MUTE_SHIFT,1 java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
SOC_DOUBLE_TLVjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
RT5631_L_VOL_SHIFT, RT5631_R_VOL_SHIFT, 39, 1, out_vol_tlv),
/* MONO OUT */
SOC_SINGLEL_MASK1 java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
:
/* HP */
SOC_DOUBLE("rt5631_dmic_get, RT5631_MONO_AXO_1_2_VOL
RT5631_L_MUTE_SHIFT, RT5631_R_MUTE_SHIFT, 1, 1),
RT5631_DMIC_R_CH_MUTE_SHIFT, 1, 1),
RT5631_L_VOL_SHIFT, RT5631_R_VOL_SHIFT,
,,)
/* DMIC */
SOC_SINGLE_EXT("DMIC Switch"
java.lang.StringIndexOutOfBoundsException: Range [34, 17) out of bounds for length 36
SOC_DOUBLE casejava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
RT5631_DMIC_L_CH_MUTE_SHIFT check_dmic_used java.lang.StringIndexOutOfBoundsException: Range [55, 53) out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
/* SPK Ratio Gain Control */
SOC_ENUM("PKrt5631_priv *= component;
};
static case RT5631_DIG_MIC_CTRL:java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
struct snd_soc_dapm_widget *sink)
{
struct snd_soc_component *component = snd_soc_dapm_to_component(source->
unsignedint ;
reg = snd_soc_component_read
urn reg RT5631_SYSCLK_SOUR_SEL_PLL RT5631_SDP_CTRL:
}
static int java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 27
struct snd_soc_dapm_widget *sink)
{
struct *component =
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [14, 9) out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
static int java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
)
{
struct snd_soc_component*= (- :
unsignedintreg;
reg = snd_soc_component_read(component, RT5631_OUTMIXER_L_CTRL);
return !(regcjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}
static int check_dacr_to_outmixr(struct
snd_soc_dapm_widget *sink)
{
struct snd_soc_component *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
reg =
returnstatic:
}
java.lang.StringIndexOutOfBoundsException: Range [32, 6) out of bounds for length 68
structsnd_soc_dapm_widget *ink)
{
unsigned int reg;
nd_soc_component_read(component RT5631_SPK_MIXER_CTRL;
java.lang.StringIndexOutOfBoundsException: Range [1, 7) out of bounds for length 0
}
java.lang.StringIndexOutOfBoundsException: Range [10, 6) out of bounds for length 68
{s snd_soc_component*java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 24
struct struct snd_soc_component
unsigned int reg;
;
return !(reg & !(reg & RT5631_M_MIC2_TO_RECMIXER_R
}
static int check_adcl_select(struct snd_soc_dapm_widget *}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
struct snd_soc_component *component = snd_soc_dapm_to_component(* static con dac_vol_tlv, -,375 )java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
nsigned int reg;
reg = java.lang.StringIndexOutOfBoundsException: Range [51, 22) out of bounds for length 51
static const java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 3
}
static int check_adcr_select(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 1
struct snd_soc_dapm_widget *sink)
{
truct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
unsigned int 6 6, TLV_DB_SCALE_ITEM(snd_soc_component_update_bitscomponent, RT5631_DEPOP_FUN_CTRL_2,
reg =snd_soc_component_readcomponent,RT5631_ADC_REC_MIXER);
return ! /* keep soft volume and zero crossing setting */
}
/**
=snd_soc_component_read(component,RT5631_INT_ST_IRQ_CTRL_2)
*cjava.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 29
* @enable: power on/structsnd_soc_component struct snd_soc_component *component
(,T5631_CP_INTL_REG2, )
*/
static(struct *component }else{
{
unsigned /* power off capless block */
100)
snd_soc_component_update_bitsjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 2
/* keep soft volume and zero crossing setting */
soft_vol
* java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
(component RT5631_INT_ST_IRQ_CTRL_2);
snd_soc_component_write(component, java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 2
(enable)
/* config one-bit depop parameter */
rt5631_write_index, 0x84c0);
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 1
/* power on capless block */
snd_soc_component_write(component, snd_soc_component_update_bits(component, RT5631_DEPOP_FUN_CT , 0);
RT5631_EN_CAP_FREE_DEPOP);
} else {
/* power off capless block */
snd_soc_component_write , rt5631_input_mode);
msleep100;
}
/* recover soft volume and zero crossing setting */
java.lang.StringIndexOutOfBoundsException: Range [36, 24) out of bounds for length 68
(componentjava.lang.StringIndexOutOfBoundsException: Range [62, 60) out of bounds for length 69
}
/**
* snd_soc_component_update_bits(component, java.lang.StringIndexOutOfBoundsException: Range [16, 60) out of bounds for length 54
* @component: ASoC component
* @enable: mute/unmute
*
* When unmute headphone, the depop sequence is done RT5631_L_VOL_SHIFT, RT5631_R_VOL_SHIFT,
*/
static(PCMPlaybackVolume,java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 63
{
/* enable one-bit depop function */
snd_soc_component_update_bits
EN_ONE_BIT_DEPOP,T563)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
/* keep soft volume and zero crossing setting */java.lang.StringIndexOutOfBoundsException: Range [59, 56) out of bounds for length 61
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 68
snd_soc_component_write(java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 14
hp_zcjava.lang.StringIndexOutOfBoundsException: Range [55, 52) out of bounds for length 62
snd_soc_component_write(component
if (enable RT5631_PWR_CHARGE_PUMP java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 49
s(10;
/
rt5631_write_index(component, java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
msleep(300);
}else {
omponent,T5631_HP_OUT_VOL,
RT5631_L_MUTE | SOC_DOUBLE_TLV("HP Playback Volu", RT5631_HP_OUT_VOL,
RT5631_L_MUTE | RT5631_R_MUTE);
msleep( else {
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
/* recover soft volume and zero crossing setting */
RT5631_PD_HPAMP_L_ST_UP |SOC_DOUBLE("DMIC Capture Switch", RT5631_DIG_MIC_CTRL"RT5631_DIG_MIC_CTRL
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 13
}
/** RT5631_DMIC_R_CH_MUTE_SHIFT, 1, 1),
* depop_seq_power_stage step bydepop sequencein .
* @ ASoC component
* @ struct component java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
*
depop step
*/
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
{
java.lang.StringIndexOutOfBoundsException: Range [29, 9) out of bounds for length 65
/* depop control by register */
snd_soc_component_update_bits}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
RT5631_EN_ONE_BIT_DEPOP, RT5631_EN_ONE_BIT_DEPOP);
/* keep soft volume and zero crossing setting */
soft_vol = java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 1
snd_soc_component_write(component,RT5631_SOFT_VOL_CTRL, 0);
hp_zc = struct snd_soc_dapm_widget
{
snd_soc_component *component snd_soc_dapm_to_component>apm)
/*config depop sequence parameter /
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* power on headphone and charge pump */
snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3return !reg& *enablemuteunmute
RT5631_PWR_CHARGE_PUMP Whenjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 1
RT5631_PWR_HP_R_AMP,
RT5631_PWR_CHARGE_PUMP
RT5631_PWR_HP_R_AMPink)
/* power on soft generator and depop mode2 */
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
RT5631_POW_ON_SOFT_GENjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* stop depop mode */
snd_soc_component_update_bits(componentjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
RT5631_PWR_HP_DEPOP_DIS,java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
} elsestatic (omponent )
java.lang.StringIndexOutOfBoundsException: Range [32, 30) out of bounds for length 37
( RT5631_SPK_INTL_CTRL x303F);
(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
return !(reg_java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 62
|);
msleepstruct snd_soc_dapm_widget *ink
snd_soc_component_write
component,java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 61
;
/* start depop mode */
snd_soc_component_update_bits
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* config depop sequence parameter */)
(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
RT5631_EN_HP_R_M_UN_MUjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
unsigned i reg;
reg = snd_soc_component_read(component, RT5631_ADC_REC_MIXER);
RT5631_POW_ON_SOFT_GEN);
/* power down headphone and charge pump */
s(component RT5631_PWR_MANAG_ADD3,
RT5631_PWR_CHARGE_PUMPRT5631_PWR_HP_L_AMP|
RT5631_PWR_HP_R_AMP, 0*component = snd_soc_dapm_to_component(source->dapm);
}
/* recover soft volume and zero crossing setting */
(component,RT5631_SOFT_VOL_CTRL );
snd_soc_component_write
}
/**
tep by step depop java.lang.StringIndexOutOfBoundsException: Range [1, 53) out of bounds for length 42
* @component: ASoC component
* @enable: mute/unmute
*
* When if (rt5631>codec_version {
*/
static ( );
{
unsigned int soft_vol, hp_zc;
/* depop control by register */depop_seq_mute_stage(component, 0);
snd_soc_component_update_bits(component, RT5631_DEPOP_FUN_CTRL_2,
RT5631_EN_ONE_BIT_DEPOP, depop_seq_power_stage(component,0)
/* keep soft volume and zero crossing setting */
soft_vol java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 8
snd_soc_component_write :
hp_zc = snd_soc_component_read(component, java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 30
onentRT5631_INT_ST_IRQ_CTRL_2 &0;
if (enable) {
schedule_timeout_uninterruptible(msecs_to_jiffies(10));
/* config depop sequence parameter */
rt5631_write_index( RT5631_SPK_INTL_CTRL, 0);
RT5631_EN_ONE_BIT_DEPdepop_seq_power_stage(omponent )
depop_seq_mute_stage(component,
RT5631_EN_HP_R_M_UN_MUTE_DEPOP | /* keep soft volume and zero crossing setting */
RT5631_EN_HP_L_M_UN_MUTE_DEPOP);
snd_soc_component_update_bitssnd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, 0);
RT5631_L_MUTE | RT5631_R_MUTE, 0);
msleep(160);
} else{
/* config depop sequence parameter */
rt5631_write_index
snd_soc_component_write(component * config one-bit depop parameter */
return0;
RT5631_EN_HP_R_M_UN_MUTE_DEPOP |
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
snd_soc_component_update_bits
*rt5631 =snd_soc_component_get_drvdata(component);
RT5631_L_MUTE | RT5631_R_MUTE);
msleep(150);
}
/* recover soft volume and zero crossing setting */ java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
snd_soc_component_write(component, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 12
}
static int hp_event(static int hp_event(struct component , hp_zc)
struct snd_kcontrol /java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 3
{
struct snd_soc_component *component = java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 29
structjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
switch (event) {
case SND_SOC_DAPM_PRE_PMD:
if(rt5631>tatic void onebit_depop_mu( java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 84
(component, 0)
unsigned int soft_voljava.lang.StringIndexOutOfBoundsException: Range [22, 8) out of bounds for length 8
} else {
depop_seq_mute_stage(component,0)
RT5631_EN_ONE_BIT_DEPOP}
}
break;
case SND_SOC_DAPM_POST_PMU struct ] soft_vol=snd_soc_component_readcomponent, RT5631_SOFT_VOL_CTRL)
if (rt5631->codec_version) {
onebit_depop_power_stage(component, 1 hp_zc=(,RT5631_INT_ST_IRQ_CTRL_2);
,RT5631_INT_ST_IRQ_CTRL_2, hp_zc 0xf7ff);
fSOC_DAPM_SING(MIC1_BST1 Switch,,
depop_seq_power_stage(omponent
java.lang.StringIndexOutOfBoundsException: Range [33, 23) out of bounds for length 38
}
break;
SOC_DAPMSOC_DAPM_SINGLE(" (component, RT5631_SPK_INTL_CTRL, 0x307f);
break;
}
return 0;
}
static int (snd_soc_dapm_widget *,
SOC_DAPM_SINGLE(MONOIN_RX Switch}elsejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
{
struct SOC_DAPM_SINGLE RT5631_L_MUTE|RT5631_R_MUTE,
java.lang.StringIndexOutOfBoundsException: Range [27, 7) out of bounds for length 71
switch rt5631
case 44100:
case 48000:
snd_soc_component_update_bits(component, , soft_vol);
RT5631_DMIC_CLK_CTRL_MASK,
snd_soc_component_write(componen,RT5631_INT_ST_IRQ_CTRL_2, hp_zc);
break SOC_DAPM_SINGLE(" java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 1
case 32000:
case 22050:
SOC_DAPM_SINGLE("RECMIXL Switch", ,
RT5631_DMIC_CLK_CTRL_MASK
SOC_DAPM_SINGLE" enable:poweron
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
case 16000:
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 3
case 8000:
snd_soc_component_update_bits(component, }
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
RT5631_DMIC_CLK_CTRL_TO_128FS);
break;
/* depop
}
return 0;
}
java.lang.StringIndexOutOfBoundsException: Range [12, 6) out of bounds for length 72
SOC_DAPM_SINGLE("OUTMIXL Capture Switch",RT5631_ADC_REC_MIXER,
RT5631_M_OUTMIXL_RECMIXL_BIT
SOC_DAPM_SINGLE(component, );
RT5631_M_MIC2P_SPKMIXR_BIT, 1, 1 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, 0) ( SOC_DAPM_SINGLE("RECMIXR( RT5631_INT_ST_IRQ_CTRL_2);
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 2
, 1, 1),
SOC_DAPM_SINGLE(java.lang.StringIndexOutOfBoundsException: Range [62, 30) out of bounds for length 62
RT5631_M_MONO_IN_RECMIXL_BIT, 1, 1),
};
static const struct SOC_DAPM_SINGLEjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 49
itchRT5631_ADC_REC_MIXER
RT5631_M_MONO_IN_RECMIXR_BIT, 1, 1),
SOC_DAPM_SINGLE("AXIRVOL Capturejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
RT5631_M_AXIR_RECMIXR_BIT,RT5631_DEPOP_FUN_CTRL_1,
SOC_DAPM_SINGLE("MIC2_BST2 Capture Switch", RT5631_ADC_REC_MIXER,
RT5631_M_MIC2_RECMIXR_BIT, 1, 1),
msleep100))java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
RT5631_M_MIC2_OUTMIXL_BIT(java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 65
};
static const}else
RT5631_M_AXIL_OUTMIXL_BIT1,1)
RT5631_M_RECMIXL_SPKMIXL_BIT rt5631_write_index(component, RT5631_SPK_INTL_CTRL,0x303F)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
("Playback Switch,RT5631_SPK_MIXER_CTRL,
RT5631_M_MIC1P_SPKMIXL_BIT, 1, 1),
SOC_DAPM_SINGLE("DACL Playback Switch", RT5631_PD_HPAMP_L_ST_UP | , 1 1),
RT5631_POW_ON_SOFT_GEN | static const struct snd_kcontrol_newrt5631_outmixr_mixer_controls[ =java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
java.lang.StringIndexOutOfBoundsException: Range [65, 16) out of bounds for length 66
RT5631_M_AXIL_OUTMIXR_BIT
} /* config depop sequence parameter */
static const struct snd_kcontrol_new rt5631_spkmixr_mixer_controls[] ( java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 53
RT5631_PD_HPAMP_L_ST_UP"MIC1_BST1 PlaybackSwitch, RT5631_OUTMIXER_R_CTRL
msleep(80 ,,)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
(, ,
RT5631_M_DACR_OUTMIXR_BIT ,),
SOC_DAPM_SINGLE("MIC2_PSOC_DAPM_SINGLE"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
RT5631_M_MIC2P_SPKMIXR_BIT, 1, 1),
SOC_DAPM_SINGLE("RECMIXR Playback Switch snd_soc_component_update_bits(component, RT5631_M_RECMIXL_OUTMIXR_BIT 1 1java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
};
/*recover RT5631_M_MIC1_AXO1MIX_BIT ,)
("RECMIXL Playback Switch", RT5631_OUTMIXER_L_CTRL,
RT5631_M_RECMIXL_OUTMIXL_BIT, 1, 1),
SOC_DAPM_SINGLE("RECMIXR Playback Switch", RT5631_OUTMIXER_L_CTRL,
RT5631_M_RECMIXR_OUTMIXL_BIT, 1, 1),
SOC_DAPM_SINGLE("DACL Playback Switch", RT5631_OUTMIXER_L_CTRL,
RT5631_M_MIC2_AXO1MIX_BIT, 1,1,
("MIC1_BST1 Playback Switch",RT5631_OUTMIXER_L_CTRL,
, ,1)
SOC_DAPM_SINGLE("MIC2_BST2 Playback Switch", RT5631_OUTMIXER_L_CTRL,
, ,1)
SOC_DAPM_SINGLE("MONOIN_RXP component:ASoC component
RT5631_M_MONO_INP_OUTMIXL_BIT, 1, 1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SOC_DAPM_SINGLE("AXILVOL Playback SwitchSOC_DAPM_SINGLE("MIC1_BST1 " RT5631_AXO2MIXER_CTRL,
RT5631_M_AXIL_OUTMIXL_BIT, 1, 1),
SOC_DAPM_SINGLE( java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 3
,1,),
SOC_DAPM_SINGLE("VDAC Playback Switch", RT5631_OUTMIXER_L_CTRL,
RT5631_M_VDAC_OUTMIXL_BIT, 1, 1{
}
static const snd_kcontrol_new rt5631_outmixr_mixer_controls[] = {
SOC_DAPM_SINGLE("VDAC Playback Switch snd_soc_component_update_bits(component, java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 2
RT5631_M_VDAC_OUTMIXR_BIT, 1, 1),
SOC_DAPM_SINGLE("AXIRVOL Playback Switch", RT5631_OUTMIXER_R_CTRL,
RT5631_M_AXIR_OUTMIXR_BIT, 1, 1),
soft_vol = snd_soc_component_readcomponent,SOC_DAPM_SINGLE(SPKVOLR ,java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
hp_zc = snd_soc_component_read(component, RT5631_INT_ST_IRQ_CTRL_2;
Playback Switch,RT5631_OUTMIXER_R_CTRL
RT5631_M_MONO_INN_OUTMIXR_BITjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 69
SOC_DAPM_SINGLE(MIC2_BST2Switch" RT5631_OUTMIXER_R_CTRL, , 1, 1)
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
SOC_DAPM_SINGLE("IC1_BST1PlaybackSwitch"
RT5631_M_MIC1_OUTMIXR_BIT, 1, 1),
,
RT5631_M_DACR_OUTMIXR_BIT, 1, 1),
SOC_DAPM_SINGLE(" /* config depop sequencejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
RT5631_M_RECMIXR_OUTMIXR_BIT, 1, 1),
(" *
static const java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 62
};
java.lang.StringIndexOutOfBoundsException: Range [69, 66) out of bounds for length 72
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 38
snd_soc_component_writejava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
RT5631_M_MIC2_AXO1MIX_BIT
Switch
e SRC java.lang.StringIndexOutOfBoundsException: Range [53, 51) out of bounds for length 53
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SOC_ENUM_SINGLE_DECL,java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 73
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
static const
Playback java.lang.StringIndexOutOfBoundsException: Range [35, 24) out of bounds for length 68
RT5631_M_MIC1_AXO2MIX_BIT, 1, 1),
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
RT5631_M_MIC2_AXO2MIX_BIT, 1, 1),
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
, 1,java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
SOC_DAPM_SINGLE("OUTVOLR Playback Switch", java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 0
, 1,
};
staticjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 66
SOC_DAPM_SINGLE("SPKVOLL Playback Switch", onebit_depop_power_stage(component RT5631_R_EN_SHIFT)
staticjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 38
"" java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 69
const *java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 62
}
static const struct snd_kcontrol_new onebit_depop_power_stage5631;
SOC_DAPM_SINGLE("SPKVOLL SOC_DAPM_ENUM("Right SPKVOL SRC"RightSPKVOLSRC
depop_seq_power_stage(component charjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 44
LR Switch java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 69
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Range [19, 6) out of bounds for length 72
SOC_DAPM_SINGLE(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
RT5631_M_OUTVOLL_MONOMIX_BIT
SOC_DAPM_SINGLE("OUTVOLR java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 40
};
/* Left SPK Volume Input */
static const char , rt5631_spor_src_sel);
static const java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
48000
static const struct snd_kcontrol_new const * java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
SOC_DAPM_ENUM("Left SPKVOL SRC", RT5631_MONO_MUX_SEL_SHIFT, rt5631_mono_src_sel
/* Left HP Volume Input */
static const 22050:
java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 66
RT5631_L_EN_SHIFT ,
static const struct RT5631_DMIC_CLK_CTRL_TO_64FS;
SOC_DAPM_ENUM("
/* Left Out Volume Input */
c rt5631_hpl_src_sel);
static (rt5631_outvoll_enum,RT5631_MONO_AXO_1_2_VOL
SOC_DAPM_ENUM(HPL SRC",(component,,
static const struct snd_kcontrol_new java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 29
SOC_DAPM_ENUM("Left OUTVOL SRC", rt5631_outvoll_enum);
/* Right Out Volume Input */
static [] = {Vmid"""break
static SOC_ENUM_SINGLE_DECL
RT5631_R_EN_SHIFT, rt5631_outvolr_sel);
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 65
SOC_DAPM_ENUM("Right OUTVOL SRC
/* Right HP Volume Input */
static const char *rt5631_hpvolr_sel[] = {"Vmid"java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 1
static /* PLL1 */
RT5631_R_EN_SHIFT java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 36
staticconstsnd_kcontrol_newrt5631_hpvolr_mux_control =
SOC_DAPM_ENUM(" IC1),
/* Right SPK Volume Input */(AXIL)
static const char *java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 34
static SOC_ENUM_SINGLE_DECL(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
RT5631_R_EN_SHIFTSND_SOC_DAPM_MICBIAS(IC Bias1"RT5631_PWR_MANAG_ADD2,
static const struct snd_kcontrol_new rt5631_spkvolr_mux_control =
);
/* SPO Left Channel Input */
static const char *rt5631_spol_src_sel[] = {
"MONOIN_RX" "VDAC" "IC1Boost"RT5631_PWR_MANAG_ADD2
static SOC_ENUM_SINGLE_DECL(rt5631_spol_src_enum "MIC2Boost, java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
RT5631_SPK_L_MUX_SEL_SHIFT, rt5631_spol_src_sel);
static const struct RT5631_PWR_MONO_IN_P_VOL_BIT,,
(" RT5631_M_AXIR_RECMIXR_BIT, 1, 1),
/* SPO Right Channel Input */
tatic[ ={
"SND_SOC_DAPM_PGA("AXIL Boost", RT5631_PWR_MANAG_ADD4,
SOC_ENUM_SINGLE_DECL(rt5631_spor_src_enum, RT5631_SPK_MONO_HP_OUT_CTRLSOC_DAPM_SINGLE" Switch",RT5631_ADC_REC_MIXER,
RT5631_SPK_R_MUX_SEL_SHIFT, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 39
static const struct snd_kcontrol_new java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 2
SOC_DAPM_ENUM("SPOR SRC", static const struct snd_kcontrol_new rt5631_[= {
/* MONO Input */
static SND_SOC_DAPM_MIXER("RECMIXL" ,
static SOC_ENUM_SINGLE_DECL( ,
RT5631_MONO_MUX_SEL_SHIFT rt5631_mono_src_sel)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
structsnd_kcontrol_new rt5631_mono_mux_control =
SOC_DAPM_ENUM("MONO SRC", rt5631_mono_src_enum);
/* Left HPO Input */
const ]= {LeftHPVOL" LeftDAC";
static / ADCsneed power atthe same time /
SOC_DAPM_SINGLE("java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 66
static const /* DMIC */
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 47
/* Right HPO Input */
", " "
tatic java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 47
RT5631_HP_R_MUX_SEL_SHIFT, rt5631_hpr_src_sel" Switch" RT5631_SPK_MIXER_CTRL,
static RT5631_M_DACR_SPKMIXR_BIT, 1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SOC_DAPM_ENUM("HPRSRC, rt5631_hpr_src_enum);
static const struct snd_soc_dapm_widget java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 54
/* Vmid */
SND_SOC_DAPM_VMID("Vmid"),
/* PLL1 */
SND_SOC_DAPM_SUPPLY( RT5631_PWR_MANAG_ADD1,RT5631_PWR_ADC_R_CLK_BITSOC_DAPM_SINGLE(ECMIXR PlaybackSwitch,RT5631_SPK_MIXER_CTRL
RT5631_PWR_PLL1_BIT, /* DAC and ADC supply power */
/* Input Side */
/* Input Lines */
SND_SOC_DAPM_INPUT("MIC1"),
SND_SOC_DAPM_INPUT("MIC2")static static constSUPPLY"AC" RT5631_PWR_MANAG_ADD1
SND_SOC_DAPM_INPUT("AXIL"),
SND_SOC_DAPM_INPUT("AXIR"),
SOC_DAPM_SINGLERT5631_PWR_DAC_REF_BIT, , NULL 0)
SND_SOC_DAPM_INPUT("MONOIN_RXP"),
SND_SOC_DAPM_INPUT(DMIC,
/* MICBIAS */
RT5631_M_RECMIXR_ DACs *
RT5631_PWR_MICBIAS1_VOL_BIT, 0),
SND_SOC_DAPM_MICBIAS,
RT5631_PWR_MICBIAS2_VOL_BIT, 0),
/* Boost */
SND_SOC_DAPM_PGA("MIC1 Boost" SND_SOC_DAPM_DAC(Right"," "java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
RT5631_PWR_MIC1_BOOT_GAIN_BIT, 0, NULL, 0),
SND_SOC_DAPM_PGA(M Boost ,1 )
RT5631_PWR_MIC2_BOOT_GAIN_BIT, 0, NULL, 0),
SND_SOC_DAPM_PGA(MONOIN_RXP " RT5631_PWR_MANAG_ADD4,
RT5631_PWR_MONO_IN_P_VOL_BIT, 0, NULL, 0),
SND_SOC_DAPM_PGA("MONOIN_RXN(Voice DAC Boost", SND_SOC_NOPM,0 0,NULL 0,
RT5631_PWR_MONO_IN_N_VOL_BIT, 0, NULL, 0),
SND_SOC_DAPM_PGA("AXIL Boost", RT5631_PWR_MANAG_ADD4,
IT, 0, NULL, ),
SND_SOC_DAPM_PGA_L_TO_MIXER_BIT, 0 NULL,0),
0 NULL,0)
/* MONO In */
SND_SOC_DAPM_MIXER("MONO_IN", SND_SOC_NOPM, 0, 0, NULL, 0),
/* REC Mixer */
SND_SOC_DAPM_MIXER(" Mixer RT5631_M_AXIL_OUTMIXL_BIT,1 1,
RT5631_PWR_RECMIXER_L_BIT, 0,
&java.lang.StringIndexOutOfBoundsException: Range [36, 32) out of bounds for length 36
ARRAY_SIZE(rt5631_recmixl_mixer_controls)),
Mixer, RT5631_PWR_MANAG_ADD2,
RT5631_PWR_RECMIXER_R_BIT, 0,
&rt5631_recmixr_mixer_controls[0],
ARRAY_SIZE(rt5631_recmixr_mixer_controls)), RT5631_M_VDAC_OUTMIXL_BIT, Mixer, RT5631_PWR_MANAG_ADD2,
/* Because of record duplication for L/R channel,
* L/R ADCs need power up at the same time */
SND_SOC_DAPM_MIXER("ADC Mixer java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
/* DMIC */SOC_DAPM_SINGLE(VDACPlayback Switch"RT5631_OUTMIXER_R_CTRL,
SND_SOC_DAPM_SUPPLY("DMIC Supply", RT5631_DIG_MIC_CTRL,
RT5631_DMIC_ENA_SHIFT, 0,
&rt5631_outmixr_mixer_controls[0]
/* ADC Data Srouce */
SND_SOC_DAPM_SUPPLY("Left/* Right SPK Mixer */
, 0 NULL 0,
ht ADC Select" SND_SOC_DAPM_SUPPLY("Right ADC Select", RT5631_INT_ST_IRQ_CTRL_2
RT5631_ADC_DATA_SEL_MIC2_SHIFT, 0, NULL, 0),
/* ADCs */
SND_SOC_DAPM_ADC(LeftADC,"HIFI ",
RT5631_PWR_MANAG_ADD1, RT5631_PWR_ADC_L_CLK_BIT, 0),
SND_SOC_DAPM_ADC("Right ADC", "HIFI Capture",
RT5631_PWR_MANAG_ADD1 RT5631_PWR_ADC_R_CLK_BIT,0)
SND_SOC_DAPM_SUPPLY("I2S", RT5631_PWR_MANAG_ADD1,
" Playback Switch,T5631_OUTMIXER_R_CTRL,
SND_SOC_DAPM_SUPPLY("DAC REF", RT5631_PWR_MANAG_ADD1,
RT5631_PWR_DAC_REF_BIT, 0(LeftMux, RT5631_OUTMIX,
/* Output Side */
/* DACs */
SND_SOC_DAPM_DAC("Left DAC", " &rt5631_outvoll_mux_control),
RT5631_PWR_MANAG_ADD1, RT5631_PWR_DAC_L_CLK_BIT, 0),
SND_SOC_DAPM_DAC("Right DAC", "HIFI Playback",
RT5631_PWR_MANAG_ADD1, RT5631_PWR_DAC_R_CLK_BIT, 0),
SND_SOC_DAPM_DAC("Voice DAC" "Voice DAC Mono Playback",
SND_SOC_NOPM,0, 0,
SND_SOC_DAPM_PGA("Voice DAC Boost", SND_SOC_NOPM, 0, 0, NULL, 0),
/* DAC supply power */
java.lang.StringIndexOutOfBoundsException: Range [26, 20) out of bounds for length 64
RT5631_PWR_DAC_L_TO_MIXER_BIT0, NULL 0,
SND_SOC_DAPM_SUPPLY("Right DAC To Mixer", RT5631_PWR_MANAG_ADD1,
RT5631_PWR_DAC_R_TO_MIXER_BIT, 0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
/* Left SPK Mixer */
SND_SOC_DAPM_MIXER("SPKMIXL Mixer", RT5631_PWR_MANAG_ADD2,
RT5631_PWR_SPKMIXER_L_BIT, 0,
&rt5631_spkmixl_mixer_controls[0],
ARRAY_SIZE(rt5631_spkmixl_mixer_controls)),
/* Left Out Mixer */
java.lang.StringIndexOutOfBoundsException: Range [58, 19) out of bounds for length 59
RT5631_PWR_OUTMIXER_L_BIT, 0,
&rt5631_outmixl_mixer_controls[0],
ARRAY_SIZE(rt5631_outmixl_mixer_controls)),
/* Right Out Mixer */
SND_SOC_DAPM_MIXER("OUTMIXR Mixer", RT5631_PWR_MANAG_ADD2,
RT5631_M_RECMIXL_OUTMIXR_BIT, 1, 1),
&SND_SOC_DAPM_PGA_S(LeftDAC_HP" , ,0 0;
ARRAY_SIZE(rt5631_outmixr_mixer_controls)),
K *
SND_SOC_DAPM_MIXER("SPKMIXR Mixer", RT5631_PWR_MANAG_ADD2,
RT5631_PWR_SPKMIXER_R_BIT, 0,
&rt5631_spkmixr_mixer_controls[0],
rt5631_spkmixr_mixer_controls HPDepop ,SND_SOC_NOPM,java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
/* Volume Mux */
SND_SOC_DAPM_MUX("Left SPKVOL /* /
java.lang.StringIndexOutOfBoundsException: Range [31, 27) out of bounds for length 31
SOC_DAPM_SINGLE(MIC2_BST2 Playback)
SND_SOC_DAPM_MUX("Left HPVOL Mux SND_SOC_DAPM_MIXER("Mixer, , 1)
SOC_DAPM_SINGLE"OUTVOLL Playbackcontrols))
&rt5631_hpvoll_mux_control),
SND_SOC_DAPM_MUX("Left OUTVOL Mux", RT5631_PWR_MANAG_ADD4,
RT5631_PWR_LOUT_VOL_BIT, 0,
&rt5631_outvoll_mux_control),
SND_SOC_DAPM_MUX("Right java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 17
RT5631_PWR_ROUT_VOL_BIT, 0,
&rt5631_outvolr_mux_control RT5631_M_OUTMIXR_AXO1MIX_BITjava.lang.StringIndexOutOfBoundsException: Range [40, 13) out of bounds for length 46
SND_SOC_DAPM_MUX(}
RT5631_PWR_HP_R_OUT_VOL_BIT
&rt5631_hpvolr_mux_control),
SND_SOC_DAPM_MUX("Right SPKVOL Mux", RT5631_PWR_AXO2MIXER_BIT ,
, 0,
&rt5631_spkvolr_mux_control),
/* DAC To HP */AXO2MIX_mixer_controls),
SND_SOC_DAPM_PGA_S
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* HP Depop */
Depop, , ,0,
hp_event, SND_SOC_DAPM_MUX(Mux" , _AXO2MIXER_CTRL,
/* AXO1 Mixer */
(AXO1MIX", "Playback Switch" RT5631_AXO2MIXER_CTRL
, 0 t5631_mono_mux_control),
&rt5631_AXO1MIX_mixer_controls[0],
ARRAY_SIZE(rt5631_AXO1MIX_mixer_controls)
/* SPOL Mixer */
SND_SOC_DAPM_MIXER("SPOLMIX Mixer" java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 48
& /* AMP supply */
SND_SOC_DAPM_SUPPLY("MONO Depop" OC_DAPM_SINGLE("PKVOLL Switch"RT5631_SPK_MONO_OUT_CTRL,
/* MONO Mixer */
SND_SOC_DAPM_MIXER("MONOMIX Mixer", RT5631_PWR_MANAG_ADD3,
RT5631_PWR_MONOMIXER_BIT, 0,
rols[],
SOC_DAPM_SINGLE("SPKVOLR Playback Switch", RT5631_SPK_MONO_OUT_CTRL,
/* SPOR Mixer */ ,1, )
SND_SOC_DAPM_MIXER("SPORMIX Mixer"}
&rt5631_spormix_mixer_controls[0],
ARRAY_SIZEixer_controls)
/* AXO2 Mixer */
SND_SOC_DAPM_MIXER("AXO2MIX Mixer", RT5631_PWR_MANAG_ADD3 "Pla" java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 40
RT5631_PWR_AXO2MIXER_BIT" ("Playback SwitchRT5631_SPK_MONO_OUT_CTRL
&rt5631_AXO2MIX_mixer_controls[0],
ARRAY_SIZE}
/* Mux */
SND_SOC_DAPM_MUX("java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
&rt5631_spol_mux_control),
SND_SOC_DAPM_MUX("SPOR Mux", SND_SOC_NOPM, 0, 0,
&rt5631_spor_mux_control),
_MUX" ,SND_SOC_NOPM,00,
&rt5631_mono_mux_control {"AXILBoost, ,"AXIL java.lang.StringIndexOutOfBoundsException: Range [35, 32) out of bounds for length 40
java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 48
&java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 28
SND_SOC_DAPM_MUX("HPR Mux", SND_SOC_NOPM, 0, 0,
&java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 28
/* AMP supply */
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
RT5631_PWR_MONO_DEPOP_DIS_BIT,
SND_SOC_DAPM_SUPPLY("Class D"o const char rt5631_spkvoll_sel[={"ECMIXLMixer AXILVOLCaptureSwitch"AXILBoost}
RT5631_PWR_CLASS_D_BIT,0, , )java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
/* Output Lines */
M_OUTPUT""),
SND_SOC_DAPM_OUTPUT(AUXO2)
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
(SPOR[]={"Vmid,"OUTMIXL";
SND_SOC_DAPM_OUTPUTs SOC_ENUM_SINGLE_DECL(, RT5631_HP_OUT_VOL
SND_SOC_DAPM_OUTPUT("HPOR"),
SND_SOC_DAPM_OUTPUT("MONO"),
};
static const struct snd_soc_dapm_route rt5631_dapm_routes[] = {
{"MIC1 Boost", NULL, "MIC1"},
{"MIC2 Boost",
{"MONOIN_RXP Boost", NULL, " const char *rt5631_outvoll_sel"Mixer"NULL," Mixer}
{MONOIN_RXN Boost" SOC_ENUM_SINGLE_DECL(, RT5631_MONO_AXO_1_2_VOLjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
{"AXIL Boost", NULL, "{"Left ADC", NULL, "ADC Mixer}
{"AXIR Boost", NULL, "AXIR"},
{"MONO_INE(" SRC,rt5631_outvoll_enum);
{"MONO_IN", NULL, "MONOIN_RXN Boost"},
,Capture"java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 62
{"RECMIXL RT5631_R_, adcl_select,
{"RECMIXL Mixer", java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 65
",java.lang.StringIndexOutOfBoundsException: Range [56, 54) out of bounds for length 56
" Mixer",
{java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
CaptureSwitch" java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
Capture ""ONO_IN"}
{java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{"ADC " , DAC"java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
{"Left ADC", NULL, "ADC Mixer"},
,
{"{"Right char [ = ""java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{"java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
{ ("ight SPKVOL SRC", rt5631_spkvolr_enum);
{"Right static constchar *rt5631_spol_src_sel[={
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 60
{ " "" HIFT, rt5631_spol_sr)
{"Right ADC", NULLtaticstructsnd_kcontrol_new =
{"Right ADC", NULL, " {"SPKMIXL Mixer", NULL, Left DAC" "rt5631_spol_src_enum
," ,}
{"Left {SPKMIXL Mixer" MIC1_P Switch, {"SPKMIXL Mixer", "MIC1_P Playback Switch", "MIC1
{"Right ADC", NULL, "DMIC"},
{"Left DAC", NULL, "PLL1", java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
{"Left DAC", NULL, "I2S"},
{"java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
{RightDAC,NULL "" check_sysclk1_source,
{"Right DAC
" DAC, NULL, DAC REF",
{"Voice DAC Boost", NULL, "Voice DAC"},
{"SPKMIXL Mixer", NULL,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{"SPKMIXL
{ java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 55
{"SPKMIXL Mixer", "OUTMIXLjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
check_dacr_to_spkmixr},
{SPKMIXR Mixer" "UTMIXR {"SPKMIXR Mixer", "OUTMIXR Playback
{"SPKMIXR Mixer", "DACR Playback Switch", "Right DAC"} java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 47
"SPKMIXRMixer",MIC2_PPlayback Switch "Mixer",MIC2_BST2Playback Switch,MIC2"}java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
{SPKMIXRMixer","ECMIXRSwitch,"ECMIXR Mixer,
" Mixer" NULL,"Left
"Mixer" OUTMIXL DAC Switch "DAC",
{"OUTMIXL Mixer", "RECMIXR ,NULL "DAC Mixer",java.lang.StringIndexOutOfBoundsException: Range [70, 68) out of bounds for length 70
{"SOC_DAPM_ENUM(HPRSRC" " " "PlaybackSwitch,"Mixer"}
{"OUTMIXL rt5631_dapm_widgets[] = {
{{OUTMIXL Mixer"
{"OUTMIXL SND_SOC_DAPM_VMIDPlaybackSwitch," Boost",
" " " java.lang.StringIndexOutOfBoundsException: Range [48, 46) out of bounds for length 69
"UTMIXL P"RT5631_PWR_MANAG_ADD2,
{OUTMIXL " "" java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 60
{"OUTMIXR Mixer", NULL, "Right
{"OUTMIXR Mixer", "RECMIXL Playback Switch", "RECMIXL Mixer" {LeftSPKVOL MuxM"java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
{"OUTMIXR Mixer", "RECMIXR Playback {"Left HPVOL Mux", "OUTMIXL", "OUTMIXL Mixer(java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 34
{ {"Left OUTVOL Mux", java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 38
{"OUTMIXR Mixer", "MIC1_BST1 SND_SOC_DAPM_MICBIAS("Bias2,RT5631_PWR_MANAG_ADD2
{ {"Right OUTVOL Mux", "Vmid",java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 39
{OUTMIXR /* Boost */
{ Mixer",,",java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 38
{"SND_SOC_DAPM_PGA("MIC2,java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
{"OUTMIXR Mixer "Boost" ,
{Left SPKVOL "AXO1MIXMixer "java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 65
",RT5631_PWR_MANAG_ADD4
RT5631_PWR_MONO_IN_N_VOL_BIT,NULL," Mixer"IC2_BST2PlaybackSwitch, IC2",
{"Left HPVOL Mux", "Vmid", "Vmid"},
{"Left OUTVOL Mux", "OUTMIXL", "OUTMIXL Mixer"},
{ Mixer,OUTVOLL ""OUTVOL "java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
{"Right java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{Right /
{R " KVOLRSwitch Right ",
{"Right HPVOL Mux", "Vmid", "Vmid"},
RightSPKVOL ", "" SPKMIXR}
{"Right SPKVOL Mux", "Vmid", "Vmid"},
{"AXO1MIX Mixer", "MIC1_BST1 Playback Switch", "MIC1 Boost"},
{"AXO1MIX Mixer", "OUTVOLL SND_SOC_DAPM_MIXER("RECMIXR Mixer",,LeftMux"java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
{"AXO1MIX Mixer", "OUTVOLR Playback Switch
Switch""MIC2java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
{AXO2MIXMixer" "MIC1_BST1 RADCsneed java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
{"AXO2MIX Mixer",/
MixerOUTVOLR,i }java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
{"AXO2MIX Mixer", "MIC2_BST2 RT5631_DMIC_ENA_SHIFT0java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
," SND_SOC_DAPM_SUPPLY("POR Mux","ACR java.lang.StringIndexOutOfBoundsException: Range [32, 28) out of bounds for length 35
{"SPOLMIX Mixer", "SPKVOLR Playback Switch",
{"SPORMIX Mixer", "RT5631_ADC_DATA_SEL_MIC2_SHIFT, 0 "" VDAC""Voice DACjava.lang.StringIndexOutOfBoundsException: Range [32, 0) out of bounds for length 0
{"SPORMIX Mixer", "SPKVOLR Playback Switch", "Right SPKVOL Mux"},
{"MONOMIX Mixer", "OUTVOLL Playback Switchjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0
{"MONOMIX Mixer", "",RT5631_PWR_MANAG_ADD1
{"SPOL Mux",SND_SOC_DAPM_SUPPLY(DAC REF, HPL "DAC DAC_HP}
{"SPOL "HPR","HPVOL" Right ,NULL 0,
{"SPOL Mux", "VDAC", "Voice DAC {HPR Mux ight DAC_HP}
{"SPOL Mux", "DACL", "Left DAC"}java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 31
{" Mux", {"AUXO1", NULL, "AXO1 "}
" M,
{
{,"" "DAC" ,)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
{MONO " ""java.lang.StringIndexOutOfBoundsException: Range [30, 26) out of bounds for length 64
"{SPOR,," ,
{"MONO Mux", "VDAC", "Voice DAC Boost"},
{"Right java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{"Left", LeftDAC",
{"HPL Mux", "Left rt5631_spkmixl_mixer_controls[]java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
{"HPL Mux", "Left DAC", "Left java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 22
{"HPR Mux", "Right HPVOL", "Right u32_outmixl_mixer_controls[0java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
{"HPR Mux", "Right DAC", "java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 22
{"HP RT5631_PWR_OUTMIXER_R_BITstruct {
{"HP Depop", NULLrjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 13
{"AUXO1", java.lang.StringIndexOutOfBoundsException: Range [22, 1) out of bounds for length 22
", NULL, "AXO2MIX RT5631_PWR_SPKMIXER_R_BIT,
{"SPOL", NULL, "Class D"},
{"SPOL", NULL, "SPOL Mux"},
{"SPOR", NULL, "Class D"},
{"SPOR", NULL, "SPOR Mux"},
{"HPOL", NULL, 2000, &rt5631_spkvoll_mux_control
13100000java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
{,NULL MONODepop"java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
"ONO NULL,"MONOMux},
};
struct coeff_clk_div &,0,
u32 mclk"ight Mux",,
u32 bclk;
u32 rate;
u16 reg_val &t5631_outvolr_mux_control
};
/* PLL divisors */
struct pll_div {
u32pll_in;
u32 pll_out;
u16 reg_val;
};
static structpll_div java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 32
{2048000, 8192000, 0x0ea0},
{3686400, 8192000, 0DAC_HP" 2048000,22579200 2}
{, 8192000 /
13000000,8192000, x}
{3100000, 0x0320},
{2048000, 11289600, 0xf637},
{3686400, 11289600, 0x2f22},
{12000000, 11289600, 0x3e2f},
{13000000, 11289600, 0x4d5b} java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
{13100000, 11289600, 0x363b},
{, , 0},
{3686400, 16384000, 0x9e27},
{12000000, 16384000, 12000000 24576000, 0}
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
{13100000, 16384000, 0x03a0},
{,16934400,x}
{26000000java.lang.StringIndexOutOfBoundsException: Range [31, 27) out of bounds for length 31
,
{13000000, 16934400, 0x742f},
},
{2048000, ]
{3686400, 22579200, 0x2f20},
{ 0x7e2f}java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
constjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 53
13100000,22579200 x3c27,
{2048000, 24576000, 0x2ea0},
{352800 , x3 SND_SOC_DAPM_MUX("SPOL Mux ,,,
{12000000, 24576000, 0x2915},
{(POR" SND_SOC_NOPM, 0 0java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
{ , x}java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
{26000000, 24576000 java.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 48
{26000000, 22579200)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
java.lang.StringIndexOutOfBoundsException: Range [47, 32) out of bounds for length 32
{24576000, 24576000, 0x02a0},
};
static const RT5631_PWR_MONO_DEPOP_DIS_BIT 0 ,0)
{ 2048000,x46f0}
{256000, 4096000, 0x3ea0},
{352800,, 56448005644800,,java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
{12000,8192000 java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 29
{1024000, 8192000, 0x46f0},
,0x3ea0}("SPOR)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 29
{
{1411200, 22579200, 0x3ea0},
{1536000, 24576000, 0x3ea0},
{2048000 16384000, java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 31
{2822400, 22579200, 0x1ea0},
{2822400, 45158400, 0x5ec0},
{5644800, 45158400, 0x46f0},
{, , }
3072000, 49152000, x5ec0
{6144000 java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 30
MONOIN_RXN" 153600012288000 x1690java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
{705600,,}
{24576000, 24576000, 0x02a0},
x1690java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
2822400
{1536000
3072000,12288000 0,
};
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 59
java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
{2048000, 8000
{, 800064,8000
{2822400, 11025 * 32, 11025, RECMIXR, 64 ,
{2822400, 11025 * 64, 11025, 0x0000},
{4096000, 16000 * 32, 16000, 0x1000},
{4096000, 16000 * 64, 16000, 0x0000{{ RECMIXL"
644800 22050 32 ,0java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
{5644800, 22050 * 64, 22050, 0java.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 33
{, * eft " ,
8192000,*,{2288000 *64480000java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 42
{11289600, 44100 * " {22579 3288200 java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
{ 44100* 64 ,0java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
{12288000, 48000 * 32, 48000, 0x1000},
{12288000, 48000 * 64, 48000
{22579200java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{22579200, 88200 * 64, 88200 Left ,NULL, DMIC}
96000,,0
{24576000, 96000 * 64, 96000, 0x0000},
/* sysclk is 512fs */
{4096000, 8000 * 32, , *32,, x},
4096000 8000*64,8000 x2000,
{5644800, 11025 * 32, java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 51
5644800,11025 110250java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
{8192000, 16000 * 32, 16000, 0x3000},
{8192000, 16000 * 64, 16000, 0x2000},
{11289600, 22050 * 32, 22050, {Voice Boost" ," },
{11289600,
{*32,32000,,
{16384000, 32000 * 64, 32000, 0x2000},
{22579200, 44100 * 32, 44100, 0x3000},
{, 44100*64 44100 0x2000},
{24576000, 48000 * 32, 48000, 0SPKMIXLMixer,44100 ,,0java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
{45158400, 88200 * 32, 88200 4515840088200*64 MixerPlayback,UTMIXR Mixer"
{45158400, 88200 * 64, 88200, 0x2000},
{49152000, 96000 * 32, 96000, 0x3000},
{49152000, 96000 * 64, 96000, 0x2000},
{24576000, 8000 * 32, 8000, 0x7080},
{24576000, 8000 * 64, 8000, 0x6080},
{APlayback ,"Leftjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 55
24576000 *64,java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 42
{24576000, 24000*32 , 24576000 16000
{24576000 24000 "Mixer," "java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 69
{24576000, 32000 * 32, 32000, 0x3080},
{24576000 *64,{""Playback "" ",
{22579200, 11025 * 32, 11025, 0x7000},
{, , 110250x6000,
, , , {22579200, 22050 * 32, 22050, 0x5000
, 22050, java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 42
};
static int get_coeff(int mclk, int rate, int
i
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
if[] =&[i=&
(coeff_div[i]{i;
;
}
return -EINVAL;
}
(snd_pcm_substream *ubstream,
struct snd_pcm_hw_params *params, struct struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
{
= dai>HPVOL UTMIXR," "
java.lang.StringIndexOutOfBoundsException: Range [19, 7) out of bounds for length 71
Right java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 51
unsigned int iface = 0;
dev_dbgjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
rt5631->bclk_rate = snd_soc_params_to_bclk(params);
if ({AXO1MIXMixer
component>Playback Switch" i Mux}
java.lang.StringIndexOutOfBoundsException: Range [15, 8) out of bounds for length 27
}
>=params_rate()
if (rt5631->master)
coeff = get_coeff(rt5631->sysclk, rt5631->rx_rate,
-bclk_rate /rt5631>;
else
coeff = get_coeff(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 18
if (coeff
dev_err{SPORMIX, =rt5631
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 15
}
switch (params_width(params)) {
case 16:
case:
breakjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
iface |= RT5631_SDP_I2S_DL_20;
break iface | java.lang.StringIndexOutOfBoundsException: Range [32, 25) out of bounds for length 42
case 24:
iface |= RT5631_SDP_I2S_DL_24;
case 8:
case 8
break;
default:
default
}
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
)
snd_soc_component_writeDAC_HP NULL snd_soc_component_write(,RT5631_STEREO_AD_DA_CLK_CTRL
coeff_div[coeff].reg_val);
return 0;
}
static int rt5631_hifi_codec_set_dai_fmt 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
{SPOL" NULL,"lass }
dev_dbg(dev_dbg(component->dev, }
switch (fmt {MONO,&){
case SND_SOC_DAIFMT_CBP_CFP:
case SND_SOC_DAIFMT_CBP_CFP NULL " }
break;
case SND_SOC_DAIFMT_CBC_CFC:
- =1;
rt5631->master = 0;
break;
default:
;
}
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
case SND_SOC_DAIFMT_I2S:
break;
case SND_SOC_DAIFMT_LEFT_J
iface |= RT5631_SDP_I2S_DF_LEFT;
break;
A
iface |=
break;
case SND_SOC_DAIFMT_DSP_B:
iface |= RT5631_SDP_I2S_DF_PCM_B;
break;
default
return -EINVAL;
}
switch (SND_SOC_DAIFMT_DSP_A
case iface |= RT5631_SDP_I2S_D;
case SND_SOC_DAIFMT_IB_NF:
iface |= RT5631_SDP_I2S_BCLK_POL_CTRL;
break;
default:
return-;
}
snd_soc_component_write(component, java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 41
return 0;
}
static int rt5631_hifi_codec_set_dai_sysclk(struct snd_soc_dai *codec_dai,
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
struct java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata{, 22579200,
dev_dbg(component-}686400 22579200, 0,
if (( 12000000 22579200sint (struct *,
{,22579200
java.lang.StringIndexOutOfBoundsException: Range [13, 10) out of bounds for length 32
}
return -EINVAL;
}
static int rt5631_codec_set_dai_pll(struct
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 58
{
struct snd_soc_component *component = codec_dai->component{26000000 22579200 0x392f}java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
struct rt5631_priv
staticintrt5631_codec_set_dai_pllssnd_soc_dai *java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 78
dev_dbg(component->dev, "enter %s\n", __java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 0
if (!freq_in || !freq_out) {
(component->25600040960000,
snd_soc_component_update_bits(component, RT5631_GLOBAL_CLK_CTRL
dev_dbg(component->dev(componentdev,enter %\n,1024000 ,,}
RT5631_SYSCLK_SOUR_SEL_MCLK)
return 0;
}
if (rt5631->master) {
for (i = 0; i < ARRAY_SIZE(codec_master_pll_div); i++
if( 22579200 x}java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
freq_out == codec_master_pll_div[i].java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 31
{ ));
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
snd_soc_component_write(component,RT5631_PLL_CTRL
codec_master_pll_div[i]. fori=0;i<ARRAY_SIZE24576000 4576000,0x02a0}
schedule_timeout_uninterruptible(
msecs_to_jiffies(20));
(,
RT5631_GLOBAL_CLK_CTRL,
RT5631_SYSCLK_SOUR_SEL_MASK |
RT5631_PLLCLK_SOUR_SEL_MASK,
RT5631_SYSCLK_SOUR_SEL_PLL |
RT5631_PLLCLK_SOUR_SEL_MCLK)
ret codec_master_pll_div/* sysclk is 256fs */
breakjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}
} else {
for (i = 0; i RT5631_GLOBAL_CLK_CTRL,
if freq_in= codec_slave_pll_div].ll_in&
freq_out == RT5631_PLLCLK_SOUR_SEL_MASK
->dev,
"change PLL{5644800 32 22050, 01000}
snd_soc_component_write(component ret =0;
codec_slave_pll_div[i].reg_val);
ptible
msecs_to_jiffies(20));
snd_soc_component_update_bits(component,
,
RT5631_SYSCLK_SOUR_SEL_MASK |
RT5631_PLLCLK_SOUR_SEL_MASK,
RT5631_SYSCLK_SOUR_SEL_PLL |
RT5631_PLLCLK_SOUR_SEL_BCLK);
ret = 0;
{,48000 *64 ,00000}java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
}
}
return ret;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
static int rt5631_set_bias_level( {096000 8000 32, 8000,03000,
enum snd_soc_bias_level level)
struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata 5644800, 11025* 64 11025,0x2000}java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
switch (level) {
case SND_SOC_BIAS_ON:{, 22050*32,
case SND_SOC_BIAS_PREPARE:
snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD2,
| RT5631_PWR_MICBIAS2_VOL
RT5631_PWR_MICBIAS1_VOL | RT5631_PWR_MICBIAS2_VOL);
break;
case SND_SOC_BIAS_STANDBY:
if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
{, *case java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
RT5631_PWR_VREF | RT5631_PWR_MAIN_BIAS,
RT5631_PWR_VREF | RT5631_PWR_MAIN_BIAS);
{45158400 88200*,88200,0 RT5631_PWR_MICBIAS1_VOL | RT5631_PWR_M;
49152000, 96000*
,
RT5631_PWR_FAST_VREF_CTRL);
(rt5631-regmap,false;
regcache_sync(rt5631->regmap);
}
snd_soc_component_update_bits,RT5631_PWR_MANAG_ADD3
case SND_SOC_BIAS_OFF:
component_writecomponentRT5631_PWR_MANAG_ADD1, 0x0000);
snd_soc_component_write(component, RT5631_PWR_MANAG_ADD2, 0x0000);
snd_soc_component_write msleep(80;
snd_soc_component_write(,RT5631_PWR_MANAG_ADD4 java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68 | |