blob: b9bbcce69dfbd5b9efda7ae20a83752cf459c925 [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
12/include/ "skeleton.dtsi"
13
Simon Horman1e851532014-05-15 20:31:57 +090014#include <dt-bindings/clock/r8a7779-clock.h>
Magnus Dammcea80652014-12-16 18:39:41 +090015#include <dt-bindings/interrupt-controller/arm-gic.h>
Laurent Pinchart5f75e732013-11-19 03:18:25 +010016#include <dt-bindings/interrupt-controller/irq.h>
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +020017#include <dt-bindings/power/r8a7779-sysc.h>
Laurent Pinchart5f75e732013-11-19 03:18:25 +010018
Simon Hormanc58a1542013-01-29 14:21:46 +090019/ {
20 compatible = "renesas,r8a7779";
Laurent Pinchart9ff254a2014-04-30 02:41:28 +020021 interrupt-parent = <&gic>;
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>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700176 compatible = "renesas,i2c-r8a7779";
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>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700187 compatible = "renesas,i2c-r8a7779";
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>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700198 compatible = "renesas,i2c-r8a7779";
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>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700209 compatible = "renesas,i2c-r8a7779";
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>;
Vladimir Barinov7840a652013-02-27 23:34:36 +0300350 };
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700351
Kuninori Morimoto26247052013-10-21 19:36:02 -0700352 sdhi0: sd@ffe4c000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700353 compatible = "renesas,sdhi-r8a7779";
354 reg = <0xffe4c000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900355 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900356 clocks = <&mstp3_clks R8A7779_CLK_SDHI0>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200357 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700358 status = "disabled";
359 };
360
Kuninori Morimoto26247052013-10-21 19:36:02 -0700361 sdhi1: sd@ffe4d000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700362 compatible = "renesas,sdhi-r8a7779";
363 reg = <0xffe4d000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900364 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900365 clocks = <&mstp3_clks R8A7779_CLK_SDHI1>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200366 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700367 status = "disabled";
368 };
369
Kuninori Morimoto26247052013-10-21 19:36:02 -0700370 sdhi2: sd@ffe4e000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700371 compatible = "renesas,sdhi-r8a7779";
372 reg = <0xffe4e000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900373 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900374 clocks = <&mstp3_clks R8A7779_CLK_SDHI2>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200375 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700376 status = "disabled";
377 };
378
Kuninori Morimoto26247052013-10-21 19:36:02 -0700379 sdhi3: sd@ffe4f000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700380 compatible = "renesas,sdhi-r8a7779";
381 reg = <0xffe4f000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900382 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900383 clocks = <&mstp3_clks R8A7779_CLK_SDHI3>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200384 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700385 status = "disabled";
386 };
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900387
388 hspi0: spi@fffc7000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100389 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900390 reg = <0xfffc7000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900391 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100392 #address-cells = <1>;
393 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900394 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200395 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900396 status = "disabled";
397 };
398
399 hspi1: spi@fffc8000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100400 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900401 reg = <0xfffc8000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900402 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100403 #address-cells = <1>;
404 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900405 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200406 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900407 status = "disabled";
408 };
409
410 hspi2: spi@fffc6000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100411 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900412 reg = <0xfffc6000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900413 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100414 #address-cells = <1>;
415 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900416 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200417 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900418 status = "disabled";
419 };
Simon Horman1e851532014-05-15 20:31:57 +0900420
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100421 du: display@fff80000 {
422 compatible = "renesas,du-r8a7779";
423 reg = <0 0xfff80000 0 0x40000>;
Simon Horman854b7732016-01-21 13:52:46 +0900424 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100425 clocks = <&mstp1_clks R8A7779_CLK_DU>;
Geert Uytterhoeven751e29b2015-06-03 10:14:01 +0200426 power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100427 status = "disabled";
428
429 ports {
430 #address-cells = <1>;
431 #size-cells = <0>;
432
433 port@0 {
434 reg = <0>;
435 du_out_rgb0: endpoint {
436 };
437 };
438 port@1 {
439 reg = <1>;
440 du_out_rgb1: endpoint {
441 };
442 };
443 };
444 };
445
Simon Horman1e851532014-05-15 20:31:57 +0900446 clocks {
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200447 #address-cells = <1>;
448 #size-cells = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900449 ranges;
450
451 /* External root clock */
Simon Horman3f6dba72016-03-18 08:15:34 +0900452 extal_clk: extal {
Simon Horman1e851532014-05-15 20:31:57 +0900453 compatible = "fixed-clock";
454 #clock-cells = <0>;
455 /* This value must be overriden by the board. */
456 clock-frequency = <0>;
Simon Horman1e851532014-05-15 20:31:57 +0900457 };
458
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100459 /* External SCIF clock */
460 scif_clk: scif {
461 compatible = "fixed-clock";
462 #clock-cells = <0>;
463 /* This value must be overridden by the board. */
464 clock-frequency = <0>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100465 };
466
Simon Horman1e851532014-05-15 20:31:57 +0900467 /* Special CPG clocks */
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200468 cpg_clocks: clocks@ffc80000 {
Simon Horman1e851532014-05-15 20:31:57 +0900469 compatible = "renesas,r8a7779-cpg-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200470 reg = <0xffc80000 0x30>;
Simon Horman1e851532014-05-15 20:31:57 +0900471 clocks = <&extal_clk>;
472 #clock-cells = <1>;
473 clock-output-names = "plla", "z", "zs", "s",
474 "s1", "p", "b", "out";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200475 #power-domain-cells = <0>;
Simon Horman1e851532014-05-15 20:31:57 +0900476 };
477
478 /* Fixed factor clocks */
Simon Horman3f6dba72016-03-18 08:15:34 +0900479 i_clk: i {
Simon Horman1e851532014-05-15 20:31:57 +0900480 compatible = "fixed-factor-clock";
481 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
482 #clock-cells = <0>;
483 clock-div = <2>;
484 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900485 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900486 s3_clk: s3 {
Simon Horman1e851532014-05-15 20:31:57 +0900487 compatible = "fixed-factor-clock";
488 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
489 #clock-cells = <0>;
490 clock-div = <8>;
491 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900492 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900493 s4_clk: s4 {
Simon Horman1e851532014-05-15 20:31:57 +0900494 compatible = "fixed-factor-clock";
495 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
496 #clock-cells = <0>;
497 clock-div = <16>;
498 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900499 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900500 g_clk: g {
Simon Horman1e851532014-05-15 20:31:57 +0900501 compatible = "fixed-factor-clock";
502 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
503 #clock-cells = <0>;
504 clock-div = <24>;
505 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900506 };
507
508 /* Gate clocks */
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200509 mstp0_clks: clocks@ffc80030 {
Simon Horman1e851532014-05-15 20:31:57 +0900510 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200511 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200512 reg = <0xffc80030 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900513 clocks = <&cpg_clocks R8A7779_CLK_S>,
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200514 <&cpg_clocks R8A7779_CLK_P>,
Simon Horman1e851532014-05-15 20:31:57 +0900515 <&cpg_clocks R8A7779_CLK_P>,
516 <&cpg_clocks R8A7779_CLK_P>,
517 <&cpg_clocks R8A7779_CLK_S>,
518 <&cpg_clocks R8A7779_CLK_S>,
Magnus Dammc6ce3cd2014-12-15 14:00:34 +0900519 <&cpg_clocks R8A7779_CLK_P>,
520 <&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>,
Simon Horman1e851532014-05-15 20:31:57 +0900525 <&cpg_clocks R8A7779_CLK_P>,
526 <&cpg_clocks R8A7779_CLK_P>,
527 <&cpg_clocks R8A7779_CLK_P>,
528 <&cpg_clocks R8A7779_CLK_P>;
529 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100530 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900531 R8A7779_CLK_HSPI R8A7779_CLK_TMU2
532 R8A7779_CLK_TMU1 R8A7779_CLK_TMU0
533 R8A7779_CLK_HSCIF1 R8A7779_CLK_HSCIF0
534 R8A7779_CLK_SCIF5 R8A7779_CLK_SCIF4
535 R8A7779_CLK_SCIF3 R8A7779_CLK_SCIF2
536 R8A7779_CLK_SCIF1 R8A7779_CLK_SCIF0
537 R8A7779_CLK_I2C3 R8A7779_CLK_I2C2
538 R8A7779_CLK_I2C1 R8A7779_CLK_I2C0
539 >;
540 clock-output-names =
541 "hspi", "tmu2", "tmu1", "tmu0", "hscif1",
542 "hscif0", "scif5", "scif4", "scif3", "scif2",
543 "scif1", "scif0", "i2c3", "i2c2", "i2c1",
544 "i2c0";
545 };
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200546 mstp1_clks: clocks@ffc80034 {
Simon Horman1e851532014-05-15 20:31:57 +0900547 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200548 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200549 reg = <0xffc80034 4>, <0xffc80044 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900550 clocks = <&cpg_clocks R8A7779_CLK_P>,
551 <&cpg_clocks R8A7779_CLK_P>,
552 <&cpg_clocks R8A7779_CLK_S>,
553 <&cpg_clocks R8A7779_CLK_S>,
554 <&cpg_clocks R8A7779_CLK_S>,
555 <&cpg_clocks R8A7779_CLK_S>,
556 <&cpg_clocks R8A7779_CLK_P>,
557 <&cpg_clocks R8A7779_CLK_P>,
558 <&cpg_clocks R8A7779_CLK_P>,
559 <&cpg_clocks R8A7779_CLK_S>;
560 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100561 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900562 R8A7779_CLK_USB01 R8A7779_CLK_USB2
563 R8A7779_CLK_DU R8A7779_CLK_VIN2
564 R8A7779_CLK_VIN1 R8A7779_CLK_VIN0
565 R8A7779_CLK_ETHER R8A7779_CLK_SATA
566 R8A7779_CLK_PCIE R8A7779_CLK_VIN3
567 >;
568 clock-output-names =
569 "usb01", "usb2",
570 "du", "vin2",
571 "vin1", "vin0",
572 "ether", "sata",
573 "pcie", "vin3";
574 };
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200575 mstp3_clks: clocks@ffc8003c {
Simon Horman1e851532014-05-15 20:31:57 +0900576 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200577 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200578 reg = <0xffc8003c 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900579 clocks = <&s4_clk>, <&s4_clk>, <&s4_clk>, <&s4_clk>,
580 <&s4_clk>, <&s4_clk>;
581 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100582 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900583 R8A7779_CLK_SDHI3 R8A7779_CLK_SDHI2
584 R8A7779_CLK_SDHI1 R8A7779_CLK_SDHI0
585 R8A7779_CLK_MMC1 R8A7779_CLK_MMC0
586 >;
587 clock-output-names =
588 "sdhi3", "sdhi2", "sdhi1", "sdhi0",
589 "mmc1", "mmc0";
590 };
591 };
Geert Uytterhoevenb2df3aa2015-06-03 10:14:01 +0200592
593 sysc: system-controller@ffd85000 {
594 compatible = "renesas,r8a7779-sysc";
595 reg = <0xffd85000 0x0200>;
596 #power-domain-cells = <1>;
597 };
Simon Hormanc58a1542013-01-29 14:21:46 +0900598};