On 16/02/2022 12:40, AngeloGioacchino Del Regno wrote: > Convert the MediaTek UART APDMA Controller binding to DT schema. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > --- > .../bindings/dma/mediatek,uart-dma.yaml | 112 ++++++++++++++++++ > .../bindings/dma/mtk-uart-apdma.txt | 56 --------- > 2 files changed, 112 insertions(+), 56 deletions(-) > create mode 100644 Documentation/devicetree/bindings/dma/mediatek,uart-dma.yaml > delete mode 100644 Documentation/devicetree/bindings/dma/mtk-uart-apdma.txt > > diff --git a/Documentation/devicetree/bindings/dma/mediatek,uart-dma.yaml b/Documentation/devicetree/bindings/dma/mediatek,uart-dma.yaml > new file mode 100644 > index 000000000000..4583c8f535b2 > --- /dev/null > +++ b/Documentation/devicetree/bindings/dma/mediatek,uart-dma.yaml > @@ -0,0 +1,112 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/dma/mediatek,uart-dma.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MediaTek UART APDMA controller > + > +maintainers: > + - Long Cheng <long.cheng@xxxxxxxxxxxx> > + > +description: | > + The MediaTek UART APDMA controller provides DMA capabilities > + for the UART peripheral bus. > + > +allOf: > + - $ref: "dma-controller.yaml#" > + > +properties: > + compatible: > + oneOf: > + - items: > + - enum: > + - mediatek,mt2712-uart-dma > + - mediatek,mt8516-uart-dma > + - const: mediatek,mt6577-uart-dma > + - enum: > + - mediatek,mt6577-uart-dma > + > + reg: > + minItems: 1 > + maxItems: 16 > + > + interrupts: > + description: | > + TX, RX interrupt lines for each UART APDMA channel > + minItems: 1 It would be useful to have an "if:" block constraining the interrupts (and reg array?), if the dma-requests is missing. If you need an example, see length of "max8997,pmic-buck1-dvs-voltage" array in relation to presence of max8997,pmic-buck1-uses-gpio-dvs. https://elixir.bootlin.com/linux/v5.17-rc2/source/Documentation/devicetree/bindings/regulator/maxim,max8997.yaml#L259 The best would be to restrict number of interrupts to number of requests, but I think dtschema cannot express this. > + maxItems: 32 > + > + clocks: > + description: Must contain one entry for the APDMA main clock > + maxItems: 1 > + > + clock-names: > + const: apdma > + > + "#dma-cells": > + const: 1 > + description: | > + The first cell specifies the UART APDMA channel number > + > + dma-requests: > + description: | > + Number of virtual channels of the UART APDMA controller > + maximum: 16 > + > + mediatek,dma-33bits: > + type: boolean > + description: Enable 33-bits UART APDMA support > + > +required: > + - compatible > + - reg > + - interrupts > + - "#dma-cells" No need for requiring dma-cells. It is coming from dma-common.yaml. > + Best regards, Krzysztof