xref: /freebsd/sys/contrib/device-tree/Bindings/serial/ingenic,uart.yaml (revision f5f40dd63bc7acbb5312b26ac1ea1103c12352a6)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/serial/ingenic,uart.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ingenic SoCs UART controller
8
9maintainers:
10  - Paul Cercueil <paul@crapouillou.net>
11
12allOf:
13  - $ref: serial.yaml#
14
15properties:
16  $nodename:
17    pattern: "^serial@[0-9a-f]+$"
18
19  compatible:
20    oneOf:
21      - enum:
22          - ingenic,jz4740-uart
23          - ingenic,jz4750-uart
24          - ingenic,jz4760-uart
25          - ingenic,jz4780-uart
26          - ingenic,x1000-uart
27      - items:
28          - enum:
29              - ingenic,jz4770-uart
30              - ingenic,jz4775-uart
31          - const: ingenic,jz4760-uart
32      - items:
33          - const: ingenic,jz4725b-uart
34          - const: ingenic,jz4740-uart
35      - items:
36          - const: ingenic,jz4755-uart
37          - const: ingenic,jz4750-uart
38
39  reg:
40    maxItems: 1
41
42  interrupts:
43    maxItems: 1
44
45  clocks:
46    items:
47      - description: Baud clock
48      - description: UART module clock
49
50  clock-names:
51    items:
52      - const: baud
53      - const: module
54
55  dmas:
56    items:
57      - description: DMA controller phandle and request line for RX
58      - description: DMA controller phandle and request line for TX
59
60  dma-names:
61    items:
62      - const: rx
63      - const: tx
64
65required:
66  - compatible
67  - reg
68  - interrupts
69  - clocks
70  - clock-names
71  - dmas
72  - dma-names
73
74unevaluatedProperties: false
75
76examples:
77  - |
78    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
79    #include <dt-bindings/dma/jz4780-dma.h>
80    #include <dt-bindings/gpio/gpio.h>
81    serial@10032000 {
82      compatible = "ingenic,jz4780-uart";
83      reg = <0x10032000 0x100>;
84
85      interrupt-parent = <&intc>;
86      interrupts = <49>;
87
88      clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
89      clock-names = "baud", "module";
90
91      dmas = <&dma JZ4780_DMA_UART2_RX 0xffffffff>,
92             <&dma JZ4780_DMA_UART2_TX 0xffffffff>;
93      dma-names = "rx", "tx";
94
95      bluetooth {
96        compatible = "brcm,bcm4330-bt";
97        reset-gpios = <&gpf 8 GPIO_ACTIVE_HIGH>;
98        vbat-supply = <&wlan0_power>;
99        device-wakeup-gpios = <&gpf 5 GPIO_ACTIVE_HIGH>;
100        host-wakeup-gpios = <&gpf 6 GPIO_ACTIVE_HIGH>;
101        shutdown-gpios = <&gpf 4 GPIO_ACTIVE_LOW>;
102      };
103    };
104