Commit 66f669d6 authored by Anson Huang's avatar Anson Huang Committed by Rob Herring
Browse files

dt-bindings: serial: Convert MXS auart to json-schema



Convert the MXS auart binding to DT schema format using json-schema.

Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
Link: https://lore.kernel.org/r/1597721685-9280-4-git-send-email-Anson.Huang@nxp.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent ebd35674
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
* Freescale MXS Application UART (AUART)

Required properties for all SoCs:
- compatible : Should be one of fallowing variants:
	"fsl,imx23-auart" - Freescale i.MX23
	"fsl,imx28-auart" - Freescale i.MX28
	"alphascale,asm9260-auart" - Alphascale ASM9260
- reg : Address and length of the register set for the device
- interrupts : Should contain the auart interrupt numbers
- dmas: DMA specifier, consisting of a phandle to DMA controller node
  and AUART DMA channel ID.
  Refer to dma.txt and fsl-mxs-dma.txt for details.
- dma-names: "rx" for RX channel, "tx" for TX channel.

Required properties for "alphascale,asm9260-auart":
- clocks : the clocks feeding the watchdog timer. See clock-bindings.txt
- clock-names : should be set to
	"mod" - source for tick counter.
	"ahb" - ahb gate.

Optional properties:
- uart-has-rtscts : Indicate the UART has RTS and CTS lines
  for hardware flow control,
	it also means you enable the DMA support for this UART.
- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
  line respectively. It will use specified PIO instead of the peripheral
  function pin for the USART feature.
  If unsure, don't specify this property.

Example:
auart0: serial@8006a000 {
	compatible = "fsl,imx28-auart", "fsl,imx23-auart";
	reg = <0x8006a000 0x2000>;
	interrupts = <112>;
	dmas = <&dma_apbx 8>, <&dma_apbx 9>;
	dma-names = "rx", "tx";
	cts-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
	dsr-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
	dcd-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
};

Note: Each auart port should have an alias correctly numbered in "aliases"
node.

Example:

aliases {
	serial0 = &auart0;
	serial1 = &auart1;
	serial2 = &auart2;
	serial3 = &auart3;
	serial4 = &auart4;
};
+91 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/serial/fsl-mxs-auart.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale MXS Application UART (AUART)

maintainers:
  - Fabio Estevam <fabio.estevam@nxp.com>

allOf:
  - $ref: "serial.yaml"

properties:
  compatible:
    enum:
      - fsl,imx23-auart
      - fsl,imx28-auart
      - alphascale,asm9260-auart

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  dmas:
    items:
      - description: DMA controller phandle and request line for RX
      - description: DMA controller phandle and request line for TX

  dma-names:
    items:
      - const: rx
      - const: tx

  clocks:
    items:
      - description: mod clock
      - description: ahb clock
    minItems: 1

  clock-names:
    items:
      - const: mod
      - const: ahb
    minItems: 1

  uart-has-rtscts: true
  rts-gpios: true
  cts-gpios: true
  dtr-gpios: true
  dsr-gpios: true
  rng-gpios: true
  dcd-gpios: true

if:
  properties:
    compatible:
      contains:
        enum:
          - alphascale,asm9260-auart
then:
  required:
    - clocks
    - clock-names

required:
  - compatible
  - reg
  - interrupts
  - dmas
  - dma-names

unevaluatedProperties: false

examples:
  - |
    aliases {
        serial0 = &auart0;
    };

    auart0: serial@8006a000 {
        compatible = "fsl,imx28-auart";
        reg = <0x8006a000 0x2000>;
        interrupts = <112>;
        dmas = <&dma_apbx 8>, <&dma_apbx 9>;
        dma-names = "rx", "tx";
        clocks = <&clks 45>;
    };