linux/Documentation/devicetree/bindings/serial/renesas,rsci.yaml

167 lines
3.5 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/serial/renesas,rsci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas RSCI Serial Communication Interface
maintainers:
- Geert Uytterhoeven <geert+renesas@glider.be>
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
properties:
compatible:
oneOf:
- enum:
- renesas,r9a09g047-rsci # RZ/G3E
- renesas,r9a09g077-rsci # RZ/T2H
- items:
- enum:
- renesas,r9a09g056-rsci # RZ/V2N
- renesas,r9a09g057-rsci # RZ/V2H(P)
- const: renesas,r9a09g047-rsci
- items:
- const: renesas,r9a09g087-rsci # RZ/N2H
- const: renesas,r9a09g077-rsci # RZ/T2H
reg:
maxItems: 1
interrupts:
minItems: 4
items:
- description: Error interrupt
- description: Receive buffer full interrupt
- description: Transmit buffer empty interrupt
- description: Transmit end interrupt
- description: Active edge detection interrupt
- description: Break field detection interrupt
interrupt-names:
minItems: 4
items:
- const: eri
- const: rxi
- const: txi
- const: tei
- const: aed
- const: bfd
clocks:
minItems: 2
maxItems: 6
clock-names:
oneOf:
- items:
- const: operation
- const: bus
- const: sck # optional external clock input
minItems: 2
- items:
- const: pclk
- const: tclk
- const: tclk_div4
- const: tclk_div16
- const: tclk_div64
- const: sck # optional external clock input
minItems: 5
resets:
items:
- description: Input for resetting the APB clock
- description: Input for resetting TCLK
reset-names:
items:
- const: presetn
- const: tresetn
power-domains:
maxItems: 1
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- power-domains
allOf:
- $ref: serial.yaml#
- if:
properties:
compatible:
contains:
const: renesas,r9a09g077-rsci
then:
properties:
interrupts:
maxItems: 4
interrupt-names:
maxItems: 4
clocks:
minItems: 2
maxItems: 3
clock-names:
minItems: 2
maxItems: 3
resets: false
- if:
properties:
compatible:
contains:
const: renesas,r9a09g047-rsci
then:
properties:
interrupts:
minItems: 6
interrupt-names:
minItems: 6
clocks:
minItems: 5
maxItems: 6
clock-names:
minItems: 5
maxItems: 6
required:
- resets
- reset-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/renesas-cpg-mssr.h>
sci0: serial@80005000 {
compatible = "renesas,r9a09g077-rsci";
reg = <0x80005000 0x400>;
interrupts = <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 591 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 592 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "eri", "rxi", "txi", "tei";
clocks = <&cpg CPG_MOD 8>, <&cpg CPG_CORE 13>;
clock-names = "operation", "bus";
power-domains = <&cpg>;
};