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
1 changed files with 27 additions and 1 deletions

View File

@ -1228,6 +1228,9 @@
#define UNIPERIF_TYPE_IS_IEC958(p) \ #define UNIPERIF_TYPE_IS_IEC958(p) \
(UNIPERIF_TYPE_IS_HDMI(p) || \ (UNIPERIF_TYPE_IS_HDMI(p) || \
UNIPERIF_TYPE_IS_SPDIF(p)) UNIPERIF_TYPE_IS_SPDIF(p))
#define UNIPERIF_TYPE_IS_TDM(p) \
((p)->info->type == SND_ST_UNIPERIF_TYPE_TDM)
/* /*
* Uniperipheral IP revisions * Uniperipheral IP revisions
*/ */
@ -1249,7 +1252,8 @@ enum uniperif_type {
SND_ST_UNIPERIF_TYPE_NONE, SND_ST_UNIPERIF_TYPE_NONE,
SND_ST_UNIPERIF_TYPE_HDMI, SND_ST_UNIPERIF_TYPE_HDMI,
SND_ST_UNIPERIF_TYPE_PCM, SND_ST_UNIPERIF_TYPE_PCM,
SND_ST_UNIPERIF_TYPE_SPDIF SND_ST_UNIPERIF_TYPE_SPDIF,
SND_ST_UNIPERIF_TYPE_TDM
}; };
enum uniperif_state { enum uniperif_state {
@ -1330,6 +1334,28 @@ struct sti_uniperiph_data {
struct sti_uniperiph_dai dai_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*/ /* uniperiph player*/
int uni_player_init(struct platform_device *pdev, int uni_player_init(struct platform_device *pdev,
struct uniperif *uni_player); struct uniperif *uni_player);