Hi Rob, Thanks for the review, one question below. Rob Herring <robh@xxxxxxxxxx> 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@xxxxxxxxxxx> > > --- > > .../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@xxxxxxxxxxx> > > + > > +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