• Home
  • Raw
  • Download

Lines Matching +full:adc +full:- +full:diff +full:- +full:channels

5  * Copyright 2009-2011 Analog Devices Inc.
7 * Licensed under the GPL-2 or later.
39 * AD1836 volume/mute/de-emphasis etc. controls
55 SOC_DOUBLE("ADC" #x " Capture Switch", AD1836_ADC_CTRL2, \
95 { "ADC", NULL, "ADC1IN" },
96 { "ADC", NULL, "ADC2IN" },
100 /* ADC high-pass filter */
101 SOC_SINGLE("ADC High Pass Filter Switch", AD1836_ADC_CTRL1,
104 /* DAC de-emphasis */
111 SND_SOC_DAPM_ADC("ADC", "Capture", SND_SOC_NOPM, 0, 0),
118 { "ADC", NULL, "ADC_PWR" },
136 /* at present, we support adc aux mode to interface with in ad1836_set_dai_fmt()
142 return -EINVAL; in ad1836_set_dai_fmt()
149 return -EINVAL; in ad1836_set_dai_fmt()
157 return -EINVAL; in ad1836_set_dai_fmt()
167 struct ad1836_priv *ad1836 = snd_soc_component_get_drvdata(dai->component); in ad1836_hw_params()
183 return -EINVAL; in ad1836_hw_params()
186 regmap_update_bits(ad1836->regmap, AD1836_DAC_CTRL1, in ad1836_hw_params()
190 regmap_update_bits(ad1836->regmap, AD1836_ADC_CTRL2, in ad1836_hw_params()
204 .name = _name "-hifi", \
235 return regmap_update_bits(ad1836->regmap, AD1836_ADC_CTRL2, in ad1836_suspend()
243 return regmap_update_bits(ad1836->regmap, AD1836_ADC_CTRL2, in ad1836_resume()
259 num_dacs = ad183x_dais[ad1836->type].playback.channels_max / 2; in ad1836_probe()
260 num_adcs = ad183x_dais[ad1836->type].capture.channels_max / 2; in ad1836_probe()
263 /* de-emphasis: 48kHz, power-on dac */ in ad1836_probe()
264 regmap_write(ad1836->regmap, AD1836_DAC_CTRL1, 0x300); in ad1836_probe()
265 /* unmute dac channels */ in ad1836_probe()
266 regmap_write(ad1836->regmap, AD1836_DAC_CTRL2, 0x0); in ad1836_probe()
267 /* high-pass filter enable, power-on adc */ in ad1836_probe()
268 regmap_write(ad1836->regmap, AD1836_ADC_CTRL1, 0x100); in ad1836_probe()
269 /* unmute adc channles, adc aux mode */ in ad1836_probe()
270 regmap_write(ad1836->regmap, AD1836_ADC_CTRL2, 0x180); in ad1836_probe()
273 regmap_write(ad1836->regmap, AD1836_DAC_L_VOL(i), 0x3FF); in ad1836_probe()
274 regmap_write(ad1836->regmap, AD1836_DAC_R_VOL(i), 0x3FF); in ad1836_probe()
277 if (ad1836->type == AD1836) { in ad1836_probe()
278 /* left/right diff:PGA/MUX */ in ad1836_probe()
279 regmap_write(ad1836->regmap, AD1836_ADC_CTRL3, 0x3A); in ad1836_probe()
285 regmap_write(ad1836->regmap, AD1836_ADC_CTRL3, 0x00); in ad1836_probe()
320 regmap_update_bits(ad1836->regmap, AD1836_ADC_CTRL2, in ad1836_remove()
373 ad1836 = devm_kzalloc(&spi->dev, sizeof(struct ad1836_priv), in ad1836_spi_probe()
376 return -ENOMEM; in ad1836_spi_probe()
378 ad1836->regmap = devm_regmap_init_spi(spi, &ad1836_regmap_config); in ad1836_spi_probe()
379 if (IS_ERR(ad1836->regmap)) in ad1836_spi_probe()
380 return PTR_ERR(ad1836->regmap); in ad1836_spi_probe()
382 ad1836->type = spi_get_device_id(spi)->driver_data; in ad1836_spi_probe()
386 ret = devm_snd_soc_register_component(&spi->dev, in ad1836_spi_probe()
387 &soc_component_dev_ad1836, &ad183x_dais[ad1836->type], 1); in ad1836_spi_probe()