On 1/20/2020 7:53 PM, Sameer Pujar wrote:
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.
- Add YAML DT binding documentation for above mentioned modules.
- ACIF programming is same for Tegra generations and hence it is moved to a common file.
- Add ASoC driver components for each of the above modules.
- Add DT entries for above components for Tegra210, Tegra186 and Tegra194.
- 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
If any comments on the series, please let me know. I am planning to publish v2 based on the discussion we had in v1.
Thanks, Sameer.
.../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