blob: 60bc1e66bba9251394425c15e8e7fbcb26ae6e54 [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>
17
Simon Hormanc58a1542013-01-29 14:21:46 +090018/ {
19 compatible = "renesas,r8a7779";
Laurent Pinchart9ff254a2014-04-30 02:41:28 +020020 interrupt-parent = <&gic>;
Simon Hormanc58a1542013-01-29 14:21:46 +090021
22 cpus {
23 #address-cells = <1>;
24 #size-cells = <0>;
25
26 cpu@0 {
27 device_type = "cpu";
28 compatible = "arm,cortex-a9";
29 reg = <0>;
Simon Horman6b060f92014-05-16 13:42:58 +090030 clock-frequency = <1000000000>;
Simon Hormanc58a1542013-01-29 14:21:46 +090031 };
32 cpu@1 {
33 device_type = "cpu";
34 compatible = "arm,cortex-a9";
35 reg = <1>;
Simon Horman6b060f92014-05-16 13:42:58 +090036 clock-frequency = <1000000000>;
Simon Hormanc58a1542013-01-29 14:21:46 +090037 };
38 cpu@2 {
39 device_type = "cpu";
40 compatible = "arm,cortex-a9";
41 reg = <2>;
Simon Horman6b060f92014-05-16 13:42:58 +090042 clock-frequency = <1000000000>;
Simon Hormanc58a1542013-01-29 14:21:46 +090043 };
44 cpu@3 {
45 device_type = "cpu";
46 compatible = "arm,cortex-a9";
47 reg = <3>;
Simon Horman6b060f92014-05-16 13:42:58 +090048 clock-frequency = <1000000000>;
Simon Hormanc58a1542013-01-29 14:21:46 +090049 };
50 };
51
Simon Horman3c3f6ad2013-11-26 16:47:11 +090052 aliases {
53 spi0 = &hspi0;
54 spi1 = &hspi1;
55 spi2 = &hspi2;
56 };
57
Simon Hormancc703a52014-07-07 08:47:38 +020058 gic: interrupt-controller@f0001000 {
59 compatible = "arm,cortex-a9-gic";
60 #interrupt-cells = <3>;
61 interrupt-controller;
62 reg = <0xf0001000 0x1000>,
63 <0xf0000100 0x100>;
64 };
Simon Horman10e8d4f2012-11-21 22:00:15 +090065
Magnus Dammcea80652014-12-16 18:39:41 +090066 timer@f0000600 {
67 compatible = "arm,cortex-a9-twd-timer";
68 reg = <0xf0000600 0x20>;
69 interrupts = <GIC_PPI 13
70 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
71 clocks = <&cpg_clocks R8A7779_CLK_ZS>;
72 };
73
Laurent Pinchartf5c771b2013-05-10 15:51:14 +020074 gpio0: gpio@ffc40000 {
75 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
76 reg = <0xffc40000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +090077 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +020078 #gpio-cells = <2>;
79 gpio-controller;
80 gpio-ranges = <&pfc 0 0 32>;
81 #interrupt-cells = <2>;
82 interrupt-controller;
83 };
84
85 gpio1: gpio@ffc41000 {
86 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
87 reg = <0xffc41000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +090088 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +020089 #gpio-cells = <2>;
90 gpio-controller;
91 gpio-ranges = <&pfc 0 32 32>;
92 #interrupt-cells = <2>;
93 interrupt-controller;
94 };
95
96 gpio2: gpio@ffc42000 {
97 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
98 reg = <0xffc42000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +090099 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200100 #gpio-cells = <2>;
101 gpio-controller;
102 gpio-ranges = <&pfc 0 64 32>;
103 #interrupt-cells = <2>;
104 interrupt-controller;
105 };
106
107 gpio3: gpio@ffc43000 {
108 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
109 reg = <0xffc43000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900110 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200111 #gpio-cells = <2>;
112 gpio-controller;
113 gpio-ranges = <&pfc 0 96 32>;
114 #interrupt-cells = <2>;
115 interrupt-controller;
116 };
117
118 gpio4: gpio@ffc44000 {
119 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
120 reg = <0xffc44000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900121 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200122 #gpio-cells = <2>;
123 gpio-controller;
124 gpio-ranges = <&pfc 0 128 32>;
125 #interrupt-cells = <2>;
126 interrupt-controller;
127 };
128
129 gpio5: gpio@ffc45000 {
130 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
131 reg = <0xffc45000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900132 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200133 #gpio-cells = <2>;
134 gpio-controller;
135 gpio-ranges = <&pfc 0 160 32>;
136 #interrupt-cells = <2>;
137 interrupt-controller;
138 };
139
140 gpio6: gpio@ffc46000 {
141 compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar";
142 reg = <0xffc46000 0x2c>;
Simon Horman854b7732016-01-21 13:52:46 +0900143 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartf5c771b2013-05-10 15:51:14 +0200144 #gpio-cells = <2>;
145 gpio-controller;
146 gpio-ranges = <&pfc 0 192 9>;
147 #interrupt-cells = <2>;
148 interrupt-controller;
149 };
150
Magnus Damm7bf46d02015-06-25 17:57:28 +0900151 irqpin0: interrupt-controller@fe78001c {
Magnus Damm11ef0342013-11-28 08:15:18 +0900152 compatible = "renesas,intc-irqpin-r8a7779", "renesas,intc-irqpin";
Guennadi Liakhovetski24603f32013-04-03 11:19:07 +0200153 #interrupt-cells = <2>;
Kuninori Morimoto84b47df2013-10-02 01:39:13 -0700154 status = "disabled";
Guennadi Liakhovetski24603f32013-04-03 11:19:07 +0200155 interrupt-controller;
156 reg = <0xfe78001c 4>,
157 <0xfe780010 4>,
158 <0xfe780024 4>,
159 <0xfe780044 4>,
Magnus Damm7bf46d02015-06-25 17:57:28 +0900160 <0xfe780064 4>,
161 <0xfe780000 4>;
Simon Horman854b7732016-01-21 13:52:46 +0900162 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH
163 GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH
164 GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH
165 GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
Guennadi Liakhovetski24603f32013-04-03 11:19:07 +0200166 sense-bitfield-width = <2>;
167 };
168
Lee Jones98724b72013-07-22 11:52:38 +0100169 i2c0: i2c@ffc70000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900170 #address-cells = <1>;
171 #size-cells = <0>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700172 compatible = "renesas,i2c-r8a7779";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900173 reg = <0xffc70000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900174 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900175 clocks = <&mstp0_clks R8A7779_CLK_I2C0>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200176 power-domains = <&cpg_clocks>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200177 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900178 };
179
Lee Jones98724b72013-07-22 11:52:38 +0100180 i2c1: i2c@ffc71000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900181 #address-cells = <1>;
182 #size-cells = <0>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700183 compatible = "renesas,i2c-r8a7779";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900184 reg = <0xffc71000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900185 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900186 clocks = <&mstp0_clks R8A7779_CLK_I2C1>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200187 power-domains = <&cpg_clocks>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200188 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900189 };
190
Lee Jones98724b72013-07-22 11:52:38 +0100191 i2c2: i2c@ffc72000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900192 #address-cells = <1>;
193 #size-cells = <0>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700194 compatible = "renesas,i2c-r8a7779";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900195 reg = <0xffc72000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900196 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900197 clocks = <&mstp0_clks R8A7779_CLK_I2C2>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200198 power-domains = <&cpg_clocks>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200199 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900200 };
201
Lee Jones98724b72013-07-22 11:52:38 +0100202 i2c3: i2c@ffc73000 {
Simon Horman10e8d4f2012-11-21 22:00:15 +0900203 #address-cells = <1>;
204 #size-cells = <0>;
Kuninori Morimoto63630702013-10-03 23:44:44 -0700205 compatible = "renesas,i2c-r8a7779";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900206 reg = <0xffc73000 0x1000>;
Simon Horman854b7732016-01-21 13:52:46 +0900207 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900208 clocks = <&mstp0_clks R8A7779_CLK_I2C3>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200209 power-domains = <&cpg_clocks>;
Guennadi Liakhovetskieda3a4f2013-09-26 13:06:01 +0200210 status = "disabled";
Simon Horman10e8d4f2012-11-21 22:00:15 +0900211 };
Kuninori Morimoto25a65972013-03-04 00:32:16 -0800212
Simon Hormanfd953b82014-05-15 20:39:30 +0900213 scif0: serial@ffe40000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100214 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
215 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900216 reg = <0xffe40000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900217 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100218 clocks = <&mstp0_clks R8A7779_CLK_SCIF0>,
219 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
220 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200221 power-domains = <&cpg_clocks>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900222 status = "disabled";
223 };
224
225 scif1: serial@ffe41000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100226 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
227 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900228 reg = <0xffe41000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900229 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100230 clocks = <&mstp0_clks R8A7779_CLK_SCIF1>,
231 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
232 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200233 power-domains = <&cpg_clocks>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900234 status = "disabled";
235 };
236
237 scif2: serial@ffe42000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100238 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
239 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900240 reg = <0xffe42000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900241 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100242 clocks = <&mstp0_clks R8A7779_CLK_SCIF2>,
243 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
244 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200245 power-domains = <&cpg_clocks>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900246 status = "disabled";
247 };
248
249 scif3: serial@ffe43000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100250 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
251 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900252 reg = <0xffe43000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900253 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100254 clocks = <&mstp0_clks R8A7779_CLK_SCIF3>,
255 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
256 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200257 power-domains = <&cpg_clocks>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900258 status = "disabled";
259 };
260
261 scif4: serial@ffe44000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100262 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
263 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900264 reg = <0xffe44000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900265 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100266 clocks = <&mstp0_clks R8A7779_CLK_SCIF4>,
267 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
268 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200269 power-domains = <&cpg_clocks>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900270 status = "disabled";
271 };
272
273 scif5: serial@ffe45000 {
Geert Uytterhoevenb2ac44f2016-01-29 10:32:03 +0100274 compatible = "renesas,scif-r8a7779", "renesas,rcar-gen1-scif",
275 "renesas,scif";
Simon Hormanfd953b82014-05-15 20:39:30 +0900276 reg = <0xffe45000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900277 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100278 clocks = <&mstp0_clks R8A7779_CLK_SCIF5>,
279 <&cpg_clocks R8A7779_CLK_S1>, <&scif_clk>;
280 clock-names = "fck", "brg_int", "scif_clk";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200281 power-domains = <&cpg_clocks>;
Simon Hormanfd953b82014-05-15 20:39:30 +0900282 status = "disabled";
283 };
284
Laurent Pinchart3ab03d02013-05-09 15:05:57 +0200285 pfc: pfc@fffc0000 {
286 compatible = "renesas,pfc-r8a7779";
287 reg = <0xfffc0000 0x23c>;
288 };
289
Kuninori Morimoto25a65972013-03-04 00:32:16 -0800290 thermal@ffc48000 {
Geert Uytterhoeven4d50e6d2014-08-28 10:20:40 +0200291 compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal";
Kuninori Morimoto25a65972013-03-04 00:32:16 -0800292 reg = <0xffc48000 0x38>;
293 };
Vladimir Barinov7840a652013-02-27 23:34:36 +0300294
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200295 tmu0: timer@ffd80000 {
Simon Hormana51b7b32014-09-08 09:27:48 +0900296 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200297 reg = <0xffd80000 0x30>;
Simon Horman854b7732016-01-21 13:52:46 +0900298 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
299 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
300 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200301 clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
302 clock-names = "fck";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200303 power-domains = <&cpg_clocks>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200304
305 #renesas,channels = <3>;
306
307 status = "disabled";
308 };
309
310 tmu1: timer@ffd81000 {
Simon Hormana51b7b32014-09-08 09:27:48 +0900311 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200312 reg = <0xffd81000 0x30>;
Simon Horman854b7732016-01-21 13:52:46 +0900313 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
314 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
315 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200316 clocks = <&mstp0_clks R8A7779_CLK_TMU1>;
317 clock-names = "fck";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200318 power-domains = <&cpg_clocks>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200319
320 #renesas,channels = <3>;
321
322 status = "disabled";
323 };
324
325 tmu2: timer@ffd82000 {
Simon Hormana51b7b32014-09-08 09:27:48 +0900326 compatible = "renesas,tmu-r8a7779", "renesas,tmu";
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200327 reg = <0xffd82000 0x30>;
Simon Horman854b7732016-01-21 13:52:46 +0900328 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
329 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
330 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200331 clocks = <&mstp0_clks R8A7779_CLK_TMU2>;
332 clock-names = "fck";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200333 power-domains = <&cpg_clocks>;
Laurent Pinchartef890ea2014-07-09 15:12:39 +0200334
335 #renesas,channels = <3>;
336
337 status = "disabled";
338 };
339
Vladimir Barinov7840a652013-02-27 23:34:36 +0300340 sata: sata@fc600000 {
Geert Uytterhoeven25af9c82014-10-29 14:58:51 +0100341 compatible = "renesas,sata-r8a7779", "renesas,rcar-sata";
Vladimir Barinov7840a652013-02-27 23:34:36 +0300342 reg = <0xfc600000 0x2000>;
Simon Horman854b7732016-01-21 13:52:46 +0900343 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900344 clocks = <&mstp1_clks R8A7779_CLK_SATA>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200345 power-domains = <&cpg_clocks>;
Vladimir Barinov7840a652013-02-27 23:34:36 +0300346 };
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700347
Kuninori Morimoto26247052013-10-21 19:36:02 -0700348 sdhi0: sd@ffe4c000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700349 compatible = "renesas,sdhi-r8a7779";
350 reg = <0xffe4c000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900351 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900352 clocks = <&mstp3_clks R8A7779_CLK_SDHI0>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200353 power-domains = <&cpg_clocks>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700354 status = "disabled";
355 };
356
Kuninori Morimoto26247052013-10-21 19:36:02 -0700357 sdhi1: sd@ffe4d000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700358 compatible = "renesas,sdhi-r8a7779";
359 reg = <0xffe4d000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900360 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900361 clocks = <&mstp3_clks R8A7779_CLK_SDHI1>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200362 power-domains = <&cpg_clocks>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700363 status = "disabled";
364 };
365
Kuninori Morimoto26247052013-10-21 19:36:02 -0700366 sdhi2: sd@ffe4e000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700367 compatible = "renesas,sdhi-r8a7779";
368 reg = <0xffe4e000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900369 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900370 clocks = <&mstp3_clks R8A7779_CLK_SDHI2>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200371 power-domains = <&cpg_clocks>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700372 status = "disabled";
373 };
374
Kuninori Morimoto26247052013-10-21 19:36:02 -0700375 sdhi3: sd@ffe4f000 {
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700376 compatible = "renesas,sdhi-r8a7779";
377 reg = <0xffe4f000 0x100>;
Simon Horman854b7732016-01-21 13:52:46 +0900378 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900379 clocks = <&mstp3_clks R8A7779_CLK_SDHI3>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200380 power-domains = <&cpg_clocks>;
Kuninori Morimotoc4866e72013-10-10 23:36:22 -0700381 status = "disabled";
382 };
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900383
384 hspi0: spi@fffc7000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100385 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900386 reg = <0xfffc7000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900387 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100388 #address-cells = <1>;
389 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900390 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200391 power-domains = <&cpg_clocks>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900392 status = "disabled";
393 };
394
395 hspi1: spi@fffc8000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100396 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900397 reg = <0xfffc8000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900398 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100399 #address-cells = <1>;
400 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900401 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200402 power-domains = <&cpg_clocks>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900403 status = "disabled";
404 };
405
406 hspi2: spi@fffc6000 {
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100407 compatible = "renesas,hspi-r8a7779", "renesas,hspi";
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900408 reg = <0xfffc6000 0x18>;
Simon Horman854b7732016-01-21 13:52:46 +0900409 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
Geert Uytterhoeven7709c332014-03-14 11:06:40 +0100410 #address-cells = <1>;
411 #size-cells = <0>;
Simon Horman3325cbe2014-05-15 20:32:00 +0900412 clocks = <&mstp0_clks R8A7779_CLK_HSPI>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200413 power-domains = <&cpg_clocks>;
Simon Horman3c3f6ad2013-11-26 16:47:11 +0900414 status = "disabled";
415 };
Simon Horman1e851532014-05-15 20:31:57 +0900416
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100417 du: display@fff80000 {
418 compatible = "renesas,du-r8a7779";
419 reg = <0 0xfff80000 0 0x40000>;
Simon Horman854b7732016-01-21 13:52:46 +0900420 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100421 clocks = <&mstp1_clks R8A7779_CLK_DU>;
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200422 power-domains = <&cpg_clocks>;
Laurent Pinchart1f08bbe2014-01-21 16:00:46 +0100423 status = "disabled";
424
425 ports {
426 #address-cells = <1>;
427 #size-cells = <0>;
428
429 port@0 {
430 reg = <0>;
431 du_out_rgb0: endpoint {
432 };
433 };
434 port@1 {
435 reg = <1>;
436 du_out_rgb1: endpoint {
437 };
438 };
439 };
440 };
441
Simon Horman1e851532014-05-15 20:31:57 +0900442 clocks {
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200443 #address-cells = <1>;
444 #size-cells = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900445 ranges;
446
447 /* External root clock */
Simon Horman3f6dba72016-03-18 08:15:34 +0900448 extal_clk: extal {
Simon Horman1e851532014-05-15 20:31:57 +0900449 compatible = "fixed-clock";
450 #clock-cells = <0>;
451 /* This value must be overriden by the board. */
452 clock-frequency = <0>;
Simon Horman1e851532014-05-15 20:31:57 +0900453 };
454
Geert Uytterhoevenf2be5f02016-01-29 11:04:38 +0100455 /* External SCIF clock */
456 scif_clk: scif {
457 compatible = "fixed-clock";
458 #clock-cells = <0>;
459 /* This value must be overridden by the board. */
460 clock-frequency = <0>;
461 status = "disabled";
462 };
463
Simon Horman1e851532014-05-15 20:31:57 +0900464 /* Special CPG clocks */
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200465 cpg_clocks: clocks@ffc80000 {
Simon Horman1e851532014-05-15 20:31:57 +0900466 compatible = "renesas,r8a7779-cpg-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200467 reg = <0xffc80000 0x30>;
Simon Horman1e851532014-05-15 20:31:57 +0900468 clocks = <&extal_clk>;
469 #clock-cells = <1>;
470 clock-output-names = "plla", "z", "zs", "s",
471 "s1", "p", "b", "out";
Geert Uytterhoeven33c36322015-08-04 14:28:09 +0200472 #power-domain-cells = <0>;
Simon Horman1e851532014-05-15 20:31:57 +0900473 };
474
475 /* Fixed factor clocks */
Simon Horman3f6dba72016-03-18 08:15:34 +0900476 i_clk: i {
Simon Horman1e851532014-05-15 20:31:57 +0900477 compatible = "fixed-factor-clock";
478 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
479 #clock-cells = <0>;
480 clock-div = <2>;
481 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900482 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900483 s3_clk: s3 {
Simon Horman1e851532014-05-15 20:31:57 +0900484 compatible = "fixed-factor-clock";
485 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
486 #clock-cells = <0>;
487 clock-div = <8>;
488 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900489 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900490 s4_clk: s4 {
Simon Horman1e851532014-05-15 20:31:57 +0900491 compatible = "fixed-factor-clock";
492 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
493 #clock-cells = <0>;
494 clock-div = <16>;
495 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900496 };
Simon Horman3f6dba72016-03-18 08:15:34 +0900497 g_clk: g {
Simon Horman1e851532014-05-15 20:31:57 +0900498 compatible = "fixed-factor-clock";
499 clocks = <&cpg_clocks R8A7779_CLK_PLLA>;
500 #clock-cells = <0>;
501 clock-div = <24>;
502 clock-mult = <1>;
Simon Horman1e851532014-05-15 20:31:57 +0900503 };
504
505 /* Gate clocks */
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200506 mstp0_clks: clocks@ffc80030 {
Simon Horman1e851532014-05-15 20:31:57 +0900507 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200508 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200509 reg = <0xffc80030 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900510 clocks = <&cpg_clocks R8A7779_CLK_S>,
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200511 <&cpg_clocks R8A7779_CLK_P>,
Simon Horman1e851532014-05-15 20:31:57 +0900512 <&cpg_clocks R8A7779_CLK_P>,
513 <&cpg_clocks R8A7779_CLK_P>,
514 <&cpg_clocks R8A7779_CLK_S>,
515 <&cpg_clocks R8A7779_CLK_S>,
Magnus Dammc6ce3cd2014-12-15 14:00:34 +0900516 <&cpg_clocks R8A7779_CLK_P>,
517 <&cpg_clocks R8A7779_CLK_P>,
518 <&cpg_clocks R8A7779_CLK_P>,
519 <&cpg_clocks R8A7779_CLK_P>,
520 <&cpg_clocks R8A7779_CLK_P>,
521 <&cpg_clocks R8A7779_CLK_P>,
Simon Horman1e851532014-05-15 20:31:57 +0900522 <&cpg_clocks R8A7779_CLK_P>,
523 <&cpg_clocks R8A7779_CLK_P>,
524 <&cpg_clocks R8A7779_CLK_P>,
525 <&cpg_clocks R8A7779_CLK_P>;
526 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100527 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900528 R8A7779_CLK_HSPI R8A7779_CLK_TMU2
529 R8A7779_CLK_TMU1 R8A7779_CLK_TMU0
530 R8A7779_CLK_HSCIF1 R8A7779_CLK_HSCIF0
531 R8A7779_CLK_SCIF5 R8A7779_CLK_SCIF4
532 R8A7779_CLK_SCIF3 R8A7779_CLK_SCIF2
533 R8A7779_CLK_SCIF1 R8A7779_CLK_SCIF0
534 R8A7779_CLK_I2C3 R8A7779_CLK_I2C2
535 R8A7779_CLK_I2C1 R8A7779_CLK_I2C0
536 >;
537 clock-output-names =
538 "hspi", "tmu2", "tmu1", "tmu0", "hscif1",
539 "hscif0", "scif5", "scif4", "scif3", "scif2",
540 "scif1", "scif0", "i2c3", "i2c2", "i2c1",
541 "i2c0";
542 };
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200543 mstp1_clks: clocks@ffc80034 {
Simon Horman1e851532014-05-15 20:31:57 +0900544 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200545 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200546 reg = <0xffc80034 4>, <0xffc80044 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900547 clocks = <&cpg_clocks R8A7779_CLK_P>,
548 <&cpg_clocks R8A7779_CLK_P>,
549 <&cpg_clocks R8A7779_CLK_S>,
550 <&cpg_clocks R8A7779_CLK_S>,
551 <&cpg_clocks R8A7779_CLK_S>,
552 <&cpg_clocks R8A7779_CLK_S>,
553 <&cpg_clocks R8A7779_CLK_P>,
554 <&cpg_clocks R8A7779_CLK_P>,
555 <&cpg_clocks R8A7779_CLK_P>,
556 <&cpg_clocks R8A7779_CLK_S>;
557 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100558 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900559 R8A7779_CLK_USB01 R8A7779_CLK_USB2
560 R8A7779_CLK_DU R8A7779_CLK_VIN2
561 R8A7779_CLK_VIN1 R8A7779_CLK_VIN0
562 R8A7779_CLK_ETHER R8A7779_CLK_SATA
563 R8A7779_CLK_PCIE R8A7779_CLK_VIN3
564 >;
565 clock-output-names =
566 "usb01", "usb2",
567 "du", "vin2",
568 "vin1", "vin0",
569 "ether", "sata",
570 "pcie", "vin3";
571 };
Geert Uytterhoeven2909b872014-05-23 09:46:20 +0200572 mstp3_clks: clocks@ffc8003c {
Simon Horman1e851532014-05-15 20:31:57 +0900573 compatible = "renesas,r8a7779-mstp-clocks",
Geert Uytterhoeven99e544c2014-08-28 10:21:55 +0200574 "renesas,cpg-mstp-clocks";
Geert Uytterhoeven5cc8afc2014-05-23 09:46:19 +0200575 reg = <0xffc8003c 4>;
Simon Horman1e851532014-05-15 20:31:57 +0900576 clocks = <&s4_clk>, <&s4_clk>, <&s4_clk>, <&s4_clk>,
577 <&s4_clk>, <&s4_clk>;
578 #clock-cells = <1>;
Geert Uytterhoeven64530fc2014-11-10 19:49:36 +0100579 clock-indices = <
Simon Horman1e851532014-05-15 20:31:57 +0900580 R8A7779_CLK_SDHI3 R8A7779_CLK_SDHI2
581 R8A7779_CLK_SDHI1 R8A7779_CLK_SDHI0
582 R8A7779_CLK_MMC1 R8A7779_CLK_MMC0
583 >;
584 clock-output-names =
585 "sdhi3", "sdhi2", "sdhi1", "sdhi0",
586 "mmc1", "mmc0";
587 };
588 };
Simon Hormanc58a1542013-01-29 14:21:46 +0900589};