Linux Audio

Check our new training course

Loading...
v4.17
  1/*
  2 * Device Tree Source for the Koelsch board
  3 *
  4 * Copyright (C) 2013 Renesas Electronics Corporation
  5 * Copyright (C) 2013-2014 Renesas Solutions Corp.
  6 * Copyright (C) 2014 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: 1: AK4643
 17 *      2: CN22
 18 *      3: ADV7511
 19 *
 20 * This command is required when Playback/Capture
 21 *
 22 *	amixer set "LINEOUT Mixer DACL" on
 23 *	amixer set "DVC Out" 100%
 24 *	amixer set "DVC In" 100%
 25 *
 26 * You can use Mute
 27 *
 28 *	amixer set "DVC Out Mute" on
 29 *	amixer set "DVC In Mute" on
 30 *
 31 * You can use Volume Ramp
 32 *
 33 *	amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
 34 *	amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
 35 *	amixer set "DVC Out Ramp" on
 36 *	aplay xxx.wav &
 37 *	amixer set "DVC Out"  80%  // Volume Down
 38 *	amixer set "DVC Out" 100%  // Volume Up
 39 */
 40
 41/dts-v1/;
 42#include "r8a7791.dtsi"
 43#include <dt-bindings/gpio/gpio.h>
 44#include <dt-bindings/input/input.h>
 45
 46/ {
 47	model = "Koelsch";
 48	compatible = "renesas,koelsch", "renesas,r8a7791";
 49
 50	aliases {
 51		serial0 = &scif0;
 52		serial1 = &scif1;
 53		i2c9 = &gpioi2c1;
 54		i2c10 = &gpioi2c2;
 55		i2c11 = &gpioi2c4;
 56		i2c12 = &i2cexio1;
 57		i2c13 = &i2chdmi;
 58		i2c14 = &i2cexio4;
 59	};
 60
 61	chosen {
 62		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
 63		stdout-path = "serial0:115200n8";
 64	};
 65
 66	memory@40000000 {
 67		device_type = "memory";
 68		reg = <0 0x40000000 0 0x40000000>;
 69	};
 70
 71	memory@200000000 {
 72		device_type = "memory";
 73		reg = <2 0x00000000 0 0x40000000>;
 74	};
 75
 76	lbsc {
 77		#address-cells = <1>;
 78		#size-cells = <1>;
 79	};
 80
 81	keyboard {
 82		compatible = "gpio-keys";
 83
 84		key-1 {
 85			gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
 86			linux,code = <KEY_1>;
 87			label = "SW2-1";
 88			wakeup-source;
 89			debounce-interval = <20>;
 90		};
 91		key-2 {
 92			gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
 93			linux,code = <KEY_2>;
 94			label = "SW2-2";
 95			wakeup-source;
 96			debounce-interval = <20>;
 97		};
 98		key-3 {
 99			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
100			linux,code = <KEY_3>;
101			label = "SW2-3";
102			wakeup-source;
103			debounce-interval = <20>;
104		};
105		key-4 {
106			gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
107			linux,code = <KEY_4>;
108			label = "SW2-4";
109			wakeup-source;
110			debounce-interval = <20>;
111		};
112		key-a {
113			gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
114			linux,code = <KEY_A>;
115			label = "SW30";
116			wakeup-source;
117			debounce-interval = <20>;
118		};
119		key-b {
120			gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
121			linux,code = <KEY_B>;
122			label = "SW31";
123			wakeup-source;
124			debounce-interval = <20>;
125		};
126		key-c {
127			gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
128			linux,code = <KEY_C>;
129			label = "SW32";
130			wakeup-source;
131			debounce-interval = <20>;
132		};
133		key-d {
134			gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
135			linux,code = <KEY_D>;
136			label = "SW33";
137			wakeup-source;
138			debounce-interval = <20>;
139		};
140		key-e {
141			gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
142			linux,code = <KEY_E>;
143			label = "SW34";
144			wakeup-source;
145			debounce-interval = <20>;
146		};
147		key-f {
148			gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
149			linux,code = <KEY_F>;
150			label = "SW35";
151			wakeup-source;
152			debounce-interval = <20>;
153		};
154		key-g {
155			gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
156			linux,code = <KEY_G>;
157			label = "SW36";
158			wakeup-source;
159			debounce-interval = <20>;
160		};
161	};
162
163	leds {
164		compatible = "gpio-leds";
165		led6 {
166			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
167			label = "LED6";
168		};
169		led7 {
170			gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
171			label = "LED7";
172		};
173		led8 {
174			gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
175			label = "LED8";
176		};
177	};
178
179	vcc_sdhi0: regulator-vcc-sdhi0 {
180		compatible = "regulator-fixed";
181
182		regulator-name = "SDHI0 Vcc";
183		regulator-min-microvolt = <3300000>;
184		regulator-max-microvolt = <3300000>;
185
186		gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
187		enable-active-high;
188	};
189
190	vccq_sdhi0: regulator-vccq-sdhi0 {
191		compatible = "regulator-gpio";
192
193		regulator-name = "SDHI0 VccQ";
194		regulator-min-microvolt = <1800000>;
195		regulator-max-microvolt = <3300000>;
196
197		gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
198		gpios-states = <1>;
199		states = <3300000 1
200			  1800000 0>;
201	};
202
203	vcc_sdhi1: regulator-vcc-sdhi1 {
204		compatible = "regulator-fixed";
205
206		regulator-name = "SDHI1 Vcc";
207		regulator-min-microvolt = <3300000>;
208		regulator-max-microvolt = <3300000>;
209
210		gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
211		enable-active-high;
212	};
213
214	vccq_sdhi1: regulator-vccq-sdhi1 {
215		compatible = "regulator-gpio";
216
217		regulator-name = "SDHI1 VccQ";
218		regulator-min-microvolt = <1800000>;
219		regulator-max-microvolt = <3300000>;
220
221		gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
222		gpios-states = <1>;
223		states = <3300000 1
224			  1800000 0>;
225	};
226
227	vcc_sdhi2: regulator-vcc-sdhi2 {
228		compatible = "regulator-fixed";
229
230		regulator-name = "SDHI2 Vcc";
231		regulator-min-microvolt = <3300000>;
232		regulator-max-microvolt = <3300000>;
233
234		gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
235		enable-active-high;
236	};
237
238	vccq_sdhi2: regulator-vccq-sdhi2 {
239		compatible = "regulator-gpio";
240
241		regulator-name = "SDHI2 VccQ";
242		regulator-min-microvolt = <1800000>;
243		regulator-max-microvolt = <3300000>;
244
245		gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
246		gpios-states = <1>;
247		states = <3300000 1
248			  1800000 0>;
249	};
 
250
251	audio_clock: audio_clock {
252		compatible = "fixed-clock";
253		#clock-cells = <0>;
254		clock-frequency = <11289600>;
255	};
256
257	rsnd_ak4643: sound {
258		compatible = "simple-audio-card";
259
260		simple-audio-card,format = "left_j";
261		simple-audio-card,bitclock-master = <&sndcodec>;
262		simple-audio-card,frame-master = <&sndcodec>;
263
264		sndcpu: simple-audio-card,cpu {
265			sound-dai = <&rcar_sound>;
266		};
267
268		sndcodec: simple-audio-card,codec {
269			sound-dai = <&ak4643>;
270			clocks = <&audio_clock>;
271		};
272	};
273
274	hdmi-in {
275		compatible = "hdmi-connector";
276		type = "a";
277
278		port {
279			hdmi_con_in: endpoint {
280				remote-endpoint = <&adv7612_in>;
281			};
282		};
283	};
284
285	cec_clock: cec-clock {
286		compatible = "fixed-clock";
287		#clock-cells = <0>;
288		clock-frequency = <12000000>;
289	};
290
291	hdmi-out {
292		compatible = "hdmi-connector";
293		type = "a";
294
295		port {
296			hdmi_con_out: endpoint {
297				remote-endpoint = <&adv7511_out>;
298			};
299		};
300	};
301
302	x2_clk: x2-clock {
303		compatible = "fixed-clock";
304		#clock-cells = <0>;
305		clock-frequency = <74250000>;
306	};
307
308	x13_clk: x13-clock {
309		compatible = "fixed-clock";
310		#clock-cells = <0>;
311		clock-frequency = <148500000>;
312	};
313
314	gpioi2c1: i2c-9 {
315		#address-cells = <1>;
316		#size-cells = <0>;
317		compatible = "i2c-gpio";
318		status = "disabled";
319		scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
320		sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
321		i2c-gpio,delay-us = <5>;
322	};
323
324	gpioi2c2: i2c-10 {
325		#address-cells = <1>;
326		#size-cells = <0>;
327		compatible = "i2c-gpio";
328		status = "disabled";
329		scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
330		sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
331		i2c-gpio,delay-us = <5>;
332	};
333
334	gpioi2c4: i2c-11 {
335		#address-cells = <1>;
336		#size-cells = <0>;
337		compatible = "i2c-gpio";
338		status = "disabled";
339		scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
340		sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
341		i2c-gpio,delay-us = <5>;
342	};
343
344	/*
345	 * I2C1 is routed to EXIO connector B, pins 64 (SCL) + 66 (SDA).
346	 * A fallback to GPIO is provided.
347	 */
348	i2cexio1: i2c-12 {
349		compatible = "i2c-demux-pinctrl";
350		i2c-parent = <&i2c1>, <&gpioi2c1>;
351		i2c-bus-name = "i2c-exio1";
352		#address-cells = <1>;
353		#size-cells = <0>;
354	};
355
356	/*
357	 * A fallback to GPIO is provided for I2C2.
358	 */
359	i2chdmi: i2c-13 {
360		compatible = "i2c-demux-pinctrl";
361		i2c-parent = <&i2c2>, <&gpioi2c2>;
362		i2c-bus-name = "i2c-hdmi";
363		#address-cells = <1>;
364		#size-cells = <0>;
365
366		ak4643: codec@12 {
367			compatible = "asahi-kasei,ak4643";
368			#sound-dai-cells = <0>;
369			reg = <0x12>;
370		};
371
372		composite-in@20 {
373			compatible = "adi,adv7180";
374			reg = <0x20>;
375			remote = <&vin1>;
376
377			port {
378				adv7180: endpoint {
379					bus-width = <8>;
380					remote-endpoint = <&vin1ep>;
381				};
382			};
383		};
384
385		hdmi@39 {
386			compatible = "adi,adv7511w";
387			reg = <0x39>;
388			interrupt-parent = <&gpio3>;
389			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
390			clocks = <&cec_clock>;
391			clock-names = "cec";
392
393			adi,input-depth = <8>;
394			adi,input-colorspace = "rgb";
395			adi,input-clock = "1x";
396			adi,input-style = <1>;
397			adi,input-justification = "evenly";
398
399			ports {
400				#address-cells = <1>;
401				#size-cells = <0>;
402
403				port@0 {
404					reg = <0>;
405					adv7511_in: endpoint {
406						remote-endpoint = <&du_out_rgb>;
407					};
408				};
409
410				port@1 {
411					reg = <1>;
412					adv7511_out: endpoint {
413						remote-endpoint = <&hdmi_con_out>;
414					};
415				};
416			};
417		};
418
419		hdmi-in@4c {
420			compatible = "adi,adv7612";
421			reg = <0x4c>;
422			interrupt-parent = <&gpio4>;
423			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
424			default-input = <0>;
425
426			ports {
427				#address-cells = <1>;
428				#size-cells = <0>;
429
430				port@0 {
431					reg = <0>;
432					adv7612_in: endpoint {
433						remote-endpoint = <&hdmi_con_in>;
434					};
435				};
436
437				port@2 {
438					reg = <2>;
439					adv7612_out: endpoint {
440						remote-endpoint = <&vin0ep2>;
441					};
442				};
443			};
444		};
445
446		eeprom@50 {
447			compatible = "renesas,r1ex24002", "atmel,24c02";
448			reg = <0x50>;
449			pagesize = <16>;
450		};
451	};
452
453	/*
454	 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
455	 * A fallback to GPIO is provided.
456	 */
457	i2cexio4: i2c-14 {
458		compatible = "i2c-demux-pinctrl";
459		i2c-parent = <&i2c4>, <&gpioi2c4>;
460		i2c-bus-name = "i2c-exio4";
461		#address-cells = <1>;
462		#size-cells = <0>;
463	};
464};
465
466&du {
467	pinctrl-0 = <&du_pins>;
468	pinctrl-names = "default";
469	status = "okay";
470
471	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
472		 <&x13_clk>, <&x2_clk>;
473	clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
474
475	ports {
476		port@0 {
477			endpoint {
478				remote-endpoint = <&adv7511_in>;
479			};
480		};
481	};
482};
483
484&lvds0 {
485	status = "okay";
 
486
487	ports {
488		port@1 {
489			lvds_connector: endpoint {
490			};
491		};
492	};
493};
494
495&extal_clk {
496	clock-frequency = <20000000>;
497};
498
499&pfc {
500	pinctrl-0 = <&scif_clk_pins>;
501	pinctrl-names = "default";
502
503	i2c1_pins: i2c1 {
504		groups = "i2c1";
505		function = "i2c1";
506	};
507
508	i2c2_pins: i2c2 {
509		groups = "i2c2";
510		function = "i2c2";
511	};
512
513	i2c4_pins: i2c4 {
514		groups = "i2c4_c";
515		function = "i2c4";
516	};
517
518	du_pins: du {
519		groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
520		function = "du";
521	};
522
523	scif0_pins: scif0 {
524		groups = "scif0_data_d";
525		function = "scif0";
526	};
527
528	scif1_pins: scif1 {
529		groups = "scif1_data_d";
530		function = "scif1";
531	};
532
533	scif_clk_pins: scif_clk {
534		groups = "scif_clk";
535		function = "scif_clk";
536	};
537
538	ether_pins: ether {
539		groups = "eth_link", "eth_mdio", "eth_rmii";
540		function = "eth";
541	};
542
543	phy1_pins: phy1 {
544		groups = "intc_irq0";
545		function = "intc";
546	};
547
548	sdhi0_pins: sd0 {
549		groups = "sdhi0_data4", "sdhi0_ctrl";
550		function = "sdhi0";
551		power-source = <3300>;
552	};
553
554	sdhi0_pins_uhs: sd0_uhs {
555		groups = "sdhi0_data4", "sdhi0_ctrl";
556		function = "sdhi0";
557		power-source = <1800>;
558	};
559
560	sdhi1_pins: sd1 {
561		groups = "sdhi1_data4", "sdhi1_ctrl";
562		function = "sdhi1";
563		power-source = <3300>;
564	};
565
566	sdhi1_pins_uhs: sd1_uhs {
567		groups = "sdhi1_data4", "sdhi1_ctrl";
568		function = "sdhi1";
569		power-source = <1800>;
570	};
571
572	sdhi2_pins: sd2 {
573		groups = "sdhi2_data4", "sdhi2_ctrl";
574		function = "sdhi2";
575		power-source = <3300>;
576	};
577
578	sdhi2_pins_uhs: sd2_uhs {
579		groups = "sdhi2_data4", "sdhi2_ctrl";
580		function = "sdhi2";
581		power-source = <1800>;
582	};
583
584	qspi_pins: qspi {
585		groups = "qspi_ctrl", "qspi_data4";
586		function = "qspi";
587	};
588
589	msiof0_pins: msiof0 {
590		groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
591				 "msiof0_tx";
592		function = "msiof0";
593	};
594
595	usb0_pins: usb0 {
596		groups = "usb0";
597		function = "usb0";
598	};
599
600	usb1_pins: usb1 {
601		groups = "usb1";
602		function = "usb1";
603	};
604
605	vin0_pins: vin0 {
606		groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
607		function = "vin0";
608	};
609
610	vin1_pins: vin1 {
611		groups = "vin1_data8", "vin1_clk";
612		function = "vin1";
613	};
614
615	sound_pins: sound {
616		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
617		function = "ssi";
618	};
619
620	sound_clk_pins: sound_clk {
621		groups = "audio_clk_a";
622		function = "audio_clk";
623	};
624};
625
626&ether {
627	pinctrl-0 = <&ether_pins &phy1_pins>;
628	pinctrl-names = "default";
629
630	phy-handle = <&phy1>;
631	renesas,ether-link-active-low;
632	status = "okay";
633
634	phy1: ethernet-phy@1 {
635		reg = <1>;
636		interrupt-parent = <&irqc0>;
637		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
638		micrel,led-mode = <1>;
639	};
640};
641
642&cmt0 {
643	status = "okay";
644};
645
646&sata0 {
647	status = "okay";
648};
649
650&scif0 {
651	pinctrl-0 = <&scif0_pins>;
652	pinctrl-names = "default";
653
654	status = "okay";
655};
656
657&scif1 {
658	pinctrl-0 = <&scif1_pins>;
659	pinctrl-names = "default";
660
661	status = "okay";
662};
663
664&scif_clk {
665	clock-frequency = <14745600>;
666};
667
668&sdhi0 {
669	pinctrl-0 = <&sdhi0_pins>;
670	pinctrl-1 = <&sdhi0_pins_uhs>;
671	pinctrl-names = "default", "state_uhs";
672
673	vmmc-supply = <&vcc_sdhi0>;
674	vqmmc-supply = <&vccq_sdhi0>;
675	cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
676	wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
677	sd-uhs-sdr50;
678	sd-uhs-sdr104;
679	status = "okay";
680};
681
682&sdhi1 {
683	pinctrl-0 = <&sdhi1_pins>;
684	pinctrl-1 = <&sdhi1_pins_uhs>;
685	pinctrl-names = "default", "state_uhs";
686
687	vmmc-supply = <&vcc_sdhi1>;
688	vqmmc-supply = <&vccq_sdhi1>;
689	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
690	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
691	sd-uhs-sdr50;
692	status = "okay";
693};
694
695&sdhi2 {
696	pinctrl-0 = <&sdhi2_pins>;
697	pinctrl-1 = <&sdhi2_pins_uhs>;
698	pinctrl-names = "default", "state_uhs";
699
700	vmmc-supply = <&vcc_sdhi2>;
701	vqmmc-supply = <&vccq_sdhi2>;
702	cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
703	sd-uhs-sdr50;
704	status = "okay";
705};
706
707&qspi {
708	pinctrl-0 = <&qspi_pins>;
709	pinctrl-names = "default";
710
711	status = "okay";
712
713	flash: flash@0 {
714		compatible = "spansion,s25fl512s", "jedec,spi-nor";
 
 
715		reg = <0>;
716		spi-max-frequency = <30000000>;
717		spi-tx-bus-width = <4>;
718		spi-rx-bus-width = <4>;
719		spi-cpha;
720		spi-cpol;
721		m25p,fast-read;
722
723		partitions {
724			compatible = "fixed-partitions";
725			#address-cells = <1>;
726			#size-cells = <1>;
727
728			partition@0 {
729				label = "loader";
730				reg = <0x00000000 0x00080000>;
731				read-only;
732			};
733			partition@80000 {
734				label = "user";
735				reg = <0x00080000 0x00580000>;
736				read-only;
737			};
738			partition@600000 {
739				label = "flash";
740				reg = <0x00600000 0x03a00000>;
741			};
742		};
743	};
744};
745
746&msiof0 {
747	pinctrl-0 = <&msiof0_pins>;
748	pinctrl-names = "default";
749
750	status = "okay";
751
752	pmic: pmic@0 {
753		compatible = "renesas,r2a11302ft";
754		reg = <0>;
755		spi-max-frequency = <6000000>;
756		spi-cpol;
757		spi-cpha;
758	};
759};
760
761&i2c1 {
762	pinctrl-0 = <&i2c1_pins>;
763	pinctrl-names = "i2c-exio1";
764};
765
766&i2c2 {
767	pinctrl-0 = <&i2c2_pins>;
768	pinctrl-names = "i2c-hdmi";
769
770	clock-frequency = <100000>;
771};
772
773&i2c4 {
774	pinctrl-0 = <&i2c4_pins>;
775	pinctrl-names = "i2c-exio4";
776};
777
778&i2c6 {
779	status = "okay";
780	clock-frequency = <100000>;
781
782	pmic@58 {
783		compatible = "dlg,da9063";
784		reg = <0x58>;
785		interrupt-parent = <&irqc0>;
786		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
787		interrupt-controller;
788
789		rtc {
790			compatible = "dlg,da9063-rtc";
791		};
792
793		wdt {
794			compatible = "dlg,da9063-watchdog";
795		};
796	};
797
798	vdd_dvfs: regulator@68 {
799		compatible = "dlg,da9210";
800		reg = <0x68>;
801		interrupt-parent = <&irqc0>;
802		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
803
804		regulator-min-microvolt = <1000000>;
805		regulator-max-microvolt = <1000000>;
806		regulator-boot-on;
807		regulator-always-on;
808	};
809};
810
811&pci0 {
812	status = "okay";
813	pinctrl-0 = <&usb0_pins>;
814	pinctrl-names = "default";
815};
816
817&pci1 {
818	status = "okay";
819	pinctrl-0 = <&usb1_pins>;
820	pinctrl-names = "default";
821};
822
823&hsusb {
824	status = "okay";
825	pinctrl-0 = <&usb0_pins>;
826	pinctrl-names = "default";
827	renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
828};
829
830&usbphy {
831	status = "okay";
832};
833
834&pcie_bus_clk {
835	clock-frequency = <100000000>;
836};
837
838&pciec {
839	status = "okay";
840};
841
842&cpu0 {
843	cpu0-supply = <&vdd_dvfs>;
844};
845
846/* HDMI video input */
847&vin0 {
848	status = "okay";
849	pinctrl-0 = <&vin0_pins>;
850	pinctrl-names = "default";
851
852	port {
853		#address-cells = <1>;
854		#size-cells = <0>;
855
856		vin0ep2: endpoint {
857			remote-endpoint = <&adv7612_out>;
858			bus-width = <24>;
859			hsync-active = <0>;
860			vsync-active = <0>;
861			pclk-sample = <1>;
862			data-active = <1>;
863		};
864	};
865};
866
867/* composite video input */
868&vin1 {
869	status = "okay";
870	pinctrl-0 = <&vin1_pins>;
871	pinctrl-names = "default";
872
873	port {
874		#address-cells = <1>;
875		#size-cells = <0>;
876
877		vin1ep: endpoint {
878			remote-endpoint = <&adv7180>;
879			bus-width = <8>;
880		};
881	};
882};
883
884&rcar_sound {
885	pinctrl-0 = <&sound_pins &sound_clk_pins>;
886	pinctrl-names = "default";
887
888	/* Single DAI */
889	#sound-dai-cells = <0>;
890
891	status = "okay";
892
893	rcar_sound,dai {
894		dai0 {
895			playback = <&ssi0 &src2 &dvc0>;
896			capture  = <&ssi1 &src3 &dvc1>;
897		};
898	};
899};
900
901&ssi1 {
902	shared-pin;
903};
v3.15
  1/*
  2 * Device Tree Source for the Koelsch board
  3 *
  4 * Copyright (C) 2013 Renesas Electronics Corporation
  5 * Copyright (C) 2013-2014 Renesas Solutions Corp.
  6 * Copyright (C) 2014 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/dts-v1/;
 14#include "r8a7791.dtsi"
 15#include <dt-bindings/gpio/gpio.h>
 
 16
 17/ {
 18	model = "Koelsch";
 19	compatible = "renesas,koelsch", "renesas,r8a7791";
 20
 
 
 
 
 
 
 
 
 
 
 
 21	chosen {
 22		bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
 
 23	};
 24
 25	memory@40000000 {
 26		device_type = "memory";
 27		reg = <0 0x40000000 0 0x40000000>;
 28	};
 29
 30	memory@200000000 {
 31		device_type = "memory";
 32		reg = <2 0x00000000 0 0x40000000>;
 33	};
 34
 35	lbsc {
 36		#address-cells = <1>;
 37		#size-cells = <1>;
 38	};
 39
 40	gpio-keys {
 41		compatible = "gpio-keys";
 42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 43		key-a {
 44			gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
 45			linux,code = <30>;
 46			label = "SW30";
 47			gpio-key,wakeup;
 48			debounce-interval = <20>;
 49		};
 50		key-b {
 51			gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
 52			linux,code = <48>;
 53			label = "SW31";
 54			gpio-key,wakeup;
 55			debounce-interval = <20>;
 56		};
 57		key-c {
 58			gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
 59			linux,code = <46>;
 60			label = "SW32";
 61			gpio-key,wakeup;
 62			debounce-interval = <20>;
 63		};
 64		key-d {
 65			gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
 66			linux,code = <32>;
 67			label = "SW33";
 68			gpio-key,wakeup;
 69			debounce-interval = <20>;
 70		};
 71		key-e {
 72			gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
 73			linux,code = <18>;
 74			label = "SW34";
 75			gpio-key,wakeup;
 76			debounce-interval = <20>;
 77		};
 78		key-f {
 79			gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
 80			linux,code = <33>;
 81			label = "SW35";
 82			gpio-key,wakeup;
 83			debounce-interval = <20>;
 84		};
 85		key-g {
 86			gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
 87			linux,code = <34>;
 88			label = "SW36";
 89			gpio-key,wakeup;
 90			debounce-interval = <20>;
 91		};
 92	};
 93
 94	leds {
 95		compatible = "gpio-leds";
 96		led6 {
 97			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
 
 98		};
 99		led7 {
100			gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
 
101		};
102		led8 {
103			gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
 
104		};
105	};
106
107	vcc_sdhi0: regulator@0 {
108		compatible = "regulator-fixed";
109
110		regulator-name = "SDHI0 Vcc";
111		regulator-min-microvolt = <3300000>;
112		regulator-max-microvolt = <3300000>;
113
114		gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
115		enable-active-high;
116	};
117
118	vccq_sdhi0: regulator@1 {
119		compatible = "regulator-gpio";
120
121		regulator-name = "SDHI0 VccQ";
122		regulator-min-microvolt = <1800000>;
123		regulator-max-microvolt = <3300000>;
124
125		gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
126		gpios-states = <1>;
127		states = <3300000 1
128			  1800000 0>;
129	};
130
131	vcc_sdhi1: regulator@2 {
132		compatible = "regulator-fixed";
133
134		regulator-name = "SDHI1 Vcc";
135		regulator-min-microvolt = <3300000>;
136		regulator-max-microvolt = <3300000>;
137
138		gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
139		enable-active-high;
140	};
141
142	vccq_sdhi1: regulator@3 {
143		compatible = "regulator-gpio";
144
145		regulator-name = "SDHI1 VccQ";
146		regulator-min-microvolt = <1800000>;
147		regulator-max-microvolt = <3300000>;
148
149		gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
150		gpios-states = <1>;
151		states = <3300000 1
152			  1800000 0>;
153	};
154
155	vcc_sdhi2: regulator@4 {
156		compatible = "regulator-fixed";
157
158		regulator-name = "SDHI2 Vcc";
159		regulator-min-microvolt = <3300000>;
160		regulator-max-microvolt = <3300000>;
161
162		gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
163		enable-active-high;
164	};
165
166	vccq_sdhi2: regulator@5 {
167		compatible = "regulator-gpio";
168
169		regulator-name = "SDHI2 VccQ";
170		regulator-min-microvolt = <1800000>;
171		regulator-max-microvolt = <3300000>;
172
173		gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
174		gpios-states = <1>;
175		states = <3300000 1
176			  1800000 0>;
177	};
178};
179
180&extal_clk {
181	clock-frequency = <20000000>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182};
183
184&i2c2 {
185	pinctrl-0 = <&i2c2_pins>;
186	pinctrl-names = "default";
 
187
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188	status = "okay";
189	clock-frequency = <400000>;
190
191	eeprom@50 {
192		compatible = "renesas,24c02";
193		reg = <0x50>;
194		pagesize = <16>;
 
195	};
196};
197
 
 
 
 
198&pfc {
199	pinctrl-0 = <&du_pins &scif0_pins &scif1_pins>;
200	pinctrl-names = "default";
201
202	i2c2_pins: i2c {
203		renesas,groups = "i2c2";
204		renesas,function = "i2c2";
 
 
 
 
 
 
 
 
 
 
205	};
206
207	du_pins: du {
208		renesas,groups = "du_rgb666", "du_sync", "du_clk_out_0";
209		renesas,function = "du";
 
 
 
 
 
210	};
211
212	scif0_pins: serial0 {
213		renesas,groups = "scif0_data_d";
214		renesas,function = "scif0";
215	};
216
217	scif1_pins: serial1 {
218		renesas,groups = "scif1_data_d";
219		renesas,function = "scif1";
220	};
221
222	ether_pins: ether {
223		renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
224		renesas,function = "eth";
225	};
226
227	phy1_pins: phy1 {
228		renesas,groups = "intc_irq0";
229		renesas,function = "intc";
230	};
231
232	sdhi0_pins: sd0 {
233		renesas,groups = "sdhi0_data4", "sdhi0_ctrl";
234		renesas,function = "sdhi0";
 
 
 
 
 
 
 
235	};
236
237	sdhi1_pins: sd1 {
238		renesas,groups = "sdhi1_data4", "sdhi1_ctrl";
239		renesas,function = "sdhi1";
 
 
 
 
 
 
 
240	};
241
242	sdhi2_pins: sd2 {
243		renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
244		renesas,function = "sdhi2";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245	};
246
247	qspi_pins: spi {
248		renesas,groups = "qspi_ctrl", "qspi_data4";
249		renesas,function = "qspi";
 
 
 
 
 
250	};
251};
252
253&ether {
254	pinctrl-0 = <&ether_pins &phy1_pins>;
255	pinctrl-names = "default";
256
257	phy-handle = <&phy1>;
258	renesas,ether-link-active-low;
259	status = "ok";
260
261	phy1: ethernet-phy@1 {
262		reg = <1>;
263		interrupt-parent = <&irqc0>;
264		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
 
265	};
266};
267
 
 
 
 
268&sata0 {
269	status = "okay";
270};
271
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
272&sdhi0 {
273	pinctrl-0 = <&sdhi0_pins>;
274	pinctrl-names = "default";
 
275
276	vmmc-supply = <&vcc_sdhi0>;
277	vqmmc-supply = <&vccq_sdhi0>;
278	cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
279	wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
 
 
280	status = "okay";
281};
282
283&sdhi1 {
284	pinctrl-0 = <&sdhi1_pins>;
285	pinctrl-names = "default";
 
286
287	vmmc-supply = <&vcc_sdhi1>;
288	vqmmc-supply = <&vccq_sdhi1>;
289	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
290	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
 
291	status = "okay";
292};
293
294&sdhi2 {
295	pinctrl-0 = <&sdhi2_pins>;
296	pinctrl-names = "default";
 
297
298	vmmc-supply = <&vcc_sdhi2>;
299	vqmmc-supply = <&vccq_sdhi2>;
300	cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
 
301	status = "okay";
302};
303
304&spi {
305	pinctrl-0 = <&qspi_pins>;
306	pinctrl-names = "default";
307
308	status = "okay";
309
310	flash: flash@0 {
311		#address-cells = <1>;
312		#size-cells = <1>;
313		compatible = "spansion,s25fl512s";
314		reg = <0>;
315		spi-max-frequency = <30000000>;
 
 
 
 
316		m25p,fast-read;
317
318		partition@0 {
319			label = "loader";
320			reg = <0x00000000 0x00080000>;
321			read-only;
322		};
323		partition@80000 {
324			label = "bootenv";
325			reg = <0x00080000 0x00080000>;
326			read-only;
327		};
328		partition@100000 {
329			label = "data";
330			reg = <0x00100000 0x03f00000>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331		};
332	};
 
 
 
 
333};