]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blob - arch/arm/boot/dts/r8a7794-silk.dts
Merge tag 'v4.9-rc3' into xtensa-for-next
[mirror_ubuntu-eoan-kernel.git] / arch / arm / boot / dts / r8a7794-silk.dts
1 /*
2 * Device Tree Source for the SILK board
3 *
4 * Copyright (C) 2014 Renesas Electronics Corporation
5 * Copyright (C) 2014-2015 Renesas Solutions Corp.
6 * Copyright (C) 2014-2015 Cogent Embedded, Inc.
7 *
8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any
10 * kind, whether express or implied.
11 */
12
13 /*
14 * SSI-AK4643
15 *
16 * SW1: 2-1: AK4643
17 * 2-3: ADV7511
18 *
19 * This command is required before playback/capture:
20 *
21 * amixer set "LINEOUT Mixer DACL" on
22 */
23
24 /dts-v1/;
25 #include "r8a7794.dtsi"
26 #include <dt-bindings/gpio/gpio.h>
27
28 / {
29 model = "SILK";
30 compatible = "renesas,silk", "renesas,r8a7794";
31
32 aliases {
33 serial0 = &scif2;
34 };
35
36 chosen {
37 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
38 stdout-path = "serial0:115200n8";
39 };
40
41 memory@40000000 {
42 device_type = "memory";
43 reg = <0 0x40000000 0 0x40000000>;
44 };
45
46 d3_3v: regulator-d3-3v {
47 compatible = "regulator-fixed";
48 regulator-name = "D3.3V";
49 regulator-min-microvolt = <3300000>;
50 regulator-max-microvolt = <3300000>;
51 regulator-boot-on;
52 regulator-always-on;
53 };
54
55 vcc_sdhi1: regulator-vcc-sdhi1 {
56 compatible = "regulator-fixed";
57
58 regulator-name = "SDHI1 Vcc";
59 regulator-min-microvolt = <3300000>;
60 regulator-max-microvolt = <3300000>;
61
62 gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
63 enable-active-high;
64 };
65
66 vccq_sdhi1: regulator-vccq-sdhi1 {
67 compatible = "regulator-gpio";
68
69 regulator-name = "SDHI1 VccQ";
70 regulator-min-microvolt = <1800000>;
71 regulator-max-microvolt = <3300000>;
72
73 gpios = <&gpio4 29 GPIO_ACTIVE_HIGH>;
74 gpios-states = <1>;
75 states = <3300000 1
76 1800000 0>;
77 };
78
79 vga-encoder {
80 compatible = "adi,adv7123";
81
82 ports {
83 #address-cells = <1>;
84 #size-cells = <0>;
85
86 port@0 {
87 reg = <0>;
88 adv7123_in: endpoint {
89 remote-endpoint = <&du_out_rgb1>;
90 };
91 };
92 port@1 {
93 reg = <1>;
94 adv7123_out: endpoint {
95 remote-endpoint = <&vga_in>;
96 };
97 };
98 };
99 };
100
101 hdmi-out {
102 compatible = "hdmi-connector";
103 type = "a";
104
105 port {
106 hdmi_con: endpoint {
107 remote-endpoint = <&adv7511_out>;
108 };
109 };
110 };
111
112 vga {
113 compatible = "vga-connector";
114
115 port {
116 vga_in: endpoint {
117 remote-endpoint = <&adv7123_out>;
118 };
119 };
120 };
121
122 x2_clk: x2-clock {
123 compatible = "fixed-clock";
124 #clock-cells = <0>;
125 clock-frequency = <148500000>;
126 };
127
128 x3_clk: x3-clock {
129 compatible = "fixed-clock";
130 #clock-cells = <0>;
131 clock-frequency = <74250000>;
132 };
133
134 x9_clk: audio_clock {
135 compatible = "fixed-clock";
136 #clock-cells = <0>;
137 clock-frequency = <12288000>;
138 };
139
140 sound {
141 compatible = "simple-audio-card";
142
143 simple-audio-card,format = "left_j";
144 simple-audio-card,bitclock-master = <&soundcodec>;
145 simple-audio-card,frame-master = <&soundcodec>;
146
147 simple-audio-card,cpu {
148 sound-dai = <&rcar_sound>;
149 };
150
151 soundcodec: simple-audio-card,codec {
152 sound-dai = <&ak4643>;
153 clocks = <&x9_clk>;
154 };
155 };
156 };
157
158 &extal_clk {
159 clock-frequency = <20000000>;
160 };
161
162 &pfc {
163 pinctrl-0 = <&scif_clk_pins>;
164 pinctrl-names = "default";
165
166 scif2_pins: scif2 {
167 groups = "scif2_data";
168 function = "scif2";
169 };
170
171 scif_clk_pins: scif_clk {
172 groups = "scif_clk";
173 function = "scif_clk";
174 };
175
176 ether_pins: ether {
177 groups = "eth_link", "eth_mdio", "eth_rmii";
178 function = "eth";
179 };
180
181 phy1_pins: phy1 {
182 groups = "intc_irq8";
183 function = "intc";
184 };
185
186 i2c1_pins: i2c1 {
187 groups = "i2c1";
188 function = "i2c1";
189 };
190
191 mmcif0_pins: mmcif0 {
192 groups = "mmc_data8", "mmc_ctrl";
193 function = "mmc";
194 };
195
196 sdhi1_pins: sd1 {
197 groups = "sdhi1_data4", "sdhi1_ctrl";
198 function = "sdhi1";
199 };
200
201 qspi_pins: qspi {
202 groups = "qspi_ctrl", "qspi_data4";
203 function = "qspi";
204 };
205
206 vin0_pins: vin0 {
207 groups = "vin0_data8", "vin0_clk";
208 function = "vin0";
209 };
210
211 usb0_pins: usb0 {
212 groups = "usb0";
213 function = "usb0";
214 };
215
216 usb1_pins: usb1 {
217 groups = "usb1";
218 function = "usb1";
219 };
220
221 du0_pins: du0 {
222 groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
223 function = "du0";
224 };
225
226 du1_pins: du1 {
227 groups = "du1_rgb666", "du1_sync", "du1_disp", "du1_clk0_out";
228 function = "du1";
229 };
230
231 ssi_pins: sound {
232 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
233 function = "ssi";
234 };
235
236 audio_clk_pins: audio_clk {
237 groups = "audio_clkc";
238 function = "audio_clk";
239 };
240 };
241
242 &scif2 {
243 pinctrl-0 = <&scif2_pins>;
244 pinctrl-names = "default";
245
246 status = "okay";
247 };
248
249 &scif_clk {
250 clock-frequency = <14745600>;
251 status = "okay";
252 };
253
254 &ether {
255 pinctrl-0 = <&ether_pins &phy1_pins>;
256 pinctrl-names = "default";
257
258 phy-handle = <&phy1>;
259 renesas,ether-link-active-low;
260 status = "okay";
261
262 phy1: ethernet-phy@1 {
263 reg = <1>;
264 interrupt-parent = <&irqc0>;
265 interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
266 micrel,led-mode = <1>;
267 };
268 };
269
270 &i2c1 {
271 pinctrl-0 = <&i2c1_pins>;
272 pinctrl-names = "default";
273
274 status = "okay";
275 clock-frequency = <400000>;
276
277 ak4643: codec@12 {
278 compatible = "asahi-kasei,ak4643";
279 #sound-dai-cells = <0>;
280 reg = <0x12>;
281 };
282
283 composite-in@20 {
284 compatible = "adi,adv7180";
285 reg = <0x20>;
286 remote = <&vin0>;
287
288 port {
289 adv7180: endpoint {
290 bus-width = <8>;
291 remote-endpoint = <&vin0ep>;
292 };
293 };
294 };
295
296 hdmi@39 {
297 compatible = "adi,adv7511w";
298 reg = <0x39>;
299 interrupt-parent = <&gpio5>;
300 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
301
302 adi,input-depth = <8>;
303 adi,input-colorspace = "rgb";
304 adi,input-clock = "1x";
305 adi,input-style = <1>;
306 adi,input-justification = "evenly";
307
308 ports {
309 #address-cells = <1>;
310 #size-cells = <0>;
311
312 port@0 {
313 reg = <0>;
314 adv7511_in: endpoint {
315 remote-endpoint = <&du_out_rgb0>;
316 };
317 };
318
319 port@1 {
320 reg = <1>;
321 adv7511_out: endpoint {
322 remote-endpoint = <&hdmi_con>;
323 };
324 };
325 };
326 };
327 };
328
329 &mmcif0 {
330 pinctrl-0 = <&mmcif0_pins>;
331 pinctrl-names = "default";
332
333 vmmc-supply = <&d3_3v>;
334 vqmmc-supply = <&d3_3v>;
335 bus-width = <8>;
336 non-removable;
337 status = "okay";
338 };
339
340 &sdhi1 {
341 pinctrl-0 = <&sdhi1_pins>;
342 pinctrl-names = "default";
343
344 vmmc-supply = <&vcc_sdhi1>;
345 vqmmc-supply = <&vccq_sdhi1>;
346 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
347 status = "okay";
348 };
349
350 &qspi {
351 pinctrl-0 = <&qspi_pins>;
352 pinctrl-names = "default";
353
354 status = "okay";
355
356 flash@0 {
357 compatible = "spansion,s25fl512s", "jedec,spi-nor";
358 reg = <0>;
359 spi-max-frequency = <30000000>;
360 spi-tx-bus-width = <4>;
361 spi-rx-bus-width = <4>;
362 spi-cpol;
363 spi-cpha;
364 m25p,fast-read;
365
366 partitions {
367 compatible = "fixed-partitions";
368 #address-cells = <1>;
369 #size-cells = <1>;
370
371 partition@0 {
372 label = "loader";
373 reg = <0x00000000 0x00040000>;
374 read-only;
375 };
376 partition@40000 {
377 label = "user";
378 reg = <0x00040000 0x00400000>;
379 read-only;
380 };
381 partition@440000 {
382 label = "flash";
383 reg = <0x00440000 0x03bc0000>;
384 };
385 };
386 };
387 };
388
389 /* composite video input */
390 &vin0 {
391 status = "okay";
392 pinctrl-0 = <&vin0_pins>;
393 pinctrl-names = "default";
394
395 port {
396 #address-cells = <1>;
397 #size-cells = <0>;
398
399 vin0ep: endpoint {
400 remote-endpoint = <&adv7180>;
401 bus-width = <8>;
402 };
403 };
404 };
405
406 &pci0 {
407 status = "okay";
408 pinctrl-0 = <&usb0_pins>;
409 pinctrl-names = "default";
410 };
411
412 &pci1 {
413 status = "okay";
414 pinctrl-0 = <&usb1_pins>;
415 pinctrl-names = "default";
416 };
417
418 &usbphy {
419 status = "okay";
420 };
421
422 &du {
423 pinctrl-0 = <&du0_pins &du1_pins>;
424 pinctrl-names = "default";
425 status = "okay";
426
427 clocks = <&mstp7_clks R8A7794_CLK_DU0>,
428 <&mstp7_clks R8A7794_CLK_DU0>,
429 <&x2_clk>, <&x3_clk>;
430 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
431
432 ports {
433 port@0 {
434 endpoint {
435 remote-endpoint = <&adv7511_in>;
436 };
437 };
438 port@1 {
439 endpoint {
440 remote-endpoint = <&adv7123_in>;
441 };
442 };
443 };
444 };
445
446 &rcar_sound {
447 pinctrl-0 = <&ssi_pins &audio_clk_pins>;
448 pinctrl-names = "default";
449 status = "okay";
450
451 /* Single DAI */
452 #sound-dai-cells = <0>;
453
454 rcar_sound,dai {
455 dai0 {
456 playback = <&ssi0>;
457 capture = <&ssi1>;
458 };
459 };
460 };
461
462 &ssi1 {
463 shared-pin;
464 };