linux-stable/sound/soc/tegra
Ritu Chaudhary 4204eccc7b
ASoC: tegra: Add support for S24_LE audio format
Add support for S24_LE format for all internal and IO AHUB
modules, except for ASRC (which is already supported).

The data flow happens as mentioned below:

- ADMAIF picks 24-bit valid data and converts it to 32-bit before
  sending to internal AHUB modules. This makes the driver change
  simpler for internal AHUB modules.
- IO modules CIF converts the 32-bit data to 24-bit before sending it
  to the external world.
- To maintain consistency across modules, conversions between 24-bit
  and 32-bit occur either at ADMAIF or at the IO modules CIF.

This feature has been thoroughly tested and verified with all internal
AHUB modules on the Jetson AGX Orin Platform, as well as with the
external RT5640 codec.

Signed-off-by: Ritu Chaudhary <rituc@nvidia.com>
Signed-off-by: Sheetal <sheetal@nvidia.com>
Reviewed-by: Sameer Pujar <spujar@nvidia.com>
Link: https://patch.msgid.link/20241022041330.3421765-1-sheetal@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-10-22 15:06:29 +01:00
..
Kconfig ASoC: tegra: select CONFIG_SND_SIMPLE_CARD_UTILS 2024-07-22 13:04:50 +01:00
Makefile ASoC: tegra: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:34 +09:00
tegra20_ac97.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
tegra20_ac97.h ASoC: tegra: tegra20_ac97: Convert to use GPIO descriptors 2023-12-18 14:03:32 +00:00
tegra20_das.c ASoC: tegra: tegra20_das: Drop write-only driver data member 2022-07-05 19:54:00 +01:00
tegra20_i2s.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
tegra20_i2s.h ASoC: tegra20: i2s: Add reset control 2021-03-18 13:49:31 +00:00
tegra20_spdif.c ASoC: Explicitly include correct DT includes 2023-10-09 13:13:56 +01:00
tegra20_spdif.h ASoC: tegra20: spdif: Reset hardware 2021-12-17 11:13:57 +00:00
tegra30_ahub.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
tegra30_ahub.h ASoC: tegra30: ahub: Switch to use reset-bulk API 2021-03-18 13:49:34 +00:00
tegra30_i2s.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
tegra30_i2s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
tegra186_asrc.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
tegra186_asrc.h ASoC: tegra: Add Tegra186 based ASRC driver 2022-04-04 08:39:14 +01:00
tegra186_dspk.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra186_dspk.h ASoC: tegra: Add Tegra186 based DSPK driver 2020-07-20 15:10:24 +01:00
tegra210_admaif.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_admaif.h ASoC: tegra: Add Tegra210 based ADMAIF driver 2020-07-21 23:26:14 +01:00
tegra210_adx.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_adx.h ASoC: tegra: Add Tegra210 based ADX driver 2021-09-20 13:31:35 +01:00
tegra210_ahub.c ASoC: Updates for v6.12 2024-09-14 09:09:59 +02:00
tegra210_ahub.h ASoC: tegra: Update AHUB driver for Tegra234 2022-01-28 13:05:26 +00:00
tegra210_amx.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_amx.h ASoC: tegra: Add Tegra210 based AMX driver 2021-09-20 13:31:34 +01:00
tegra210_dmic.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_dmic.h ASoC: tegra: Add Tegra210 based DMIC driver 2020-07-20 15:10:22 +01:00
tegra210_i2s.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_i2s.h ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_mbdrc.c ASoC: tegra: Fix spelling mistake "fliter" -> "filter" 2022-11-10 17:52:46 +00:00
tegra210_mbdrc.h ASoC: tegra: Fix spelling mistake "fliter" -> "filter" 2022-11-10 17:52:46 +00:00
tegra210_mixer.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_mixer.h ASoC: tegra: Add Tegra210 based Mixer driver 2021-09-20 13:31:36 +01:00
tegra210_mvc.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_mvc.h ASoC: tegra: Add master volume/mute control support 2021-12-01 14:15:39 +00:00
tegra210_ope.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_ope.h ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_peq.c ASoC: Explicitly include correct DT includes 2023-10-09 13:13:56 +01:00
tegra210_peq.h ASoC: tegra: Add Tegra210 based OPE driver 2022-06-06 12:33:07 +01:00
tegra210_sfc.c ASoC: tegra: Add support for S24_LE audio format 2024-10-22 15:06:29 +01:00
tegra210_sfc.h ASoC: tegra: Fix SFC conversion for few rates 2023-06-24 01:57:16 +01:00
tegra_asoc_machine.c ASoC: tegra: Use snd_soc_substream_to_rtd() for accessing private_data 2024-05-06 23:59:47 +09:00
tegra_asoc_machine.h ASoC: tegra: Restore headphones jack name on Nyan Big 2021-12-13 19:23:33 +00:00
tegra_audio_graph_card.c ASoC: Switch back to struct platform_driver::remove() 2024-09-09 18:26:49 +01:00
tegra_cif.h ASoC: tegra: Add support for CIF programming 2020-07-20 15:10:21 +01:00
tegra_pcm.c ASoC: Use of_property_present() 2024-08-01 12:51:44 +01:00
tegra_pcm.h ASoC: tegra20: spdif: Use more resource-managed helpers 2021-12-17 11:13:56 +00:00
tegra_wm8903.c ASoC: tegra: convert not to use asoc_xxx() 2023-09-25 14:16:30 +02:00