Skip to content

Commit b2d2590

Browse files
bijudaskrzk
authored andcommitted
dt-bindings: memory: Document RZ/G3E support
Document support for the Expanded Serial Peripheral Interface (xSPI) Controller in the Renesas RZ/G3E (R9A09G047) SoC. Reviewed-by: Rob Herring (Arm) <[email protected]> Signed-off-by: Biju Das <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Krzysztof Kozlowski <[email protected]>
1 parent 74c35c8 commit b2d2590

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/memory-controllers/renesas,rzg3e-xspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Renesas Expanded Serial Peripheral Interface (xSPI)
8+
9+
maintainers:
10+
- Biju Das <[email protected]>
11+
12+
description: |
13+
Renesas xSPI allows a SPI flash connected to the SoC to be accessed via
14+
the memory-mapping or the manual command mode.
15+
16+
The flash chip itself should be represented by a subnode of the XSPI node.
17+
The flash interface is selected based on the "compatible" property of this
18+
subnode:
19+
- "jedec,spi-nor";
20+
21+
allOf:
22+
- $ref: /schemas/spi/spi-controller.yaml#
23+
24+
properties:
25+
compatible:
26+
const: renesas,r9a09g047-xspi # RZ/G3E
27+
28+
reg:
29+
items:
30+
- description: xSPI registers
31+
- description: direct mapping area
32+
33+
reg-names:
34+
items:
35+
- const: regs
36+
- const: dirmap
37+
38+
interrupts:
39+
items:
40+
- description: Interrupt pulse signal by factors excluding errors
41+
- description: Interrupt pulse signal by error factors
42+
43+
interrupt-names:
44+
items:
45+
- const: pulse
46+
- const: err_pulse
47+
48+
clocks:
49+
items:
50+
- description: AHB clock
51+
- description: AXI clock
52+
- description: SPI clock
53+
- description: Double speed SPI clock
54+
55+
clock-names:
56+
items:
57+
- const: ahb
58+
- const: axi
59+
- const: spi
60+
- const: spix2
61+
62+
power-domains:
63+
maxItems: 1
64+
65+
resets:
66+
items:
67+
- description: Hardware reset
68+
- description: AXI reset
69+
70+
reset-names:
71+
items:
72+
- const: hresetn
73+
- const: aresetn
74+
75+
renesas,xspi-cs-addr-sys:
76+
$ref: /schemas/types.yaml#/definitions/phandle
77+
description: |
78+
Phandle to the system controller (sys) that allows to configure
79+
xSPI CS0 and CS1 addresses.
80+
81+
patternProperties:
82+
"flash@[0-9a-f]+$":
83+
type: object
84+
additionalProperties: true
85+
86+
properties:
87+
compatible:
88+
contains:
89+
const: jedec,spi-nor
90+
91+
required:
92+
- compatible
93+
- reg
94+
- reg-names
95+
- interrupts
96+
- interrupt-names
97+
- clocks
98+
- clock-names
99+
- power-domains
100+
- resets
101+
- reset-names
102+
- '#address-cells'
103+
- '#size-cells'
104+
105+
unevaluatedProperties: false
106+
107+
examples:
108+
- |
109+
#include <dt-bindings/interrupt-controller/arm-gic.h>
110+
#include <dt-bindings/clock/renesas,r9a09g047-cpg.h>
111+
112+
spi@11030000 {
113+
compatible = "renesas,r9a09g047-xspi";
114+
reg = <0x11030000 0x10000>, <0x20000000 0x10000000>;
115+
reg-names = "regs", "dirmap";
116+
interrupts = <GIC_SPI 228 IRQ_TYPE_EDGE_RISING>,
117+
<GIC_SPI 229 IRQ_TYPE_EDGE_RISING>;
118+
interrupt-names = "pulse", "err_pulse";
119+
clocks = <&cpg CPG_MOD 0x9f>, <&cpg CPG_MOD 0xa0>,
120+
<&cpg CPG_CORE 9>, <&cpg CPG_MOD 0xa1>;
121+
clock-names = "ahb", "axi", "spi", "spix2";
122+
power-domains = <&cpg>;
123+
resets = <&cpg 0xa3>, <&cpg 0xa4>;
124+
reset-names = "hresetn", "aresetn";
125+
#address-cells = <1>;
126+
#size-cells = <0>;
127+
128+
flash@0 {
129+
compatible = "jedec,spi-nor";
130+
reg = <0>;
131+
spi-max-frequency = <40000000>;
132+
spi-tx-bus-width = <1>;
133+
spi-rx-bus-width = <1>;
134+
};
135+
};

0 commit comments

Comments
 (0)