On Mon, Feb 24, 2020 at 03:58:17PM +0100, Jerome Brunet wrote:
Convert the DT binding documentation for the Amlogic axg audio FIFOs to schema.
Signed-off-by: Jerome Brunet jbrunet@baylibre.com
.../bindings/sound/amlogic,axg-fifo.txt | 34 ------ .../bindings/sound/amlogic,axg-fifo.yaml | 111 ++++++++++++++++++ 2 files changed, 111 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..d9fe4f624784 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml @@ -0,0 +1,111 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/amlogic,axg-fifo.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Amlogic AXG Audio FIFO controllers
+maintainers:
- Jerome Brunet jbrunet@baylibre.com
+properties:
- $nodename:
- pattern: "^audio-controller@.*"
- "#sound-dai-cells":
- const: 0
- compatible:
- oneOf:
- items:
- const:
amlogic,axg-toddr
- items:
- const:
amlogic,axg-frddr
- items:
- enum:
- amlogic,g12a-toddr
- amlogic,sm1-toddr
- const:
amlogic,axg-toddr
- items:
- enum:
- amlogic,g12a-frddr
- amlogic,sm1-frddr
- const:
amlogic,axg-frddr
- clocks:
- items:
- description: Peripheral clock
- interrupts:
- maxItems: 1
- reg:
- maxItems: 1
- resets:
- minItems: 1
- items:
- description: Memory ARB line
- description: Dedicated device reset line
- reset-names:
- minItems: 1
- items:
- const: arb
- const: rst
- amlogic,fifo-depth:
- $ref: /schemas/types.yaml#/definitions/uint32
- description: Size of the controller's fifo in bytes
Aren't there some constraints on possible values? I'm sure it's more than 0 and less than 2^32.
+required:
- "#sound-dai-cells"
- compatible
- interrupts
- reg
- clocks
- resets
- amlogic,fifo-depth
+if:
- properties:
- compatible:
contains:
enum:
- amlogic,g12a-toddr
- amlogic,sm1-toddr
- amlogic,g12a-frddr
- amlogic,sm1-frddr
+then:
- properties:
- resets:
minItems: 2
- reset-names:
minItems: 2
- required:
- reset-names
+examples:
- |
- #include <dt-bindings/clock/axg-audio-clkc.h>
- #include <dt-bindings/interrupt-controller/irq.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
- #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
- frddr_a: audio-controller@1c0 {
compatible = "amlogic,g12a-frddr", "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>, <&clkc_audio AUD_RESET_FRDDR_A>;
reset-names = "arb", "rst";
amlogic,fifo-depth = <512>;
- };
-- 2.24.1