1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/serial/seri 4 $id: http://devicetree.org/schemas/serial/serial.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Serial Interface Generic 7 title: Serial Interface Generic 8 8 9 maintainers: 9 maintainers: 10 - Rob Herring <robh@kernel.org> 10 - Rob Herring <robh@kernel.org> 11 - Greg Kroah-Hartman <gregkh@linuxfoundation. 11 - Greg Kroah-Hartman <gregkh@linuxfoundation.org> 12 12 13 description: 13 description: 14 This document lists a set of generic propert 14 This document lists a set of generic properties for describing UARTs in a 15 device tree. Whether these properties apply 15 device tree. Whether these properties apply to a particular device depends 16 on the DT bindings for the actual device. 16 on the DT bindings for the actual device. 17 17 18 Each enabled UART may have an optional "seri 18 Each enabled UART may have an optional "serialN" alias in the "aliases" node, 19 where N is the port number (non-negative dec 19 where N is the port number (non-negative decimal integer) as printed on the 20 label next to the physical port. 20 label next to the physical port. 21 21 22 properties: 22 properties: 23 $nodename: 23 $nodename: 24 pattern: "^serial(@.*)?$" 24 pattern: "^serial(@.*)?$" 25 25 26 label: true 26 label: true 27 27 28 cts-gpios: 28 cts-gpios: 29 maxItems: 1 29 maxItems: 1 30 description: 30 description: 31 Must contain a GPIO specifier, referring 31 Must contain a GPIO specifier, referring to the GPIO pin to be used as 32 the UART's CTS line. 32 the UART's CTS line. 33 33 34 dcd-gpios: 34 dcd-gpios: 35 maxItems: 1 35 maxItems: 1 36 description: 36 description: 37 Must contain a GPIO specifier, referring 37 Must contain a GPIO specifier, referring to the GPIO pin to be used as 38 the UART's DCD line. 38 the UART's DCD line. 39 39 40 dsr-gpios: 40 dsr-gpios: 41 maxItems: 1 41 maxItems: 1 42 description: 42 description: 43 Must contain a GPIO specifier, referring 43 Must contain a GPIO specifier, referring to the GPIO pin to be used as 44 the UART's DSR line. 44 the UART's DSR line. 45 45 46 dtr-gpios: 46 dtr-gpios: 47 maxItems: 1 47 maxItems: 1 48 description: 48 description: 49 Must contain a GPIO specifier, referring 49 Must contain a GPIO specifier, referring to the GPIO pin to be used as 50 the UART's DTR line. 50 the UART's DTR line. 51 51 52 rng-gpios: 52 rng-gpios: 53 maxItems: 1 53 maxItems: 1 54 description: 54 description: 55 Must contain a GPIO specifier, referring 55 Must contain a GPIO specifier, referring to the GPIO pin to be used as 56 the UART's RNG line. 56 the UART's RNG line. 57 57 58 rts-gpios: 58 rts-gpios: 59 maxItems: 1 59 maxItems: 1 60 description: 60 description: 61 Must contain a GPIO specifier, referring 61 Must contain a GPIO specifier, referring to the GPIO pin to be used as 62 the UART's RTS line. 62 the UART's RTS line. 63 63 64 uart-has-rtscts: 64 uart-has-rtscts: 65 $ref: /schemas/types.yaml#/definitions/fla 65 $ref: /schemas/types.yaml#/definitions/flag 66 description: 66 description: 67 The presence of this property indicates 67 The presence of this property indicates that the UART has dedicated lines 68 for RTS/CTS hardware flow control, and t 68 for RTS/CTS hardware flow control, and that they are available for use 69 (wired and enabled by pinmux configurati 69 (wired and enabled by pinmux configuration). This depends on both the 70 UART hardware and the board wiring. 70 UART hardware and the board wiring. 71 71 72 rx-tx-swap: 72 rx-tx-swap: 73 type: boolean 73 type: boolean 74 description: RX and TX pins are swapped. 74 description: RX and TX pins are swapped. 75 75 76 cts-rts-swap: 76 cts-rts-swap: 77 type: boolean 77 type: boolean 78 description: CTS and RTS pins are swapped. 78 description: CTS and RTS pins are swapped. 79 79 80 rx-threshold: 80 rx-threshold: 81 $ref: /schemas/types.yaml#/definitions/uin 81 $ref: /schemas/types.yaml#/definitions/uint32 82 description: 82 description: 83 RX FIFO threshold configuration (in byte 83 RX FIFO threshold configuration (in bytes). 84 84 85 tx-threshold: 85 tx-threshold: 86 $ref: /schemas/types.yaml#/definitions/uin 86 $ref: /schemas/types.yaml#/definitions/uint32 87 description: 87 description: 88 TX FIFO threshold configuration (in byte 88 TX FIFO threshold configuration (in bytes). 89 89 90 patternProperties: 90 patternProperties: 91 "^(bluetooth|bluetooth-gnss|embedded-control 91 "^(bluetooth|bluetooth-gnss|embedded-controller|gnss|gps|mcu|onewire)$": 92 if: 92 if: 93 type: object 93 type: object 94 then: 94 then: 95 additionalProperties: true 95 additionalProperties: true 96 $ref: serial-peripheral-props.yaml# 96 $ref: serial-peripheral-props.yaml# 97 description: 97 description: 98 Serial attached devices shall be a chi 98 Serial attached devices shall be a child node of the host UART device 99 the slave device is attached to. It is 99 the slave device is attached to. It is expected that the attached 100 device is the only child node of the U 100 device is the only child node of the UART device. The slave device node 101 name shall reflect the generic type of 101 name shall reflect the generic type of device for the node. 102 102 103 properties: 103 properties: 104 compatible: 104 compatible: 105 description: 105 description: 106 Compatible of the device connected 106 Compatible of the device connected to the serial port. 107 107 108 required: 108 required: 109 - compatible 109 - compatible 110 110 111 if: 111 if: 112 required: 112 required: 113 - uart-has-rtscts 113 - uart-has-rtscts 114 then: 114 then: 115 properties: 115 properties: 116 cts-gpios: false 116 cts-gpios: false 117 rts-gpios: false 117 rts-gpios: false 118 118 119 additionalProperties: true 119 additionalProperties: true 120 120 121 examples: 121 examples: 122 - | 122 - | 123 serial@1234 { 123 serial@1234 { 124 compatible = "ns16550a"; 124 compatible = "ns16550a"; 125 reg = <0x1234 0x20>; 125 reg = <0x1234 0x20>; 126 interrupts = <1>; 126 interrupts = <1>; 127 127 128 bluetooth { 128 bluetooth { 129 compatible = "brcm,bcm4330-bt"; 129 compatible = "brcm,bcm4330-bt"; 130 interrupt-parent = <&gpio>; 130 interrupt-parent = <&gpio>; 131 interrupts = <10>; 131 interrupts = <10>; 132 }; 132 }; 133 }; 133 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.