r8a73a4.dtsi 24.3 KB
Newer Older
1
// SPDX-License-Identifier: GPL-2.0
2 3 4 5 6 7 8
/*
 * Device Tree Source for the r8a73a4 SoC
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 * Copyright (C) 2013 Magnus Damm
 */

9
#include <dt-bindings/clock/r8a73a4-clock.h>
10 11 12
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>

13 14 15
/ {
	compatible = "renesas,r8a73a4";
	interrupt-parent = <&gic>;
16 17
	#address-cells = <2>;
	#size-cells = <2>;
18 19 20 21 22 23 24 25 26

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

		cpu0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0>;
27
			clocks = <&cpg_clocks R8A73A4_CLK_Z>;
28
			clock-frequency = <1500000000>;
29
			power-domains = <&pd_a2sl>;
30
			next-level-cache = <&L2_CA15>;
31
		};
32

33
		L2_CA15: cache-controller-0 {
34 35 36 37 38 39 40
			compatible = "cache";
			clocks = <&cpg_clocks R8A73A4_CLK_Z>;
			power-domains = <&pd_a3sm>;
			cache-unified;
			cache-level = <2>;
		};

41
		L2_CA7: cache-controller-1 {
42 43 44 45 46 47
			compatible = "cache";
			clocks = <&cpg_clocks R8A73A4_CLK_Z2>;
			power-domains = <&pd_a3km>;
			cache-unified;
			cache-level = <2>;
		};
48 49
	};

50 51 52 53 54
	ptm {
		compatible = "arm,coresight-etm3x";
		power-domains = <&pd_d4>;
	};

55 56
	timer {
		compatible = "arm,armv7-timer";
57 58 59 60
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
61
	};
62

63 64 65
	dbsc1: memory-controller@e6790000 {
		compatible = "renesas,dbsc-r8a73a4";
		reg = <0 0xe6790000 0 0x10000>;
66
		power-domains = <&pd_a3bc>;
67 68 69 70 71
	};

	dbsc2: memory-controller@e67a0000 {
		compatible = "renesas,dbsc-r8a73a4";
		reg = <0 0xe67a0000 0 0x10000>;
72
		power-domains = <&pd_a3bc>;
73 74
	};

75 76 77
	i2c5: i2c@e60b0000 {
		#address-cells = <1>;
		#size-cells = <0>;
78
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
79
		reg = <0 0xe60b0000 0 0x428>;
80
		interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
81
		clocks = <&mstp4_clks R8A73A4_CLK_IIC5>;
82
		power-domains = <&pd_a3sp>;
83 84 85 86 87

		status = "disabled";
	};

	cmt1: timer@e6130000 {
88
		compatible = "renesas,r8a73a4-cmt1", "renesas,rcar-gen2-cmt1";
89
		reg = <0 0xe6130000 0 0x1004>;
90 91 92 93 94 95 96 97
		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
98 99
		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
		clock-names = "fck";
100
		power-domains = <&pd_c5>;
101 102 103
		status = "disabled";
	};

104
	irqc0: interrupt-controller@e61c0000 {
105
		compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
106 107
		#interrupt-cells = <2>;
		interrupt-controller;
108
		reg = <0 0xe61c0000 0 0x200>;
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
		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
141
		clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
142
		power-domains = <&pd_c4>;
143 144 145
	};

	irqc1: interrupt-controller@e61c0200 {
146
		compatible = "renesas,irqc-r8a73a4", "renesas,irqc";
147 148
		#interrupt-cells = <2>;
		interrupt-controller;
149
		reg = <0 0xe61c0200 0 0x200>;
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
176
		clocks = <&mstp4_clks R8A73A4_CLK_IRQC>;
177
		power-domains = <&pd_c4>;
178 179
	};

180
	pfc: pinctrl@e6050000 {
181 182 183 184
		compatible = "renesas,pfc-r8a73a4";
		reg = <0 0xe6050000 0 0x9000>;
		gpio-controller;
		#gpio-cells = <2>;
185 186 187 188 189 190 191
		gpio-ranges =
			<&pfc 0 0 31>, <&pfc 32 32 9>,
			<&pfc 64 64 22>, <&pfc 96 96 31>,
			<&pfc 128 128 7>, <&pfc 160 160 19>,
			<&pfc 192 192 31>, <&pfc 224 224 27>,
			<&pfc 256 256 28>, <&pfc 288 288 21>,
			<&pfc 320 320 10>;
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
		interrupts-extended =
			<&irqc0  0 0>, <&irqc0  1 0>, <&irqc0  2 0>, <&irqc0  3 0>,
			<&irqc0  4 0>, <&irqc0  5 0>, <&irqc0  6 0>, <&irqc0  7 0>,
			<&irqc0  8 0>, <&irqc0  9 0>, <&irqc0 10 0>, <&irqc0 11 0>,
			<&irqc0 12 0>, <&irqc0 13 0>, <&irqc0 14 0>, <&irqc0 15 0>,
			<&irqc0 16 0>, <&irqc0 17 0>, <&irqc0 18 0>, <&irqc0 19 0>,
			<&irqc0 20 0>, <&irqc0 21 0>, <&irqc0 22 0>, <&irqc0 23 0>,
			<&irqc0 24 0>, <&irqc0 25 0>, <&irqc0 26 0>, <&irqc0 27 0>,
			<&irqc0 28 0>, <&irqc0 29 0>, <&irqc0 30 0>, <&irqc0 31 0>,
			<&irqc1  0 0>, <&irqc1  1 0>, <&irqc1  2 0>, <&irqc1  3 0>,
			<&irqc1  4 0>, <&irqc1  5 0>, <&irqc1  6 0>, <&irqc1  7 0>,
			<&irqc1  8 0>, <&irqc1  9 0>, <&irqc1 10 0>, <&irqc1 11 0>,
			<&irqc1 12 0>, <&irqc1 13 0>, <&irqc1 14 0>, <&irqc1 15 0>,
			<&irqc1 16 0>, <&irqc1 17 0>, <&irqc1 18 0>, <&irqc1 19 0>,
			<&irqc1 20 0>, <&irqc1 21 0>, <&irqc1 22 0>, <&irqc1 23 0>,
			<&irqc1 24 0>, <&irqc1 25 0>;
208
		power-domains = <&pd_c5>;
209 210
	};

211
	thermal@e61f0000 {
212
		compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
213 214
		reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>,
			 <0 0xe61f0200 0 0x38>, <0 0xe61f0300 0 0x38>;
215
		interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
216
		clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>;
217
		power-domains = <&pd_c5>;
218
	};
219 220 221 222

	i2c0: i2c@e6500000 {
		#address-cells = <1>;
		#size-cells = <0>;
223
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
224
		reg = <0 0xe6500000 0 0x428>;
225
		interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
226
		clocks = <&mstp3_clks R8A73A4_CLK_IIC0>;
227
		power-domains = <&pd_a3sp>;
228
		status = "disabled";
229 230 231 232 233
	};

	i2c1: i2c@e6510000 {
		#address-cells = <1>;
		#size-cells = <0>;
234
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
235
		reg = <0 0xe6510000 0 0x428>;
236
		interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
237
		clocks = <&mstp3_clks R8A73A4_CLK_IIC1>;
238
		power-domains = <&pd_a3sp>;
239
		status = "disabled";
240 241 242 243 244
	};

	i2c2: i2c@e6520000 {
		#address-cells = <1>;
		#size-cells = <0>;
245
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
246
		reg = <0 0xe6520000 0 0x428>;
247
		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
248
		clocks = <&mstp3_clks R8A73A4_CLK_IIC2>;
249
		power-domains = <&pd_a3sp>;
250
		status = "disabled";
251 252 253 254 255
	};

	i2c3: i2c@e6530000 {
		#address-cells = <1>;
		#size-cells = <0>;
256
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
257
		reg = <0 0xe6530000 0 0x428>;
258
		interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
259
		clocks = <&mstp4_clks R8A73A4_CLK_IIC3>;
260
		power-domains = <&pd_a3sp>;
261
		status = "disabled";
262 263 264 265 266
	};

	i2c4: i2c@e6540000 {
		#address-cells = <1>;
		#size-cells = <0>;
267
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
268
		reg = <0 0xe6540000 0 0x428>;
269
		interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
270
		clocks = <&mstp4_clks R8A73A4_CLK_IIC4>;
271
		power-domains = <&pd_a3sp>;
272
		status = "disabled";
273 274 275 276 277
	};

	i2c6: i2c@e6550000 {
		#address-cells = <1>;
		#size-cells = <0>;
278
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
279
		reg = <0 0xe6550000 0 0x428>;
280
		interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
281
		clocks = <&mstp3_clks R8A73A4_CLK_IIC6>;
282
		power-domains = <&pd_a3sp>;
283
		status = "disabled";
284 285 286 287 288
	};

	i2c7: i2c@e6560000 {
		#address-cells = <1>;
		#size-cells = <0>;
289
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
290
		reg = <0 0xe6560000 0 0x428>;
291
		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
292
		clocks = <&mstp3_clks R8A73A4_CLK_IIC7>;
293
		power-domains = <&pd_a3sp>;
294
		status = "disabled";
295 296 297 298 299
	};

	i2c8: i2c@e6570000 {
		#address-cells = <1>;
		#size-cells = <0>;
300
		compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic";
301
		reg = <0 0xe6570000 0 0x428>;
302
		interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
303
		clocks = <&mstp5_clks R8A73A4_CLK_IIC8>;
304
		power-domains = <&pd_a3sp>;
305 306 307
		status = "disabled";
	};

308
	scifb0: serial@e6c20000 {
309 310
		compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
		reg = <0 0xe6c20000 0 0x100>;
311
		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
312
		clocks = <&mstp2_clks R8A73A4_CLK_SCIFB0>;
313
		clock-names = "fck";
314
		power-domains = <&pd_a3sp>;
315 316 317
		status = "disabled";
	};

318
	scifb1: serial@e6c30000 {
319 320
		compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
		reg = <0 0xe6c30000 0 0x100>;
321
		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
322
		clocks = <&mstp2_clks R8A73A4_CLK_SCIFB1>;
323
		clock-names = "fck";
324
		power-domains = <&pd_a3sp>;
325 326 327
		status = "disabled";
	};

328 329 330
	scifa0: serial@e6c40000 {
		compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
		reg = <0 0xe6c40000 0 0x100>;
331
		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
332
		clocks = <&mstp2_clks R8A73A4_CLK_SCIFA0>;
333
		clock-names = "fck";
334
		power-domains = <&pd_a3sp>;
335 336 337 338 339 340
		status = "disabled";
	};

	scifa1: serial@e6c50000 {
		compatible = "renesas,scifa-r8a73a4", "renesas,scifa";
		reg = <0 0xe6c50000 0 0x100>;
341
		interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
342
		clocks = <&mstp2_clks R8A73A4_CLK_SCIFA1>;
343
		clock-names = "fck";
344
		power-domains = <&pd_a3sp>;
345 346 347
		status = "disabled";
	};

348
	scifb2: serial@e6ce0000 {
349 350
		compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
		reg = <0 0xe6ce0000 0 0x100>;
351
		interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
352
		clocks = <&mstp2_clks R8A73A4_CLK_SCIFB2>;
353
		clock-names = "fck";
354
		power-domains = <&pd_a3sp>;
355 356 357
		status = "disabled";
	};

358
	scifb3: serial@e6cf0000 {
359 360
		compatible = "renesas,scifb-r8a73a4", "renesas,scifb";
		reg = <0 0xe6cf0000 0 0x100>;
361
		interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
362
		clocks = <&mstp2_clks R8A73A4_CLK_SCIFB3>;
363
		clock-names = "fck";
364
		power-domains = <&pd_c4>;
365
		status = "disabled";
366
	};
367

368
	sdhi0: mmc@ee100000 {
369
		compatible = "renesas,sdhi-r8a73a4";
370
		reg = <0 0xee100000 0 0x100>;
371
		interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
372
		clocks = <&mstp3_clks R8A73A4_CLK_SDHI0>;
373
		power-domains = <&pd_a3sp>;
374 375 376 377
		cap-sd-highspeed;
		status = "disabled";
	};

378
	sdhi1: mmc@ee120000 {
379
		compatible = "renesas,sdhi-r8a73a4";
380
		reg = <0 0xee120000 0 0x100>;
381
		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
382
		clocks = <&mstp3_clks R8A73A4_CLK_SDHI1>;
383
		power-domains = <&pd_a3sp>;
384 385 386 387
		cap-sd-highspeed;
		status = "disabled";
	};

388
	sdhi2: mmc@ee140000 {
389
		compatible = "renesas,sdhi-r8a73a4";
390
		reg = <0 0xee140000 0 0x100>;
391
		interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
392
		clocks = <&mstp3_clks R8A73A4_CLK_SDHI2>;
393
		power-domains = <&pd_a3sp>;
394 395 396
		cap-sd-highspeed;
		status = "disabled";
	};
397 398

	mmcif0: mmc@ee200000 {
399
		compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
400
		reg = <0 0xee200000 0 0x80>;
401
		interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
402
		clocks = <&mstp3_clks R8A73A4_CLK_MMCIF0>;
403
		power-domains = <&pd_a3sp>;
404 405 406 407 408
		reg-io-width = <4>;
		status = "disabled";
	};

	mmcif1: mmc@ee220000 {
409
		compatible = "renesas,mmcif-r8a73a4", "renesas,sh-mmcif";
410
		reg = <0 0xee220000 0 0x80>;
411
		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
412
		clocks = <&mstp3_clks R8A73A4_CLK_MMCIF1>;
413
		power-domains = <&pd_a3sp>;
414 415 416 417 418
		reg-io-width = <4>;
		status = "disabled";
	};

	gic: interrupt-controller@f1001000 {
419
		compatible = "arm,gic-400";
420 421 422 423
		#interrupt-cells = <3>;
		#address-cells = <0>;
		interrupt-controller;
		reg = <0 0xf1001000 0 0x1000>,
424
			<0 0xf1002000 0 0x2000>,
425 426
			<0 0xf1004000 0 0x2000>,
			<0 0xf1006000 0 0x2000>;
427
		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
428 429 430
		clocks = <&mstp4_clks R8A73A4_CLK_INTC_SYS>;
		clock-names = "clk";
		power-domains = <&pd_c4>;
431
	};
432

433 434 435 436 437 438 439 440
	bsc: bus@fec10000 {
		compatible = "renesas,bsc-r8a73a4", "renesas,bsc",
			     "simple-pm-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0 0 0 0x20000000>;
		reg = <0 0xfec10000 0 0x400>;
		clocks = <&zb_clk>;
441
		power-domains = <&pd_c4>;
442 443
	};

444 445 446 447 448 449
	clocks {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		/* External root clocks */
450
		extalr_clk: extalr {
451 452 453 454
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <32768>;
		};
455
		extal1_clk: extal1 {
456 457 458 459
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <25000000>;
		};
460
		extal2_clk: extal2 {
461 462 463 464
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <48000000>;
		};
465
		fsiack_clk: fsiack {
466 467 468 469 470
			compatible = "fixed-clock";
			#clock-cells = <0>;
			/* This value must be overridden by the board. */
			clock-frequency = <0>;
		};
471
		fsibck_clk: fsibck {
472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
			compatible = "fixed-clock";
			#clock-cells = <0>;
			/* This value must be overridden by the board. */
			clock-frequency = <0>;
		};

		/* Special CPG clocks */
		cpg_clocks: cpg_clocks@e6150000 {
			compatible = "renesas,r8a73a4-cpg-clocks";
			reg = <0 0xe6150000 0 0x10000>;
			clocks = <&extal1_clk>, <&extal2_clk>;
			#clock-cells = <1>;
			clock-output-names = "main", "pll0", "pll1", "pll2",
					     "pll2s", "pll2h", "z", "z2",
					     "i", "m3", "b", "m1", "m2",
					     "zx", "zs", "hp";
		};

		/* Variable factor clocks (DIV6) */
		zb_clk: zb_clk@e6150010 {
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150010 0 4>;
			clocks = <&pll1_div2_clk>, <0>,
				 <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
			#clock-cells = <0>;
			clock-output-names = "zb";
		};
499
		sdhi0_clk: sdhi0ck@e6150074 {
500 501 502 503 504 505
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150074 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>;
			#clock-cells = <0>;
		};
506
		sdhi1_clk: sdhi1ck@e6150078 {
507 508 509 510 511 512
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150078 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>;
			#clock-cells = <0>;
		};
513
		sdhi2_clk: sdhi2ck@e615007c {
514 515 516 517 518 519
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe615007c 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>;
			#clock-cells = <0>;
		};
520
		mmc0_clk: mmc0@e6150240 {
521 522 523 524 525 526
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150240 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>;
			#clock-cells = <0>;
		};
527
		mmc1_clk: mmc1@e6150244 {
528 529 530 531 532 533
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150244 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>;
			#clock-cells = <0>;
		};
534
		vclk1_clk: vclk1@e6150008 {
535 536 537 538 539 540 541
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150008 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>, <&main_div2_clk>,
				 <&extalr_clk>, <0>, <0>;
			#clock-cells = <0>;
		};
542
		vclk2_clk: vclk2@e615000c {
543 544 545 546 547 548 549
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe615000c 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>, <&main_div2_clk>,
				 <&extalr_clk>, <0>, <0>;
			#clock-cells = <0>;
		};
550
		vclk3_clk: vclk3@e615001c {
551 552 553 554 555 556 557
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe615001c 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>, <&main_div2_clk>,
				 <&extalr_clk>, <0>, <0>;
			#clock-cells = <0>;
		};
558
		vclk4_clk: vclk4@e6150014 {
559 560 561 562 563 564 565
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150014 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>, <&main_div2_clk>,
				 <&extalr_clk>, <0>, <0>;
			#clock-cells = <0>;
		};
566
		vclk5_clk: vclk5@e6150034 {
567 568 569 570 571 572 573
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150034 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <0>, <&extal2_clk>, <&main_div2_clk>,
				 <&extalr_clk>, <0>, <0>;
			#clock-cells = <0>;
		};
574
		fsia_clk: fsia@e6150018 {
575 576 577 578 579 580
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150018 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <&fsiack_clk>, <0>;
			#clock-cells = <0>;
		};
581
		fsib_clk: fsib@e6150090 {
582 583 584 585 586 587
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150090 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <&fsibck_clk>, <0>;
			#clock-cells = <0>;
		};
588
		mp_clk: mp@e6150080 {
589 590 591 592 593 594
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150080 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <&extal2_clk>, <&extal2_clk>;
			#clock-cells = <0>;
		};
595
		m4_clk: m4@e6150098 {
596 597 598 599 600
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150098 0 4>;
			clocks = <&cpg_clocks R8A73A4_CLK_PLL2S>;
			#clock-cells = <0>;
		};
601
		hsi_clk: hsi@e615026c {
602 603 604 605 606 607
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe615026c 0 4>;
			clocks = <&cpg_clocks R8A73A4_CLK_PLL2H>, <&pll1_div2_clk>,
				 <&cpg_clocks R8A73A4_CLK_PLL2S>, <0>;
			#clock-cells = <0>;
		};
608
		spuv_clk: spuv@e6150094 {
609 610 611 612 613 614 615 616
			compatible = "renesas,r8a73a4-div6-clock", "renesas,cpg-div6-clock";
			reg = <0 0xe6150094 0 4>;
			clocks = <&pll1_div2_clk>, <&cpg_clocks R8A73A4_CLK_PLL2S>,
				 <&extal2_clk>, <&extal2_clk>;
			#clock-cells = <0>;
		};

		/* Fixed factor clocks */
617
		main_div2_clk: main_div2 {
618 619 620 621 622 623
			compatible = "fixed-factor-clock";
			clocks = <&cpg_clocks R8A73A4_CLK_MAIN>;
			#clock-cells = <0>;
			clock-div = <2>;
			clock-mult = <1>;
		};
624
		pll0_div2_clk: pll0_div2 {
625 626 627 628 629 630
			compatible = "fixed-factor-clock";
			clocks = <&cpg_clocks R8A73A4_CLK_PLL0>;
			#clock-cells = <0>;
			clock-div = <2>;
			clock-mult = <1>;
		};
631
		pll1_div2_clk: pll1_div2 {
632 633 634 635 636 637
			compatible = "fixed-factor-clock";
			clocks = <&cpg_clocks R8A73A4_CLK_PLL1>;
			#clock-cells = <0>;
			clock-div = <2>;
			clock-mult = <1>;
		};
638
		extal1_div2_clk: extal1_div2 {
639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688
			compatible = "fixed-factor-clock";
			clocks = <&extal1_clk>;
			#clock-cells = <0>;
			clock-div = <2>;
			clock-mult = <1>;
		};

		/* Gate clocks */
		mstp2_clks: mstp2_clks@e6150138 {
			compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
			reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
			clocks = <&mp_clk>, <&mp_clk>, <&mp_clk>, <&mp_clk>,
				 <&mp_clk>, <&mp_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
			#clock-cells = <1>;
			clock-indices = <
				R8A73A4_CLK_SCIFA0 R8A73A4_CLK_SCIFA1
				R8A73A4_CLK_SCIFB0 R8A73A4_CLK_SCIFB1
				R8A73A4_CLK_SCIFB2 R8A73A4_CLK_SCIFB3
				R8A73A4_CLK_DMAC
			>;
			clock-output-names =
				"scifa0", "scifa1", "scifb0", "scifb1",
				"scifb2", "scifb3", "dmac";
		};
		mstp3_clks: mstp3_clks@e615013c {
			compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
			reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
			clocks = <&cpg_clocks R8A73A4_CLK_HP>, <&mmc1_clk>,
				 <&sdhi2_clk>, <&sdhi1_clk>, <&sdhi0_clk>,
				 <&mmc0_clk>, <&cpg_clocks R8A73A4_CLK_HP>,
				 <&cpg_clocks R8A73A4_CLK_HP>, <&cpg_clocks
				 R8A73A4_CLK_HP>, <&cpg_clocks
				 R8A73A4_CLK_HP>, <&extalr_clk>;
			#clock-cells = <1>;
			clock-indices = <
				R8A73A4_CLK_IIC2 R8A73A4_CLK_MMCIF1
				R8A73A4_CLK_SDHI2 R8A73A4_CLK_SDHI1
				R8A73A4_CLK_SDHI0 R8A73A4_CLK_MMCIF0
				R8A73A4_CLK_IIC6 R8A73A4_CLK_IIC7
				R8A73A4_CLK_IIC0 R8A73A4_CLK_IIC1
				R8A73A4_CLK_CMT1
			>;
			clock-output-names =
				"iic2", "mmcif1", "sdhi2", "sdhi1", "sdhi0",
				"mmcif0", "iic6", "iic7", "iic0", "iic1",
				"cmt1";
		};
		mstp4_clks: mstp4_clks@e6150140 {
			compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
			reg = <0 0xe6150140 0 4>, <0 0xe615004c 0 4>;
689 690
			clocks = <&main_div2_clk>, <&cpg_clocks R8A73A4_CLK_ZS>,
				 <&main_div2_clk>,
691
				 <&cpg_clocks R8A73A4_CLK_HP>,
692 693 694
				 <&cpg_clocks R8A73A4_CLK_HP>;
			#clock-cells = <1>;
			clock-indices = <
695 696 697
				R8A73A4_CLK_IRQC R8A73A4_CLK_INTC_SYS
				R8A73A4_CLK_IIC5 R8A73A4_CLK_IIC4
				R8A73A4_CLK_IIC3
698 699
			>;
			clock-output-names =
700
				"irqc", "intc-sys", "iic5", "iic4", "iic3";
701 702 703 704 705 706 707 708 709 710 711 712 713
		};
		mstp5_clks: mstp5_clks@e6150144 {
			compatible = "renesas,r8a73a4-mstp-clocks", "renesas,cpg-mstp-clocks";
			reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
			clocks = <&extal2_clk>, <&cpg_clocks R8A73A4_CLK_HP>;
			#clock-cells = <1>;
			clock-indices = <
				R8A73A4_CLK_THERMAL R8A73A4_CLK_IIC8
			>;
			clock-output-names =
				"thermal", "iic8";
		};
	};
714

715 716 717 718 719
	prr: chipid@ff000044 {
		compatible = "renesas,prr";
		reg = <0 0xff000044 0 4>;
	};

720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860
	sysc: system-controller@e6180000 {
		compatible = "renesas,sysc-r8a73a4", "renesas,sysc-rmobile";
		reg = <0 0xe6180000 0 0x8000>, <0 0xe6188000 0 0x8000>;

		pm-domains {
			pd_c5: c5 {
				#address-cells = <1>;
				#size-cells = <0>;
				#power-domain-cells = <0>;

				pd_c4: c4@0 {
					reg = <0>;
					#address-cells = <1>;
					#size-cells = <0>;
					#power-domain-cells = <0>;

					pd_a3sg: a3sg@16 {
						reg = <16>;
						#power-domain-cells = <0>;
					};

					pd_a3ex: a3ex@17 {
						reg = <17>;
						#power-domain-cells = <0>;
					};

					pd_a3sp: a3sp@18 {
						reg = <18>;
						#address-cells = <1>;
						#size-cells = <0>;
						#power-domain-cells = <0>;

						pd_a2us: a2us@19 {
							reg = <19>;
							#power-domain-cells = <0>;
						};
					};

					pd_a3sm: a3sm@20 {
						reg = <20>;
						#address-cells = <1>;
						#size-cells = <0>;
						#power-domain-cells = <0>;

						pd_a2sl: a2sl@21 {
							reg = <21>;
							#power-domain-cells = <0>;
						};
					};

					pd_a3km: a3km@22 {
						reg = <22>;
						#address-cells = <1>;
						#size-cells = <0>;
						#power-domain-cells = <0>;

						pd_a2kl: a2kl@23 {
							reg = <23>;
							#power-domain-cells = <0>;
						};
					};
				};

				pd_c4ma: c4ma@1 {
					reg = <1>;
					#power-domain-cells = <0>;
				};

				pd_c4cl: c4cl@2 {
					reg = <2>;
					#power-domain-cells = <0>;
				};

				pd_d4: d4@3 {
					reg = <3>;
					#power-domain-cells = <0>;
				};

				pd_a4bc: a4bc@4 {
					reg = <4>;
					#address-cells = <1>;
					#size-cells = <0>;
					#power-domain-cells = <0>;

					pd_a3bc: a3bc@5 {
						reg = <5>;
						#power-domain-cells = <0>;
					};
				};

				pd_a4l: a4l@6 {
					reg = <6>;
					#power-domain-cells = <0>;
				};

				pd_a4lc: a4lc@7 {
					reg = <7>;
					#power-domain-cells = <0>;
				};

				pd_a4mp: a4mp@8 {
					reg = <8>;
					#address-cells = <1>;
					#size-cells = <0>;
					#power-domain-cells = <0>;

					pd_a3mp: a3mp@9 {
						reg = <9>;
						#power-domain-cells = <0>;
					};

					pd_a3vc: a3vc@10 {
						reg = <10>;
						#power-domain-cells = <0>;
					};
				};

				pd_a4sf: a4sf@11 {
					reg = <11>;
					#power-domain-cells = <0>;
				};

				pd_a3r: a3r@12 {
					reg = <12>;
					#address-cells = <1>;
					#size-cells = <0>;
					#power-domain-cells = <0>;

					pd_a2rv: a2rv@13 {
						reg = <13>;
						#power-domain-cells = <0>;
					};

					pd_a2is: a2is@14 {
						reg = <14>;
						#power-domain-cells = <0>;
					};
				};
			};
		};
	};
861
};