127 lines
2.5 KiB
YAML
127 lines
2.5 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/serial/pl011.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: ARM AMBA Primecell PL011 serial UART
|
||
|
|
||
|
maintainers:
|
||
|
- Rob Herring <robh@kernel.org>
|
||
|
|
||
|
allOf:
|
||
|
- $ref: serial.yaml#
|
||
|
|
||
|
# Need a custom select here or 'arm,primecell' will match on lots of nodes
|
||
|
select:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- arm,pl011
|
||
|
required:
|
||
|
- compatible
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
items:
|
||
|
- const: arm,pl011
|
||
|
- const: arm,primecell
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
pinctrl-0: true
|
||
|
pinctrl-1: true
|
||
|
|
||
|
pinctrl-names:
|
||
|
description:
|
||
|
When present, must have one state named "default",
|
||
|
and may contain a second name named "sleep". The former
|
||
|
state sets up pins for ordinary operation whereas
|
||
|
the latter state will put the associated pins to sleep
|
||
|
when the UART is unused
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- const: default
|
||
|
- const: sleep
|
||
|
|
||
|
clocks:
|
||
|
description:
|
||
|
When present, the first clock listed must correspond to
|
||
|
the clock named UARTCLK on the IP block, i.e. the clock
|
||
|
to the external serial line, whereas the second clock
|
||
|
must correspond to the PCLK clocking the internal logic
|
||
|
of the block. Just listing one clock (the first one) is
|
||
|
deprecated.
|
||
|
maxItems: 2
|
||
|
|
||
|
clock-names:
|
||
|
items:
|
||
|
- const: uartclk
|
||
|
- const: apb_pclk
|
||
|
|
||
|
dmas:
|
||
|
minItems: 1
|
||
|
maxItems: 2
|
||
|
|
||
|
dma-names:
|
||
|
minItems: 1
|
||
|
items:
|
||
|
- const: rx
|
||
|
- const: tx
|
||
|
|
||
|
auto-poll:
|
||
|
description:
|
||
|
Enables polling when using RX DMA.
|
||
|
type: boolean
|
||
|
|
||
|
poll-rate-ms:
|
||
|
description:
|
||
|
Rate at which poll occurs when auto-poll is set.
|
||
|
default 100ms.
|
||
|
default: 100
|
||
|
|
||
|
poll-timeout-ms:
|
||
|
description:
|
||
|
Poll timeout when auto-poll is set, default
|
||
|
3000ms.
|
||
|
default: 3000
|
||
|
|
||
|
resets:
|
||
|
maxItems: 1
|
||
|
|
||
|
reg-io-width:
|
||
|
description:
|
||
|
The size (in bytes) of the IO accesses that should be performed
|
||
|
on the device.
|
||
|
enum: [1, 4]
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- interrupts
|
||
|
|
||
|
dependencies:
|
||
|
poll-rate-ms: [ auto-poll ]
|
||
|
poll-timeout-ms: [ auto-poll ]
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
serial@80120000 {
|
||
|
compatible = "arm,pl011", "arm,primecell";
|
||
|
reg = <0x80120000 0x1000>;
|
||
|
interrupts = <0 11 4>;
|
||
|
dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&foo_clk>, <&bar_clk>;
|
||
|
clock-names = "uartclk", "apb_pclk";
|
||
|
};
|
||
|
|
||
|
...
|