1/*
2 * Copyright (c) 2021 IoT.bzh
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <mem.h>
8#include <arm/armv7-r.dtsi>
9#include <zephyr/dt-bindings/interrupt-controller/arm-gic.h>
10#include <zephyr/dt-bindings/clock/renesas_cpg_mssr.h>
11#include <zephyr/dt-bindings/gpio/gpio.h>
12#include <zephyr/dt-bindings/i2c/i2c.h>
13#include <zephyr/dt-bindings/pwm/pwm.h>
14
15/ {
16	cpus {
17		#address-cells = <1>;
18		#size-cells = <0>;
19
20		cpu@0 {
21			device_type = "cpu";
22			compatible = "arm,cortex-r7";
23			reg = <0>;
24		};
25	};
26
27	soc {
28		sram0: memory@40040000 {
29			compatible = "mmio-sram";
30			reg = <0x40040000 0x1fc0000>;
31		};
32
33		gic: interrupt-controller@f1110000 {
34			compatible = "arm,gic-v2", "arm,gic";
35			reg = <0xf1110000 0x1000>,
36			      <0xf1120000 0x20000>,
37			      <0xf1140000 0x20000>,
38			      <0xf1060000 0x20000>;
39			interrupt-controller;
40			#interrupt-cells = <4>;
41			status = "okay";
42		};
43
44		gpio5: gpio@e6055000 {
45			compatible = "renesas,rcar-gpio";
46			reg = <0xe6055000 0x50>;
47			#gpio-cells = <2>;
48			gpio-controller;
49			interrupt-parent = <&gic>;
50			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
51			clocks = <&cpg CPG_MOD 907>;
52			status = "disabled";
53		};
54
55		gpio6: gpio@e6055400 {
56			compatible = "renesas,rcar-gpio";
57			reg = <0xe6055400 0x50>;
58			#gpio-cells = <2>;
59			gpio-controller;
60			interrupt-parent = <&gic>;
61			interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL IRQ_DEFAULT_PRIORITY>;
62			clocks = <&cpg CPG_MOD 906>;
63			status = "disabled";
64		};
65
66		pfc: pin-controller@e6060000 {
67			compatible = "renesas,rcar-pfc";
68			reg = <0xe6060000 0x50c>;
69		};
70
71		pwm0: pwm@e6e30000 {
72			compatible = "renesas,pwm-rcar";
73			reg = <0xe6e30000 0x8>;
74			#pwm-cells = <3>;
75			status = "disabled";
76		};
77
78		cmt0: timer@e60f0500 {
79			compatible = "renesas,rcar-cmt";
80			interrupt-parent = <&gic>;
81			interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL
82					IRQ_DEFAULT_PRIORITY>,
83				     <GIC_SPI 143 IRQ_TYPE_LEVEL
84					IRQ_DEFAULT_PRIORITY>;
85			interrupt-names = "irq_0", "irq_1";
86			reg = <0xe60f0500 0x1004>;
87			clocks = <&cpg CPG_MOD 303>;
88			status = "disabled";
89		};
90
91		can0: can@e6c30000 {
92			compatible = "renesas,rcar-can";
93			reg = <0xe6c30000 0x1000>;
94			interrupt-parent = <&gic>;
95			interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL
96					IRQ_DEFAULT_PRIORITY>;
97			status = "disabled";
98		};
99
100		i2c2: i2c@e6510000 {
101			compatible = "renesas,rcar-i2c";
102			clock-frequency = <I2C_BITRATE_STANDARD>;
103			#address-cells = <1>;
104			#size-cells = <0>;
105			reg = <0xe6510000 0x40>;
106			interrupt-parent = <&gic>;
107			interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL
108					IRQ_DEFAULT_PRIORITY>;
109			clocks = <&cpg CPG_MOD 929>;
110			status = "disabled";
111		};
112
113		i2c4: i2c@e66d8000 {
114			compatible = "renesas,rcar-i2c";
115			clock-frequency = <I2C_BITRATE_STANDARD>;
116			#address-cells = <1>;
117			#size-cells = <0>;
118			reg = <0xe66d8000 0x40>;
119			interrupt-parent = <&gic>;
120			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL
121					IRQ_DEFAULT_PRIORITY>;
122			clocks = <&cpg CPG_MOD 927>;
123			status = "disabled";
124		};
125
126		scif1: serial@e6e68000 {
127			compatible = "renesas,rcar-scif";
128			reg = <0xe6e68000 0x64>;
129			interrupt-parent = <&gic>;
130			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL
131					IRQ_DEFAULT_PRIORITY>;
132			current-speed = <115200>;
133			status = "disabled";
134		};
135
136		scif2: serial@e6e88000 {
137			compatible = "renesas,rcar-scif";
138			reg = <0xe6e88000 0x64>;
139			interrupt-parent = <&gic>;
140			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL
141					IRQ_DEFAULT_PRIORITY>;
142			current-speed = <115200>;
143			status = "disabled";
144		};
145	};
146};
147