1abe9213aSRob Herring# SPDX-License-Identifier: GPL-2.0
2abe9213aSRob Herring%YAML 1.2
3abe9213aSRob Herring---
4abe9213aSRob Herring$id: http://devicetree.org/schemas/serial/pl011.yaml#
5abe9213aSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6abe9213aSRob Herring
7abe9213aSRob Herringtitle: ARM AMBA Primecell PL011 serial UART
8abe9213aSRob Herring
9abe9213aSRob Herringmaintainers:
10abe9213aSRob Herring  - Rob Herring <robh@kernel.org>
11abe9213aSRob Herring
12abe9213aSRob HerringallOf:
138f082dcfSZhen Lei  - $ref: serial.yaml#
14abe9213aSRob Herring
15abe9213aSRob Herring# Need a custom select here or 'arm,primecell' will match on lots of nodes
16abe9213aSRob Herringselect:
17abe9213aSRob Herring  properties:
18abe9213aSRob Herring    compatible:
19abe9213aSRob Herring      contains:
20abe9213aSRob Herring        enum:
21abe9213aSRob Herring          - arm,pl011
22abe9213aSRob Herring  required:
23abe9213aSRob Herring    - compatible
24abe9213aSRob Herring
25abe9213aSRob Herringproperties:
26abe9213aSRob Herring  compatible:
27f2b0fe4bSZhen Lei    items:
28abe9213aSRob Herring      - const: arm,pl011
29abe9213aSRob Herring      - const: arm,primecell
30abe9213aSRob Herring
31abe9213aSRob Herring  reg:
32abe9213aSRob Herring    maxItems: 1
33abe9213aSRob Herring
34abe9213aSRob Herring  interrupts:
35abe9213aSRob Herring    maxItems: 1
36abe9213aSRob Herring
37abe9213aSRob Herring  pinctrl-0: true
38abe9213aSRob Herring  pinctrl-1: true
39abe9213aSRob Herring
40abe9213aSRob Herring  pinctrl-names:
41abe9213aSRob Herring    description:
42abe9213aSRob Herring      When present, must have one state named "default",
43abe9213aSRob Herring      and may contain a second name named "sleep". The former
44abe9213aSRob Herring      state sets up pins for ordinary operation whereas
45abe9213aSRob Herring      the latter state will put the associated pins to sleep
46abe9213aSRob Herring      when the UART is unused
47abe9213aSRob Herring    minItems: 1
48abe9213aSRob Herring    items:
49abe9213aSRob Herring      - const: default
50abe9213aSRob Herring      - const: sleep
51abe9213aSRob Herring
52abe9213aSRob Herring  clocks:
53abe9213aSRob Herring    description:
54abe9213aSRob Herring      When present, the first clock listed must correspond to
55abe9213aSRob Herring      the clock named UARTCLK on the IP block, i.e. the clock
56abe9213aSRob Herring      to the external serial line, whereas the second clock
57abe9213aSRob Herring      must correspond to the PCLK clocking the internal logic
58abe9213aSRob Herring      of the block. Just listing one clock (the first one) is
59abe9213aSRob Herring      deprecated.
60abe9213aSRob Herring    maxItems: 2
61abe9213aSRob Herring
62abe9213aSRob Herring  clock-names:
63abe9213aSRob Herring    items:
64abe9213aSRob Herring      - const: uartclk
65abe9213aSRob Herring      - const: apb_pclk
66abe9213aSRob Herring
67abe9213aSRob Herring  dmas:
68abe9213aSRob Herring    minItems: 1
69abe9213aSRob Herring    maxItems: 2
70abe9213aSRob Herring
71abe9213aSRob Herring  dma-names:
72abe9213aSRob Herring    minItems: 1
73abe9213aSRob Herring    items:
74abe9213aSRob Herring      - const: rx
75abe9213aSRob Herring      - const: tx
76abe9213aSRob Herring
77abe9213aSRob Herring  auto-poll:
78abe9213aSRob Herring    description:
79abe9213aSRob Herring      Enables polling when using RX DMA.
80abe9213aSRob Herring    type: boolean
81abe9213aSRob Herring
82abe9213aSRob Herring  poll-rate-ms:
83abe9213aSRob Herring    description:
84abe9213aSRob Herring      Rate at which poll occurs when auto-poll is set.
85abe9213aSRob Herring      default 100ms.
863d21a460SRob Herring    default: 100
87abe9213aSRob Herring
88abe9213aSRob Herring  poll-timeout-ms:
89abe9213aSRob Herring    description:
90abe9213aSRob Herring      Poll timeout when auto-poll is set, default
91abe9213aSRob Herring      3000ms.
923d21a460SRob Herring    default: 3000
93abe9213aSRob Herring
94180d597aSLinus Walleij  resets:
95180d597aSLinus Walleij    maxItems: 1
96180d597aSLinus Walleij
97*8ed030deSShubhrajyoti Datta  reg-io-width:
98*8ed030deSShubhrajyoti Datta    description:
99*8ed030deSShubhrajyoti Datta      The size (in bytes) of the IO accesses that should be performed
100*8ed030deSShubhrajyoti Datta      on the device.
101*8ed030deSShubhrajyoti Datta    enum: [1, 4]
102*8ed030deSShubhrajyoti Datta
103abe9213aSRob Herringrequired:
104abe9213aSRob Herring  - compatible
105abe9213aSRob Herring  - reg
106abe9213aSRob Herring  - interrupts
107abe9213aSRob Herring
108abe9213aSRob Herringdependencies:
109abe9213aSRob Herring  poll-rate-ms: [ auto-poll ]
110abe9213aSRob Herring  poll-timeout-ms: [ auto-poll ]
111abe9213aSRob Herring
1128f082dcfSZhen LeiunevaluatedProperties: false
113abe9213aSRob Herring
114abe9213aSRob Herringexamples:
115abe9213aSRob Herring  - |
116abe9213aSRob Herring    serial@80120000 {
117abe9213aSRob Herring      compatible = "arm,pl011", "arm,primecell";
118abe9213aSRob Herring      reg = <0x80120000 0x1000>;
119abe9213aSRob Herring      interrupts = <0 11 4>;
120abe9213aSRob Herring      dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
121abe9213aSRob Herring      dma-names = "rx", "tx";
122abe9213aSRob Herring      clocks = <&foo_clk>, <&bar_clk>;
123abe9213aSRob Herring      clock-names = "uartclk", "apb_pclk";
124abe9213aSRob Herring    };
125abe9213aSRob Herring
126abe9213aSRob Herring...
127