File Index
Files and directories
Sign in
FILE

mediatek,uart-dma.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/dma/mediatek,uart-dma.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/dma/mediatek,uart-dma.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: MediaTek UART APDMA controller
  8
  9maintainers:
 10  - Long Cheng <long.cheng@mediatek.com>
 11
 12description: |
 13  The MediaTek UART APDMA controller provides DMA capabilities
 14  for the UART peripheral bus.
 15
 16allOf:
 17  - $ref: dma-controller.yaml#
 18
 19properties:
 20  compatible:
 21    oneOf:
 22      - items:
 23          - enum:
 24              - mediatek,mt2712-uart-dma
 25              - mediatek,mt6795-uart-dma
 26              - mediatek,mt8365-uart-dma
 27              - mediatek,mt8516-uart-dma
 28          - const: mediatek,mt6577-uart-dma
 29      - enum:
 30          - mediatek,mt6577-uart-dma
 31
 32  reg:
 33    minItems: 1
 34    maxItems: 16
 35
 36  interrupts:
 37    description: |
 38      TX, RX interrupt lines for each UART APDMA channel
 39    minItems: 1
 40    maxItems: 16
 41
 42  clocks:
 43    description: Must contain one entry for the APDMA main clock
 44    maxItems: 1
 45
 46  clock-names:
 47    const: apdma
 48
 49  "#dma-cells":
 50    const: 1
 51    description: |
 52      The first cell specifies the UART APDMA channel number
 53
 54  dma-requests:
 55    description: |
 56      Number of virtual channels of the UART APDMA controller
 57    maximum: 16
 58
 59  mediatek,dma-33bits:
 60    type: boolean
 61    description: Enable 33-bits UART APDMA support
 62
 63required:
 64  - compatible
 65  - reg
 66  - interrupts
 67
 68additionalProperties: false
 69
 70if:
 71  not:
 72    required:
 73      - dma-requests
 74then:
 75  properties:
 76    interrupts:
 77      maxItems: 8
 78    reg:
 79      maxItems: 8
 80
 81examples:
 82  - |
 83    #include <dt-bindings/interrupt-controller/arm-gic.h>
 84    #include <dt-bindings/clock/mt2712-clk.h>
 85    soc {
 86        #address-cells = <2>;
 87        #size-cells = <2>;
 88
 89        apdma: dma-controller@11000400 {
 90            compatible = "mediatek,mt2712-uart-dma",
 91                         "mediatek,mt6577-uart-dma";
 92            reg = <0 0x11000400 0 0x80>,
 93                  <0 0x11000480 0 0x80>,
 94                  <0 0x11000500 0 0x80>,
 95                  <0 0x11000580 0 0x80>,
 96                  <0 0x11000600 0 0x80>,
 97                  <0 0x11000680 0 0x80>,
 98                  <0 0x11000700 0 0x80>,
 99                  <0 0x11000780 0 0x80>,
100                  <0 0x11000800 0 0x80>,
101                  <0 0x11000880 0 0x80>,
102                  <0 0x11000900 0 0x80>,
103                  <0 0x11000980 0 0x80>;
104            interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_LOW>,
105                         <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
106                         <GIC_SPI 105 IRQ_TYPE_LEVEL_LOW>,
107                         <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>,
108                         <GIC_SPI 107 IRQ_TYPE_LEVEL_LOW>,
109                         <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>,
110                         <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>,
111                         <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>,
112                         <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>,
113                         <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>,
114                         <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>,
115                         <GIC_SPI 114 IRQ_TYPE_LEVEL_LOW>;
116            dma-requests = <12>;
117            clocks = <&pericfg CLK_PERI_AP_DMA>;
118            clock-names = "apdma";
119            mediatek,dma-33bits;
120            #dma-cells = <1>;
121        };
122    };
123
124...
~/ Read-only file preview.