On Sat 15 Jan 2022 at 10:35, Alexander Stein <alexander.stein@xxxxxxxxxxx> wrote: > Convert Amlogic FIFO controller documentation to yaml format. > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxx> > --- > Things to note: > First of, Jerome, sorry for adding you as maintainer, but > 1) it's mandatory > 2) your are the (only) author of amlogic,axg-fifo.txt > > Please add your Signed-off-by if that is okay with you. > > License is mandated by checkpath, not my choice. > > I'm not so sure about the compatible check. Essentially it is either > * 'amlogic,axg-frddr' OR > * 'amlogic,g12a-frddr' + 'amlogic,axg-frddr' > (or 'sm1' instead of 'g12a') > > Same goes for *-toddr. Is this schema correct in that regard? At least I > got no warnings on existing device trees. > There has already been a submission of this. It should answer your questions. You've also missed some constraints regarding resets. Please check: https://patchwork.kernel.org/project/linux-amlogic/list/?series=246453&state=%2A&archive=both > .../bindings/sound/amlogic,axg-fifo.txt | 34 ------- > .../bindings/sound/amlogic,axg-fifo.yaml | 97 +++++++++++++++++++ > 2 files changed, 97 insertions(+), 34 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt > create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml > > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt > deleted file mode 100644 > index fa4545ed81ca..000000000000 > --- a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt > +++ /dev/null > @@ -1,34 +0,0 @@ > -* Amlogic Audio FIFO controllers > - > -Required properties: > -- compatible: 'amlogic,axg-toddr' or > - 'amlogic,axg-toddr' or > - 'amlogic,g12a-frddr' or > - 'amlogic,g12a-toddr' or > - 'amlogic,sm1-frddr' or > - 'amlogic,sm1-toddr' > -- reg: physical base address of the controller and length of memory > - mapped region. > -- interrupts: interrupt specifier for the fifo. > -- clocks: phandle to the fifo peripheral clock provided by the audio > - clock controller. > -- resets: list of reset phandle, one for each entry reset-names. > -- reset-names: should contain the following: > - * "arb" : memory ARB line (required) > - * "rst" : dedicated device reset line (optional) > -- #sound-dai-cells: must be 0. > -- amlogic,fifo-depth: The size of the controller's fifo in bytes. This > - is useful for determining certain configuration such > - as the flush threshold of the fifo > - > -Example of FRDDR A on the A113 SoC: > - > -frddr_a: audio-controller@1c0 { > - compatible = "amlogic,axg-frddr"; > - reg = <0x0 0x1c0 0x0 0x1c>; > - #sound-dai-cells = <0>; > - interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>; > - clocks = <&clkc_audio AUD_CLKID_FRDDR_A>; > - resets = <&arb AXG_ARB_FRDDR_A>; > - fifo-depth = <512>; > -}; > diff --git a/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml > new file mode 100644 > index 000000000000..54bc073591f4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml > @@ -0,0 +1,97 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Amlogic Audio FIFO controllers > + > +maintainers: > + - Jerome Brunet <jbrunet@xxxxxxxxxxxx> > + > +allOf: > + - $ref: name-prefix.yaml# > + > +properties: > + $nodename: > + pattern: "^audio-controller@.*" > + > + "#sound-dai-cells": > + const: 0 > + > + compatible: > + oneOf: > + - items: > + - enum: > + - amlogic,g12a-frddr > + - amlogic,sm1-frddr > + - const: amlogic,axg-frddr > + - const: amlogic,axg-frddr > + - items: > + - enum: > + - amlogic,g12a-toddr > + - amlogic,sm1-toddr > + - const: amlogic,axg-toddr > + - const: amlogic,axg-toddr > + > + reg: > + items: > + - description: physical base address of the controller > + > + interrupts: > + items: > + - description: FIFO interrupt > + > + clocks: > + items: > + - description: FIFO peripheral clock provided by the audio clock controller > + > + resets: > + minItems: 1 > + items: > + - description: memory ARB line > + - description: optional device reset line > + > + reset-names: > + minItems: 1 > + items: > + - const: arb > + - const: rst > + > + amlogic,fifo-depth: > + description: > > + The size of the controller's fifo in bytes. This > + is useful for determining certain configuration such > + as the flush threshold of the fifo > + $ref: /schemas/types.yaml#/definitions/uint32 > + > + sound-name-prefix: true > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - resets > + - reset-names > + - '#sound-dai-cells' > + - amlogic,fifo-depth > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/axg-audio-clkc.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> > + > + frddr_a: audio-controller@1c0 { > + compatible = "amlogic,axg-frddr"; > + reg = <0x1c0 0x1c>; > + #sound-dai-cells = <0>; > + interrupts = <88 IRQ_TYPE_EDGE_RISING>; > + clocks = <&clkc_audio AUD_CLKID_FRDDR_A>; > + resets = <&arb AXG_ARB_FRDDR_A>; > + reset-names = "arb"; > + amlogic,fifo-depth = <512>; > + };