[0/9] add ASoC components for AHUB
mbox series

Message ID 1579530198-13431-1-git-send-email-spujar@nvidia.com
Headers show
Series
  • add ASoC components for AHUB
Related show

Message

Sameer Pujar Jan. 20, 2020, 2:23 p.m. UTC
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

Comments

Sameer Pujar Jan. 28, 2020, 10:49 a.m. UTC | #1
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.
>   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

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
>