mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +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 = { \
|
.playback = { \
|
||||||
.stream_name = "Playback " #id, \
|
.stream_name = "Playback " #id, \
|
||||||
.channels_min = 1, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||||
|
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||||
}, \
|
}, \
|
||||||
.capture = { \
|
.capture = { \
|
||||||
.stream_name = "Capture " #id, \
|
.stream_name = "Capture " #id, \
|
||||||
.channels_min = 1, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.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, \
|
.ops = &tegra210_admaif_dai_ops, \
|
||||||
}
|
}
|
||||||
@@ -508,17 +514,23 @@ static struct snd_soc_dai_driver tegra210_admaif_dais[10] = {
|
|||||||
.name = "ADMAIF" #id " FIFO", \
|
.name = "ADMAIF" #id " FIFO", \
|
||||||
.playback = { \
|
.playback = { \
|
||||||
.stream_name = "ADMAIF" #id " FIFO Transmit", \
|
.stream_name = "ADMAIF" #id " FIFO Transmit", \
|
||||||
.channels_min = 2, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||||
|
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||||
}, \
|
}, \
|
||||||
.capture = { \
|
.capture = { \
|
||||||
.stream_name = "ADMAIF" #id " FIFO Receive", \
|
.stream_name = "ADMAIF" #id " FIFO Receive", \
|
||||||
.channels_min = 2, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.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, \
|
.ops = &tegra210_admaif_dai_ops, \
|
||||||
}
|
}
|
||||||
@@ -528,17 +540,23 @@ static struct snd_soc_dai_driver tegra210_admaif_dais[10] = {
|
|||||||
.name = "ADMAIF" #id " CIF", \
|
.name = "ADMAIF" #id " CIF", \
|
||||||
.playback = { \
|
.playback = { \
|
||||||
.stream_name = "ADMAIF" #id " CIF Transmit", \
|
.stream_name = "ADMAIF" #id " CIF Transmit", \
|
||||||
.channels_min = 2, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||||
|
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||||
}, \
|
}, \
|
||||||
.capture = { \
|
.capture = { \
|
||||||
.stream_name = "ADMAIF" #id " CIF Receive", \
|
.stream_name = "ADMAIF" #id " CIF Receive", \
|
||||||
.channels_min = 2, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.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",
|
.stream_name = "CIF Receive",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 16,
|
.channels_max = 16,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||||
SNDRV_PCM_FMTBIT_S16_LE |
|
SNDRV_PCM_FMTBIT_S16_LE |
|
||||||
SNDRV_PCM_FMTBIT_S24_LE |
|
SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
@@ -582,7 +582,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
|||||||
.stream_name = "CIF Transmit",
|
.stream_name = "CIF Transmit",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 16,
|
.channels_max = 16,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||||
SNDRV_PCM_FMTBIT_S16_LE |
|
SNDRV_PCM_FMTBIT_S16_LE |
|
||||||
SNDRV_PCM_FMTBIT_S24_LE |
|
SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
@@ -595,7 +595,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
|||||||
.stream_name = "DAP Receive",
|
.stream_name = "DAP Receive",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 16,
|
.channels_max = 16,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||||
SNDRV_PCM_FMTBIT_S16_LE |
|
SNDRV_PCM_FMTBIT_S16_LE |
|
||||||
SNDRV_PCM_FMTBIT_S24_LE |
|
SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
@@ -605,7 +605,7 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = {
|
|||||||
.stream_name = "DAP Transmit",
|
.stream_name = "DAP Transmit",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 16,
|
.channels_max = 16,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S8 |
|
.formats = SNDRV_PCM_FMTBIT_S8 |
|
||||||
SNDRV_PCM_FMTBIT_S16_LE |
|
SNDRV_PCM_FMTBIT_S16_LE |
|
||||||
SNDRV_PCM_FMTBIT_S24_LE |
|
SNDRV_PCM_FMTBIT_S24_LE |
|
||||||
|
|||||||
@@ -275,9 +275,12 @@ static struct snd_soc_dai_ops tegra210_mixer_in_dai_ops = {
|
|||||||
.playback = { \
|
.playback = { \
|
||||||
.stream_name = #sname #id " Receive", \
|
.stream_name = #sname #id " Receive", \
|
||||||
.channels_min = 1, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 8, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||||
|
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||||
}, \
|
}, \
|
||||||
.ops = dai_ops, \
|
.ops = dai_ops, \
|
||||||
}
|
}
|
||||||
@@ -288,9 +291,12 @@ static struct snd_soc_dai_ops tegra210_mixer_in_dai_ops = {
|
|||||||
.capture = { \
|
.capture = { \
|
||||||
.stream_name = #sname #id " Transmit", \
|
.stream_name = #sname #id " Transmit", \
|
||||||
.channels_min = 1, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 8, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||||
|
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||||
}, \
|
}, \
|
||||||
.ops = dai_ops, \
|
.ops = dai_ops, \
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -279,8 +279,11 @@ static struct snd_soc_dai_driver tegra210_mvc_dais[] = {
|
|||||||
.stream_name = "MVC Receive",
|
.stream_name = "MVC Receive",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 8,
|
.channels_max = 8,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.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",
|
.stream_name = "MVC Transmit",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 8,
|
.channels_max = 8,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.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,
|
.ops = &tegra210_mvc_dai_ops,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -184,8 +184,11 @@ static struct snd_soc_dai_driver tegra210_ope_dais[] = {
|
|||||||
.stream_name = "OPE Receive",
|
.stream_name = "OPE Receive",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 8,
|
.channels_max = 8,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.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",
|
.stream_name = "OPE Transmit",
|
||||||
.channels_min = 1,
|
.channels_min = 1,
|
||||||
.channels_max = 8,
|
.channels_max = 8,
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000,
|
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
.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,
|
.ops = &tegra210_ope_dai_ops,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -117,16 +117,22 @@ static int tegra210_xbar_codec_probe(struct snd_soc_codec *codec)
|
|||||||
.playback = { \
|
.playback = { \
|
||||||
.stream_name = #sname " Receive", \
|
.stream_name = #sname " Receive", \
|
||||||
.channels_min = 1, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.formats = SNDRV_PCM_FMTBIT_S8 | \
|
||||||
|
SNDRV_PCM_FMTBIT_S16_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S24_LE | \
|
||||||
|
SNDRV_PCM_FMTBIT_S32_LE, \
|
||||||
}, \
|
}, \
|
||||||
.capture = { \
|
.capture = { \
|
||||||
.stream_name = #sname " Transmit", \
|
.stream_name = #sname " Transmit", \
|
||||||
.channels_min = 1, \
|
.channels_min = 1, \
|
||||||
.channels_max = 2, \
|
.channels_max = 16, \
|
||||||
.rates = SNDRV_PCM_RATE_8000_96000, \
|
.rates = SNDRV_PCM_RATE_8000_192000, \
|
||||||
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
|
.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