Commit ef5c2eba authored by Adam Thomson's avatar Adam Thomson Committed by Mark Brown
Browse files

ASoC: codecs: Add da7213 codec



This patch adds support for the Dialog DA7213 audio codec.

Signed-off-by: default avatarAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 836dc9e3
Loading
Loading
Loading
Loading

include/sound/da7213.h

0 → 100644
+52 −0
Original line number Diff line number Diff line
/*
 * da7213.h - DA7213 ASoC Codec Driver Platform Data
 *
 * Copyright (c) 2013 Dialog Semiconductor
 *
 * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef _DA7213_PDATA_H
#define _DA7213_PDATA_H

enum da7213_micbias_voltage {
	DA7213_MICBIAS_1_6V = 0,
	DA7213_MICBIAS_2_2V = 1,
	DA7213_MICBIAS_2_5V = 2,
	DA7213_MICBIAS_3_0V = 3,
};

enum da7213_dmic_data_sel {
	DA7213_DMIC_DATA_LRISE_RFALL = 0,
	DA7213_DMIC_DATA_LFALL_RRISE = 1,
};

enum da7213_dmic_samplephase {
	DA7213_DMIC_SAMPLE_ON_CLKEDGE = 0,
	DA7213_DMIC_SAMPLE_BETWEEN_CLKEDGE = 1,
};

enum da7213_dmic_clk_rate {
	DA7213_DMIC_CLK_3_0MHZ = 0,
	DA7213_DMIC_CLK_1_5MHZ = 1,
};

struct da7213_platform_data {
	/* Mic Bias voltage */
	enum da7213_micbias_voltage micbias1_lvl;
	enum da7213_micbias_voltage micbias2_lvl;

	/* DMIC config */
	enum da7213_dmic_data_sel dmic_data_sel;
	enum da7213_dmic_samplephase dmic_samplephase;
	enum da7213_dmic_clk_rate dmic_clk_rate;

	/* MCLK squaring config */
	bool mclk_squaring;
};

#endif /* _DA7213_PDATA_H */
+4 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI
	select SND_SOC_CX20442
	select SND_SOC_DA7210 if I2C
	select SND_SOC_DA7213 if I2C
	select SND_SOC_DA732X if I2C
	select SND_SOC_DA9055 if I2C
	select SND_SOC_DFBMCS320
@@ -247,6 +248,9 @@ config SND_SOC_L3
config SND_SOC_DA7210
        tristate

config SND_SOC_DA7213
        tristate

config SND_SOC_DA732X
        tristate

+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ snd-soc-cs4270-objs := cs4270.o
snd-soc-cs4271-objs := cs4271.o
snd-soc-cx20442-objs := cx20442.o
snd-soc-da7210-objs := da7210.o
snd-soc-da7213-objs := da7213.o
snd-soc-da732x-objs := da732x.o
snd-soc-da9055-objs := da9055.o
snd-soc-dfbmcs320-objs := dfbmcs320.o
@@ -147,6 +148,7 @@ obj-$(CONFIG_SND_SOC_CS4270) += snd-soc-cs4270.o
obj-$(CONFIG_SND_SOC_CS4271)	+= snd-soc-cs4271.o
obj-$(CONFIG_SND_SOC_CX20442)	+= snd-soc-cx20442.o
obj-$(CONFIG_SND_SOC_DA7210)	+= snd-soc-da7210.o
obj-$(CONFIG_SND_SOC_DA7213)	+= snd-soc-da7213.o
obj-$(CONFIG_SND_SOC_DA732X)	+= snd-soc-da732x.o
obj-$(CONFIG_SND_SOC_DA9055)	+= snd-soc-da9055.o
obj-$(CONFIG_SND_SOC_DFBMCS320)	+= snd-soc-dfbmcs320.o