ASoC: sti: define tdm type & default tdm hw config

Signed-off-by: Moise Gergaud <moise.gergaud@st.com>
Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Moise Gergaud 2016-04-07 11:25:32 +02:00 committed by Mark Brown
parent 5295a0dc31
commit 9a00a3e9fe

View File

@ -1228,6 +1228,9 @@
#define UNIPERIF_TYPE_IS_IEC958(p) \
(UNIPERIF_TYPE_IS_HDMI(p) || \
UNIPERIF_TYPE_IS_SPDIF(p))
#define UNIPERIF_TYPE_IS_TDM(p) \
((p)->info->type == SND_ST_UNIPERIF_TYPE_TDM)
/*
* Uniperipheral IP revisions
*/
@ -1249,7 +1252,8 @@ enum uniperif_type {
SND_ST_UNIPERIF_TYPE_NONE,
SND_ST_UNIPERIF_TYPE_HDMI,
SND_ST_UNIPERIF_TYPE_PCM,
SND_ST_UNIPERIF_TYPE_SPDIF
SND_ST_UNIPERIF_TYPE_SPDIF,
SND_ST_UNIPERIF_TYPE_TDM
};
enum uniperif_state {
@ -1330,6 +1334,28 @@ struct sti_uniperiph_data {
struct sti_uniperiph_dai dai_data;
};
static const struct snd_pcm_hardware uni_tdm_hw = {
.info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_MMAP |
SNDRV_PCM_INFO_MMAP_VALID,
.formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE,
.rates = SNDRV_PCM_RATE_CONTINUOUS,
.rate_min = 8000,
.rate_max = 48000,
.channels_min = 1,
.channels_max = 32,
.periods_min = 2,
.periods_max = 10,
.period_bytes_min = 128,
.period_bytes_max = 64 * PAGE_SIZE,
.buffer_bytes_max = 256 * PAGE_SIZE
};
/* uniperiph player*/
int uni_player_init(struct platform_device *pdev,
struct uniperif *uni_player);