Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: serial: Convert ingenic,uart.txt to YAML

Convert the ingenic,uart.txt to a new ingenic,uart.yaml file.

A few things were changed in the process:
- the dmas and dma-names properties are now required.
- the ingenic,jz4770-uart and ingenic,jz4775-uart compatible strings now
require the ingenic,jz4760-uart string to be used as fallback, since
the hardware is compatible.
- the ingenic,jz4725b-uart compatible string was added, with a fallback
to ingenic,jz4740-uart.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Paul Cercueil and committed by
Rob Herring
28c9c3d3 118a209d

+94 -28
-28
Documentation/devicetree/bindings/serial/ingenic,uart.txt
··· 1 - * Ingenic SoC UART 2 - 3 - Required properties: 4 - - compatible : One of: 5 - - "ingenic,jz4740-uart", 6 - - "ingenic,jz4760-uart", 7 - - "ingenic,jz4770-uart", 8 - - "ingenic,jz4775-uart", 9 - - "ingenic,jz4780-uart", 10 - - "ingenic,x1000-uart". 11 - - reg : offset and length of the register set for the device. 12 - - interrupts : should contain uart interrupt. 13 - - clocks : phandles to the module & baud clocks. 14 - - clock-names: tuple listing input clock names. 15 - Required elements: "baud", "module" 16 - 17 - Example: 18 - 19 - uart0: serial@10030000 { 20 - compatible = "ingenic,jz4740-uart"; 21 - reg = <0x10030000 0x100>; 22 - 23 - interrupt-parent = <&intc>; 24 - interrupts = <9>; 25 - 26 - clocks = <&ext>, <&cgu JZ4740_CLK_UART0>; 27 - clock-names = "baud", "module"; 28 - };
+94
Documentation/devicetree/bindings/serial/ingenic,uart.yaml
··· 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 + 7 + title: Ingenic SoCs UART controller devicetree bindings 8 + 9 + maintainers: 10 + - Paul Cercueil <paul@crapouillou.net> 11 + 12 + properties: 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 + 58 + required: 59 + - compatible 60 + - reg 61 + - interrupts 62 + - clocks 63 + - clock-names 64 + - dmas 65 + - dma-names 66 + 67 + examples: 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 + };