dt-bindings: serial: Convert sprd-uart to json-schema

Convert the sprd-uart binding to DT schema using json-schema.

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
[robh: dual license GPL/BSD]
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Chunyan Zhang 2019-11-11 17:02:27 +08:00 коммит произвёл Rob Herring
Родитель f46e47f84a
Коммит 12e72714cf
2 изменённых файлов: 71 добавлений и 32 удалений

Просмотреть файл

@ -1,32 +0,0 @@
* Spreadtrum serial UART
Required properties:
- compatible: must be one of:
* "sprd,sc9836-uart"
* "sprd,sc9860-uart", "sprd,sc9836-uart"
- reg: offset and length of the register set for the device
- interrupts: exactly one interrupt specifier
- clock-names: Should contain following entries:
"enable" for UART module enable clock,
"uart" for UART clock,
"source" for UART source (parent) clock.
- clocks: Should contain a clock specifier for each entry in clock-names.
UART clock and source clock are optional properties, but enable clock
is required.
Optional properties:
- dma-names: Should contain "rx" for receive and "tx" for transmit channels.
- dmas: A list of dma specifiers, one for each entry in dma-names.
Example:
uart0: serial@0 {
compatible = "sprd,sc9860-uart",
"sprd,sc9836-uart";
reg = <0x0 0x100>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
dma-names = "rx", "tx";
dmas = <&ap_dma 19>, <&ap_dma 20>;
clock-names = "enable", "uart", "source";
clocks = <&clk_ap_apb_gates 9>, <&clk_uart0>, <&ext_26m>;
};

Просмотреть файл

@ -0,0 +1,71 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019 Unisoc Inc.
%YAML 1.2
---
$id: "http://devicetree.org/schemas/serial/sprd-uart.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: Spreadtrum serial UART
maintainers:
- Orson Zhai <orsonzhai@gmail.com>
- Baolin Wang <baolin.wang7@gmail.com>
- Chunyan Zhang <zhang.lyra@gmail.com>
properties:
compatible:
oneOf:
- items:
- enum:
- sprd,sc9860-uart
- const: sprd,sc9836-uart
- const: sprd,sc9836-uart
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 1
maxItems: 3
clock-names:
description: |
"enable" for UART module enable clock, "uart" for UART clock, "source"
for UART source (parent) clock.
items:
- const: enable
- const: uart
- const: source
dmas:
minItems: 1
maxItems: 2
dma-names:
minItems: 1
items:
- const: rx
- const: tx
required:
- compatible
- reg
- interrupts
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
serial@0 {
compatible = "sprd,sc9860-uart", "sprd,sc9836-uart";
reg = <0x0 0x100>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
dma-names = "rx", "tx";
dmas = <&ap_dma 19>, <&ap_dma 20>;
clock-names = "enable", "uart", "source";
clocks = <&clk_ap_apb_gates 9>, <&clk_uart0>, <&ext_26m>;
};
...