# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019 Unisoc Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/serial/sprd-uart.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Spreadtrum serial UART

maintainers:
  - Orson Zhai <orsonzhai@gmail.com>
  - Baolin Wang <baolin.wang7@gmail.com>
  - Chunyan Zhang <zhang.lyra@gmail.com>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - sprd,ums9632-uart
          - const: sprd,sc9632-uart
      - items:
          - enum:
              - sprd,sc9860-uart
              - sprd,sc9863a-uart
              - sprd,ums512-uart
              - sprd,ums9620-uart
          - const: sprd,sc9836-uart
      - enum:
          - sprd,sc9632-uart
          - sprd,sc9836-uart

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    description: |
      "enable" for UART module enable clock, "uart" for UART clock, "source"
      for UART source (parent) clock.
    items:
      - const: enable
      - const: uart
      - const: source

  dmas:
    minItems: 1
    maxItems: 2

  dma-names:
    minItems: 1
    items:
      - const: rx
      - const: tx

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    serial@0 {
      compatible = "sprd,sc9860-uart", "sprd,sc9836-uart";
      reg = <0x0 0x100>;
      interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
      dma-names = "rx", "tx";
      dmas = <&ap_dma 19>, <&ap_dma 20>;
      clock-names = "enable", "uart", "source";
      clocks = <&clk_ap_apb_gates 9>, <&clk_uart0>, <&ext_26m>;
    };

...
