Commit 4df7e9a1 authored by Neil Armstrong's avatar Neil Armstrong Committed by Rob Herring
Browse files

dt-bindings: serial: meson-uart: convert to yaml



Now that we have the DT validation in place, let's convert the device tree
bindings for the Amlogic UART Serial controller over to a YAML schemas.

Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 87a55485
Loading
Loading
Loading
Loading
+0 −38
Original line number Diff line number Diff line
Amlogic Meson SoC UART Serial Interface
=======================================

The Amlogic Meson SoC UART Serial Interface is present on a large range
of SoCs, and can be present either in the "Always-On" power domain or the
"Everything-Else" power domain.

The particularity of the "Always-On" Serial Interface is that the hardware
is active since power-on and does not need any clock gating and is usable
as very early serial console.

Required properties:
- compatible : compatible: value should be different for each SoC family as :
	- Meson6 : "amlogic,meson6-uart"
	- Meson8 : "amlogic,meson8-uart"
	- Meson8b : "amlogic,meson8b-uart"
	- GX (GXBB, GXL, GXM) : "amlogic,meson-gx-uart"
	eventually followed by : "amlogic,meson-ao-uart" if this UART interface
	is in the "Always-On" power domain.
- reg : offset and length of the register set for the device.
- interrupts : identifier to the device interrupt
- clocks : a list of phandle + clock-specifier pairs, one for each
	   entry in clock names.
- clock-names :
   * "xtal" for external xtal clock identifier
   * "pclk" for the bus core clock, either the clk81 clock or the gate clock
   * "baud" for the source of the baudrate generator, can be either the xtal
	or the pclk.

e.g.
uart_A: serial@84c0 {
	compatible = "amlogic,meson-gx-uart";
	reg = <0x0 0x84c0 0x0 0x14>;
	interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
	/* Use xtal as baud rate clock source */
	clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
	clock-names = "xtal", "pclk", "baud";
};
+73 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019 BayLibre, SAS
%YAML 1.2
---
$id: "http://devicetree.org/schemas/serial/amlogic,meson-uart.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Amlogic Meson SoC UART Serial Interface

maintainers:
  - Neil Armstrong <narmstrong@baylibre.com>

description: |
  The Amlogic Meson SoC UART Serial Interface is present on a large range
  of SoCs, and can be present either in the "Always-On" power domain or the
  "Everything-Else" power domain.

  The particularity of the "Always-On" Serial Interface is that the hardware
  is active since power-on and does not need any clock gating and is usable
  as very early serial console.

properties:
  compatible:
    oneOf:
      - description: Always-on power domain UART controller
        items:
        - enum:
          - amlogic,meson6-uart
          - amlogic,meson8-uart
          - amlogic,meson8b-uart
          - amlogic,meson-gx-uart
        - const: amlogic,meson-ao-uart
      - description: Everything-Else power domain UART controller
        enum:
        - amlogic,meson6-uart
        - amlogic,meson8-uart
        - amlogic,meson8b-uart
        - amlogic,meson-gx-uart

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: external xtal clock identifier
      - description: the bus core clock, either the clk81 clock or the gate clock
      - description: the source of the baudrate generator, can be either the xtal or the pclk

  clock-names:
    items:
      - const: xtal
      - const: pclk
      - const: baud

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

examples:
  - |
    serial@84c0 {
          compatible = "amlogic,meson-gx-uart";
          reg = <0x84c0 0x14>;
          interrupts = <26>;
          clocks = <&xtal>, <&pclk>, <&xtal>;
          clock-names = "xtal", "pclk", "baud";
    };