Commit 12e72714 authored by Chunyan Zhang's avatar Chunyan Zhang Committed by Rob Herring
Browse files

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



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

Signed-off-by: default avatarChunyan Zhang <chunyan.zhang@unisoc.com>
[robh: dual license GPL/BSD]
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent f46e47f8
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
* 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>;
	};
+71 −0
Original line number Diff line number Diff line
# 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>;
    };

...