122b10b33SAngeloGioacchino Del Regno# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
222b10b33SAngeloGioacchino Del Regno%YAML 1.2
322b10b33SAngeloGioacchino Del Regno---
422b10b33SAngeloGioacchino Del Regno$id: http://devicetree.org/schemas/serial/mediatek,uart.yaml#
522b10b33SAngeloGioacchino Del Regno$schema: http://devicetree.org/meta-schemas/core.yaml#
622b10b33SAngeloGioacchino Del Regno
722b10b33SAngeloGioacchino Del Regnotitle: MediaTek Universal Asynchronous Receiver/Transmitter (UART)
822b10b33SAngeloGioacchino Del Regno
922b10b33SAngeloGioacchino Del Regnomaintainers:
1022b10b33SAngeloGioacchino Del Regno  - Matthias Brugger <matthias.bgg@gmail.com>
1122b10b33SAngeloGioacchino Del Regno
1222b10b33SAngeloGioacchino Del RegnoallOf:
1322b10b33SAngeloGioacchino Del Regno  - $ref: serial.yaml#
1422b10b33SAngeloGioacchino Del Regno
1522b10b33SAngeloGioacchino Del Regnodescription: |
1622b10b33SAngeloGioacchino Del Regno  The MediaTek UART is based on the basic 8250 UART and compatible
1722b10b33SAngeloGioacchino Del Regno  with 16550A, with enhancements for high speed baud rates and
1822b10b33SAngeloGioacchino Del Regno  support for DMA.
1922b10b33SAngeloGioacchino Del Regno
2022b10b33SAngeloGioacchino Del Regnoproperties:
2122b10b33SAngeloGioacchino Del Regno  compatible:
2222b10b33SAngeloGioacchino Del Regno    oneOf:
2322b10b33SAngeloGioacchino Del Regno      - const: mediatek,mt6577-uart
2422b10b33SAngeloGioacchino Del Regno      - items:
2522b10b33SAngeloGioacchino Del Regno          - enum:
2622b10b33SAngeloGioacchino Del Regno              - mediatek,mt2701-uart
2722b10b33SAngeloGioacchino Del Regno              - mediatek,mt2712-uart
2822b10b33SAngeloGioacchino Del Regno              - mediatek,mt6580-uart
2922b10b33SAngeloGioacchino Del Regno              - mediatek,mt6582-uart
3022b10b33SAngeloGioacchino Del Regno              - mediatek,mt6589-uart
3122b10b33SAngeloGioacchino Del Regno              - mediatek,mt6755-uart
3222b10b33SAngeloGioacchino Del Regno              - mediatek,mt6765-uart
3322b10b33SAngeloGioacchino Del Regno              - mediatek,mt6779-uart
3422b10b33SAngeloGioacchino Del Regno              - mediatek,mt6795-uart
3522b10b33SAngeloGioacchino Del Regno              - mediatek,mt6797-uart
3622b10b33SAngeloGioacchino Del Regno              - mediatek,mt7622-uart
3722b10b33SAngeloGioacchino Del Regno              - mediatek,mt7623-uart
3822b10b33SAngeloGioacchino Del Regno              - mediatek,mt7629-uart
3922b10b33SAngeloGioacchino Del Regno              - mediatek,mt7986-uart
4022b10b33SAngeloGioacchino Del Regno              - mediatek,mt8127-uart
4122b10b33SAngeloGioacchino Del Regno              - mediatek,mt8135-uart
4222b10b33SAngeloGioacchino Del Regno              - mediatek,mt8173-uart
4322b10b33SAngeloGioacchino Del Regno              - mediatek,mt8183-uart
4422b10b33SAngeloGioacchino Del Regno              - mediatek,mt8186-uart
4574b2c563SKewei Xu              - mediatek,mt8188-uart
4622b10b33SAngeloGioacchino Del Regno              - mediatek,mt8192-uart
4722b10b33SAngeloGioacchino Del Regno              - mediatek,mt8195-uart
48*41be03c8SBernhard Rosenkränzer              - mediatek,mt8365-uart
4922b10b33SAngeloGioacchino Del Regno              - mediatek,mt8516-uart
5022b10b33SAngeloGioacchino Del Regno          - const: mediatek,mt6577-uart
5122b10b33SAngeloGioacchino Del Regno
5222b10b33SAngeloGioacchino Del Regno  reg:
5322b10b33SAngeloGioacchino Del Regno    description: The base address of the UART register bank
5422b10b33SAngeloGioacchino Del Regno    maxItems: 1
5522b10b33SAngeloGioacchino Del Regno
5622b10b33SAngeloGioacchino Del Regno  clocks:
5722b10b33SAngeloGioacchino Del Regno    minItems: 1
5822b10b33SAngeloGioacchino Del Regno    items:
5922b10b33SAngeloGioacchino Del Regno      - description: The clock the baudrate is derived from
6022b10b33SAngeloGioacchino Del Regno      - description: The bus clock for register accesses
6122b10b33SAngeloGioacchino Del Regno
6222b10b33SAngeloGioacchino Del Regno  clock-names:
6322b10b33SAngeloGioacchino Del Regno    minItems: 1
6422b10b33SAngeloGioacchino Del Regno    items:
6522b10b33SAngeloGioacchino Del Regno      - const: baud
6622b10b33SAngeloGioacchino Del Regno      - const: bus
6722b10b33SAngeloGioacchino Del Regno
6822b10b33SAngeloGioacchino Del Regno  dmas:
6922b10b33SAngeloGioacchino Del Regno    items:
7022b10b33SAngeloGioacchino Del Regno      - description: phandle to TX DMA
7122b10b33SAngeloGioacchino Del Regno      - description: phandle to RX DMA
7222b10b33SAngeloGioacchino Del Regno
7322b10b33SAngeloGioacchino Del Regno  dma-names:
7422b10b33SAngeloGioacchino Del Regno    items:
7522b10b33SAngeloGioacchino Del Regno      - const: tx
7622b10b33SAngeloGioacchino Del Regno      - const: rx
7722b10b33SAngeloGioacchino Del Regno
7822b10b33SAngeloGioacchino Del Regno  interrupts:
7922b10b33SAngeloGioacchino Del Regno    minItems: 1
8022b10b33SAngeloGioacchino Del Regno    maxItems: 2
8122b10b33SAngeloGioacchino Del Regno
8222b10b33SAngeloGioacchino Del Regno  interrupt-names:
8322b10b33SAngeloGioacchino Del Regno    description:
8422b10b33SAngeloGioacchino Del Regno      The UART interrupt and optionally the RX in-band wakeup interrupt.
8522b10b33SAngeloGioacchino Del Regno    minItems: 1
8622b10b33SAngeloGioacchino Del Regno    items:
8722b10b33SAngeloGioacchino Del Regno      - const: uart
8822b10b33SAngeloGioacchino Del Regno      - const: wakeup
8922b10b33SAngeloGioacchino Del Regno
9022b10b33SAngeloGioacchino Del Regno  pinctrl-0: true
9122b10b33SAngeloGioacchino Del Regno  pinctrl-1: true
9222b10b33SAngeloGioacchino Del Regno
9322b10b33SAngeloGioacchino Del Regno  pinctrl-names:
9422b10b33SAngeloGioacchino Del Regno    minItems: 1
9522b10b33SAngeloGioacchino Del Regno    items:
9622b10b33SAngeloGioacchino Del Regno      - const: default
9722b10b33SAngeloGioacchino Del Regno      - const: sleep
9822b10b33SAngeloGioacchino Del Regno
9922b10b33SAngeloGioacchino Del Regnorequired:
10022b10b33SAngeloGioacchino Del Regno  - compatible
10122b10b33SAngeloGioacchino Del Regno  - reg
10222b10b33SAngeloGioacchino Del Regno  - clocks
10322b10b33SAngeloGioacchino Del Regno  - interrupts
10422b10b33SAngeloGioacchino Del Regno
10522b10b33SAngeloGioacchino Del RegnounevaluatedProperties: false
10622b10b33SAngeloGioacchino Del Regno
10722b10b33SAngeloGioacchino Del Regnoexamples:
10822b10b33SAngeloGioacchino Del Regno  - |
10922b10b33SAngeloGioacchino Del Regno    #include <dt-bindings/interrupt-controller/arm-gic.h>
11022b10b33SAngeloGioacchino Del Regno
11122b10b33SAngeloGioacchino Del Regno    serial@11006000 {
11222b10b33SAngeloGioacchino Del Regno        compatible = "mediatek,mt6589-uart", "mediatek,mt6577-uart";
11322b10b33SAngeloGioacchino Del Regno        reg = <0x11006000 0x400>;
11422b10b33SAngeloGioacchino Del Regno        interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>,
11522b10b33SAngeloGioacchino Del Regno                     <GIC_SPI 52 IRQ_TYPE_EDGE_FALLING>;
11622b10b33SAngeloGioacchino Del Regno        interrupt-names = "uart", "wakeup";
11722b10b33SAngeloGioacchino Del Regno        clocks = <&uart_clk>, <&bus_clk>;
11822b10b33SAngeloGioacchino Del Regno        clock-names = "baud", "bus";
11922b10b33SAngeloGioacchino Del Regno        pinctrl-0 = <&uart_pin>;
12022b10b33SAngeloGioacchino Del Regno        pinctrl-1 = <&uart_pin_sleep>;
12122b10b33SAngeloGioacchino Del Regno        pinctrl-names = "default", "sleep";
12222b10b33SAngeloGioacchino Del Regno    };
123