162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/dma/mediatek,uart-dma.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: MediaTek UART APDMA controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Long Cheng <long.cheng@mediatek.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The MediaTek UART APDMA controller provides DMA capabilities 1462306a36Sopenharmony_ci for the UART peripheral bus. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciallOf: 1762306a36Sopenharmony_ci - $ref: dma-controller.yaml# 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciproperties: 2062306a36Sopenharmony_ci compatible: 2162306a36Sopenharmony_ci oneOf: 2262306a36Sopenharmony_ci - items: 2362306a36Sopenharmony_ci - enum: 2462306a36Sopenharmony_ci - mediatek,mt2712-uart-dma 2562306a36Sopenharmony_ci - mediatek,mt6795-uart-dma 2662306a36Sopenharmony_ci - mediatek,mt8365-uart-dma 2762306a36Sopenharmony_ci - mediatek,mt8516-uart-dma 2862306a36Sopenharmony_ci - const: mediatek,mt6577-uart-dma 2962306a36Sopenharmony_ci - enum: 3062306a36Sopenharmony_ci - mediatek,mt6577-uart-dma 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci reg: 3362306a36Sopenharmony_ci minItems: 1 3462306a36Sopenharmony_ci maxItems: 16 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci interrupts: 3762306a36Sopenharmony_ci description: | 3862306a36Sopenharmony_ci TX, RX interrupt lines for each UART APDMA channel 3962306a36Sopenharmony_ci minItems: 1 4062306a36Sopenharmony_ci maxItems: 16 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci clocks: 4362306a36Sopenharmony_ci description: Must contain one entry for the APDMA main clock 4462306a36Sopenharmony_ci maxItems: 1 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci clock-names: 4762306a36Sopenharmony_ci const: apdma 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci "#dma-cells": 5062306a36Sopenharmony_ci const: 1 5162306a36Sopenharmony_ci description: | 5262306a36Sopenharmony_ci The first cell specifies the UART APDMA channel number 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci dma-requests: 5562306a36Sopenharmony_ci description: | 5662306a36Sopenharmony_ci Number of virtual channels of the UART APDMA controller 5762306a36Sopenharmony_ci maximum: 16 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci mediatek,dma-33bits: 6062306a36Sopenharmony_ci type: boolean 6162306a36Sopenharmony_ci description: Enable 33-bits UART APDMA support 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cirequired: 6462306a36Sopenharmony_ci - compatible 6562306a36Sopenharmony_ci - reg 6662306a36Sopenharmony_ci - interrupts 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciadditionalProperties: false 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciif: 7162306a36Sopenharmony_ci not: 7262306a36Sopenharmony_ci required: 7362306a36Sopenharmony_ci - dma-requests 7462306a36Sopenharmony_cithen: 7562306a36Sopenharmony_ci properties: 7662306a36Sopenharmony_ci interrupts: 7762306a36Sopenharmony_ci maxItems: 8 7862306a36Sopenharmony_ci reg: 7962306a36Sopenharmony_ci maxItems: 8 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ciexamples: 8262306a36Sopenharmony_ci - | 8362306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 8462306a36Sopenharmony_ci #include <dt-bindings/clock/mt2712-clk.h> 8562306a36Sopenharmony_ci soc { 8662306a36Sopenharmony_ci #address-cells = <2>; 8762306a36Sopenharmony_ci #size-cells = <2>; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci apdma: dma-controller@11000400 { 9062306a36Sopenharmony_ci compatible = "mediatek,mt2712-uart-dma", 9162306a36Sopenharmony_ci "mediatek,mt6577-uart-dma"; 9262306a36Sopenharmony_ci reg = <0 0x11000400 0 0x80>, 9362306a36Sopenharmony_ci <0 0x11000480 0 0x80>, 9462306a36Sopenharmony_ci <0 0x11000500 0 0x80>, 9562306a36Sopenharmony_ci <0 0x11000580 0 0x80>, 9662306a36Sopenharmony_ci <0 0x11000600 0 0x80>, 9762306a36Sopenharmony_ci <0 0x11000680 0 0x80>, 9862306a36Sopenharmony_ci <0 0x11000700 0 0x80>, 9962306a36Sopenharmony_ci <0 0x11000780 0 0x80>, 10062306a36Sopenharmony_ci <0 0x11000800 0 0x80>, 10162306a36Sopenharmony_ci <0 0x11000880 0 0x80>, 10262306a36Sopenharmony_ci <0 0x11000900 0 0x80>, 10362306a36Sopenharmony_ci <0 0x11000980 0 0x80>; 10462306a36Sopenharmony_ci interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_LOW>, 10562306a36Sopenharmony_ci <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>, 10662306a36Sopenharmony_ci <GIC_SPI 105 IRQ_TYPE_LEVEL_LOW>, 10762306a36Sopenharmony_ci <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>, 10862306a36Sopenharmony_ci <GIC_SPI 107 IRQ_TYPE_LEVEL_LOW>, 10962306a36Sopenharmony_ci <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>, 11062306a36Sopenharmony_ci <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>, 11162306a36Sopenharmony_ci <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>, 11262306a36Sopenharmony_ci <GIC_SPI 111 IRQ_TYPE_LEVEL_LOW>, 11362306a36Sopenharmony_ci <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>, 11462306a36Sopenharmony_ci <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>, 11562306a36Sopenharmony_ci <GIC_SPI 114 IRQ_TYPE_LEVEL_LOW>; 11662306a36Sopenharmony_ci dma-requests = <12>; 11762306a36Sopenharmony_ci clocks = <&pericfg CLK_PERI_AP_DMA>; 11862306a36Sopenharmony_ci clock-names = "apdma"; 11962306a36Sopenharmony_ci mediatek,dma-33bits; 12062306a36Sopenharmony_ci #dma-cells = <1>; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci... 125