dt-bindings: serial: Convert arm,pl011 to json-schema
Convert the arm,pl011 binding to DT schema using json-schema. The zte,zx296702-uart binding appears to be broken as the dts files are missing 'arm,primecell'. That's included in the schema here to throw a warning. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-serial@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a26988e8fe
commit
abe9213a5e
|
@ -1,51 +0,0 @@
|
||||||
* ARM AMBA Primecell PL011 serial UART
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: must be "arm,primecell", "arm,pl011", "zte,zx296702-uart"
|
|
||||||
- reg: exactly one register range with length 0x1000
|
|
||||||
- interrupts: exactly one interrupt specifier
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- pinctrl:
|
|
||||||
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
|
|
||||||
- clocks:
|
|
||||||
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.
|
|
||||||
- clock-names:
|
|
||||||
When present, the first clock listed must be named
|
|
||||||
"uartclk" and the second clock listed must be named
|
|
||||||
"apb_pclk"
|
|
||||||
- dmas:
|
|
||||||
When present, may have one or two dma channels.
|
|
||||||
The first one must be named "rx", the second one
|
|
||||||
must be named "tx".
|
|
||||||
- auto-poll:
|
|
||||||
Enables polling when using RX DMA.
|
|
||||||
- poll-rate-ms:
|
|
||||||
Rate at which poll occurs when auto-poll is set,
|
|
||||||
default 100ms.
|
|
||||||
- poll-timeout-ms:
|
|
||||||
Poll timeout when auto-poll is set, default
|
|
||||||
3000ms.
|
|
||||||
|
|
||||||
See also bindings/arm/primecell.txt
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
uart@80120000 {
|
|
||||||
compatible = "arm,pl011", "arm,primecell";
|
|
||||||
reg = <0x80120000 0x1000>;
|
|
||||||
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
|
|
||||||
dma-names = "rx", "tx";
|
|
||||||
clocks = <&foo_clk>, <&bar_clk>;
|
|
||||||
clock-names = "uartclk", "apb_pclk";
|
|
||||||
};
|
|
|
@ -0,0 +1,126 @@
|
||||||
|
# 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: /schemas/serial.yaml#
|
||||||
|
|
||||||
|
# Need a custom select here or 'arm,primecell' will match on lots of nodes
|
||||||
|
select:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- arm,pl011
|
||||||
|
- zte,zx296702-uart
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- const: arm,pl011
|
||||||
|
- const: arm,primecell
|
||||||
|
- items:
|
||||||
|
- const: zte,zx296702-uart
|
||||||
|
- 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.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- default: 100
|
||||||
|
|
||||||
|
poll-timeout-ms:
|
||||||
|
description:
|
||||||
|
Poll timeout when auto-poll is set, default
|
||||||
|
3000ms.
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
- default: 3000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
poll-rate-ms: [ auto-poll ]
|
||||||
|
poll-timeout-ms: [ auto-poll ]
|
||||||
|
|
||||||
|
additionalProperties: 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";
|
||||||
|
};
|
||||||
|
|
||||||
|
...
|
Loading…
Reference in New Issue