0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/serial/pl011.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: ARM AMBA Primecell PL011 serial UART
0008
0009 maintainers:
0010 - Rob Herring <robh@kernel.org>
0011
0012 allOf:
0013 - $ref: serial.yaml#
0014
0015 # Need a custom select here or 'arm,primecell' will match on lots of nodes
0016 select:
0017 properties:
0018 compatible:
0019 contains:
0020 enum:
0021 - arm,pl011
0022 required:
0023 - compatible
0024
0025 properties:
0026 compatible:
0027 items:
0028 - const: arm,pl011
0029 - const: arm,primecell
0030
0031 reg:
0032 maxItems: 1
0033
0034 interrupts:
0035 maxItems: 1
0036
0037 pinctrl-0: true
0038 pinctrl-1: true
0039
0040 pinctrl-names:
0041 description:
0042 When present, must have one state named "default",
0043 and may contain a second name named "sleep". The former
0044 state sets up pins for ordinary operation whereas
0045 the latter state will put the associated pins to sleep
0046 when the UART is unused
0047 minItems: 1
0048 items:
0049 - const: default
0050 - const: sleep
0051
0052 clocks:
0053 description:
0054 When present, the first clock listed must correspond to
0055 the clock named UARTCLK on the IP block, i.e. the clock
0056 to the external serial line, whereas the second clock
0057 must correspond to the PCLK clocking the internal logic
0058 of the block. Just listing one clock (the first one) is
0059 deprecated.
0060 maxItems: 2
0061
0062 clock-names:
0063 items:
0064 - const: uartclk
0065 - const: apb_pclk
0066
0067 dmas:
0068 minItems: 1
0069 maxItems: 2
0070
0071 dma-names:
0072 minItems: 1
0073 items:
0074 - const: rx
0075 - const: tx
0076
0077 auto-poll:
0078 description:
0079 Enables polling when using RX DMA.
0080 type: boolean
0081
0082 poll-rate-ms:
0083 description:
0084 Rate at which poll occurs when auto-poll is set.
0085 default 100ms.
0086 default: 100
0087
0088 poll-timeout-ms:
0089 description:
0090 Poll timeout when auto-poll is set, default
0091 3000ms.
0092 default: 3000
0093
0094 resets:
0095 maxItems: 1
0096
0097 required:
0098 - compatible
0099 - reg
0100 - interrupts
0101
0102 dependencies:
0103 poll-rate-ms: [ auto-poll ]
0104 poll-timeout-ms: [ auto-poll ]
0105
0106 unevaluatedProperties: false
0107
0108 examples:
0109 - |
0110 serial@80120000 {
0111 compatible = "arm,pl011", "arm,primecell";
0112 reg = <0x80120000 0x1000>;
0113 interrupts = <0 11 4>;
0114 dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
0115 dma-names = "rx", "tx";
0116 clocks = <&foo_clk>, <&bar_clk>;
0117 clock-names = "uartclk", "apb_pclk";
0118 };
0119
0120 ...