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 devicetree bindings
8
9maintainers:
10  - Paul Cercueil <paul@crapouillou.net>
11
12allOf:
13  - $ref: /schemas/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,jz4760-uart
24          - ingenic,jz4780-uart
25          - ingenic,x1000-uart
26      - items:
27          - enum:
28              - ingenic,jz4770-uart
29              - ingenic,jz4775-uart
30          - const: ingenic,jz4760-uart
31      - items:
32          - const: ingenic,jz4725b-uart
33          - const: ingenic,jz4740-uart
34
35  reg:
36    maxItems: 1
37
38  interrupts:
39    maxItems: 1
40
41  clocks:
42    items:
43      - description: Baud clock
44      - description: UART module clock
45
46  clock-names:
47    items:
48      - const: baud
49      - const: module
50
51  dmas:
52    items:
53      - description: DMA controller phandle and request line for RX
54      - description: DMA controller phandle and request line for TX
55
56  dma-names:
57    items:
58      - const: rx
59      - const: tx
60
61required:
62  - compatible
63  - reg
64  - interrupts
65  - clocks
66  - clock-names
67  - dmas
68  - dma-names
69
70unevaluatedProperties: false
71
72examples:
73  - |
74    #include <dt-bindings/clock/jz4780-cgu.h>
75    #include <dt-bindings/dma/jz4780-dma.h>
76    #include <dt-bindings/gpio/gpio.h>
77    serial@10032000 {
78      compatible = "ingenic,jz4780-uart";
79      reg = <0x10032000 0x100>;
80
81      interrupt-parent = <&intc>;
82      interrupts = <49>;
83
84      clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
85      clock-names = "baud", "module";
86
87      dmas = <&dma JZ4780_DMA_UART2_RX 0xffffffff>,
88             <&dma JZ4780_DMA_UART2_TX 0xffffffff>;
89      dma-names = "rx", "tx";
90
91      bluetooth {
92        compatible = "brcm,bcm4330-bt";
93        reset-gpios = <&gpf 8 GPIO_ACTIVE_HIGH>;
94        vcc-supply = <&wlan0_power>;
95        device-wakeup-gpios = <&gpf 5 GPIO_ACTIVE_HIGH>;
96        host-wakeup-gpios = <&gpf 6 GPIO_ACTIVE_HIGH>;
97        shutdown-gpios = <&gpf 4 GPIO_ACTIVE_LOW>;
98      };
99    };
100