mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
asoc: tegra-alt: support High Resolution Audio
- suport HRA (24 bit, 192 Khz) format on t210. bug 1502003 Change-Id: I0169b3485dff7316551ebb5541bde158b5a36744 Signed-off-by: Dara Ramesh <dramesh@nvidia.com> Reviewed-on: http://git-master/r/661242 (cherry picked from commit f76e5afd5f3b1f0d6861cf5def5e23fcee19d425) Reviewed-on: http://git-master/r/663308 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ashok Mudithanapalli <ashokm@nvidia.com> Reviewed-by: Srinivas Anne <sanne@nvidia.com>
This commit is contained in:
committed by
Sameer Pujar
parent
55d40a92e7
commit
69b9c724e2
@@ -476,16 +476,22 @@ static int tegra210_admaif_dai_probe(struct snd_soc_dai *dai)
|
||||
.playback = { \
|
||||
.stream_name = "Playback " #id, \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.capture = { \
|
||||
.stream_name = "Capture " #id, \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.ops = &tegra210_admaif_dai_ops, \
|
||||
}
|
||||
@@ -508,17 +514,23 @@ static struct snd_soc_dai_driver tegra210_admaif_dais[10] = {
|
||||
.name = "ADMAIF" #id " FIFO", \
|
||||
.playback = { \
|
||||
.stream_name = "ADMAIF" #id " FIFO Transmit", \
|
||||
.channels_min = 2, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.capture = { \
|
||||
.stream_name = "ADMAIF" #id " FIFO Receive", \
|
||||
.channels_min = 2, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.ops = &tegra210_admaif_dai_ops, \
|
||||
}
|
||||
@@ -528,17 +540,23 @@ static struct snd_soc_dai_driver tegra210_admaif_dais[10] = {
|
||||
.name = "ADMAIF" #id " CIF", \
|
||||
.playback = { \
|
||||
.stream_name = "ADMAIF" #id " CIF Transmit", \
|
||||
.channels_min = 2, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.capture = { \
|
||||
.stream_name = "ADMAIF" #id " CIF Receive", \
|
||||
.channels_min = 2, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
}
|
||||
|
||||
|
||||
@@ -572,7 +572,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
||||
.stream_name = "CIF Receive",
|
||||
.channels_min = 1,
|
||||
.channels_max = 16,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
@@ -582,7 +582,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
||||
.stream_name = "CIF Transmit",
|
||||
.channels_min = 1,
|
||||
.channels_max = 16,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
@@ -595,7 +595,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
||||
.stream_name = "DAP Receive",
|
||||
.channels_min = 1,
|
||||
.channels_max = 16,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
@@ -605,7 +605,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
||||
.stream_name = "DAP Transmit",
|
||||
.channels_min = 1,
|
||||
.channels_max = 16,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
|
||||
@@ -275,9 +275,12 @@ static struct snd_soc_dai_ops tegra210_mixer_in_dai_ops = {
|
||||
.playback = { \
|
||||
.stream_name = #sname #id " Receive", \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_max = 8, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.ops = dai_ops, \
|
||||
}
|
||||
@@ -288,9 +291,12 @@ static struct snd_soc_dai_ops tegra210_mixer_in_dai_ops = {
|
||||
.capture = { \
|
||||
.stream_name = #sname #id " Transmit", \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_max = 8, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.ops = dai_ops, \
|
||||
}
|
||||
|
||||
@@ -279,8 +279,11 @@ static struct snd_soc_dai_driver tegra210_mvc_dais[] = {
|
||||
.stream_name = "MVC Receive",
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -289,8 +292,11 @@ static struct snd_soc_dai_driver tegra210_mvc_dais[] = {
|
||||
.stream_name = "MVC Transmit",
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
},
|
||||
.ops = &tegra210_mvc_dai_ops,
|
||||
}
|
||||
|
||||
@@ -184,8 +184,11 @@ static struct snd_soc_dai_driver tegra210_ope_dais[] = {
|
||||
.stream_name = "OPE Receive",
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -194,8 +197,11 @@ static struct snd_soc_dai_driver tegra210_ope_dais[] = {
|
||||
.stream_name = "OPE Transmit",
|
||||
.channels_min = 1,
|
||||
.channels_max = 8,
|
||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||
SNDRV_PCM_FMTBIT_S16_LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE |
|
||||
SNDRV_PCM_FMTBIT_S32_LE,
|
||||
},
|
||||
.ops = &tegra210_ope_dai_ops,
|
||||
}
|
||||
|
||||
@@ -117,16 +117,22 @@ static int tegra210_xbar_codec_probe(struct snd_soc_codec *codec)
|
||||
.playback = { \
|
||||
.stream_name = #sname " Receive", \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
.capture = { \
|
||||
.stream_name = #sname " Transmit", \
|
||||
.channels_min = 1, \
|
||||
.channels_max = 2, \
|
||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
||||
.channels_max = 16, \
|
||||
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||
}, \
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user