^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) %YAML 1.2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) $id: http://devicetree.org/schemas/serial/sifive-serial.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) $schema: http://devicetree.org/meta-schemas/core.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) title: SiFive asynchronous serial interface (UART)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) maintainers:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - Pragnesh Patel <pragnesh.patel@sifive.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - Paul Walmsley <paul.walmsley@sifive.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - Palmer Dabbelt <palmer@sifive.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) allOf:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - $ref: /schemas/serial.yaml#
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) compatible:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) items:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - const: sifive,fu540-c000-uart
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - const: sifive,uart0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) Should be something similar to "sifive,<chip>-uart"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) for the UART as integrated on a particular chip,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) and "sifive,uart<version>" for the general UART IP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) block programming model.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) UART HDL that corresponds to the IP block version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) numbers can be found here -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/uart
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) reg:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) interrupts:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) clocks:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) maxItems: 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) required:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) - reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) - interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) - clocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) additionalProperties: false
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) - |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #include <dt-bindings/clock/sifive-fu540-prci.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) serial@10010000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) compatible = "sifive,fu540-c000-uart", "sifive,uart0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) interrupt-parent = <&plic0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) interrupts = <80>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) reg = <0x10010000 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) clocks = <&prci PRCI_CLK_TLCLK>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) ...