xref: /freebsd/sys/contrib/device-tree/Bindings/serial/sifive-serial.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/serial/sifive-serial.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: SiFive asynchronous serial interface (UART)
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Pragnesh Patel <pragnesh.patel@sifive.com>
11c66ec88fSEmmanuel Vadot  - Paul Walmsley  <paul.walmsley@sifive.com>
12c66ec88fSEmmanuel Vadot  - Palmer Dabbelt <palmer@sifive.com>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel VadotallOf:
155956d97fSEmmanuel Vadot  - $ref: serial.yaml#
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotproperties:
18c66ec88fSEmmanuel Vadot  compatible:
19c66ec88fSEmmanuel Vadot    items:
205def4c47SEmmanuel Vadot      - enum:
215def4c47SEmmanuel Vadot          - sifive,fu540-c000-uart
225def4c47SEmmanuel Vadot          - sifive,fu740-c000-uart
235def4c47SEmmanuel Vadot          - canaan,k210-uarths
24c66ec88fSEmmanuel Vadot      - const: sifive,uart0
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot    description:
27c66ec88fSEmmanuel Vadot      Should be something similar to "sifive,<chip>-uart"
28c66ec88fSEmmanuel Vadot      for the UART as integrated on a particular chip,
29c66ec88fSEmmanuel Vadot      and "sifive,uart<version>" for the general UART IP
30c66ec88fSEmmanuel Vadot      block programming model.
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot      UART HDL that corresponds to the IP block version
33c66ec88fSEmmanuel Vadot      numbers can be found here -
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot      https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/uart
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  reg:
38c66ec88fSEmmanuel Vadot    maxItems: 1
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot  interrupts:
41c66ec88fSEmmanuel Vadot    maxItems: 1
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot  clocks:
44c66ec88fSEmmanuel Vadot    maxItems: 1
45c66ec88fSEmmanuel Vadot
46c66ec88fSEmmanuel Vadotrequired:
47c66ec88fSEmmanuel Vadot  - compatible
48c66ec88fSEmmanuel Vadot  - reg
49c66ec88fSEmmanuel Vadot  - interrupts
50c66ec88fSEmmanuel Vadot  - clocks
51c66ec88fSEmmanuel Vadot
525956d97fSEmmanuel VadotunevaluatedProperties: false
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadotexamples:
55c66ec88fSEmmanuel Vadot  - |
56c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/sifive-fu540-prci.h>
57c66ec88fSEmmanuel Vadot    serial@10010000 {
58c66ec88fSEmmanuel Vadot        compatible = "sifive,fu540-c000-uart", "sifive,uart0";
59c66ec88fSEmmanuel Vadot        interrupt-parent = <&plic0>;
60c66ec88fSEmmanuel Vadot        interrupts = <80>;
61c66ec88fSEmmanuel Vadot        reg = <0x10010000 0x1000>;
62*c9ccf3a3SEmmanuel Vadot        clocks = <&prci FU540_PRCI_CLK_TLCLK>;
63c66ec88fSEmmanuel Vadot    };
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot...
66