Skip to content

Commit b71cb34

Browse files
committed
Add RSPI support for RZ/V2H
Merge series from Fabrizio Castro <[email protected]>: This series adds support for the Renesas RZ/V2H RSPI IP.
2 parents 317fb4c + 8b61c89 commit b71cb34

File tree

4 files changed

+571
-0
lines changed

4 files changed

+571
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/renesas,rzv2h-rspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas RZ/V2H(P) Renesas Serial Peripheral Interface (RSPI)
8+
9+
maintainers:
10+
- Fabrizio Castro <[email protected]>
11+
12+
allOf:
13+
- $ref: spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: renesas,r9a09g057-rspi # RZ/V2H(P)
18+
19+
reg:
20+
maxItems: 1
21+
22+
interrupts:
23+
items:
24+
- description: Idle Interrupt
25+
- description: Error Interrupt
26+
- description: Communication End Interrupt
27+
- description: Receive Buffer Full Interrupt
28+
- description: Transmit Buffer Empty Interrupt
29+
30+
interrupt-names:
31+
items:
32+
- const: idle
33+
- const: error
34+
- const: end
35+
- const: rx
36+
- const: tx
37+
38+
clocks:
39+
maxItems: 3
40+
41+
clock-names:
42+
items:
43+
- const: pclk
44+
- const: pclk_sfr
45+
- const: tclk
46+
47+
resets:
48+
maxItems: 2
49+
50+
reset-names:
51+
items:
52+
- const: presetn
53+
- const: tresetn
54+
55+
power-domains:
56+
maxItems: 1
57+
58+
required:
59+
- compatible
60+
- reg
61+
- interrupts
62+
- interrupt-names
63+
- clocks
64+
- clock-names
65+
- resets
66+
- reset-names
67+
- power-domains
68+
- '#address-cells'
69+
- '#size-cells'
70+
71+
unevaluatedProperties: false
72+
73+
examples:
74+
- |
75+
#include <dt-bindings/interrupt-controller/arm-gic.h>
76+
#include <dt-bindings/clock/renesas-cpg-mssr.h>
77+
spi@12800800 {
78+
compatible = "renesas,r9a09g057-rspi";
79+
80+
reg = <0x12800800 0x400>;
81+
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
82+
<GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
83+
<GIC_SPI 113 IRQ_TYPE_EDGE_RISING>,
84+
<GIC_SPI 504 IRQ_TYPE_EDGE_RISING>,
85+
<GIC_SPI 505 IRQ_TYPE_EDGE_RISING>;
86+
interrupt-names = "idle", "error", "end", "rx", "tx";
87+
clocks = <&cpg CPG_MOD 0x5a>,
88+
<&cpg CPG_MOD 0x5b>,
89+
<&cpg CPG_MOD 0x5c>;
90+
clock-names = "pclk", "pclk_sfr", "tclk";
91+
resets = <&cpg 0x7f>, <&cpg 0x80>;
92+
reset-names = "presetn", "tresetn";
93+
power-domains = <&cpg>;
94+
#address-cells = <1>;
95+
#size-cells = <0>;
96+
};

drivers/spi/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -932,6 +932,14 @@ config SPI_RSPI
932932
help
933933
SPI driver for Renesas RSPI and QSPI blocks.
934934

935+
config SPI_RZV2H_RSPI
936+
tristate "Renesas RZ/V2H RSPI controller"
937+
depends on ARCH_RENESAS || COMPILE_TEST
938+
help
939+
RSPI driver for the Renesas RZ/V2H Serial Peripheral Interface (RSPI).
940+
RSPI supports both SPI host and SPI target roles. This option only
941+
enables the SPI host role.
942+
935943
config SPI_RZV2M_CSI
936944
tristate "Renesas RZ/V2M CSI controller"
937945
depends on ARCH_RENESAS || COMPILE_TEST

drivers/spi/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ obj-$(CONFIG_MACH_REALTEK_RTL) += spi-realtek-rtl.o
127127
obj-$(CONFIG_SPI_REALTEK_SNAND) += spi-realtek-rtl-snand.o
128128
obj-$(CONFIG_SPI_RPCIF) += spi-rpc-if.o
129129
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
130+
obj-$(CONFIG_SPI_RZV2H_RSPI) += spi-rzv2h-rspi.o
130131
obj-$(CONFIG_SPI_RZV2M_CSI) += spi-rzv2m-csi.o
131132
obj-$(CONFIG_SPI_S3C64XX) += spi-s3c64xx.o
132133
obj-$(CONFIG_SPI_SC18IS602) += spi-sc18is602.o

0 commit comments

Comments
 (0)