Message ID | 20240408164947.30717-2-ddrokosov@salutedevices.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: meson: implement link-name optional property in meson audio card | expand |
On Mon 08 Apr 2024 at 19:49, Dmitry Rokosov <ddrokosov@salutedevices.com> wrote: > The 'link-name' property is an optional DT property that allows for the > customization of the name associated with the DAI link and PCM stream. > This functionality mirrors the approach commonly utilized in Qualcomm > audio cards, providing flexibility in DAI naming conventions for > improved system integration and userspace experience. As explained in patch #2, I think this change is wrong. The names below describe a possible userspace usage of the interface, not HW. This does not belong in DT. The only valid name for the interface is one that helps map the PCM interface and the kcontrols exposed in userspace. This information is already available through dai_name, prefixes, etc. Using DT for this is bad, in the context of these particular sound cards at least. > > It allows userspace program to easy determine PCM stream purpose, e.g.: > ~ # cat /proc/asound/pcm > 00-00: speaker (*) : : playback 1 > 00-01: mics (*) : : capture 1 > 00-02: loopback (*) : : capture 1 > > Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com> > --- > .../devicetree/bindings/sound/amlogic,axg-sound-card.yaml | 6 ++++++ > .../devicetree/bindings/sound/amlogic,gx-sound-card.yaml | 6 ++++++ > 2 files changed, 12 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml > index 492b41cc8ccd..46774a3e4b1d 100644 > --- a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml > +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml > @@ -66,6 +66,11 @@ patternProperties: > maxItems: 1 > description: phandle of the CPU DAI > > + link-name: > + description: Indicates dai-link name and PCM stream name. > + $ref: /schemas/types.yaml#/definitions/string > + maxItems: 1 > + > patternProperties: > "^dai-tdm-slot-(t|r)x-mask-[0-3]$": > $ref: /schemas/types.yaml#/definitions/uint32-array > @@ -137,6 +142,7 @@ examples: > > dai-link-0 { > sound-dai = <&frddr_a>; > + link-name = "speaker"; > }; > > dai-link-1 { > diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml > index d4277d342e69..975c148f9712 100644 > --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml > +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml > @@ -52,6 +52,11 @@ patternProperties: > maxItems: 1 > description: phandle of the CPU DAI > > + link-name: > + description: Indicates dai-link name and PCM stream name. > + $ref: /schemas/types.yaml#/definitions/string > + maxItems: 1 > + > patternProperties: > "^codec(-[0-9]+)?$": > type: object > @@ -89,6 +94,7 @@ examples: > > dai-link-0 { > sound-dai = <&i2s_fifo>; > + link-name = "speaker"; > }; > > dai-link-1 {
diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml index 492b41cc8ccd..46774a3e4b1d 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml @@ -66,6 +66,11 @@ patternProperties: maxItems: 1 description: phandle of the CPU DAI + link-name: + description: Indicates dai-link name and PCM stream name. + $ref: /schemas/types.yaml#/definitions/string + maxItems: 1 + patternProperties: "^dai-tdm-slot-(t|r)x-mask-[0-3]$": $ref: /schemas/types.yaml#/definitions/uint32-array @@ -137,6 +142,7 @@ examples: dai-link-0 { sound-dai = <&frddr_a>; + link-name = "speaker"; }; dai-link-1 { diff --git a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml index d4277d342e69..975c148f9712 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml +++ b/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml @@ -52,6 +52,11 @@ patternProperties: maxItems: 1 description: phandle of the CPU DAI + link-name: + description: Indicates dai-link name and PCM stream name. + $ref: /schemas/types.yaml#/definitions/string + maxItems: 1 + patternProperties: "^codec(-[0-9]+)?$": type: object @@ -89,6 +94,7 @@ examples: dai-link-0 { sound-dai = <&i2s_fifo>; + link-name = "speaker"; }; dai-link-1 {
The 'link-name' property is an optional DT property that allows for the customization of the name associated with the DAI link and PCM stream. This functionality mirrors the approach commonly utilized in Qualcomm audio cards, providing flexibility in DAI naming conventions for improved system integration and userspace experience. It allows userspace program to easy determine PCM stream purpose, e.g.: ~ # cat /proc/asound/pcm 00-00: speaker (*) : : playback 1 00-01: mics (*) : : capture 1 00-02: loopback (*) : : capture 1 Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com> --- .../devicetree/bindings/sound/amlogic,axg-sound-card.yaml | 6 ++++++ .../devicetree/bindings/sound/amlogic,gx-sound-card.yaml | 6 ++++++ 2 files changed, 12 insertions(+)