blob: ae2d9a9c65af43c047f554cd646d99c714cef5be [file] [log] [blame]
Simon Hormanc58a1542013-01-29 14:21:46 +09001/*
Kuninori Morimoto349f5562013-03-03 23:11:03 -08002 * Device Tree Source for Renesas r8a7779
Simon Hormanc58a1542013-01-29 14:21:46 +09003 *
4 * Copyright (C) 2013 Renesas Solutions Corp.
5 * Copyright (C) 2013 Simon Horman
6 *
7 * This file is licensed under the terms of the GNU General Public License
8 * version 2. This program is licensed "as is" without any warranty of any
9 * kind, whether express or implied.
10 */
11
Simon Horman1e851532014-05-15 20:31:57 +090012#include <dt-bindings/clock/r8a7779-clock.h>
Magnus Dammcea80652014-12-16 18:39:41 +090013#include <dt-bindings/interrupt-controller/arm-gic.h>
Laurent Pinchart5f75e732013-11-19 03:18:25 +010014#include <dt-bindings/interrupt-controller/irq.h>
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +020015#include <dt-bindings/power/r8a7779-sysc.h>
Laurent Pinchart5f75e732013-11-19 03:18:25 +010016
Simon Hormanc58a1542013-01-29 14:21:46 +090017/ {
18 compatible = "renesas,r8a7779";
Laurent Pinchart9ff254a2014-04-30 02:41:28 +020019 interrupt-parent = <&gic>;
Geert Uytterhoeven1cfc0c02016-10-21 11:16:08 +020020 #address-cells = <1>;
21 #size-cells = <1>;
Simon Hormanc58a1542013-01-29 14:21:46 +090022
23 cpus {
24 #address-cells = <1>;
25 #size-cells = <0>;
26
27 cpu@0 {
28 device_type = "cpu";
29 compatible = "arm,cortex-a9";
30 reg = <0>;
Simon Horman6b060f92014-05-16 13:42:58 +090031 clock-frequency = <1000000000>;
Simon Hormanc58a1542013-01-29 14:21:46 +090032 };
33 cpu@1 {
34 device_type = "cpu";
35 compatible = "arm,cortex-a9";
36 reg = <1>;
Simon Horman6b060f92014-05-16 13:42:58 +090037 clock-frequency = <1000000000>;
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +020038 power-domains = <&sysc R8A7779_PD_ARM1>;
Simon Hormanc58a1542013-01-29 14:21:46 +090039 };
40 cpu@2 {
41 device_type = "cpu";
42 compatible = "arm,cortex-a9";
43 reg = <2>;
Simon Horman6b060f92014-05-16 13:42:58 +090044 clock-frequency = <1000000000>;
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +020045 power-domains = <&sysc R8A7779_PD_ARM2>;
Simon Hormanc58a1542013-01-29 14:21:46 +090046 };
47 cpu@3 {
48 device_type = "cpu";
49 compatible = "arm,cortex-a9";
50 reg = <3>;
Simon Horman6b060f92014-05-16 13:42:58 +090051 clock-frequency = <1000000000>;
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +020052 power-domains = <&sysc R8A7779_PD_ARM3>;
Simon Hormanc58a1542013-01-29 14:21:46 +090053 };
54 };
55
Simon Horman3c3f6ad2013-11-26 16:47:11 +090056 aliases {
57 spi0 = &hspi0;
58 spi1 = &hspi1;
59 spi2 = &hspi2;
60 };
61
Simon Hormancc703a52014-07-07 08:47:38 +020062 gic: interrupt-controller@f0001000 {
63 compatible = "arm,cortex-a9-gic";
64 #interrupt-cells = <3>;
65 interrupt-controller;
66 reg = <0xf0001000 0x1000>,
67 <0xf0000100 0x100>;
68 };
Simon Horman10e8d4f2012-11-21 22:00:15 +090069
Magnus Dammcea80652014-12-16 18:39:41 +090070 timer@f0000600 {
71 compatible = "arm,cortex-a9-twd-timer";
72 reg = <0xf0000600 0x20>;
73 interrupts = <GIC_PPI 13
Geert Uytterhoevene6c24882016-03-18 11:19:21 +010074 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
Magnus Dammcea80652014-12-16 18:39:41 +090075 clocks = <&cpg_clocks R8A7779_CLK_ZS>;
76 };
77
Laurent Pinchartf5c771b2013-05-10 15:51:14 +020078 gpio0: gpio@ffc40000 {
79 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
80 reg = <0xffc40000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +090081 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +020082 #gpio-cells = <2>;
83 gpio-controller;
84 gpio-ranges = <&pfc 0 0 32>;
85 #interrupt-cells = <2>;
86 interrupt-controller;
87 };
88
89 gpio1: gpio@ffc41000 {
90 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
91 reg = <0xffc41000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +090092 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +020093 #gpio-cells = <2>;
94 gpio-controller;
95 gpio-ranges = <&pfc 0 32 32>;
96 #interrupt-cells = <2>;
97 interrupt-controller;
98 };
99
100 gpio2: gpio@ffc42000 {
101 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
102 reg = <0xffc42000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900103 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200104 #gpio-cells = <2>;
105 gpio-controller;
106 gpio-ranges = <&pfc 0 64 32>;
107 #interrupt-cells = <2>;
108 interrupt-controller;
109 };
110
111 gpio3: gpio@ffc43000 {
112 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
113 reg = <0xffc43000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900114 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200115 #gpio-cells = <2>;
116 gpio-controller;
117 gpio-ranges = <&pfc 0 96 32>;
118 #interrupt-cells = <2>;
119 interrupt-controller;
120 };
121
122 gpio4: gpio@ffc44000 {
123 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
124 reg = <0xffc44000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900125 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200126 #gpio-cells = <2>;
127 gpio-controller;
128 gpio-ranges = <&pfc 0 128 32>;
129 #interrupt-cells = <2>;
130 interrupt-controller;
131 };
132
133 gpio5: gpio@ffc45000 {
134 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
135 reg = <0xffc45000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900136 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200137 #gpio-cells = <2>;
138 gpio-controller;
139 gpio-ranges = <&pfc 0 160 32>;
140 #interrupt-cells = <2>;
141 interrupt-controller;
142 };
143
144 gpio6: gpio@ffc46000 {
145 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
146 reg = <0xffc46000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900147 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200148 #gpio-cells = <2>;
149 gpio-controller;
150 gpio-ranges = <&pfc 0 192 9>;
151 #interrupt-cells = <2>;
152 interrupt-controller;
153 };
154
Magnus Damm7bf46d02015-06-25 17:57:28 +0900155 irqpin0: interrupt-controller@fe78001c {
Magnus Damm11ef0342013-11-28 08:15:18 +0900156 compatible = "renesas,intc-irqpin-r8a7779", "renesas,intc-irqpin";
Guennadi Liakhovetski24603f32013-04-03 11:19:07 +0200157 #interrupt-cells = <2>;
Kuninori Morimoto84b47df2013-10-02 01:39:13 -0700158 status = "disabled";
Guennadi Liakhovetski24603f32013-04-03 11:19:07 +0200159 interrupt-controller;
160 reg = <0xfe78001c 4>,
161 <0xfe780010 4>,
162 <0xfe780024 4>,
163 <0xfe780044 4>,
Magnus Damm7bf46d02015-06-25 17:57:28 +0900164 <0xfe780064 4>,
165 <0xfe780000 4>;
Simon Horman854b7732016-01-21 13:52:46 +0900166 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH
167 GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH
168 GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH
169 GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Guennadi Liakhovetski24603f32013-04-03 11:19:07 +0200170 sense-bitfield-width = <2>;
171 };
172
Lee Jones98724b72013-07-22 11:52:38 +0100173 i2c0: i2c@ffc70000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900174 #address-cells = <1>;
175 #size-cells = <0>;
Simon Horman137d27f2016-12-13 12:45:47 +0100176 compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900177 reg = <0xffc70000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900178 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900179 clocks = <&mstp0_clks R8A7779_CLK_I2C0>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200180 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200181 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900182 };
183
Lee Jones98724b72013-07-22 11:52:38 +0100184 i2c1: i2c@ffc71000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900185 #address-cells = <1>;
186 #size-cells = <0>;
Simon Horman137d27f2016-12-13 12:45:47 +0100187 compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900188 reg = <0xffc71000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900189 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900190 clocks = <&mstp0_clks R8A7779_CLK_I2C1>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200191 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200192 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900193 };
194
Lee Jones98724b72013-07-22 11:52:38 +0100195 i2c2: i2c@ffc72000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900196 #address-cells = <1>;
197 #size-cells = <0>;
Simon Horman137d27f2016-12-13 12:45:47 +0100198 compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900199 reg = <0xffc72000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900200 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900201 clocks = <&mstp0_clks R8A7779_CLK_I2C2>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200202 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200203 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900204 };
205
Lee Jones98724b72013-07-22 11:52:38 +0100206 i2c3: i2c@ffc73000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900207 #address-cells = <1>;
208 #size-cells = <0>;
Simon Horman137d27f2016-12-13 12:45:47 +0100209 compatible = "renesas,i2c-r8a7779", "renesas,rcar-gen1-i2c";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900210 reg = <0xffc73000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900211 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900212 clocks = <&mstp0_clks R8A7779_CLK_I2C3>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200213 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200214 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900215 };
Kuninori Morimoto25a65972013-03-04 00:32:16 -0800216
Simon Hormanfd953b82014-05-15 20:39:30 +0900217 scif0: serial@ffe40000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100218 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
219 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900220 reg = <0xffe40000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900221 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100222 clocks = <&mstp0_clks R8A7779_CLK_SCIF0>,
223 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
224 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200225 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900226 status = "disabled";
227 };
228
229 scif1: serial@ffe41000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100230 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
231 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900232 reg = <0xffe41000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900233 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100234 clocks = <&mstp0_clks R8A7779_CLK_SCIF1>,
235 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
236 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200237 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900238 status = "disabled";
239 };
240
241 scif2: serial@ffe42000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100242 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
243 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900244 reg = <0xffe42000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900245 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100246 clocks = <&mstp0_clks R8A7779_CLK_SCIF2>,
247 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
248 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200249 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900250 status = "disabled";
251 };
252
253 scif3: serial@ffe43000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100254 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
255 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900256 reg = <0xffe43000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900257 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100258 clocks = <&mstp0_clks R8A7779_CLK_SCIF3>,
259 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
260 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200261 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900262 status = "disabled";
263 };
264
265 scif4: serial@ffe44000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100266 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
267 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900268 reg = <0xffe44000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900269 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100270 clocks = <&mstp0_clks R8A7779_CLK_SCIF4>,
271 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
272 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200273 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900274 status = "disabled";
275 };
276
277 scif5: serial@ffe45000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100278 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
279 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900280 reg = <0xffe45000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900281 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100282 clocks = <&mstp0_clks R8A7779_CLK_SCIF5>,
283 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
284 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200285 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900286 status = "disabled";
287 };
288
Laurent Pinchart3ab03d02013-05-09 15:05:57 +0200289 pfc: pfc@fffc0000 {
290 compatible = "renesas,pfc-r8a7779";
291 reg = <0xfffc0000 0x23c>;
292 };
293
Kuninori Morimoto25a65972013-03-04 00:32:16 -0800294 thermal@ffc48000 {
Geert Uytterhoeven4d50e6d2014-08-28 10:20:40 +0200295 compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal";
Kuninori Morimoto25a65972013-03-04 00:32:16 -0800296 reg = <0xffc48000 0x38>;
297 };
Vladimir Barinov7840a652013-02-27 23:34:36 +0300298
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200299 tmu0: timer@ffd80000 {
Simon Hormana51b7b32014-09-08 09:27:48 +0900300 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200301 reg = <0xffd80000 0x30>;
Simon Horman854b7732016-01-21 13:52:46 +0900302 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
303 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
304 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200305 clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
306 clock-names = "fck";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200307 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200308
309 #renesas,channels = <3>;
310
311 status = "disabled";
312 };
313
314 tmu1: timer@ffd81000 {
Simon Hormana51b7b32014-09-08 09:27:48 +0900315 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200316 reg = <0xffd81000 0x30>;
Simon Horman854b7732016-01-21 13:52:46 +0900317 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
318 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
319 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200320 clocks = <&mstp0_clks R8A7779_CLK_TMU1>;
321 clock-names = "fck";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200322 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200323
324 #renesas,channels = <3>;
325
326 status = "disabled";
327 };
328
329 tmu2: timer@ffd82000 {
Simon Hormana51b7b32014-09-08 09:27:48 +0900330 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200331 reg = <0xffd82000 0x30>;
Simon Horman854b7732016-01-21 13:52:46 +0900332 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
333 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
334 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200335 clocks = <&mstp0_clks R8A7779_CLK_TMU2>;
336 clock-names = "fck";
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200337 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200338
339 #renesas,channels = <3>;
340
341 status = "disabled";
342 };
343
Vladimir Barinov7840a652013-02-27 23:34:36 +0300344 sata: sata@fc600000 {
Geert Uytterhoeven25af9c82014-10-29 14:58:51 +0100345 compatible = "renesas,sata-r8a7779", "renesas,rcar-sata";
Vladimir Barinov7840a652013-02-27 23:34:36 +0300346 reg = <0xfc600000 0x2000>;
Simon Horman854b7732016-01-21 13:52:46 +0900347 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900348 clocks = <&mstp1_clks R8A7779_CLK_SATA>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200349 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Geert Uytterhoevene8aa6812017-01-16 17:56:53 +0100350 status = "disabled";
Vladimir Barinov7840a652013-02-27 23:34:36 +0300351 };
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700352
Kuninori Morimoto26247052013-10-21 19:36:02 -0700353 sdhi0: sd@ffe4c000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700354 compatible = "renesas,sdhi-r8a7779";
355 reg = <0xffe4c000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900356 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900357 clocks = <&mstp3_clks R8A7779_CLK_SDHI0>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200358 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700359 status = "disabled";
360 };
361
Kuninori Morimoto26247052013-10-21 19:36:02 -0700362 sdhi1: sd@ffe4d000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700363 compatible = "renesas,sdhi-r8a7779";
364 reg = <0xffe4d000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900365 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900366 clocks = <&mstp3_clks R8A7779_CLK_SDHI1>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200367 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700368 status = "disabled";
369 };
370
Kuninori Morimoto26247052013-10-21 19:36:02 -0700371 sdhi2: sd@ffe4e000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700372 compatible = "renesas,sdhi-r8a7779";
373 reg = <0xffe4e000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900374 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900375 clocks = <&mstp3_clks R8A7779_CLK_SDHI2>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200376 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700377 status = "disabled";
378 };
379
Kuninori Morimoto26247052013-10-21 19:36:02 -0700380 sdhi3: sd@ffe4f000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700381 compatible = "renesas,sdhi-r8a7779";
382 reg = <0xffe4f000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900383 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900384 clocks = <&mstp3_clks R8A7779_CLK_SDHI3>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200385 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700386 status = "disabled";
387 };
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900388
389 hspi0: spi@fffc7000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100390 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900391 reg = <0xfffc7000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900392 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100393 #address-cells = <1>;
394 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900395 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200396 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900397 status = "disabled";
398 };
399
400 hspi1: spi@fffc8000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100401 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900402 reg = <0xfffc8000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900403 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100404 #address-cells = <1>;
405 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900406 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200407 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900408 status = "disabled";
409 };
410
411 hspi2: spi@fffc6000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100412 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900413 reg = <0xfffc6000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900414 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100415 #address-cells = <1>;
416 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900417 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200418 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900419 status = "disabled";
420 };
Simon Horman1e851532014-05-15 20:31:57 +0900421
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100422 du: display@fff80000 {
423 compatible = "renesas,du-r8a7779";
Laurent Pinchart30524ed2016-10-19 01:23:02 +0300424 reg = <0xfff80000 0x40000>;
Simon Horman854b7732016-01-21 13:52:46 +0900425 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100426 clocks = <&mstp1_clks R8A7779_CLK_DU>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200427 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100428 status = "disabled";
429
430 ports {
431 #address-cells = <1>;
432 #size-cells = <0>;
433
434 port@0 {
435 reg = <0>;
436 du_out_rgb0: endpoint {
437 };
438 };
439 port@1 {
440 reg = <1>;
441 du_out_rgb1: endpoint {
442 };
443 };
444 };
445 };
446
Simon Horman1e851532014-05-15 20:31:57 +0900447 clocks {
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200448 #address-cells = <1>;
449 #size-cells = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900450 ranges;
451
452 /* External root clock */
Simon Horman3f6dba72016-03-18 08:15:34 +0900453 extal_clk: extal {
Simon Horman1e851532014-05-15 20:31:57 +0900454 compatible = "fixed-clock";
455 #clock-cells = <0>;
456 /* This value must be overriden by the board. */
457 clock-frequency = <0>;
Simon Horman1e851532014-05-15 20:31:57 +0900458 };
459
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100460 /* External SCIF clock */
461 scif_clk: scif {
462 compatible = "fixed-clock";
463 #clock-cells = <0>;
464 /* This value must be overridden by the board. */
465 clock-frequency = <0>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100466 };
467
Simon Horman1e851532014-05-15 20:31:57 +0900468 /* Special CPG clocks */
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200469 cpg_clocks: clocks@ffc80000 {
Simon Horman1e851532014-05-15 20:31:57 +0900470 compatible = "renesas,r8a7779-cpg-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200471 reg = <0xffc80000 0x30>;
Simon Horman1e851532014-05-15 20:31:57 +0900472 clocks = <&extal_clk>;
473 #clock-cells = <1>;
474 clock-output-names = "plla", "z", "zs", "s",
475 "s1", "p", "b", "out";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200476 #power-domain-cells = <0>;
Simon Horman1e851532014-05-15 20:31:57 +0900477 };
478
479 /* Fixed factor clocks */
Simon Horman3f6dba72016-03-18 08:15:34 +0900480 i_clk: i {
Simon Horman1e851532014-05-15 20:31:57 +0900481 compatible = "fixed-factor-clock";
482 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
483 #clock-cells = <0>;
484 clock-div = <2>;
485 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900486 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900487 s3_clk: s3 {
Simon Horman1e851532014-05-15 20:31:57 +0900488 compatible = "fixed-factor-clock";
489 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
490 #clock-cells = <0>;
491 clock-div = <8>;
492 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900493 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900494 s4_clk: s4 {
Simon Horman1e851532014-05-15 20:31:57 +0900495 compatible = "fixed-factor-clock";
496 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
497 #clock-cells = <0>;
498 clock-div = <16>;
499 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900500 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900501 g_clk: g {
Simon Horman1e851532014-05-15 20:31:57 +0900502 compatible = "fixed-factor-clock";
503 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
504 #clock-cells = <0>;
505 clock-div = <24>;
506 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900507 };
508
509 /* Gate clocks */
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200510 mstp0_clks: clocks@ffc80030 {
Simon Horman1e851532014-05-15 20:31:57 +0900511 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200512 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200513 reg = <0xffc80030 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900514 clocks = <&cpg_clocks R8A7779_CLK_S>,
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200515 <&cpg_clocks R8A7779_CLK_P>,
Simon Horman1e851532014-05-15 20:31:57 +0900516 <&cpg_clocks R8A7779_CLK_P>,
517 <&cpg_clocks R8A7779_CLK_P>,
518 <&cpg_clocks R8A7779_CLK_S>,
519 <&cpg_clocks R8A7779_CLK_S>,
Magnus Dammc6ce3cd2014-12-15 14:00:34 +0900520 <&cpg_clocks R8A7779_CLK_P>,
521 <&cpg_clocks R8A7779_CLK_P>,
522 <&cpg_clocks R8A7779_CLK_P>,
523 <&cpg_clocks R8A7779_CLK_P>,
524 <&cpg_clocks R8A7779_CLK_P>,
525 <&cpg_clocks R8A7779_CLK_P>,
Simon Horman1e851532014-05-15 20:31:57 +0900526 <&cpg_clocks R8A7779_CLK_P>,
527 <&cpg_clocks R8A7779_CLK_P>,
528 <&cpg_clocks R8A7779_CLK_P>,
529 <&cpg_clocks R8A7779_CLK_P>;
530 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100531 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900532 R8A7779_CLK_HSPI R8A7779_CLK_TMU2
533 R8A7779_CLK_TMU1 R8A7779_CLK_TMU0
534 R8A7779_CLK_HSCIF1 R8A7779_CLK_HSCIF0
535 R8A7779_CLK_SCIF5 R8A7779_CLK_SCIF4
536 R8A7779_CLK_SCIF3 R8A7779_CLK_SCIF2
537 R8A7779_CLK_SCIF1 R8A7779_CLK_SCIF0
538 R8A7779_CLK_I2C3 R8A7779_CLK_I2C2
539 R8A7779_CLK_I2C1 R8A7779_CLK_I2C0
540 >;
541 clock-output-names =
542 "hspi", "tmu2", "tmu1", "tmu0", "hscif1",
543 "hscif0", "scif5", "scif4", "scif3", "scif2",
544 "scif1", "scif0", "i2c3", "i2c2", "i2c1",
545 "i2c0";
546 };
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200547 mstp1_clks: clocks@ffc80034 {
Simon Horman1e851532014-05-15 20:31:57 +0900548 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200549 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200550 reg = <0xffc80034 4>, <0xffc80044 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900551 clocks = <&cpg_clocks R8A7779_CLK_P>,
552 <&cpg_clocks R8A7779_CLK_P>,
553 <&cpg_clocks R8A7779_CLK_S>,
554 <&cpg_clocks R8A7779_CLK_S>,
555 <&cpg_clocks R8A7779_CLK_S>,
556 <&cpg_clocks R8A7779_CLK_S>,
557 <&cpg_clocks R8A7779_CLK_P>,
558 <&cpg_clocks R8A7779_CLK_P>,
559 <&cpg_clocks R8A7779_CLK_P>,
560 <&cpg_clocks R8A7779_CLK_S>;
561 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100562 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900563 R8A7779_CLK_USB01 R8A7779_CLK_USB2
564 R8A7779_CLK_DU R8A7779_CLK_VIN2
565 R8A7779_CLK_VIN1 R8A7779_CLK_VIN0
566 R8A7779_CLK_ETHER R8A7779_CLK_SATA
567 R8A7779_CLK_PCIE R8A7779_CLK_VIN3
568 >;
569 clock-output-names =
570 "usb01", "usb2",
571 "du", "vin2",
572 "vin1", "vin0",
573 "ether", "sata",
574 "pcie", "vin3";
575 };
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200576 mstp3_clks: clocks@ffc8003c {
Simon Horman1e851532014-05-15 20:31:57 +0900577 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200578 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200579 reg = <0xffc8003c 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900580 clocks = <&s4_clk>, <&s4_clk>, <&s4_clk>, <&s4_clk>,
581 <&s4_clk>, <&s4_clk>;
582 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100583 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900584 R8A7779_CLK_SDHI3 R8A7779_CLK_SDHI2
585 R8A7779_CLK_SDHI1 R8A7779_CLK_SDHI0
586 R8A7779_CLK_MMC1 R8A7779_CLK_MMC0
587 >;
588 clock-output-names =
589 "sdhi3", "sdhi2", "sdhi1", "sdhi0",
590 "mmc1", "mmc0";
591 };
592 };
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +0200593
Geert Uytterhoeven9ba368e2016-11-14 19:37:10 +0100594 prr: chipid@ff000044 {
595 compatible = "renesas,prr";
596 reg = <0xff000044 4>;
597 };
598
Geert Uytterhoevenad401502016-06-01 13:47:30 +0200599 rst: reset-controller@ffcc0000 {
600 compatible = "renesas,r8a7779-reset-wdt";
601 reg = <0xffcc0000 0x48>;
602 };
603
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +0200604 sysc: system-controller@ffd85000 {
605 compatible = "renesas,r8a7779-sysc";
606 reg = <0xffd85000 0x0200>;
607 #power-domain-cells = <1>;
608 };
Simon Hormanc58a1542013-01-29 14:21:46 +0900609};