Message ID | 20190830210607.22644-2-miquel.raynal@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/3] ASoC: xlnx: add Xilinx logicPD-I2S FPGA IP support | expand |
On Fri, Aug 30, 2019 at 11:06:06PM +0200, Miquel Raynal wrote: > Document the logicPD I2S FPGA block bindings in yaml. > > Syntax verified with dt-doc-validate. > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > --- > .../bindings/sound/xlnx,logicpd-i2s.yaml | 57 +++++++++++++++++++ > 1 file changed, 57 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > diff --git a/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > new file mode 100644 > index 000000000000..cbff641af199 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > @@ -0,0 +1,57 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/xlnx,logicpd-i2s.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Device-Tree bindings for Xilinx logicPD I2S FPGA block > + > +maintainers: > + - Miquel Raynal <miquel.raynal@bootlin.com> > + > +description: | > + The IP supports I2S playback/capture audio. It acts as a slave and > + clocks should come from the codec. It only supports two channels and > + S16_LE format. > + > +properties: > + compatible: > + items: > + - const: xlnx,logicpd-i2s > + > + reg: > + maxItems: 1 > + description: > + Base address and size of the IP core instance. > + > + interrupts: > + minItems: 1 > + maxItems: 2 > + items: > + - description: tx interrupt > + - description: rx interrupt > + description: > + Either the Tx interruption or the Rx interruption or both. The schema says either tx or both. Doesn't really matter here as it's just numbers. > + > + interrupt-names: > + minItems: 1 > + maxItems: 2 > + items: > + - const: tx > + - const: rx But here it does matter. The easiest way to express this is: oneOf: - items: - enum: [ tx, rx ] - items: - const: tx - const: rx > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupts-controller > + > +examples: > + - | > + logii2s_dai: logii2s-dai@43c10000 { > + reg = <0x43c10000 0x1000>; > + compatible = "xlnx,logicpd-i2s-dai"; > + interrupt-parent = <&intc>; > + interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "rx", "tx"; > + }; > -- > 2.20.1 >
Hi Rob, Thanks for the review, one question below. Rob Herring <robh@kernel.org> wrote on Mon, 02 Sep 2019 14:39:09 +0100: > On Fri, Aug 30, 2019 at 11:06:06PM +0200, Miquel Raynal wrote: > > Document the logicPD I2S FPGA block bindings in yaml. > > > > Syntax verified with dt-doc-validate. > > > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > > --- > > .../bindings/sound/xlnx,logicpd-i2s.yaml | 57 +++++++++++++++++++ > > 1 file changed, 57 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > > > diff --git a/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > new file mode 100644 > > index 000000000000..cbff641af199 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > @@ -0,0 +1,57 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/sound/xlnx,logicpd-i2s.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Device-Tree bindings for Xilinx logicPD I2S FPGA block > > + > > +maintainers: > > + - Miquel Raynal <miquel.raynal@bootlin.com> > > + > > +description: | > > + The IP supports I2S playback/capture audio. It acts as a slave and > > + clocks should come from the codec. It only supports two channels and > > + S16_LE format. > > + > > +properties: > > + compatible: > > + items: > > + - const: xlnx,logicpd-i2s > > + > > + reg: > > + maxItems: 1 > > + description: > > + Base address and size of the IP core instance. > > + > > + interrupts: > > + minItems: 1 > > + maxItems: 2 > > + items: > > + - description: tx interrupt > > + - description: rx interrupt > > + description: > > + Either the Tx interruption or the Rx interruption or both. > > The schema says either tx or both. Doesn't really matter here as it's > just numbers. I see , I'll drop the 'items' entry. > > > + > > + interrupt-names: > > + minItems: 1 > > + maxItems: 2 > > + items: > > + - const: tx > > + - const: rx > > But here it does matter. > > The easiest way to express this is: > > oneOf: > - items: > - enum: [ tx, rx ] > - items: > - const: tx > - const: rx > Does this enforce an order? (I don't know if it matters, though, but in the bellow example I put the Rx interrupt first). > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - interrupts-controller > > + > > +examples: > > + - | > > + logii2s_dai: logii2s-dai@43c10000 { > > + reg = <0x43c10000 0x1000>; > > + compatible = "xlnx,logicpd-i2s-dai"; > > + interrupt-parent = <&intc>; > > + interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>; > > + interrupt-names = "rx", "tx"; > > + }; > > -- > > 2.20.1 > > > Thanks, Miquèl
On Mon, Sep 2, 2019 at 2:51 PM Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > Hi Rob, > > Thanks for the review, one question below. > > Rob Herring <robh@kernel.org> wrote on Mon, 02 Sep 2019 14:39:09 +0100: > > > On Fri, Aug 30, 2019 at 11:06:06PM +0200, Miquel Raynal wrote: > > > Document the logicPD I2S FPGA block bindings in yaml. > > > > > > Syntax verified with dt-doc-validate. > > > > > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > > > --- > > > .../bindings/sound/xlnx,logicpd-i2s.yaml | 57 +++++++++++++++++++ > > > 1 file changed, 57 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > > new file mode 100644 > > > index 000000000000..cbff641af199 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml > > > @@ -0,0 +1,57 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/sound/xlnx,logicpd-i2s.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Device-Tree bindings for Xilinx logicPD I2S FPGA block > > > + > > > +maintainers: > > > + - Miquel Raynal <miquel.raynal@bootlin.com> > > > + > > > +description: | > > > + The IP supports I2S playback/capture audio. It acts as a slave and > > > + clocks should come from the codec. It only supports two channels and > > > + S16_LE format. > > > + > > > +properties: > > > + compatible: > > > + items: > > > + - const: xlnx,logicpd-i2s > > > + > > > + reg: > > > + maxItems: 1 > > > + description: > > > + Base address and size of the IP core instance. > > > + > > > + interrupts: > > > + minItems: 1 > > > + maxItems: 2 > > > + items: > > > + - description: tx interrupt > > > + - description: rx interrupt > > > + description: > > > + Either the Tx interruption or the Rx interruption or both. > > > > The schema says either tx or both. Doesn't really matter here as it's > > just numbers. > > I see , I'll drop the 'items' entry. > > > > > > + > > > + interrupt-names: > > > + minItems: 1 > > > + maxItems: 2 > > > + items: > > > + - const: tx > > > + - const: rx > > > > But here it does matter. > > > > The easiest way to express this is: > > > > oneOf: > > - items: > > - enum: [ tx, rx ] > > - items: > > - const: tx > > - const: rx > > > > Does this enforce an order? (I don't know if it matters, though, but in > the bellow example I put the Rx interrupt first). Yes. It does matter and should be defined what the order it. Rob
diff --git a/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml new file mode 100644 index 000000000000..cbff641af199 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/xlnx,logicpd-i2s.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Device-Tree bindings for Xilinx logicPD I2S FPGA block + +maintainers: + - Miquel Raynal <miquel.raynal@bootlin.com> + +description: | + The IP supports I2S playback/capture audio. It acts as a slave and + clocks should come from the codec. It only supports two channels and + S16_LE format. + +properties: + compatible: + items: + - const: xlnx,logicpd-i2s + + reg: + maxItems: 1 + description: + Base address and size of the IP core instance. + + interrupts: + minItems: 1 + maxItems: 2 + items: + - description: tx interrupt + - description: rx interrupt + description: + Either the Tx interruption or the Rx interruption or both. + + interrupt-names: + minItems: 1 + maxItems: 2 + items: + - const: tx + - const: rx + +required: + - compatible + - reg + - interrupts + - interrupts-controller + +examples: + - | + logii2s_dai: logii2s-dai@43c10000 { + reg = <0x43c10000 0x1000>; + compatible = "xlnx,logicpd-i2s-dai"; + interrupt-parent = <&intc>; + interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>, <0 30 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "rx", "tx"; + };
Document the logicPD I2S FPGA block bindings in yaml. Syntax verified with dt-doc-validate. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- .../bindings/sound/xlnx,logicpd-i2s.yaml | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/xlnx,logicpd-i2s.yaml