sound/soc/amd/acp-da7219-max98357a.c
532
SND_SOC_DAILINK_DEF(adau,
sound/soc/amd/acp-da7219-max98357a.c
579
SND_SOC_DAILINK_REG(designware3, adau, platform),
sound/soc/amd/acp-da7219-max98357a.c
590
SND_SOC_DAILINK_REG(designware2, adau, platform),
sound/soc/amd/acp-da7219-max98357a.c
635
SND_SOC_DAILINK_REG(designware3, adau, platform),
sound/soc/amd/acp-da7219-max98357a.c
646
SND_SOC_DAILINK_REG(designware2, adau, platform),
sound/soc/codecs/adau1761.c
383
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1761.c
387
regmap_write(adau->regmap, ADAU1761_DEJITTER, 0);
sound/soc/codecs/adau1761.c
388
if (!adau->master)
sound/soc/codecs/adau1761.c
389
regmap_write(adau->regmap, ADAU1761_DEJITTER, 3);
sound/soc/codecs/adau1761.c
576
struct adau *adau = dev_get_drvdata(dev);
sound/soc/codecs/adau1761.c
577
struct regmap *regmap = adau->regmap;
sound/soc/codecs/adau1761.c
581
if (adau->type != ADAU1361)
sound/soc/codecs/adau1761.c
612
adau->type = ADAU1761_AS_1361;
sound/soc/codecs/adau1761.c
623
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1761.c
632
regcache_cache_only(adau->regmap, false);
sound/soc/codecs/adau1761.c
633
regmap_update_bits(adau->regmap, ADAU17X1_CLOCK_CONTROL,
sound/soc/codecs/adau1761.c
637
regcache_sync(adau->regmap);
sound/soc/codecs/adau1761.c
640
regmap_update_bits(adau->regmap, ADAU17X1_CLOCK_CONTROL,
sound/soc/codecs/adau1761.c
642
regcache_cache_only(adau->regmap, true);
sound/soc/codecs/adau1761.c
664
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1761.c
718
regmap_write(adau->regmap, ADAU1761_DIGMIC_JACKDETECT, val);
sound/soc/codecs/adau1761.c
726
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1761.c
740
regmap_update_bits(adau->regmap, ADAU1761_PLAY_MONO_OUTPUT_VOL,
sound/soc/codecs/adau1761.c
747
regmap_update_bits(adau->regmap, ADAU1761_PLAY_HP_RIGHT_VOL,
sound/soc/codecs/adau1761.c
825
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1761.c
833
regmap_update_bits(adau->regmap, ADAU1761_LEFT_DIFF_INPUT_VOL,
sound/soc/codecs/adau1761.c
836
regmap_update_bits(adau->regmap, ADAU1761_RIGHT_DIFF_INPUT_VOL,
sound/soc/codecs/adau1761.c
856
regmap_update_bits(adau->regmap, ADAU1761_PLAY_LINE_LEFT_VOL,
sound/soc/codecs/adau1761.c
859
regmap_update_bits(adau->regmap, ADAU1761_PLAY_LINE_RIGHT_VOL,
sound/soc/codecs/adau1761.c
879
if (adau->type == ADAU1761 || adau->type == ADAU1761_AS_1361) {
sound/soc/codecs/adau1761.c
894
if (adau->type == ADAU1761) {
sound/soc/codecs/adau1761.c
909
if (adau->type == ADAU1761_AS_1361) {
sound/soc/codecs/adau1761.c
910
regmap_write(adau->regmap, ADAU17X1_SERIAL_INPUT_ROUTE, 0x01);
sound/soc/codecs/adau1761.c
911
regmap_write(adau->regmap, ADAU17X1_SERIAL_OUTPUT_ROUTE, 0x01);
sound/soc/codecs/adau1781.c
177
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1781.c
181
regmap_write(adau->regmap, ADAU1781_DEJITTER, 0);
sound/soc/codecs/adau1781.c
182
if (!adau->master)
sound/soc/codecs/adau1781.c
183
regmap_write(adau->regmap, ADAU1781_DEJITTER, 5);
sound/soc/codecs/adau1781.c
319
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1781.c
327
regmap_update_bits(adau->regmap, ADAU17X1_CLOCK_CONTROL,
sound/soc/codecs/adau1781.c
332
regmap_update_bits(adau->regmap, ADAU1781_DIG_PWDN1, 0x8, 0x8);
sound/soc/codecs/adau1781.c
335
regmap_update_bits(adau->regmap, ADAU1781_DIG_PWDN1, 0xc, 0x0);
sound/soc/codecs/adau1781.c
336
regmap_update_bits(adau->regmap, ADAU17X1_CLOCK_CONTROL,
sound/soc/codecs/adau1781.c
368
static int adau1781_set_input_mode(struct adau *adau, unsigned int reg,
sound/soc/codecs/adau1781.c
378
return regmap_update_bits(adau->regmap, reg,
sound/soc/codecs/adau1781.c
386
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau1781.c
394
ret = adau1781_set_input_mode(adau, ADAU1781_LEFT_PGA,
sound/soc/codecs/adau1781.c
398
ret = adau1781_set_input_mode(adau, ADAU1781_RIGHT_PGA,
sound/soc/codecs/adau17x1.c
105
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
1052
struct adau *adau;
sound/soc/codecs/adau17x1.c
1058
adau = devm_kzalloc(dev, sizeof(*adau), GFP_KERNEL);
sound/soc/codecs/adau17x1.c
1059
if (!adau)
sound/soc/codecs/adau17x1.c
1063
adau->mclk = devm_clk_get_optional(dev, "mclk");
sound/soc/codecs/adau17x1.c
1064
if (IS_ERR(adau->mclk))
sound/soc/codecs/adau17x1.c
1065
return PTR_ERR(adau->mclk);
sound/soc/codecs/adau17x1.c
1067
if (adau->mclk) {
sound/soc/codecs/adau17x1.c
1068
adau->clk_src = ADAU17X1_CLK_SRC_PLL_AUTO;
sound/soc/codecs/adau17x1.c
1075
ret = adau_calc_pll_cfg(clk_get_rate(adau->mclk), 48000 * 1024,
sound/soc/codecs/adau17x1.c
1076
adau->pll_regs);
sound/soc/codecs/adau17x1.c
1080
ret = clk_prepare_enable(adau->mclk);
sound/soc/codecs/adau17x1.c
1085
adau->regmap = regmap;
sound/soc/codecs/adau17x1.c
1086
adau->switch_mode = switch_mode;
sound/soc/codecs/adau17x1.c
1087
adau->type = type;
sound/soc/codecs/adau17x1.c
1089
dev_set_drvdata(dev, adau);
sound/soc/codecs/adau17x1.c
1092
if (adau17x1_has_safeload(adau)) {
sound/soc/codecs/adau17x1.c
1093
adau->sigmadsp = devm_sigmadsp_init_regmap(dev, regmap,
sound/soc/codecs/adau17x1.c
1096
adau->sigmadsp = devm_sigmadsp_init_regmap(dev, regmap,
sound/soc/codecs/adau17x1.c
1099
if (IS_ERR(adau->sigmadsp)) {
sound/soc/codecs/adau17x1.c
1101
PTR_ERR(adau->sigmadsp));
sound/soc/codecs/adau17x1.c
1102
adau->sigmadsp = NULL;
sound/soc/codecs/adau17x1.c
1115
struct adau *adau = dev_get_drvdata(dev);
sound/soc/codecs/adau17x1.c
1117
clk_disable_unprepare(adau->mclk);
sound/soc/codecs/adau17x1.c
114
regmap_update_bits(adau->regmap, ADAU17X1_CONVERTER0,
sound/soc/codecs/adau17x1.c
116
regmap_update_bits(adau->regmap, ADAU17X1_CONVERTER0,
sound/soc/codecs/adau17x1.c
190
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
203
adau->dsp_bypass[stream] = false;
sound/soc/codecs/adau17x1.c
206
val = (adau->tdm_slot[stream] * 2) + 1;
sound/soc/codecs/adau17x1.c
207
adau->dsp_bypass[stream] = true;
sound/soc/codecs/adau17x1.c
234
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
245
ret = regmap_read(adau->regmap, reg, &val);
sound/soc/codecs/adau17x1.c
324
static bool adau17x1_has_dsp(struct adau *adau)
sound/soc/codecs/adau17x1.c
326
switch (adau->type) {
sound/soc/codecs/adau17x1.c
337
static bool adau17x1_has_disused_dsp(struct adau *adau)
sound/soc/codecs/adau17x1.c
339
switch (adau->type) {
sound/soc/codecs/adau17x1.c
347
static bool adau17x1_has_safeload(struct adau *adau)
sound/soc/codecs/adau17x1.c
349
switch (adau->type) {
sound/soc/codecs/adau17x1.c
362
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
368
ret = adau_calc_pll_cfg(freq_in, freq_out, adau->pll_regs);
sound/soc/codecs/adau17x1.c
373
ret = regmap_raw_write(adau->regmap, ADAU17X1_PLL_CONTROL,
sound/soc/codecs/adau17x1.c
374
adau->pll_regs, ARRAY_SIZE(adau->pll_regs));
sound/soc/codecs/adau17x1.c
378
adau->pll_freq = freq_out;
sound/soc/codecs/adau17x1.c
387
struct adau *adau = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/adau17x1.c
396
if (!adau->mclk)
sound/soc/codecs/adau17x1.c
406
switch (adau->clk_src) {
sound/soc/codecs/adau17x1.c
418
adau->sysclk = freq;
sound/soc/codecs/adau17x1.c
430
adau->clk_src = clk_id;
sound/soc/codecs/adau17x1.c
438
struct adau *adau = snd_soc_dai_get_drvdata(dai);
sound/soc/codecs/adau17x1.c
465
clk_get_rate(adau->mclk), pll_rate);
sound/soc/codecs/adau17x1.c
472
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
477
switch (adau->clk_src) {
sound/soc/codecs/adau17x1.c
484
freq = adau->pll_freq;
sound/soc/codecs/adau17x1.c
487
freq = adau->sysclk;
sound/soc/codecs/adau17x1.c
527
regmap_update_bits(adau->regmap, ADAU17X1_CONVERTER0,
sound/soc/codecs/adau17x1.c
530
if (adau17x1_has_dsp(adau) || adau17x1_has_disused_dsp(adau))
sound/soc/codecs/adau17x1.c
531
regmap_write(adau->regmap, ADAU17X1_SERIAL_SAMPLING_RATE, div);
sound/soc/codecs/adau17x1.c
532
if (adau17x1_has_dsp(adau))
sound/soc/codecs/adau17x1.c
533
regmap_write(adau->regmap, ADAU17X1_DSP_SAMPLING_RATE, dsp_div);
sound/soc/codecs/adau17x1.c
535
if (adau->sigmadsp) {
sound/soc/codecs/adau17x1.c
541
if (adau->dai_fmt != SND_SOC_DAIFMT_RIGHT_J)
sound/soc/codecs/adau17x1.c
558
return regmap_update_bits(adau->regmap, ADAU17X1_SERIAL_PORT1,
sound/soc/codecs/adau17x1.c
565
struct adau *adau = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/adau17x1.c
573
adau->master = true;
sound/soc/codecs/adau17x1.c
577
adau->master = false;
sound/soc/codecs/adau17x1.c
633
regmap_update_bits(adau->regmap, ADAU17X1_SERIAL_PORT0, ctrl0_mask,
sound/soc/codecs/adau17x1.c
635
regmap_update_bits(adau->regmap, ADAU17X1_SERIAL_PORT1,
sound/soc/codecs/adau17x1.c
638
adau->dai_fmt = fmt & SND_SOC_DAIFMT_FORMAT_MASK;
sound/soc/codecs/adau17x1.c
646
struct adau *adau = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/adau17x1.c
666
if (adau->type == ADAU1361)
sound/soc/codecs/adau17x1.c
677
if (adau->type == ADAU1761 || adau->type == ADAU1761_AS_1361)
sound/soc/codecs/adau17x1.c
692
if (adau->type == ADAU1361)
sound/soc/codecs/adau17x1.c
704
adau->tdm_slot[SNDRV_PCM_STREAM_CAPTURE] = 0;
sound/soc/codecs/adau17x1.c
708
adau->tdm_slot[SNDRV_PCM_STREAM_CAPTURE] = 1;
sound/soc/codecs/adau17x1.c
712
adau->tdm_slot[SNDRV_PCM_STREAM_CAPTURE] = 2;
sound/soc/codecs/adau17x1.c
716
adau->tdm_slot[SNDRV_PCM_STREAM_CAPTURE] = 3;
sound/soc/codecs/adau17x1.c
725
adau->tdm_slot[SNDRV_PCM_STREAM_PLAYBACK] = 0;
sound/soc/codecs/adau17x1.c
729
adau->tdm_slot[SNDRV_PCM_STREAM_PLAYBACK] = 1;
sound/soc/codecs/adau17x1.c
733
adau->tdm_slot[SNDRV_PCM_STREAM_PLAYBACK] = 2;
sound/soc/codecs/adau17x1.c
737
adau->tdm_slot[SNDRV_PCM_STREAM_PLAYBACK] = 3;
sound/soc/codecs/adau17x1.c
743
regmap_update_bits(adau->regmap, ADAU17X1_CONVERTER0,
sound/soc/codecs/adau17x1.c
745
regmap_update_bits(adau->regmap, ADAU17X1_CONVERTER1,
sound/soc/codecs/adau17x1.c
747
regmap_update_bits(adau->regmap, ADAU17X1_SERIAL_PORT0,
sound/soc/codecs/adau17x1.c
749
regmap_update_bits(adau->regmap, ADAU17X1_SERIAL_PORT1,
sound/soc/codecs/adau17x1.c
75
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
752
if (!adau17x1_has_dsp(adau) && !adau17x1_has_disused_dsp(adau))
sound/soc/codecs/adau17x1.c
755
if (adau->dsp_bypass[SNDRV_PCM_STREAM_PLAYBACK]) {
sound/soc/codecs/adau17x1.c
756
regmap_write(adau->regmap, ADAU17X1_SERIAL_INPUT_ROUTE,
sound/soc/codecs/adau17x1.c
757
(adau->tdm_slot[SNDRV_PCM_STREAM_PLAYBACK] * 2) + 1);
sound/soc/codecs/adau17x1.c
760
if (adau->dsp_bypass[SNDRV_PCM_STREAM_CAPTURE]) {
sound/soc/codecs/adau17x1.c
761
regmap_write(adau->regmap, ADAU17X1_SERIAL_OUTPUT_ROUTE,
sound/soc/codecs/adau17x1.c
762
(adau->tdm_slot[SNDRV_PCM_STREAM_CAPTURE] * 2) + 1);
sound/soc/codecs/adau17x1.c
771
struct adau *adau = snd_soc_component_get_drvdata(dai->component);
sound/soc/codecs/adau17x1.c
773
if (adau->sigmadsp)
sound/soc/codecs/adau17x1.c
774
return sigmadsp_restrict_params(adau->sigmadsp, substream);
sound/soc/codecs/adau17x1.c
78
adau->pll_regs[5] = 1;
sound/soc/codecs/adau17x1.c
792
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
80
adau->pll_regs[5] = 0;
sound/soc/codecs/adau17x1.c
802
return regmap_write(adau->regmap, ADAU17X1_MICBIAS, micbias << 2);
sound/soc/codecs/adau17x1.c
83
regmap_update_bits(adau->regmap, ADAU17X1_CLOCK_CONTROL,
sound/soc/codecs/adau17x1.c
88
regmap_raw_write(adau->regmap, ADAU17X1_PLL_CONTROL,
sound/soc/codecs/adau17x1.c
883
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
89
adau->pll_regs, ARRAY_SIZE(adau->pll_regs));
sound/soc/codecs/adau17x1.c
892
if (adau->sigmadsp->current_samplerate == rate)
sound/soc/codecs/adau17x1.c
897
ret = regmap_read(adau->regmap, ADAU17X1_DSP_SAMPLING_RATE, &dspsr);
sound/soc/codecs/adau17x1.c
901
ret = regmap_read(adau->regmap, ADAU17X1_DSP_RUN, &dsp_run);
sound/soc/codecs/adau17x1.c
905
regmap_write(adau->regmap, ADAU17X1_DSP_ENABLE, 1);
sound/soc/codecs/adau17x1.c
906
regmap_write(adau->regmap, ADAU17X1_DSP_SAMPLING_RATE, 0xf);
sound/soc/codecs/adau17x1.c
907
regmap_write(adau->regmap, ADAU17X1_DSP_RUN, 0);
sound/soc/codecs/adau17x1.c
909
ret = sigmadsp_setup(adau->sigmadsp, rate);
sound/soc/codecs/adau17x1.c
911
regmap_write(adau->regmap, ADAU17X1_DSP_ENABLE, 0);
sound/soc/codecs/adau17x1.c
914
regmap_write(adau->regmap, ADAU17X1_DSP_SAMPLING_RATE, dspsr);
sound/soc/codecs/adau17x1.c
915
regmap_write(adau->regmap, ADAU17X1_DSP_RUN, dsp_run);
sound/soc/codecs/adau17x1.c
926
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
93
regmap_update_bits(adau->regmap, ADAU17X1_CLOCK_CONTROL,
sound/soc/codecs/adau17x1.c
938
if (adau17x1_has_dsp(adau)) {
sound/soc/codecs/adau17x1.c
944
if (!adau->sigmadsp)
sound/soc/codecs/adau17x1.c
947
ret = sigmadsp_attach(adau->sigmadsp, component);
sound/soc/codecs/adau17x1.c
962
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
970
if (adau17x1_has_dsp(adau)) {
sound/soc/codecs/adau17x1.c
978
if (adau->clk_src != ADAU17X1_CLK_SRC_MCLK)
sound/soc/codecs/adau17x1.c
987
struct adau *adau = snd_soc_component_get_drvdata(component);
sound/soc/codecs/adau17x1.c
989
if (adau->switch_mode)
sound/soc/codecs/adau17x1.c
990
adau->switch_mode(component->dev);
sound/soc/codecs/adau17x1.c
992
regcache_sync(adau->regmap);