Skip to content

Commit 7a3354a

Browse files
prabhakarladavpatel
authored andcommitted
docs: platform: Add documentation for Renesas RZ/Five SoC
This patch adds documentation to build Renesas RZ/Five (R9A07G043F) SoC. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Anup Patel <anup@brainfault.org>
1 parent 8b1617d commit 7a3354a

File tree

3 files changed

+167
-0
lines changed

3 files changed

+167
-0
lines changed

docs/platform/generic.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,15 @@ RISC-V Platforms Using Generic Platform
4747

4848
* **Andes AE350 Platform** (*[andes-ae350.md]*)
4949
* **QEMU RISC-V Virt Machine** (*[qemu_virt.md]*)
50+
* **Renesas RZ/Five SoC** (*[renesas-rzfive.md]*)
5051
* **Shakti C-class SoC Platform** (*[shakti_cclass.md]*)
5152
* **SiFive HiFive Unleashed** (*[sifive_fu540.md]*)
5253
* **Spike** (*[spike.md]*)
5354
* **T-HEAD C9xx series Processors** (*[thead-c9xx.md]*)
5455

5556
[andes-ae350.md]: andse-ae350.md
5657
[qemu_virt.md]: qemu_virt.md
58+
[renesas-rzfive.md]: renesas-rzfive.md
5759
[shakti_cclass.md]: shakti_cclass.md
5860
[sifive_fu540.md]: sifive_fu540.md
5961
[spike.md]: spike.md

docs/platform/platform.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ OpenSBI currently supports the following virtual and hardware platforms:
3939
processor based SOCs. More details on this platform can be found in the
4040
file *[shakti_cclass.md]*.
4141

42+
* **Renesas RZ/Five SoC**: Platform support for Renesas RZ/Five (R9A07G043F) SoC
43+
used on the Renesas RZ/Five SMARC EVK board. More details on this platform can
44+
be found in the file *[renesas-rzfive.md]*.
45+
4246
The code for these supported platforms can be used as example to implement
4347
support for other platforms. The *platform/template* directory also provides
4448
template files for implementing support for a new platform. The *objects.mk*,
@@ -54,3 +58,4 @@ comments to facilitate the implementation.
5458
[spike.md]: spike.md
5559
[fpga-openpiton.md]: fpga-openpiton.md
5660
[shakti_cclass.md]: shakti_cclass.md
61+
[renesas-rzfive.md]: renesas-rzfive.md

docs/platform/renesas-rzfive.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
Renesas RZ/Five SoC (R9A07G043F) Platform
2+
=========================================
3+
The RZ/Five microprocessor includes a single RISC-V CPU Core (Andes AX45MP)
4+
1.0 GHz, 16-bit DDR3L/DDR4 interface. Supported interfaces include:
5+
- Memory controller for DDR4-1600 / DDR3L-1333 with 16 bits
6+
- System RAM (RAM of 128 Kbytes (ECC))
7+
- SPI Multi I/O Bus Controller 1ch
8+
- SD Card Host Interface/Multimedia Card Interface (SD/MMC) 2ch
9+
- Serial Sound Interface (SSI) 4ch
10+
- Sampling Rate Converter (SRC) 1ch
11+
- USB2.0 host/function interface 2ch (ch0: Host-Function ch1: Host only)
12+
- Gigabit Ethernet Interface (GbE) 2ch
13+
- Controller Area Network Interface (CAN) 2ch (CAN-FD ISO 11898-1 (CD2014) compliant)
14+
- Multi-function Timer Pulse Unit 3 (MTU3a) 9 ch (16 bits × 8 channels, 32 bits × 1 channel)
15+
- Port Output Enable 3 (POE3)
16+
- Watchdog Timer (WDT) 1ch
17+
- General Timer (GTM) 3ch (32bits)
18+
- I2C Bus Interface (I2C) 4ch
19+
- Serial Communication Interface with FIFO (SCIFA) 5ch
20+
- Serial Communication Interface (SCI) 2ch
21+
- Renesas Serial Peripheral Interface (RSPI) 3ch
22+
- A/D Converter (ADC) 2ch
23+
making it ideal for applications such as entry-class social infrastructure
24+
gateway control and industrial gateway control. More details can be found at
25+
below link [0].
26+
27+
[0] https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/rzfive-general-purpose-microprocessors-risc-v-cpu-core-andes-ax45mp-single-10-ghz-2ch-gigabit-ethernet
28+
29+
To build platform specific library and firmwares, provide the
30+
*PLATFORM=generic* parameter to the top level make command.
31+
32+
Platform Options
33+
----------------
34+
35+
The Renesas RZ/Five platform does not have any platform-specific options.
36+
37+
Building Renesas RZ/Five Platform
38+
---------------------------------
39+
40+
```
41+
make PLATFORM=generic
42+
```
43+
44+
DTS Example: (RZ/Five AX45MP)
45+
-----------------------------
46+
47+
```
48+
compatible = "renesas,r9a07g043f01", "renesas,r9a07g043";
49+
50+
cpus {
51+
#address-cells = <1>;
52+
#size-cells = <0>;
53+
timebase-frequency = <12000000>;
54+
55+
cpu0: cpu@0 {
56+
compatible = "andestech,ax45mp", "riscv";
57+
device_type = "cpu";
58+
reg = <0x0>;
59+
status = "okay";
60+
riscv,isa = "rv64imafdc";
61+
mmu-type = "riscv,sv39";
62+
i-cache-size = <0x8000>;
63+
i-cache-line-size = <0x40>;
64+
d-cache-size = <0x8000>;
65+
d-cache-line-size = <0x40>;
66+
clocks = <&cpg CPG_CORE R9A07G043_CLK_I>;
67+
68+
cpu0_intc: interrupt-controller {
69+
#interrupt-cells = <1>;
70+
compatible = "riscv,cpu-intc";
71+
interrupt-controller;
72+
};
73+
};
74+
};
75+
76+
soc {
77+
compatible = "simple-bus";
78+
#address-cells = <1>;
79+
#size-cells = <0>;
80+
ranges;
81+
82+
scif0: serial@1004b800 {
83+
compatible = "renesas,scif-r9a07g043",
84+
"renesas,scif-r9a07g044";
85+
reg = <0 0x1004b800 0 0x400>;
86+
interrupts = <412 IRQ_TYPE_LEVEL_HIGH>,
87+
<414 IRQ_TYPE_LEVEL_HIGH>,
88+
<415 IRQ_TYPE_LEVEL_HIGH>,
89+
<413 IRQ_TYPE_LEVEL_HIGH>,
90+
<416 IRQ_TYPE_LEVEL_HIGH>,
91+
<416 IRQ_TYPE_LEVEL_HIGH>;
92+
interrupt-names = "eri", "rxi", "txi",
93+
"bri", "dri", "tei";
94+
clocks = <&cpg CPG_MOD R9A07G043_SCIF0_CLK_PCK>;
95+
clock-names = "fck";
96+
power-domains = <&cpg>;
97+
resets = <&cpg R9A07G043_SCIF0_RST_SYSTEM_N>;
98+
status = "disabled";
99+
};
100+
101+
cpg: clock-controller@11010000 {
102+
compatible = "renesas,r9a07g043-cpg";
103+
reg = <0 0x11010000 0 0x10000>;
104+
clocks = <&extal_clk>;
105+
clock-names = "extal";
106+
#clock-cells = <2>;
107+
#reset-cells = <1>;
108+
#power-domain-cells = <0>;
109+
};
110+
111+
sysc: system-controller@11020000 {
112+
compatible = "renesas,r9a07g043-sysc";
113+
reg = <0 0x11020000 0 0x10000>;
114+
status = "disabled";
115+
};
116+
117+
pinctrl: pinctrl@11030000 {
118+
compatible = "renesas,r9a07g043-pinctrl";
119+
reg = <0 0x11030000 0 0x10000>;
120+
gpio-controller;
121+
#gpio-cells = <2>;
122+
#interrupt-cells = <2>;
123+
interrupt-controller;
124+
gpio-ranges = <&pinctrl 0 0 152>;
125+
clocks = <&cpg CPG_MOD R9A07G043_GPIO_HCLK>;
126+
power-domains = <&cpg>;
127+
resets = <&cpg R9A07G043_GPIO_RSTN>,
128+
<&cpg R9A07G043_GPIO_PORT_RESETN>,
129+
<&cpg R9A07G043_GPIO_SPARE_RESETN>;
130+
};
131+
132+
plmt0: plmt0@110c0000 {
133+
compatible = "andestech,plmt0", "riscv,plmt0";
134+
reg = <0x0 0x110c0000 0x0 0x10000>;
135+
interrupts-extended = <&cpu0_intc 7>;
136+
};
137+
138+
plic: interrupt-controller@12c00000 {
139+
compatible = "renesas,r9a07g043-plic", "andestech,nceplic100";
140+
#interrupt-cells = <2>;
141+
#address-cells = <0>;
142+
riscv,ndev = <511>;
143+
interrupt-controller;
144+
reg = <0x0 0x12c00000 0x0 0x400000>;
145+
clocks = <&cpg CPG_MOD R9A07G043_NCEPLIC_ACLK>;
146+
power-domains = <&cpg>;
147+
resets = <&cpg R9A07G043_NCEPLIC_ARESETN>;
148+
interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9>;
149+
};
150+
151+
plicsw: interrupt-controller@13000000 {
152+
compatible = "andestech,plicsw";
153+
reg = <0x0 0x13000000 0x0 0x400000>;
154+
interrupts-extended = <&cpu0_intc 3>;
155+
interrupt-controller;
156+
#address-cells = <2>;
157+
#interrupt-cells = <2>;
158+
};
159+
};
160+
```

0 commit comments

Comments
 (0)