Hi Mark, Morimoto-san,
Summary of changes:
Support multiple instances of a component. For example there can be multiple I2S devices which can use the same component driver.
Support open platforms with empty Codec endpoint. Customers can plug their own HW and can populate codec endpoint.
In a component model there can be many components which can be connected togethe. In such cases Identify no-pcm DPCM DAI links which can be used in BE<->BE connections.
Add Tegra audio graph driver which is based on generic audio graph driver and specific customizations are done in Tegra driver.
This pushes DT support for Tegra210 based platforms which uses audio-graph card and above enhancements.
The series is based on following references where DPCM usgae for Tegra Audio and simple-card driver proposal were discussed.
- https://lkml.org/lkml/2020/4/30/519 (DPCM for Tegra)
- https://lkml.org/lkml/2020/6/27/4 (simple-card driver)
Changelog
v3 -> v4
Added new patches to convert graph.txt and audio-graph-card.txt to corresponding json-schema files. Later these references are used in Tegra audio graph schema.
AHUB component binding docs are updated to reflect the usage of ports/port/endpoint
More common stuff is moved into graph_parse_of() and this is used by both generic and Tegra audio graph.
DT binding for Tegra audio graph is updated to included "ports { }"
As per the suggestion 'void *data' member is dropped from 'asoc_simple_priv' and instead container method is used to maintain required custom data internal to Tegra audio graph.
v2 -> v3
- Dropped new compatible addition in generic graph driver after reviewing it with Morimoto-san. Instead added Tegra audio graph driver and new compatibles are added in the same.
- Added new patches to expose new members for customization in audio graph driver.
- Added new patch for Tegra audio graph driver and related documentation.
- Minor change in below commit where mutex version of helper is used "ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM"
- DT binding is updated to use the newly exposed compatibles
- No changes in other patches
v1 -> v2
- Re-organized ports/endpoints description for ADMAIF and XBAR. Updated DT patches accordingly.
- After above change, multiple Codec endpoint support is not required and hence dropped for now. This will be considered separately if at all required in future.
- Re-ordered patches in the series.
Sameer Pujar (15): ASoC: soc-core: Fix component name_prefix parsing ASoC: soc-pcm: Get all BEs along DAPM path ASoC: audio-graph: Use of_node and DAI for DPCM DAI link names ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM ASoC: audio-graph: Support empty Codec endpoint ASoC: audio-graph: Expose new members for asoc_simple_priv ASoC: audio-graph: Expose helpers from audio graph
Would you suggest to keep above in a separate series and thus not blocked by below doc updates? If so do I need to resend above in a next revision or if these are good to be picked up?
Documentation: of: Convert graph bindings to json-schema ASoC: dt-bindings: audio-graph: Convert bindings to json-schema ASoC: dt-bindings: tegra: Add graph bindings ASoC: dt-bindings: tegra: Add json-schema for Tegra audio graph card
Documentation patches in the series have some dependency over Morimoto-san's audio-graph series https://patchwork.kernel.org/project/alsa-devel/list/?series=372759. I will update doc related patches once dependency is merged.
ASoC: tegra: Add audio graph based card driver arm64: defconfig: Enable Tegra audio graph card driver arm64: tegra: Audio graph header for Tegra210 arm64: tegra: Audio graph sound card for Jetson Nano and TX1