summaryrefslogtreecommitdiff
path: root/docs/platform/renesas-rzfive.md
blob: a73c53fd49b1d3ccf1de2ac97e5fcb8574754752 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
Renesas RZ/Five SoC (R9A07G043F) Platform
=========================================
The RZ/Five microprocessor includes a single RISC-V CPU Core (Andes AX45MP)
1.0 GHz, 16-bit DDR3L/DDR4 interface. Supported interfaces include:
- Memory controller for DDR4-1600 / DDR3L-1333 with 16 bits
- System RAM (RAM of 128 Kbytes (ECC))
- SPI Multi I/O Bus Controller 1ch
- SD Card Host Interface/Multimedia Card Interface (SD/MMC) 2ch
- Serial Sound Interface (SSI) 4ch
- Sampling Rate Converter (SRC) 1ch
- USB2.0 host/function interface 2ch (ch0: Host-Function ch1: Host only)
- Gigabit Ethernet Interface (GbE) 2ch
- Controller Area Network Interface (CAN) 2ch (CAN-FD ISO 11898-1 (CD2014) compliant)
- Multi-function Timer Pulse Unit 3 (MTU3a) 9 ch (16 bits × 8 channels, 32 bits × 1 channel)
- Port Output Enable 3 (POE3)
- Watchdog Timer (WDT) 1ch
- General Timer (GTM) 3ch (32bits)
- I2C Bus Interface (I2C) 4ch
- Serial Communication Interface with FIFO (SCIFA) 5ch
- Serial Communication Interface (SCI) 2ch
- Renesas Serial Peripheral Interface (RSPI) 3ch
- A/D Converter (ADC) 2ch
making it ideal for applications such as entry-class social infrastructure
gateway control and industrial gateway control. More details can be found at
below link [0].

[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

To build platform specific library and firmwares, provide the
*PLATFORM=generic* parameter to the top level make command.

Platform Options
----------------

The Renesas RZ/Five platform does not have any platform-specific options.

Building Renesas RZ/Five Platform
---------------------------------

```
make PLATFORM=generic
```

DTS Example: (RZ/Five AX45MP)
-----------------------------

```
	compatible = "renesas,r9a07g043f01", "renesas,r9a07g043";

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;
		timebase-frequency = <12000000>;

		cpu0: cpu@0 {
			compatible = "andestech,ax45mp", "riscv";
			device_type = "cpu";
			reg = <0x0>;
			status = "okay";
			riscv,isa = "rv64imafdc";
			mmu-type = "riscv,sv39";
			i-cache-size = <0x8000>;
			i-cache-line-size = <0x40>;
			d-cache-size = <0x8000>;
			d-cache-line-size = <0x40>;
			clocks = <&cpg CPG_CORE R9A07G043_CLK_I>;

			cpu0_intc: interrupt-controller {
				#interrupt-cells = <1>;
				compatible = "riscv,cpu-intc";
				interrupt-controller;
			};
		};
	};

	soc {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		ranges;

		scif0: serial@1004b800 {
			compatible = "renesas,scif-r9a07g043",
				     "renesas,scif-r9a07g044";
			reg = <0 0x1004b800 0 0x400>;
			interrupts = <412 IRQ_TYPE_LEVEL_HIGH>,
				     <414 IRQ_TYPE_LEVEL_HIGH>,
				     <415 IRQ_TYPE_LEVEL_HIGH>,
				     <413 IRQ_TYPE_LEVEL_HIGH>,
				     <416 IRQ_TYPE_LEVEL_HIGH>,
				     <416 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "eri", "rxi", "txi",
					  "bri", "dri", "tei";
			clocks = <&cpg CPG_MOD R9A07G043_SCIF0_CLK_PCK>;
			clock-names = "fck";
			power-domains = <&cpg>;
			resets = <&cpg R9A07G043_SCIF0_RST_SYSTEM_N>;
			status = "disabled";
		};

		cpg: clock-controller@11010000 {
			compatible = "renesas,r9a07g043-cpg";
			reg = <0 0x11010000 0 0x10000>;
			clocks = <&extal_clk>;
			clock-names = "extal";
			#clock-cells = <2>;
			#reset-cells = <1>;
			#power-domain-cells = <0>;
		};

		sysc: system-controller@11020000 {
			compatible = "renesas,r9a07g043-sysc";
			reg = <0 0x11020000 0 0x10000>;
			status = "disabled";
		};

		pinctrl: pinctrl@11030000 {
			compatible = "renesas,r9a07g043-pinctrl";
			reg = <0 0x11030000 0 0x10000>;
			gpio-controller;
			#gpio-cells = <2>;
			#interrupt-cells = <2>;
			interrupt-controller;
			gpio-ranges = <&pinctrl 0 0 152>;
			clocks = <&cpg CPG_MOD R9A07G043_GPIO_HCLK>;
			power-domains = <&cpg>;
			resets = <&cpg R9A07G043_GPIO_RSTN>,
				 <&cpg R9A07G043_GPIO_PORT_RESETN>,
				 <&cpg R9A07G043_GPIO_SPARE_RESETN>;
		};

		plmt0: plmt0@110c0000 {
			compatible = "andestech,plmt0", "riscv,plmt0";
			reg = <0x0 0x110c0000 0x0 0x10000>;
			interrupts-extended = <&cpu0_intc 7>;
		};

		plic: interrupt-controller@12c00000 {
			compatible = "renesas,r9a07g043-plic", "andestech,nceplic100";
			#interrupt-cells = <2>;
			#address-cells = <0>;
			riscv,ndev = <511>;
			interrupt-controller;
			reg = <0x0 0x12c00000 0x0 0x400000>;
			clocks = <&cpg CPG_MOD R9A07G043_NCEPLIC_ACLK>;
			power-domains = <&cpg>;
			resets = <&cpg R9A07G043_NCEPLIC_ARESETN>;
			interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9>;
		};

		plicsw: interrupt-controller@13000000 {
			compatible = "andestech,plicsw";
			reg = <0x0 0x13000000 0x0 0x400000>;
			interrupts-extended = <&cpu0_intc 3>;
			interrupt-controller;
			#address-cells = <2>;
			#interrupt-cells = <2>;
		};
	};
```