xref: /linux/Documentation/devicetree/bindings/serial/sprd-uart.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright 2019 Unisoc Inc.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/serial/sprd-uart.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Spreadtrum serial UART
9
10maintainers:
11  - Orson Zhai <orsonzhai@gmail.com>
12  - Baolin Wang <baolin.wang7@gmail.com>
13  - Chunyan Zhang <zhang.lyra@gmail.com>
14
15properties:
16  compatible:
17    oneOf:
18      - items:
19          - enum:
20              - sprd,sc9632-uart
21              - sprd,sc9860-uart
22              - sprd,sc9863a-uart
23              - sprd,ums512-uart
24              - sprd,ums9620-uart
25          - const: sprd,sc9836-uart
26      - const: sprd,sc9836-uart
27
28  reg:
29    maxItems: 1
30
31  interrupts:
32    maxItems: 1
33
34  clocks:
35    minItems: 1
36    maxItems: 3
37
38  clock-names:
39    description: |
40      "enable" for UART module enable clock, "uart" for UART clock, "source"
41      for UART source (parent) clock.
42    items:
43      - const: enable
44      - const: uart
45      - const: source
46
47  dmas:
48    minItems: 1
49    maxItems: 2
50
51  dma-names:
52    minItems: 1
53    items:
54      - const: rx
55      - const: tx
56
57required:
58  - compatible
59  - reg
60  - interrupts
61
62additionalProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/interrupt-controller/arm-gic.h>
67    serial@0 {
68      compatible = "sprd,sc9860-uart", "sprd,sc9836-uart";
69      reg = <0x0 0x100>;
70      interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
71      dma-names = "rx", "tx";
72      dmas = <&ap_dma 19>, <&ap_dma 20>;
73      clock-names = "enable", "uart", "source";
74      clocks = <&clk_ap_apb_gates 9>, <&clk_uart0>, <&ext_26m>;
75    };
76
77...
78