134 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/serial/serial.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Serial Interface Generic8 9maintainers:10 - Rob Herring <robh@kernel.org>11 - Greg Kroah-Hartman <gregkh@linuxfoundation.org>12 13description:14 This document lists a set of generic properties for describing UARTs in a15 device tree. Whether these properties apply to a particular device depends16 on the DT bindings for the actual device.17 18 Each enabled UART may have an optional "serialN" alias in the "aliases" node,19 where N is the port number (non-negative decimal integer) as printed on the20 label next to the physical port.21 22properties:23 $nodename:24 pattern: "^serial(@.*)?$"25 26 label: true27 28 cts-gpios:29 maxItems: 130 description:31 Must contain a GPIO specifier, referring to the GPIO pin to be used as32 the UART's CTS line.33 34 dcd-gpios:35 maxItems: 136 description:37 Must contain a GPIO specifier, referring to the GPIO pin to be used as38 the UART's DCD line.39 40 dsr-gpios:41 maxItems: 142 description:43 Must contain a GPIO specifier, referring to the GPIO pin to be used as44 the UART's DSR line.45 46 dtr-gpios:47 maxItems: 148 description:49 Must contain a GPIO specifier, referring to the GPIO pin to be used as50 the UART's DTR line.51 52 rng-gpios:53 maxItems: 154 description:55 Must contain a GPIO specifier, referring to the GPIO pin to be used as56 the UART's RNG line.57 58 rts-gpios:59 maxItems: 160 description:61 Must contain a GPIO specifier, referring to the GPIO pin to be used as62 the UART's RTS line.63 64 uart-has-rtscts:65 $ref: /schemas/types.yaml#/definitions/flag66 description:67 The presence of this property indicates that the UART has dedicated lines68 for RTS/CTS hardware flow control, and that they are available for use69 (wired and enabled by pinmux configuration). This depends on both the70 UART hardware and the board wiring.71 72 rx-tx-swap:73 type: boolean74 description: RX and TX pins are swapped.75 76 cts-rts-swap:77 type: boolean78 description: CTS and RTS pins are swapped.79 80 rx-threshold:81 $ref: /schemas/types.yaml#/definitions/uint3282 description:83 RX FIFO threshold configuration (in bytes).84 85 tx-threshold:86 $ref: /schemas/types.yaml#/definitions/uint3287 description:88 TX FIFO threshold configuration (in bytes).89 90patternProperties:91 "^(bluetooth|bluetooth-gnss|embedded-controller|gnss|gps|mcu|onewire)$":92 if:93 type: object94 then:95 additionalProperties: true96 $ref: serial-peripheral-props.yaml#97 description:98 Serial attached devices shall be a child node of the host UART device99 the slave device is attached to. It is expected that the attached100 device is the only child node of the UART device. The slave device node101 name shall reflect the generic type of device for the node.102 103 properties:104 compatible:105 description:106 Compatible of the device connected to the serial port.107 108 required:109 - compatible110 111if:112 required:113 - uart-has-rtscts114then:115 properties:116 cts-gpios: false117 rts-gpios: false118 119additionalProperties: true120 121examples:122 - |123 serial@1234 {124 compatible = "ns16550a";125 reg = <0x1234 0x20>;126 interrupts = <1>;127 128 bluetooth {129 compatible = "brcm,bcm4330-bt";130 interrupt-parent = <&gpio>;131 interrupts = <10>;132 };133 };134