1 // SPDX-License-Identifier: GPL-2.0
3 * Device Tree Source for the Koelsch board
5 * Copyright (C) 2013 Renesas Electronics Corporation
6 * Copyright (C) 2013-2014 Renesas Solutions Corp.
7 * Copyright (C) 2014 Cogent Embedded, Inc.
17 * This command is required when Playback/Capture
19 * amixer set "LINEOUT Mixer DACL" on
20 * amixer set "DVC Out" 100%
21 * amixer set "DVC In" 100%
25 * amixer set "DVC Out Mute" on
26 * amixer set "DVC In Mute" on
28 * You can use Volume Ramp
30 * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps"
31 * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
32 * amixer set "DVC Out Ramp" on
34 * amixer set "DVC Out" 80% // Volume Down
35 * amixer set "DVC Out" 100% // Volume Up
39 #include "r8a7791.dtsi"
40 #include <dt-bindings/gpio/gpio.h>
41 #include <dt-bindings/input/input.h>
45 compatible = "renesas,koelsch", "renesas,r8a7791";
59 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
60 stdout-path = "serial0:115200n8";
64 device_type = "memory";
65 reg = <0 0x40000000 0 0x40000000>;
69 device_type = "memory";
70 reg = <2 0x00000000 0 0x40000000>;
79 compatible = "gpio-keys";
82 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
86 debounce-interval = <20>;
89 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
93 debounce-interval = <20>;
96 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
100 debounce-interval = <20>;
103 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
104 linux,code = <KEY_4>;
107 debounce-interval = <20>;
110 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
111 linux,code = <KEY_A>;
114 debounce-interval = <20>;
117 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
118 linux,code = <KEY_B>;
121 debounce-interval = <20>;
124 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
125 linux,code = <KEY_C>;
128 debounce-interval = <20>;
131 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
132 linux,code = <KEY_D>;
135 debounce-interval = <20>;
138 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
139 linux,code = <KEY_E>;
142 debounce-interval = <20>;
145 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
146 linux,code = <KEY_F>;
149 debounce-interval = <20>;
152 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
153 linux,code = <KEY_G>;
156 debounce-interval = <20>;
161 compatible = "gpio-leds";
163 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
167 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
171 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
176 vcc_sdhi0: regulator-vcc-sdhi0 {
177 compatible = "regulator-fixed";
179 regulator-name = "SDHI0 Vcc";
180 regulator-min-microvolt = <3300000>;
181 regulator-max-microvolt = <3300000>;
183 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
187 vccq_sdhi0: regulator-vccq-sdhi0 {
188 compatible = "regulator-gpio";
190 regulator-name = "SDHI0 VccQ";
191 regulator-min-microvolt = <1800000>;
192 regulator-max-microvolt = <3300000>;
194 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
196 states = <3300000 1>, <1800000 0>;
199 vcc_sdhi1: regulator-vcc-sdhi1 {
200 compatible = "regulator-fixed";
202 regulator-name = "SDHI1 Vcc";
203 regulator-min-microvolt = <3300000>;
204 regulator-max-microvolt = <3300000>;
206 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
210 vccq_sdhi1: regulator-vccq-sdhi1 {
211 compatible = "regulator-gpio";
213 regulator-name = "SDHI1 VccQ";
214 regulator-min-microvolt = <1800000>;
215 regulator-max-microvolt = <3300000>;
217 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
219 states = <3300000 1>, <1800000 0>;
222 vcc_sdhi2: regulator-vcc-sdhi2 {
223 compatible = "regulator-fixed";
225 regulator-name = "SDHI2 Vcc";
226 regulator-min-microvolt = <3300000>;
227 regulator-max-microvolt = <3300000>;
229 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
233 vccq_sdhi2: regulator-vccq-sdhi2 {
234 compatible = "regulator-gpio";
236 regulator-name = "SDHI2 VccQ";
237 regulator-min-microvolt = <1800000>;
238 regulator-max-microvolt = <3300000>;
240 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
242 states = <3300000 1>, <1800000 0>;
245 audio_clock: audio_clock {
246 compatible = "fixed-clock";
248 clock-frequency = <11289600>;
252 compatible = "simple-audio-card";
254 simple-audio-card,format = "left_j";
255 simple-audio-card,bitclock-master = <&sndcodec>;
256 simple-audio-card,frame-master = <&sndcodec>;
258 sndcpu: simple-audio-card,cpu {
259 sound-dai = <&rcar_sound>;
262 sndcodec: simple-audio-card,codec {
263 sound-dai = <&ak4643>;
264 clocks = <&audio_clock>;
269 compatible = "hdmi-connector";
273 hdmi_con_in: endpoint {
274 remote-endpoint = <&adv7612_in>;
279 cec_clock: cec-clock {
280 compatible = "fixed-clock";
282 clock-frequency = <12000000>;
286 compatible = "hdmi-connector";
290 hdmi_con_out: endpoint {
291 remote-endpoint = <&adv7511_out>;
297 compatible = "fixed-clock";
299 clock-frequency = <74250000>;
303 compatible = "fixed-clock";
305 clock-frequency = <148500000>;
309 #address-cells = <1>;
311 compatible = "i2c-gpio";
313 scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
314 sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
315 i2c-gpio,delay-us = <5>;
319 #address-cells = <1>;
321 compatible = "i2c-gpio";
323 scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
324 sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
325 i2c-gpio,delay-us = <5>;
329 #address-cells = <1>;
331 compatible = "i2c-gpio";
333 scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
334 sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
335 i2c-gpio,delay-us = <5>;
339 * I2C1 is routed to EXIO connector B, pins 64 (SCL) + 66 (SDA).
340 * A fallback to GPIO is provided.
343 compatible = "i2c-demux-pinctrl";
344 i2c-parent = <&i2c1>, <&gpioi2c1>;
345 i2c-bus-name = "i2c-exio1";
346 #address-cells = <1>;
351 * A fallback to GPIO is provided for I2C2.
354 compatible = "i2c-demux-pinctrl";
355 i2c-parent = <&i2c2>, <&gpioi2c2>;
356 i2c-bus-name = "i2c-hdmi";
357 #address-cells = <1>;
361 compatible = "asahi-kasei,ak4643";
362 #sound-dai-cells = <0>;
367 compatible = "adi,adv7180";
374 remote-endpoint = <&vin1ep>;
380 compatible = "adi,adv7511w";
382 interrupt-parent = <&gpio3>;
383 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
384 clocks = <&cec_clock>;
387 adi,input-depth = <8>;
388 adi,input-colorspace = "rgb";
389 adi,input-clock = "1x";
390 adi,input-style = <1>;
391 adi,input-justification = "evenly";
394 #address-cells = <1>;
399 adv7511_in: endpoint {
400 remote-endpoint = <&du_out_rgb>;
406 adv7511_out: endpoint {
407 remote-endpoint = <&hdmi_con_out>;
414 compatible = "adi,adv7612";
416 interrupt-parent = <&gpio4>;
417 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
421 #address-cells = <1>;
426 adv7612_in: endpoint {
427 remote-endpoint = <&hdmi_con_in>;
433 adv7612_out: endpoint {
434 remote-endpoint = <&vin0ep2>;
441 compatible = "renesas,r1ex24002", "atmel,24c02";
448 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
449 * A fallback to GPIO is provided.
452 compatible = "i2c-demux-pinctrl";
453 i2c-parent = <&i2c4>, <&gpioi2c4>;
454 i2c-bus-name = "i2c-exio4";
455 #address-cells = <1>;
461 pinctrl-0 = <&du_pins>;
462 pinctrl-names = "default";
465 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
466 <&x13_clk>, <&x2_clk>;
467 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
472 remote-endpoint = <&adv7511_in>;
481 lvds_connector: endpoint {
488 clock-frequency = <20000000>;
492 pinctrl-0 = <&scif_clk_pins>;
493 pinctrl-names = "default";
511 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
516 groups = "scif0_data_d";
521 groups = "scif1_data_d";
525 scif_clk_pins: scif_clk {
527 function = "scif_clk";
531 groups = "eth_link", "eth_mdio", "eth_rmii";
536 groups = "intc_irq0";
540 pmic_irq_pins: pmicirq {
541 groups = "intc_irq2";
546 groups = "sdhi0_data4", "sdhi0_ctrl";
548 power-source = <3300>;
551 sdhi0_pins_uhs: sd0_uhs {
552 groups = "sdhi0_data4", "sdhi0_ctrl";
554 power-source = <1800>;
558 groups = "sdhi1_data4", "sdhi1_ctrl";
560 power-source = <3300>;
563 sdhi1_pins_uhs: sd1_uhs {
564 groups = "sdhi1_data4", "sdhi1_ctrl";
566 power-source = <1800>;
570 groups = "sdhi2_data4", "sdhi2_ctrl";
572 power-source = <3300>;
575 sdhi2_pins_uhs: sd2_uhs {
576 groups = "sdhi2_data4", "sdhi2_ctrl";
578 power-source = <1800>;
582 groups = "qspi_ctrl", "qspi_data4";
586 msiof0_pins: msiof0 {
587 groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
603 groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
608 groups = "vin1_data8", "vin1_clk";
613 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
617 sound_clk_pins: sound_clk {
618 groups = "audio_clk_a";
619 function = "audio_clk";
624 pinctrl-0 = <ðer_pins &phy1_pins>;
625 pinctrl-names = "default";
627 phy-handle = <&phy1>;
628 renesas,ether-link-active-low;
631 phy1: ethernet-phy@1 {
633 interrupt-parent = <&irqc0>;
634 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
635 micrel,led-mode = <1>;
653 pinctrl-0 = <&scif0_pins>;
654 pinctrl-names = "default";
660 pinctrl-0 = <&scif1_pins>;
661 pinctrl-names = "default";
667 clock-frequency = <14745600>;
671 pinctrl-0 = <&sdhi0_pins>;
672 pinctrl-1 = <&sdhi0_pins_uhs>;
673 pinctrl-names = "default", "state_uhs";
675 vmmc-supply = <&vcc_sdhi0>;
676 vqmmc-supply = <&vccq_sdhi0>;
677 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
678 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
685 pinctrl-0 = <&sdhi1_pins>;
686 pinctrl-1 = <&sdhi1_pins_uhs>;
687 pinctrl-names = "default", "state_uhs";
689 vmmc-supply = <&vcc_sdhi1>;
690 vqmmc-supply = <&vccq_sdhi1>;
691 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
692 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
698 pinctrl-0 = <&sdhi2_pins>;
699 pinctrl-1 = <&sdhi2_pins_uhs>;
700 pinctrl-names = "default", "state_uhs";
702 vmmc-supply = <&vcc_sdhi2>;
703 vqmmc-supply = <&vccq_sdhi2>;
704 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
710 pinctrl-0 = <&qspi_pins>;
711 pinctrl-names = "default";
716 compatible = "spansion,s25fl512s", "jedec,spi-nor";
718 spi-max-frequency = <30000000>;
719 spi-tx-bus-width = <4>;
720 spi-rx-bus-width = <4>;
726 compatible = "fixed-partitions";
727 #address-cells = <1>;
732 reg = <0x00000000 0x00080000>;
737 reg = <0x00080000 0x00580000>;
742 reg = <0x00600000 0x03a00000>;
749 pinctrl-0 = <&msiof0_pins>;
750 pinctrl-names = "default";
755 compatible = "renesas,r2a11302ft";
757 spi-max-frequency = <6000000>;
764 pinctrl-0 = <&i2c1_pins>;
765 pinctrl-names = "i2c-exio1";
769 pinctrl-0 = <&i2c2_pins>;
770 pinctrl-names = "i2c-hdmi";
772 clock-frequency = <100000>;
776 pinctrl-0 = <&i2c4_pins>;
777 pinctrl-names = "i2c-exio4";
781 pinctrl-names = "default";
782 pinctrl-0 = <&pmic_irq_pins>;
784 clock-frequency = <100000>;
787 compatible = "dlg,da9063";
789 interrupt-parent = <&irqc0>;
790 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
791 interrupt-controller;
794 compatible = "dlg,da9063-rtc";
798 compatible = "dlg,da9063-watchdog";
802 vdd_dvfs: regulator@68 {
803 compatible = "dlg,da9210";
805 interrupt-parent = <&irqc0>;
806 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
808 regulator-min-microvolt = <1000000>;
809 regulator-max-microvolt = <1000000>;
817 pinctrl-0 = <&usb0_pins>;
818 pinctrl-names = "default";
823 pinctrl-0 = <&usb1_pins>;
824 pinctrl-names = "default";
829 pinctrl-0 = <&usb0_pins>;
830 pinctrl-names = "default";
831 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
839 clock-frequency = <100000000>;
847 cpu0-supply = <&vdd_dvfs>;
850 /* HDMI video input */
853 pinctrl-0 = <&vin0_pins>;
854 pinctrl-names = "default";
858 remote-endpoint = <&adv7612_out>;
868 /* composite video input */
871 pinctrl-0 = <&vin1_pins>;
872 pinctrl-names = "default";
876 remote-endpoint = <&adv7180>;
883 pinctrl-0 = <&sound_pins &sound_clk_pins>;
884 pinctrl-names = "default";
887 #sound-dai-cells = <0>;
893 playback = <&ssi0 &src2 &dvc0>;
894 capture = <&ssi1 &src3 &dvc1>;