blob: f40f316943baa7ead7fa0006c7b65c69f4153e6f [file] [edit]
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/renesas,rzv2h-rspi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas RZ/V2H(P) Renesas Serial Peripheral Interface (RSPI)
maintainers:
- Fabrizio Castro <fabrizio.castro.jz@renesas.com>
properties:
compatible:
oneOf:
- enum:
- renesas,r9a08g046-rspi # RZ/G3L
- renesas,r9a09g057-rspi # RZ/V2H(P)
- renesas,r9a09g077-rspi # RZ/T2H
- items:
- enum:
- renesas,r9a09g047-rspi # RZ/G3E
- renesas,r9a09g056-rspi # RZ/V2N
- const: renesas,r9a09g057-rspi
- items:
- const: renesas,r9a09g087-rspi # RZ/N2H
- const: renesas,r9a09g077-rspi # RZ/T2H
reg:
maxItems: 1
interrupts:
items:
- description: Idle Interrupt
- description: Error Interrupt
- description: Communication End Interrupt
- description: Receive Buffer Full Interrupt
- description: Transmit Buffer Empty Interrupt
interrupt-names:
items:
- const: idle
- const: error
- const: end
- const: rx
- const: tx
clocks:
minItems: 2
maxItems: 3
clock-names:
minItems: 2
maxItems: 3
resets:
maxItems: 2
reset-names:
items:
- const: presetn
- const: tresetn
dmas:
minItems: 2
maxItems: 10
description:
Must contain a list of pairs of references to DMA specifiers, one for
transmission, and one for reception.
dma-names:
minItems: 2
maxItems: 10
items:
enum:
- rx
- tx
power-domains:
maxItems: 1
required:
- compatible
- reg
- interrupts
- interrupt-names
- clocks
- clock-names
- power-domains
- '#address-cells'
- '#size-cells'
allOf:
- $ref: spi-controller.yaml#
- if:
properties:
compatible:
contains:
enum:
- renesas,r9a08g046-rspi
then:
properties:
clocks:
maxItems: 2
clock-names:
items:
- const: pclk
- const: tclk
dmas:
maxItems: 2
dma-names:
items:
- const: rx
- const: tx
required:
- resets
- reset-names
- if:
properties:
compatible:
contains:
enum:
- renesas,r9a09g057-rspi
then:
properties:
clocks:
minItems: 3
clock-names:
items:
- const: pclk
- const: pclk_sfr
- const: tclk
required:
- resets
- reset-names
- if:
properties:
compatible:
contains:
enum:
- renesas,r9a09g077-rspi
then:
properties:
clocks:
maxItems: 2
clock-names:
items:
- const: pclk
- const: pclkspi
resets: false
reset-names: false
dmas:
maxItems: 6
dma-names:
maxItems: 6
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/renesas-cpg-mssr.h>
spi@12800800 {
compatible = "renesas,r9a09g057-rspi";
reg = <0x12800800 0x400>;
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 113 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 504 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 505 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "idle", "error", "end", "rx", "tx";
clocks = <&cpg CPG_MOD 0x5a>,
<&cpg CPG_MOD 0x5b>,
<&cpg CPG_MOD 0x5c>;
clock-names = "pclk", "pclk_sfr", "tclk";
resets = <&cpg 0x7f>, <&cpg 0x80>;
reset-names = "presetn", "tresetn";
power-domains = <&cpg>;
#address-cells = <1>;
#size-cells = <0>;
};