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