128c9c3d3SPaul Cercueil# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
228c9c3d3SPaul Cercueil%YAML 1.2
328c9c3d3SPaul Cercueil---
428c9c3d3SPaul Cercueil$id: http://devicetree.org/schemas/serial/ingenic,uart.yaml#
528c9c3d3SPaul Cercueil$schema: http://devicetree.org/meta-schemas/core.yaml#
628c9c3d3SPaul Cercueil
7*a612130cSKrzysztof Kozlowskititle: Ingenic SoCs UART controller
828c9c3d3SPaul Cercueil
928c9c3d3SPaul Cercueilmaintainers:
1028c9c3d3SPaul Cercueil  - Paul Cercueil <paul@crapouillou.net>
1128c9c3d3SPaul Cercueil
126fdc6e23SRob HerringallOf:
138f082dcfSZhen Lei  - $ref: serial.yaml#
146fdc6e23SRob Herring
1528c9c3d3SPaul Cercueilproperties:
1628c9c3d3SPaul Cercueil  $nodename:
1728c9c3d3SPaul Cercueil    pattern: "^serial@[0-9a-f]+$"
1828c9c3d3SPaul Cercueil
1928c9c3d3SPaul Cercueil  compatible:
2028c9c3d3SPaul Cercueil    oneOf:
2128c9c3d3SPaul Cercueil      - enum:
2228c9c3d3SPaul Cercueil          - ingenic,jz4740-uart
230c3c184cSSiarhei Volkau          - ingenic,jz4750-uart
2428c9c3d3SPaul Cercueil          - ingenic,jz4760-uart
2528c9c3d3SPaul Cercueil          - ingenic,jz4780-uart
2628c9c3d3SPaul Cercueil          - ingenic,x1000-uart
2728c9c3d3SPaul Cercueil      - items:
2828c9c3d3SPaul Cercueil          - enum:
2928c9c3d3SPaul Cercueil              - ingenic,jz4770-uart
3028c9c3d3SPaul Cercueil              - ingenic,jz4775-uart
3128c9c3d3SPaul Cercueil          - const: ingenic,jz4760-uart
3228c9c3d3SPaul Cercueil      - items:
3328c9c3d3SPaul Cercueil          - const: ingenic,jz4725b-uart
3428c9c3d3SPaul Cercueil          - const: ingenic,jz4740-uart
350c3c184cSSiarhei Volkau      - items:
360c3c184cSSiarhei Volkau          - const: ingenic,jz4755-uart
370c3c184cSSiarhei Volkau          - const: ingenic,jz4750-uart
3828c9c3d3SPaul Cercueil
3928c9c3d3SPaul Cercueil  reg:
4028c9c3d3SPaul Cercueil    maxItems: 1
4128c9c3d3SPaul Cercueil
4228c9c3d3SPaul Cercueil  interrupts:
4328c9c3d3SPaul Cercueil    maxItems: 1
4428c9c3d3SPaul Cercueil
4528c9c3d3SPaul Cercueil  clocks:
4628c9c3d3SPaul Cercueil    items:
4728c9c3d3SPaul Cercueil      - description: Baud clock
4828c9c3d3SPaul Cercueil      - description: UART module clock
4928c9c3d3SPaul Cercueil
5028c9c3d3SPaul Cercueil  clock-names:
5128c9c3d3SPaul Cercueil    items:
5228c9c3d3SPaul Cercueil      - const: baud
5328c9c3d3SPaul Cercueil      - const: module
5428c9c3d3SPaul Cercueil
5528c9c3d3SPaul Cercueil  dmas:
5628c9c3d3SPaul Cercueil    items:
5728c9c3d3SPaul Cercueil      - description: DMA controller phandle and request line for RX
5828c9c3d3SPaul Cercueil      - description: DMA controller phandle and request line for TX
5928c9c3d3SPaul Cercueil
6028c9c3d3SPaul Cercueil  dma-names:
6128c9c3d3SPaul Cercueil    items:
6228c9c3d3SPaul Cercueil      - const: rx
6328c9c3d3SPaul Cercueil      - const: tx
6428c9c3d3SPaul Cercueil
6528c9c3d3SPaul Cercueilrequired:
6628c9c3d3SPaul Cercueil  - compatible
6728c9c3d3SPaul Cercueil  - reg
6828c9c3d3SPaul Cercueil  - interrupts
6928c9c3d3SPaul Cercueil  - clocks
7028c9c3d3SPaul Cercueil  - clock-names
7128c9c3d3SPaul Cercueil  - dmas
7228c9c3d3SPaul Cercueil  - dma-names
7328c9c3d3SPaul Cercueil
746fdc6e23SRob HerringunevaluatedProperties: false
756fdc6e23SRob Herring
7628c9c3d3SPaul Cercueilexamples:
7728c9c3d3SPaul Cercueil  - |
78c4a11bf4SPaul Cercueil    #include <dt-bindings/clock/ingenic,jz4780-cgu.h>
7928c9c3d3SPaul Cercueil    #include <dt-bindings/dma/jz4780-dma.h>
8028c9c3d3SPaul Cercueil    #include <dt-bindings/gpio/gpio.h>
8128c9c3d3SPaul Cercueil    serial@10032000 {
8228c9c3d3SPaul Cercueil      compatible = "ingenic,jz4780-uart";
8328c9c3d3SPaul Cercueil      reg = <0x10032000 0x100>;
8428c9c3d3SPaul Cercueil
8528c9c3d3SPaul Cercueil      interrupt-parent = <&intc>;
8628c9c3d3SPaul Cercueil      interrupts = <49>;
8728c9c3d3SPaul Cercueil
8828c9c3d3SPaul Cercueil      clocks = <&ext>, <&cgu JZ4780_CLK_UART2>;
8928c9c3d3SPaul Cercueil      clock-names = "baud", "module";
9028c9c3d3SPaul Cercueil
9128c9c3d3SPaul Cercueil      dmas = <&dma JZ4780_DMA_UART2_RX 0xffffffff>,
9228c9c3d3SPaul Cercueil             <&dma JZ4780_DMA_UART2_TX 0xffffffff>;
9328c9c3d3SPaul Cercueil      dma-names = "rx", "tx";
9428c9c3d3SPaul Cercueil
9528c9c3d3SPaul Cercueil      bluetooth {
9628c9c3d3SPaul Cercueil        compatible = "brcm,bcm4330-bt";
9728c9c3d3SPaul Cercueil        reset-gpios = <&gpf 8 GPIO_ACTIVE_HIGH>;
987820ee1cSLinus Walleij        vbat-supply = <&wlan0_power>;
9928c9c3d3SPaul Cercueil        device-wakeup-gpios = <&gpf 5 GPIO_ACTIVE_HIGH>;
10028c9c3d3SPaul Cercueil        host-wakeup-gpios = <&gpf 6 GPIO_ACTIVE_HIGH>;
10128c9c3d3SPaul Cercueil        shutdown-gpios = <&gpf 4 GPIO_ACTIVE_LOW>;
10228c9c3d3SPaul Cercueil      };
10328c9c3d3SPaul Cercueil    };
104