Message ID | 1659370052-18966-3-git-send-email-spujar@nvidia.com |
---|---|
State | New |
Headers | show |
Series | DT binding for sample format conversion | expand |
On Mon, Aug 01, 2022 at 09:37:31PM +0530, Sameer Pujar wrote: > Presently "convert-channels" and "convert-rate" DT bindings are available > for channel and rate fixups respectively. > > Similarly add "convert-sample-format" binding to fixup DAI sample format > as well. This is added to simple-card and audio-graph based sound cards. Do you have users for both cases? > > Signed-off-by: Sameer Pujar <spujar@nvidia.com> > Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> > --- > Documentation/devicetree/bindings/sound/audio-graph-port.yaml | 4 ++++ > Documentation/devicetree/bindings/sound/audio-graph.yaml | 2 ++ > Documentation/devicetree/bindings/sound/dai-params.yaml | 10 ++++++++++ > Documentation/devicetree/bindings/sound/simple-card.yaml | 4 ++++ > 4 files changed, 20 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml > index 30a644d9..8e64192 100644 > --- a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml > +++ b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml > @@ -22,6 +22,8 @@ properties: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" > convert-channels: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" > + convert-sample-format: > + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" > > patternProperties: > "^endpoint(@[0-9a-f]+)?": > @@ -67,6 +69,8 @@ patternProperties: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" > convert-channels: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" > + convert-sample-format: > + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" > > dai-tdm-slot-width-map: > description: Mapping of sample widths to slot widths. For hardware > diff --git a/Documentation/devicetree/bindings/sound/audio-graph.yaml b/Documentation/devicetree/bindings/sound/audio-graph.yaml > index a9cd52e..93ddd55 100644 > --- a/Documentation/devicetree/bindings/sound/audio-graph.yaml > +++ b/Documentation/devicetree/bindings/sound/audio-graph.yaml > @@ -30,6 +30,8 @@ properties: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" > convert-channels: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" > + convert-sample-format: > + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" Can someone explain why we need these properties defined in 3 different locations? That's not a great pattern to continue. > > pa-gpios: > maxItems: 1 > diff --git a/Documentation/devicetree/bindings/sound/dai-params.yaml b/Documentation/devicetree/bindings/sound/dai-params.yaml > index aae60cb..933957d 100644 > --- a/Documentation/devicetree/bindings/sound/dai-params.yaml > +++ b/Documentation/devicetree/bindings/sound/dai-params.yaml > @@ -19,6 +19,16 @@ properties: > minimum: 1 > maximum: 32 > > + dai-sample-format: > + description: Audio sample format used by DAI > + $ref: /schemas/types.yaml#/definitions/string > + enum: > + - s8 > + - s16_le > + - s24_le > + - s24_3le > + - s32_le > + > dai-sample-rate: > description: Audio sample rate used by DAI > $ref: /schemas/types.yaml#/definitions/uint32 > diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml > index ab03a2b..ec21190 100644 > --- a/Documentation/devicetree/bindings/sound/simple-card.yaml > +++ b/Documentation/devicetree/bindings/sound/simple-card.yaml > @@ -183,6 +183,8 @@ properties: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" > simple-audio-card,convert-channels: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" > + simple-audio-card,convert-sample-format: Don't add more properties with 'simple-audio-card,' prefix. That's not a pattern we want to be consistent with... > + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" > simple-audio-card,prefix: > $ref: "#/definitions/prefix" > simple-audio-card,pin-switches: > @@ -226,6 +228,8 @@ patternProperties: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" > convert-channels: > $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" > + convert-sample-format: > + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" > prefix: > $ref: "#/definitions/prefix" > pin-switches: > -- > 2.7.4 > >
On 02-08-2022 20:20, Rob Herring wrote: > On Mon, Aug 01, 2022 at 09:37:31PM +0530, Sameer Pujar wrote: >> Presently "convert-channels" and "convert-rate" DT bindings are available >> for channel and rate fixups respectively. >> >> Similarly add "convert-sample-format" binding to fixup DAI sample format >> as well. This is added to simple-card and audio-graph based sound cards. > Do you have users for both cases? I don't plan to use simple-card. Just added for consistency. Will drop this. It would be required for audio-graph. > >> Signed-off-by: Sameer Pujar<spujar@nvidia.com> >> Cc: Kuninori Morimoto<kuninori.morimoto.gx@renesas.com> >> --- >> Documentation/devicetree/bindings/sound/audio-graph-port.yaml | 4 ++++ >> Documentation/devicetree/bindings/sound/audio-graph.yaml | 2 ++ >> Documentation/devicetree/bindings/sound/dai-params.yaml | 10 ++++++++++ >> Documentation/devicetree/bindings/sound/simple-card.yaml | 4 ++++ >> 4 files changed, 20 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml >> index 30a644d9..8e64192 100644 >> --- a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml >> +++ b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml >> @@ -22,6 +22,8 @@ properties: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" >> convert-channels: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" >> + convert-sample-format: >> + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" >> >> patternProperties: >> "^endpoint(@[0-9a-f]+)?": >> @@ -67,6 +69,8 @@ patternProperties: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" >> convert-channels: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" >> + convert-sample-format: >> + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" >> >> dai-tdm-slot-width-map: >> description: Mapping of sample widths to slot widths. For hardware >> diff --git a/Documentation/devicetree/bindings/sound/audio-graph.yaml b/Documentation/devicetree/bindings/sound/audio-graph.yaml >> index a9cd52e..93ddd55 100644 >> --- a/Documentation/devicetree/bindings/sound/audio-graph.yaml >> +++ b/Documentation/devicetree/bindings/sound/audio-graph.yaml >> @@ -30,6 +30,8 @@ properties: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" >> convert-channels: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" >> + convert-sample-format: >> + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" > Can someone explain why we need these properties defined in 3 different > locations? That's not a great pattern to continue. The properties are defined at sound card, port and endpoint node level. I guess the idea is to selectively apply a configuration to a group of endpoints/ports or just specific endpoint. Morimoto-san can comment if there are other reasons to do so. >> pa-gpios: >> maxItems: 1 >> diff --git a/Documentation/devicetree/bindings/sound/dai-params.yaml b/Documentation/devicetree/bindings/sound/dai-params.yaml >> index aae60cb..933957d 100644 >> --- a/Documentation/devicetree/bindings/sound/dai-params.yaml >> +++ b/Documentation/devicetree/bindings/sound/dai-params.yaml >> @@ -19,6 +19,16 @@ properties: >> minimum: 1 >> maximum: 32 >> >> + dai-sample-format: >> + description: Audio sample format used by DAI >> + $ref: /schemas/types.yaml#/definitions/string >> + enum: >> + - s8 >> + - s16_le >> + - s24_le >> + - s24_3le >> + - s32_le >> + >> dai-sample-rate: >> description: Audio sample rate used by DAI >> $ref: /schemas/types.yaml#/definitions/uint32 >> diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml >> index ab03a2b..ec21190 100644 >> --- a/Documentation/devicetree/bindings/sound/simple-card.yaml >> +++ b/Documentation/devicetree/bindings/sound/simple-card.yaml >> @@ -183,6 +183,8 @@ properties: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" >> simple-audio-card,convert-channels: >> $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" >> + simple-audio-card,convert-sample-format: > Don't add more properties with 'simple-audio-card,' prefix. That's not a > pattern we want to be consistent with... Will drop this in next revision.
diff --git a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml index 30a644d9..8e64192 100644 --- a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml +++ b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml @@ -22,6 +22,8 @@ properties: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" convert-channels: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" + convert-sample-format: + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" patternProperties: "^endpoint(@[0-9a-f]+)?": @@ -67,6 +69,8 @@ patternProperties: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" convert-channels: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" + convert-sample-format: + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" dai-tdm-slot-width-map: description: Mapping of sample widths to slot widths. For hardware diff --git a/Documentation/devicetree/bindings/sound/audio-graph.yaml b/Documentation/devicetree/bindings/sound/audio-graph.yaml index a9cd52e..93ddd55 100644 --- a/Documentation/devicetree/bindings/sound/audio-graph.yaml +++ b/Documentation/devicetree/bindings/sound/audio-graph.yaml @@ -30,6 +30,8 @@ properties: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" convert-channels: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" + convert-sample-format: + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" pa-gpios: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/dai-params.yaml b/Documentation/devicetree/bindings/sound/dai-params.yaml index aae60cb..933957d 100644 --- a/Documentation/devicetree/bindings/sound/dai-params.yaml +++ b/Documentation/devicetree/bindings/sound/dai-params.yaml @@ -19,6 +19,16 @@ properties: minimum: 1 maximum: 32 + dai-sample-format: + description: Audio sample format used by DAI + $ref: /schemas/types.yaml#/definitions/string + enum: + - s8 + - s16_le + - s24_le + - s24_3le + - s32_le + dai-sample-rate: description: Audio sample rate used by DAI $ref: /schemas/types.yaml#/definitions/uint32 diff --git a/Documentation/devicetree/bindings/sound/simple-card.yaml b/Documentation/devicetree/bindings/sound/simple-card.yaml index ab03a2b..ec21190 100644 --- a/Documentation/devicetree/bindings/sound/simple-card.yaml +++ b/Documentation/devicetree/bindings/sound/simple-card.yaml @@ -183,6 +183,8 @@ properties: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" simple-audio-card,convert-channels: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" + simple-audio-card,convert-sample-format: + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" simple-audio-card,prefix: $ref: "#/definitions/prefix" simple-audio-card,pin-switches: @@ -226,6 +228,8 @@ patternProperties: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-rate" convert-channels: $ref: "/schemas/sound/dai-params.yaml#/properties/dai-channels" + convert-sample-format: + $ref: "/schemas/sound/dai-params.yaml#/properties/dai-sample-format" prefix: $ref: "#/definitions/prefix" pin-switches:
Presently "convert-channels" and "convert-rate" DT bindings are available for channel and rate fixups respectively. Similarly add "convert-sample-format" binding to fixup DAI sample format as well. This is added to simple-card and audio-graph based sound cards. Signed-off-by: Sameer Pujar <spujar@nvidia.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> --- Documentation/devicetree/bindings/sound/audio-graph-port.yaml | 4 ++++ Documentation/devicetree/bindings/sound/audio-graph.yaml | 2 ++ Documentation/devicetree/bindings/sound/dai-params.yaml | 10 ++++++++++ Documentation/devicetree/bindings/sound/simple-card.yaml | 4 ++++ 4 files changed, 20 insertions(+)