mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
ASoC: codecs: Add da7219 codec driver
This adds support for the DA7219 audio codec with built-in advanced accessory detect features. Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
99
include/sound/da7219-aad.h
Normal file
99
include/sound/da7219-aad.h
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
* da7219-aad.h - DA7322 ASoC Codec AAD Driver Platform Data
|
||||
*
|
||||
* Copyright (c) 2015 Dialog Semiconductor Ltd.
|
||||
*
|
||||
* 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 as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __DA7219_AAD_PDATA_H
|
||||
#define __DA7219_AAD_PDATA_H
|
||||
|
||||
enum da7219_aad_micbias_pulse_lvl {
|
||||
DA7219_AAD_MICBIAS_PULSE_LVL_OFF = 0,
|
||||
DA7219_AAD_MICBIAS_PULSE_LVL_2_8V = 6,
|
||||
DA7219_AAD_MICBIAS_PULSE_LVL_2_9V,
|
||||
};
|
||||
|
||||
enum da7219_aad_btn_cfg {
|
||||
DA7219_AAD_BTN_CFG_2MS = 1,
|
||||
DA7219_AAD_BTN_CFG_5MS,
|
||||
DA7219_AAD_BTN_CFG_10MS,
|
||||
DA7219_AAD_BTN_CFG_50MS,
|
||||
DA7219_AAD_BTN_CFG_100MS,
|
||||
DA7219_AAD_BTN_CFG_200MS,
|
||||
DA7219_AAD_BTN_CFG_500MS,
|
||||
};
|
||||
|
||||
enum da7219_aad_mic_det_thr {
|
||||
DA7219_AAD_MIC_DET_THR_200_OHMS = 0,
|
||||
DA7219_AAD_MIC_DET_THR_500_OHMS,
|
||||
DA7219_AAD_MIC_DET_THR_750_OHMS,
|
||||
DA7219_AAD_MIC_DET_THR_1000_OHMS,
|
||||
};
|
||||
|
||||
enum da7219_aad_jack_ins_deb {
|
||||
DA7219_AAD_JACK_INS_DEB_5MS = 0,
|
||||
DA7219_AAD_JACK_INS_DEB_10MS,
|
||||
DA7219_AAD_JACK_INS_DEB_20MS,
|
||||
DA7219_AAD_JACK_INS_DEB_50MS,
|
||||
DA7219_AAD_JACK_INS_DEB_100MS,
|
||||
DA7219_AAD_JACK_INS_DEB_200MS,
|
||||
DA7219_AAD_JACK_INS_DEB_500MS,
|
||||
DA7219_AAD_JACK_INS_DEB_1S,
|
||||
};
|
||||
|
||||
enum da7219_aad_jack_det_rate {
|
||||
DA7219_AAD_JACK_DET_RATE_32_64MS = 0,
|
||||
DA7219_AAD_JACK_DET_RATE_64_128MS,
|
||||
DA7219_AAD_JACK_DET_RATE_128_256MS,
|
||||
DA7219_AAD_JACK_DET_RATE_256_512MS,
|
||||
};
|
||||
|
||||
enum da7219_aad_jack_rem_deb {
|
||||
DA7219_AAD_JACK_REM_DEB_1MS = 0,
|
||||
DA7219_AAD_JACK_REM_DEB_5MS,
|
||||
DA7219_AAD_JACK_REM_DEB_10MS,
|
||||
DA7219_AAD_JACK_REM_DEB_20MS,
|
||||
};
|
||||
|
||||
enum da7219_aad_btn_avg {
|
||||
DA7219_AAD_BTN_AVG_1 = 0,
|
||||
DA7219_AAD_BTN_AVG_2,
|
||||
DA7219_AAD_BTN_AVG_4,
|
||||
DA7219_AAD_BTN_AVG_8,
|
||||
};
|
||||
|
||||
enum da7219_aad_adc_1bit_rpt {
|
||||
DA7219_AAD_ADC_1BIT_RPT_1 = 0,
|
||||
DA7219_AAD_ADC_1BIT_RPT_2,
|
||||
DA7219_AAD_ADC_1BIT_RPT_4,
|
||||
DA7219_AAD_ADC_1BIT_RPT_8,
|
||||
};
|
||||
|
||||
struct da7219_aad_pdata {
|
||||
int irq;
|
||||
|
||||
enum da7219_aad_micbias_pulse_lvl micbias_pulse_lvl;
|
||||
u32 micbias_pulse_time;
|
||||
enum da7219_aad_btn_cfg btn_cfg;
|
||||
enum da7219_aad_mic_det_thr mic_det_thr;
|
||||
enum da7219_aad_jack_ins_deb jack_ins_deb;
|
||||
enum da7219_aad_jack_det_rate jack_det_rate;
|
||||
enum da7219_aad_jack_rem_deb jack_rem_deb;
|
||||
|
||||
u8 a_d_btn_thr;
|
||||
u8 d_b_btn_thr;
|
||||
u8 b_c_btn_thr;
|
||||
u8 c_mic_btn_thr;
|
||||
|
||||
enum da7219_aad_btn_avg btn_avg;
|
||||
enum da7219_aad_adc_1bit_rpt adc_1bit_rpt;
|
||||
};
|
||||
|
||||
#endif /* __DA7219_AAD_PDATA_H */
|
||||
55
include/sound/da7219.h
Normal file
55
include/sound/da7219.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* da7219.h - DA7219 ASoC Codec Driver Platform Data
|
||||
*
|
||||
* Copyright (c) 2015 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 as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __DA7219_PDATA_H
|
||||
#define __DA7219_PDATA_H
|
||||
|
||||
/* LDO */
|
||||
enum da7219_ldo_lvl_sel {
|
||||
DA7219_LDO_LVL_SEL_1_05V = 0,
|
||||
DA7219_LDO_LVL_SEL_1_10V,
|
||||
DA7219_LDO_LVL_SEL_1_20V,
|
||||
DA7219_LDO_LVL_SEL_1_40V,
|
||||
};
|
||||
|
||||
/* Mic Bias */
|
||||
enum da7219_micbias_voltage {
|
||||
DA7219_MICBIAS_1_8V = 1,
|
||||
DA7219_MICBIAS_2_0V,
|
||||
DA7219_MICBIAS_2_2V,
|
||||
DA7219_MICBIAS_2_4V,
|
||||
DA7219_MICBIAS_2_6V,
|
||||
};
|
||||
|
||||
/* Mic input type */
|
||||
enum da7219_mic_amp_in_sel {
|
||||
DA7219_MIC_AMP_IN_SEL_DIFF = 0,
|
||||
DA7219_MIC_AMP_IN_SEL_SE_P,
|
||||
DA7219_MIC_AMP_IN_SEL_SE_N,
|
||||
};
|
||||
|
||||
struct da7219_aad_pdata;
|
||||
|
||||
struct da7219_pdata {
|
||||
/* Internal LDO */
|
||||
enum da7219_ldo_lvl_sel ldo_lvl_sel;
|
||||
|
||||
/* Mic */
|
||||
enum da7219_micbias_voltage micbias_lvl;
|
||||
enum da7219_mic_amp_in_sel mic_amp_in_sel;
|
||||
|
||||
/* AAD */
|
||||
struct da7219_aad_pdata *aad_pdata;
|
||||
};
|
||||
|
||||
#endif /* __DA7219_PDATA_H */
|
||||
@@ -57,6 +57,7 @@ config SND_SOC_ALL_CODECS
|
||||
select SND_SOC_CX20442 if TTY
|
||||
select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI
|
||||
select SND_SOC_DA7213 if I2C
|
||||
select SND_SOC_DA7219 if I2C
|
||||
select SND_SOC_DA732X if I2C
|
||||
select SND_SOC_DA9055 if I2C
|
||||
select SND_SOC_DMIC
|
||||
@@ -430,6 +431,9 @@ config SND_SOC_DA7210
|
||||
config SND_SOC_DA7213
|
||||
tristate
|
||||
|
||||
config SND_SOC_DA7219
|
||||
tristate
|
||||
|
||||
config SND_SOC_DA732X
|
||||
tristate
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ snd-soc-cs4349-objs := cs4349.o
|
||||
snd-soc-cx20442-objs := cx20442.o
|
||||
snd-soc-da7210-objs := da7210.o
|
||||
snd-soc-da7213-objs := da7213.o
|
||||
snd-soc-da7219-objs := da7219.o da7219-aad.o
|
||||
snd-soc-da732x-objs := da732x.o
|
||||
snd-soc-da9055-objs := da9055.o
|
||||
snd-soc-bt-sco-objs := bt-sco.o
|
||||
@@ -241,6 +242,7 @@ obj-$(CONFIG_SND_SOC_CS4349) += snd-soc-cs4349.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_DA7219) += snd-soc-da7219.o
|
||||
obj-$(CONFIG_SND_SOC_DA732X) += snd-soc-da732x.o
|
||||
obj-$(CONFIG_SND_SOC_DA9055) += snd-soc-da9055.o
|
||||
obj-$(CONFIG_SND_SOC_BT_SCO) += snd-soc-bt-sco.o
|
||||
|
||||
823
sound/soc/codecs/da7219-aad.c
Normal file
823
sound/soc/codecs/da7219-aad.c
Normal file
File diff suppressed because it is too large
Load Diff
212
sound/soc/codecs/da7219-aad.h
Normal file
212
sound/soc/codecs/da7219-aad.h
Normal file
@@ -0,0 +1,212 @@
|
||||
/*
|
||||
* da7219-aad.h - DA7322 ASoC AAD Driver
|
||||
*
|
||||
* Copyright (c) 2015 Dialog Semiconductor Ltd.
|
||||
*
|
||||
* 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 as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef __DA7219_AAD_H
|
||||
#define __DA7219_AAD_H
|
||||
|
||||
#include <linux/timer.h>
|
||||
#include <sound/soc.h>
|
||||
#include <sound/jack.h>
|
||||
#include <sound/da7219-aad.h>
|
||||
|
||||
/*
|
||||
* Registers
|
||||
*/
|
||||
|
||||
#define DA7219_ACCDET_STATUS_A 0xC0
|
||||
#define DA7219_ACCDET_STATUS_B 0xC1
|
||||
#define DA7219_ACCDET_IRQ_EVENT_A 0xC2
|
||||
#define DA7219_ACCDET_IRQ_EVENT_B 0xC3
|
||||
#define DA7219_ACCDET_IRQ_MASK_A 0xC4
|
||||
#define DA7219_ACCDET_IRQ_MASK_B 0xC5
|
||||
#define DA7219_ACCDET_CONFIG_1 0xC6
|
||||
#define DA7219_ACCDET_CONFIG_2 0xC7
|
||||
#define DA7219_ACCDET_CONFIG_3 0xC8
|
||||
#define DA7219_ACCDET_CONFIG_4 0xC9
|
||||
#define DA7219_ACCDET_CONFIG_5 0xCA
|
||||
#define DA7219_ACCDET_CONFIG_6 0xCB
|
||||
#define DA7219_ACCDET_CONFIG_7 0xCC
|
||||
#define DA7219_ACCDET_CONFIG_8 0xCD
|
||||
|
||||
|
||||
/*
|
||||
* Bit Fields
|
||||
*/
|
||||
|
||||
/* DA7219_ACCDET_STATUS_A = 0xC0 */
|
||||
#define DA7219_JACK_INSERTION_STS_SHIFT 0
|
||||
#define DA7219_JACK_INSERTION_STS_MASK (0x1 << 0)
|
||||
#define DA7219_JACK_TYPE_STS_SHIFT 1
|
||||
#define DA7219_JACK_TYPE_STS_MASK (0x1 << 1)
|
||||
#define DA7219_JACK_PIN_ORDER_STS_SHIFT 2
|
||||
#define DA7219_JACK_PIN_ORDER_STS_MASK (0x1 << 2)
|
||||
#define DA7219_MICBIAS_UP_STS_SHIFT 3
|
||||
#define DA7219_MICBIAS_UP_STS_MASK (0x1 << 3)
|
||||
|
||||
/* DA7219_ACCDET_STATUS_B = 0xC1 */
|
||||
#define DA7219_BUTTON_TYPE_STS_SHIFT 0
|
||||
#define DA7219_BUTTON_TYPE_STS_MASK (0xFF << 0)
|
||||
|
||||
/* DA7219_ACCDET_IRQ_EVENT_A = 0xC2 */
|
||||
#define DA7219_E_JACK_INSERTED_SHIFT 0
|
||||
#define DA7219_E_JACK_INSERTED_MASK (0x1 << 0)
|
||||
#define DA7219_E_JACK_REMOVED_SHIFT 1
|
||||
#define DA7219_E_JACK_REMOVED_MASK (0x1 << 1)
|
||||
#define DA7219_E_JACK_DETECT_COMPLETE_SHIFT 2
|
||||
#define DA7219_E_JACK_DETECT_COMPLETE_MASK (0x1 << 2)
|
||||
|
||||
/* DA7219_ACCDET_IRQ_EVENT_B = 0xC3 */
|
||||
#define DA7219_E_BUTTON_A_PRESSED_SHIFT 0
|
||||
#define DA7219_E_BUTTON_A_PRESSED_MASK (0x1 << 0)
|
||||
#define DA7219_E_BUTTON_B_PRESSED_SHIFT 1
|
||||
#define DA7219_E_BUTTON_B_PRESSED_MASK (0x1 << 1)
|
||||
#define DA7219_E_BUTTON_C_PRESSED_SHIFT 2
|
||||
#define DA7219_E_BUTTON_C_PRESSED_MASK (0x1 << 2)
|
||||
#define DA7219_E_BUTTON_D_PRESSED_SHIFT 3
|
||||
#define DA7219_E_BUTTON_D_PRESSED_MASK (0x1 << 3)
|
||||
#define DA7219_E_BUTTON_D_RELEASED_SHIFT 4
|
||||
#define DA7219_E_BUTTON_D_RELEASED_MASK (0x1 << 4)
|
||||
#define DA7219_E_BUTTON_C_RELEASED_SHIFT 5
|
||||
#define DA7219_E_BUTTON_C_RELEASED_MASK (0x1 << 5)
|
||||
#define DA7219_E_BUTTON_B_RELEASED_SHIFT 6
|
||||
#define DA7219_E_BUTTON_B_RELEASED_MASK (0x1 << 6)
|
||||
#define DA7219_E_BUTTON_A_RELEASED_SHIFT 7
|
||||
#define DA7219_E_BUTTON_A_RELEASED_MASK (0x1 << 7)
|
||||
|
||||
/* DA7219_ACCDET_IRQ_MASK_A = 0xC4 */
|
||||
#define DA7219_M_JACK_INSERTED_SHIFT 0
|
||||
#define DA7219_M_JACK_INSERTED_MASK (0x1 << 0)
|
||||
#define DA7219_M_JACK_REMOVED_SHIFT 1
|
||||
#define DA7219_M_JACK_REMOVED_MASK (0x1 << 1)
|
||||
#define DA7219_M_JACK_DETECT_COMPLETE_SHIFT 2
|
||||
#define DA7219_M_JACK_DETECT_COMPLETE_MASK (0x1 << 2)
|
||||
|
||||
/* DA7219_ACCDET_IRQ_MASK_B = 0xC5 */
|
||||
#define DA7219_M_BUTTON_A_PRESSED_SHIFT 0
|
||||
#define DA7219_M_BUTTON_A_PRESSED_MASK (0x1 << 0)
|
||||
#define DA7219_M_BUTTON_B_PRESSED_SHIFT 1
|
||||
#define DA7219_M_BUTTON_B_PRESSED_MASK (0x1 << 1)
|
||||
#define DA7219_M_BUTTON_C_PRESSED_SHIFT 2
|
||||
#define DA7219_M_BUTTON_C_PRESSED_MASK (0x1 << 2)
|
||||
#define DA7219_M_BUTTON_D_PRESSED_SHIFT 3
|
||||
#define DA7219_M_BUTTON_D_PRESSED_MASK (0x1 << 3)
|
||||
#define DA7219_M_BUTTON_D_RELEASED_SHIFT 4
|
||||
#define DA7219_M_BUTTON_D_RELEASED_MASK (0x1 << 4)
|
||||
#define DA7219_M_BUTTON_C_RELEASED_SHIFT 5
|
||||
#define DA7219_M_BUTTON_C_RELEASED_MASK (0x1 << 5)
|
||||
#define DA7219_M_BUTTON_B_RELEASED_SHIFT 6
|
||||
#define DA7219_M_BUTTON_B_RELEASED_MASK (0x1 << 6)
|
||||
#define DA7219_M_BUTTON_A_RELEASED_SHIFT 7
|
||||
#define DA7219_M_BUTTON_A_RELEASED_MASK (0x1 << 7)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_1 = 0xC6 */
|
||||
#define DA7219_ACCDET_EN_SHIFT 0
|
||||
#define DA7219_ACCDET_EN_MASK (0x1 << 0)
|
||||
#define DA7219_BUTTON_CONFIG_SHIFT 1
|
||||
#define DA7219_BUTTON_CONFIG_MASK (0x7 << 1)
|
||||
#define DA7219_MIC_DET_THRESH_SHIFT 4
|
||||
#define DA7219_MIC_DET_THRESH_MASK (0x3 << 4)
|
||||
#define DA7219_JACK_TYPE_DET_EN_SHIFT 6
|
||||
#define DA7219_JACK_TYPE_DET_EN_MASK (0x1 << 6)
|
||||
#define DA7219_PIN_ORDER_DET_EN_SHIFT 7
|
||||
#define DA7219_PIN_ORDER_DET_EN_MASK (0x1 << 7)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_2 = 0xC7 */
|
||||
#define DA7219_ACCDET_PAUSE_SHIFT 0
|
||||
#define DA7219_ACCDET_PAUSE_MASK (0x1 << 0)
|
||||
#define DA7219_JACKDET_DEBOUNCE_SHIFT 1
|
||||
#define DA7219_JACKDET_DEBOUNCE_MASK (0x7 << 1)
|
||||
#define DA7219_JACK_DETECT_RATE_SHIFT 4
|
||||
#define DA7219_JACK_DETECT_RATE_MASK (0x3 << 4)
|
||||
#define DA7219_JACKDET_REM_DEB_SHIFT 6
|
||||
#define DA7219_JACKDET_REM_DEB_MASK (0x3 << 6)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_3 = 0xC8 */
|
||||
#define DA7219_A_D_BUTTON_THRESH_SHIFT 0
|
||||
#define DA7219_A_D_BUTTON_THRESH_MASK (0xFF << 0)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_4 = 0xC9 */
|
||||
#define DA7219_D_B_BUTTON_THRESH_SHIFT 0
|
||||
#define DA7219_D_B_BUTTON_THRESH_MASK (0xFF << 0)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_5 = 0xCA */
|
||||
#define DA7219_B_C_BUTTON_THRESH_SHIFT 0
|
||||
#define DA7219_B_C_BUTTON_THRESH_MASK (0xFF << 0)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_6 = 0xCB */
|
||||
#define DA7219_C_MIC_BUTTON_THRESH_SHIFT 0
|
||||
#define DA7219_C_MIC_BUTTON_THRESH_MASK (0xFF << 0)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_7 = 0xCC */
|
||||
#define DA7219_BUTTON_AVERAGE_SHIFT 0
|
||||
#define DA7219_BUTTON_AVERAGE_MASK (0x3 << 0)
|
||||
#define DA7219_ADC_1_BIT_REPEAT_SHIFT 2
|
||||
#define DA7219_ADC_1_BIT_REPEAT_MASK (0x3 << 2)
|
||||
#define DA7219_PIN_ORDER_FORCE_SHIFT 4
|
||||
#define DA7219_PIN_ORDER_FORCE_MASK (0x1 << 4)
|
||||
#define DA7219_JACK_TYPE_FORCE_SHIFT 5
|
||||
#define DA7219_JACK_TYPE_FORCE_MASK (0x1 << 5)
|
||||
|
||||
/* DA7219_ACCDET_CONFIG_8 = 0xCD */
|
||||
#define DA7219_HPTEST_EN_SHIFT 0
|
||||
#define DA7219_HPTEST_EN_MASK (0x1 << 0)
|
||||
#define DA7219_HPTEST_RES_SEL_SHIFT 1
|
||||
#define DA7219_HPTEST_RES_SEL_MASK (0x3 << 1)
|
||||
#define DA7219_HPTEST_RES_SEL_1KOHMS (0x0 << 1)
|
||||
#define DA7219_HPTEST_COMP_SHIFT 4
|
||||
#define DA7219_HPTEST_COMP_MASK (0x1 << 4)
|
||||
|
||||
|
||||
#define DA7219_AAD_MAX_BUTTONS 4
|
||||
#define DA7219_AAD_REPORT_ALL_MASK (SND_JACK_MECHANICAL | \
|
||||
SND_JACK_HEADSET | SND_JACK_LINEOUT | \
|
||||
SND_JACK_BTN_0 | SND_JACK_BTN_1 | \
|
||||
SND_JACK_BTN_2 | SND_JACK_BTN_3)
|
||||
|
||||
#define DA7219_AAD_MICBIAS_CHK_DELAY 10
|
||||
#define DA7219_AAD_MICBIAS_CHK_RETRIES 5
|
||||
|
||||
#define DA7219_AAD_HPTEST_RAMP_FREQ 0x28
|
||||
#define DA7219_AAD_HPTEST_PERIOD 65
|
||||
|
||||
enum da7219_aad_event_regs {
|
||||
DA7219_AAD_IRQ_REG_A = 0,
|
||||
DA7219_AAD_IRQ_REG_B,
|
||||
DA7219_AAD_IRQ_REG_MAX,
|
||||
};
|
||||
|
||||
/* Private data */
|
||||
struct da7219_aad_priv {
|
||||
struct snd_soc_codec *codec;
|
||||
int irq;
|
||||
|
||||
u8 micbias_pulse_lvl;
|
||||
u32 micbias_pulse_time;
|
||||
|
||||
u8 btn_cfg;
|
||||
|
||||
struct work_struct btn_det_work;
|
||||
struct work_struct hptest_work;
|
||||
|
||||
struct snd_soc_jack *jack;
|
||||
bool jack_inserted;
|
||||
};
|
||||
|
||||
/* AAD control */
|
||||
void da7219_aad_jack_det(struct snd_soc_codec *codec, struct snd_soc_jack *jack);
|
||||
|
||||
/* Init/Exit */
|
||||
int da7219_aad_init(struct snd_soc_codec *codec);
|
||||
void da7219_aad_exit(struct snd_soc_codec *codec);
|
||||
|
||||
#endif /* __DA7219_AAD_H */
|
||||
1940
sound/soc/codecs/da7219.c
Normal file
1940
sound/soc/codecs/da7219.c
Normal file
File diff suppressed because it is too large
Load Diff
820
sound/soc/codecs/da7219.h
Normal file
820
sound/soc/codecs/da7219.h
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user