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:
parent
5295a0dc31
commit
9a00a3e9fe
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue