On Mon, May 10, 2021 at 03:07:21PM +0800, Shengjiu Wang wrote: > Imx-akcodec is a new added machine driver for supporting > ak4458/ak5558/ak5552/ak4497 codec on i.MX platforms. > > Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx> > --- > changes in v2: > - update doc accoring to Rob's comment, use the common porperties. > > .../bindings/sound/imx-audio-akcodec.yaml | 107 ++++++++++++++++++ > 1 file changed, 107 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml > > diff --git a/Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml b/Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml > new file mode 100644 > index 000000000000..0812c4779b59 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/imx-audio-akcodec.yaml > @@ -0,0 +1,107 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/imx-audio-akcodec.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: NXP i.MX audio complex with AK4458/AK5558/AK5552/AK4497 codec > + > +maintainers: > + - Shengjiu Wang <shengjiu.wang@xxxxxxx> > + > +properties: > + compatible: > + enum: > + - fsl,imx8mq-audio-akcodec > + - fsl,imx-audio-akcodec We gone from individual codecs to a family of codecs. Is there something specific for the machine driver about this set of codecs? Why can't it be *any* codec? > + > + model: > + $ref: /schemas/types.yaml#/definitions/string > + description: User specified audio sound card name > + > + audio-routing: > + $ref: /schemas/types.yaml#/definitions/non-unique-string-array > + description: > + A list of the connections between audio components. Each entry is a > + pair of strings, the first being the connection's sink, the second > + being the connection's source. Valid names could be power supplies, > + MicBias of codec and the jacks on the board. > + > +patternProperties: > + ".*-dai-link$": > + description: > + Each subnode represents a dai link. Subnodes of each dai links would be > + cpu/codec dais. > + > + type: object > + > + properties: > + link-name: > + description: Indicates dai-link name and PCM stream name. > + $ref: /schemas/types.yaml#/definitions/string > + maxItems: 1 > + > + format: > + description: audio format. > + items: > + enum: > + - i2s > + - dsp_b > + > + cpu: > + description: Holds subnode which indicates cpu dai. > + type: object > + properties: > + sound-dai: true > + > + codec: > + description: Holds subnode which indicates codec dai. > + type: object > + properties: > + sound-dai: true > + > + required: > + - link-name > + - cpu > + > + additionalProperties: false > + > +required: > + - compatible > + - model > + > +additionalProperties: false > + > +examples: > + - | > + sound-ak4458 { > + compatible = "fsl,imx-audio-akcodec"; > + model = "ak4458-audio"; > + pri-dai-link { > + link-name = "akcodec"; > + format = "i2s"; > + cpu { > + sound-dai = <&sai1>; > + }; > + codec { > + sound-dai = <&ak4458_1>, <&ak4458_2>; > + }; > + }; > + fe-dai-link { > + link-name = "HiFi-ASRC-FE"; > + format = "i2s"; > + cpu { > + sound-dai = <&easrc>; > + }; > + }; > + be-dai-link { > + link-name = "HiFi-ASRC-BE"; > + format = "dsp_b"; > + cpu { > + sound-dai = <&sai1>; > + }; > + codec { > + sound-dai = <&ak4458_1>, <&ak4458_2>; > + }; > + }; > + }; > -- > 2.27.0 >