Overview ======== The Audio Hub (AHUB) is part of the Audio Processing Engine (APE) which comprises a collection of hardware accelerators for audio pre-processing and post-processing. It also includes a programmable full crossbar for routing audio data across these accelerators.
This series exposes some of these below mentioned HW devices as ASoC components for Tegra platforms from Tegra210 onwards. * ADMAIF : The interface between ADMA and AHUB * XBAR : Crossbar for routing audio samples across various modules * I2S : Inter-IC Sound Controller * DMIC : Digital Microphone * DSPK : Digital Speaker
Following is the summary of current series. 1. Add YAML DT binding documentation for above mentioned modules. 2. ACIF programming is same for Tegra generations and hence it is moved to a common file. 3. Add ASoC driver components for each of the above modules. 4. Add DT entries for above components for Tegra210, Tegra186 and Tegra194. 5. Enable these components for Jetson-Tx1, Jetson-Tx2 and Jetson-Xavier.
Machine driver series will be sent separately.
Sameer Pujar (9): dt-bindings: sound: tegra: add DT binding for AHUB ASoC: tegra: add support for CIF programming ASoC: tegra: add Tegra210 based DMIC driver ASoC: tegra: add Tegra210 based I2S driver ASoC: tegra: add Tegra210 based AHUB driver ASoC: tegra: add Tegra186 based DSPK driver ASoC: tegra: add Tegra210 based ADMAIF driver arm64: tegra: add AHUB components for few Tegra chips arm64: tegra: enable AHUB modules for few Tegra chips
.../bindings/sound/nvidia,tegra186-dspk.yaml | 105 +++ .../bindings/sound/nvidia,tegra210-admaif.yaml | 165 ++++ .../bindings/sound/nvidia,tegra210-ahub.yaml | 130 +++ .../bindings/sound/nvidia,tegra210-dmic.yaml | 105 +++ .../bindings/sound/nvidia,tegra210-i2s.yaml | 112 +++ arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 48 ++ arch/arm64/boot/dts/nvidia/tegra186.dtsi | 231 ++++- arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts | 36 + arch/arm64/boot/dts/nvidia/tegra194.dtsi | 239 +++++- arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 40 + arch/arm64/boot/dts/nvidia/tegra210.dtsi | 145 ++++ sound/soc/tegra/Kconfig | 56 ++ sound/soc/tegra/Makefile | 12 + sound/soc/tegra/tegra186_dspk.c | 516 +++++++++++ sound/soc/tegra/tegra186_dspk.h | 73 ++ sound/soc/tegra/tegra210_admaif.c | 896 ++++++++++++++++++++ sound/soc/tegra/tegra210_admaif.h | 164 ++++ sound/soc/tegra/tegra210_ahub.c | 667 +++++++++++++++ sound/soc/tegra/tegra210_ahub.h | 125 +++ sound/soc/tegra/tegra210_dmic.c | 522 ++++++++++++ sound/soc/tegra/tegra210_dmic.h | 85 ++ sound/soc/tegra/tegra210_i2s.c | 941 +++++++++++++++++++++ sound/soc/tegra/tegra210_i2s.h | 132 +++ sound/soc/tegra/tegra30_ahub.c | 94 +- sound/soc/tegra/tegra30_ahub.h | 129 --- sound/soc/tegra/tegra30_i2s.c | 35 +- sound/soc/tegra/tegra30_i2s.h | 7 - sound/soc/tegra/tegra_cif.c | 34 + sound/soc/tegra/tegra_cif.h | 50 ++ sound/soc/tegra/tegra_pcm.c | 224 ++++- sound/soc/tegra/tegra_pcm.h | 23 +- 31 files changed, 5897 insertions(+), 244 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-admaif.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml create mode 100644 sound/soc/tegra/tegra186_dspk.c create mode 100644 sound/soc/tegra/tegra186_dspk.h create mode 100644 sound/soc/tegra/tegra210_admaif.c create mode 100644 sound/soc/tegra/tegra210_admaif.h create mode 100644 sound/soc/tegra/tegra210_ahub.c create mode 100644 sound/soc/tegra/tegra210_ahub.h create mode 100644 sound/soc/tegra/tegra210_dmic.c create mode 100644 sound/soc/tegra/tegra210_dmic.h create mode 100644 sound/soc/tegra/tegra210_i2s.c create mode 100644 sound/soc/tegra/tegra210_i2s.h create mode 100644 sound/soc/tegra/tegra_cif.c create mode 100644 sound/soc/tegra/tegra_cif.h