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