RE: [PATCH v3 2/2] ASoC: dt-bindings: fsl_xcvr: Add document for XCVR

Viorel Suman (OSS)
2020-10-13T12:16:09Z

Hi Rob,

Thank you for review, fixed in V4.

/Viorel

> -----Original Message-----
> From: Rob Herring [mailto:robh@kernel.org]
> Sent: Tuesday, October 6, 2020 9:35 PM
> To: Viorel Suman (OSS) <viorel.suman@oss.nxp.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>; Mark Brown
> <broonie@kernel.org>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai
> <tiwai@suse.com>; Timur Tabi <timur@kernel.org>; Nicolin Chen
> <nicoleotsuka@gmail.com>; Xiubo Li <Xiubo.Lee@gmail.com>; Fabio Estevam
> <festevam@gmail.com>; Shengjiu Wang <shengjiu.wang@gmail.com>; Philipp
> Zabel <p.zabel@pengutronix.de>; Cosmin-Gabriel Samoila
> <cosmin.samoila@nxp.com>; Viorel Suman <viorel.suman@nxp.com>; Matthias
> Schiffer <matthias.schiffer@ew.tq-group.com>; alsa-devel@alsa-project.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linuxppc-
> dev@lists.ozlabs.org; dl-linux-imx <linux-imx@nxp.com>; Viorel Suman
> <viorel.suman@gmail.com>
> Subject: Re: [PATCH v3 2/2] ASoC: dt-bindings: fsl_xcvr: Add document for XCVR
>
> On Tue, Sep 29, 2020 at 12:19:27PM +0300, Viorel Suman (OSS) wrote:
> > From: Viorel Suman <viorel.suman@nxp.com>
> >
> > XCVR (Audio Transceiver) is a new IP module found on i.MX8MP.
> >
> > Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
> > ---
> > .../devicetree/bindings/sound/fsl,xcvr.yaml | 103
> +++++++++++++++++++++
> > 1 file changed, 103 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> > b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> > new file mode 100644
> > index 00000000..8abab2d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml
> > @@ -0,0 +1,103 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/sound/fsl,xcvr.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: NXP Audio Transceiver (XCVR) Controller
> > +
> > +maintainers:
> > + - Viorel Suman <viorel.suman@nxp.com>
> > +
> > +properties:
> > + $nodename:
> > + pattern: "^xcvr@.*"
> > +
> > + compatible:
> > + const: fsl,imx8mp-xcvr
> > +
> > + reg:
> > + items:
> > + - description: 20K RAM for code and data
> > + - description: registers space
> > + - description: RX FIFO address
> > + - description: TX FIFO address
> > +
> > + reg-names:
> > + items:
> > + - const: ram
> > + - const: regs
> > + - const: rxfifo
> > + - const: txfifo
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + items:
> > + - description: Peripheral clock
> > + - description: PHY clock
> > + - description: SPBA clock
> > + - description: PLL clock
> > +
> > + clock-names:
> > + items:
> > + - const: ipg
> > + - const: phy
> > + - const: spba
> > + - const: pll_ipg
> > +
> > + dmas:
> > + maxItems: 2
> > +
> > + dma-names:
> > + items:
> > + - const: rx
> > + - const: tx
> > +
> > + firmware-name:
> > + $ref: /schemas/types.yaml#/definitions/string
> > + const: imx/xcvr/xcvr-imx8mp.bin
> > + description: |
> > + Should contain the name of the default firmware image
> > + file located on the firmware search path
>
> We generally only have this if the name/path can't be fixed (per
> compatible) in the driver. Given you only have 1 possible value, that doesn't
> seem to be the case here.
>
> > +
> > + resets:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - reg-names
> > + - interrupts
> > + - clocks
> > + - clock-names
> > + - dmas
> > + - dma-names
> > + - firmware-name
> > + - resets
>
> additionalProperties: false
>
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/clock/imx8mp-clock.h>
> > + #include <dt-bindings/reset/imx8mp-reset.h>
> > +
> > + xcvr: xcvr@30cc0000 {
> > + compatible = "fsl,imx8mp-xcvr";
> > + reg = <0x30cc0000 0x800>,
> > + <0x30cc0800 0x400>,
> > + <0x30cc0c00 0x080>,
> > + <0x30cc0e00 0x080>;
> > + reg-names = "ram", "regs", "rxfifo", "txfifo";
> > + interrupts = <0x0 128 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_IPG>,
> > + <&audiomix_clk IMX8MP_CLK_AUDIOMIX_EARC_PHY>,
> > + <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SPBA2_ROOT>,
> > + <&audiomix_clk IMX8MP_CLK_AUDIOMIX_AUDPLL_ROOT>;
> > + clock-names = "ipg", "phy", "spba", "pll_ipg";
> > + dmas = <&sdma2 30 2 0>, <&sdma2 31 2 0>;
> > + dma-names = "rx", "tx";
> > + firmware-name = "imx/xcvr/xcvr-imx8mp.bin";
> > + resets = <&audiomix_reset 0>;
> > + };
> > --
> > 2.7.4
> >