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