Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a00a3e9 authored by Moise Gergaud's avatar Moise Gergaud Committed by Mark Brown
Browse files

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

parent 5295a0dc
Loading
Loading
Loading
Loading
+27 −1
Original line number Original line Diff line number Diff line
@@ -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);