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";
62 bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
63 stdout-path = "serial0:115200n8";
67 device_type = "memory";
68 reg = <0 0x40000000 0 0x40000000>;
72 device_type = "memory";
73 reg = <2 0x00000000 0 0x40000000>;
82 compatible = "gpio-keys";
84 pinctrl-0 = <&sw2_pins>;
85 pinctrl-names = "default";
88 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
92 debounce-interval = <20>;
95 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
99 debounce-interval = <20>;
102 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
103 linux,code = <KEY_3>;
106 debounce-interval = <20>;
109 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
110 linux,code = <KEY_4>;
113 debounce-interval = <20>;
116 gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
117 linux,code = <KEY_A>;
120 debounce-interval = <20>;
123 gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
124 linux,code = <KEY_B>;
127 debounce-interval = <20>;
130 gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
131 linux,code = <KEY_C>;
134 debounce-interval = <20>;
137 gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
138 linux,code = <KEY_D>;
141 debounce-interval = <20>;
144 gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
145 linux,code = <KEY_E>;
148 debounce-interval = <20>;
151 gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
152 linux,code = <KEY_F>;
155 debounce-interval = <20>;
158 gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
159 linux,code = <KEY_G>;
162 debounce-interval = <20>;
167 compatible = "gpio-leds";
169 gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
173 gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
177 gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
182 vcc_sdhi0: regulator-vcc-sdhi0 {
183 compatible = "regulator-fixed";
185 regulator-name = "SDHI0 Vcc";
186 regulator-min-microvolt = <3300000>;
187 regulator-max-microvolt = <3300000>;
189 gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
193 vccq_sdhi0: regulator-vccq-sdhi0 {
194 compatible = "regulator-gpio";
196 regulator-name = "SDHI0 VccQ";
197 regulator-min-microvolt = <1800000>;
198 regulator-max-microvolt = <3300000>;
200 gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
202 states = <3300000 1>, <1800000 0>;
205 vcc_sdhi1: regulator-vcc-sdhi1 {
206 compatible = "regulator-fixed";
208 regulator-name = "SDHI1 Vcc";
209 regulator-min-microvolt = <3300000>;
210 regulator-max-microvolt = <3300000>;
212 gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
216 vccq_sdhi1: regulator-vccq-sdhi1 {
217 compatible = "regulator-gpio";
219 regulator-name = "SDHI1 VccQ";
220 regulator-min-microvolt = <1800000>;
221 regulator-max-microvolt = <3300000>;
223 gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
225 states = <3300000 1>, <1800000 0>;
228 vcc_sdhi2: regulator-vcc-sdhi2 {
229 compatible = "regulator-fixed";
231 regulator-name = "SDHI2 Vcc";
232 regulator-min-microvolt = <3300000>;
233 regulator-max-microvolt = <3300000>;
235 gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
239 vccq_sdhi2: regulator-vccq-sdhi2 {
240 compatible = "regulator-gpio";
242 regulator-name = "SDHI2 VccQ";
243 regulator-min-microvolt = <1800000>;
244 regulator-max-microvolt = <3300000>;
246 gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
248 states = <3300000 1>, <1800000 0>;
251 audio_clock: audio_clock {
252 compatible = "fixed-clock";
254 clock-frequency = <11289600>;
258 compatible = "simple-audio-card";
260 simple-audio-card,format = "left_j";
261 simple-audio-card,bitclock-master = <&sndcodec>;
262 simple-audio-card,frame-master = <&sndcodec>;
264 sndcpu: simple-audio-card,cpu {
265 sound-dai = <&rcar_sound>;
268 sndcodec: simple-audio-card,codec {
269 sound-dai = <&ak4643>;
270 clocks = <&audio_clock>;
275 compatible = "hdmi-connector";
279 hdmi_con_in: endpoint {
280 remote-endpoint = <&adv7612_in>;
285 cec_clock: cec-clock {
286 compatible = "fixed-clock";
288 clock-frequency = <12000000>;
292 compatible = "hdmi-connector";
296 hdmi_con_out: endpoint {
297 remote-endpoint = <&adv7511_out>;
303 compatible = "fixed-clock";
305 clock-frequency = <74250000>;
309 compatible = "fixed-clock";
311 clock-frequency = <148500000>;
315 #address-cells = <1>;
317 compatible = "i2c-gpio";
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>;
325 #address-cells = <1>;
327 compatible = "i2c-gpio";
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>;
335 #address-cells = <1>;
337 compatible = "i2c-gpio";
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>;
345 * I2C1 is routed to EXIO connector B, pins 64 (SCL) + 66 (SDA).
346 * A fallback to GPIO is provided.
349 compatible = "i2c-demux-pinctrl";
350 i2c-parent = <&i2c1>, <&gpioi2c1>;
351 i2c-bus-name = "i2c-exio1";
352 #address-cells = <1>;
357 * A fallback to GPIO is provided for I2C2.
360 compatible = "i2c-demux-pinctrl";
361 i2c-parent = <&i2c2>, <&gpioi2c2>;
362 i2c-bus-name = "i2c-hdmi";
363 #address-cells = <1>;
367 compatible = "asahi-kasei,ak4643";
368 #sound-dai-cells = <0>;
373 compatible = "adi,adv7180";
379 remote-endpoint = <&vin1ep>;
385 compatible = "adi,adv7511w";
387 interrupt-parent = <&gpio3>;
388 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
389 clocks = <&cec_clock>;
392 adi,input-depth = <8>;
393 adi,input-colorspace = "rgb";
394 adi,input-clock = "1x";
397 #address-cells = <1>;
402 adv7511_in: endpoint {
403 remote-endpoint = <&du_out_rgb>;
409 adv7511_out: endpoint {
410 remote-endpoint = <&hdmi_con_out>;
417 compatible = "adi,adv7612";
419 interrupt-parent = <&gpio4>;
420 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
424 #address-cells = <1>;
429 adv7612_in: endpoint {
430 remote-endpoint = <&hdmi_con_in>;
436 adv7612_out: endpoint {
437 remote-endpoint = <&vin0ep2>;
444 compatible = "renesas,r1ex24002", "atmel,24c02";
451 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
452 * A fallback to GPIO is provided.
455 compatible = "i2c-demux-pinctrl";
456 i2c-parent = <&i2c4>, <&gpioi2c4>;
457 i2c-bus-name = "i2c-exio4";
458 #address-cells = <1>;
464 pinctrl-0 = <&du_pins>;
465 pinctrl-names = "default";
468 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
469 <&x13_clk>, <&x2_clk>;
470 clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
475 remote-endpoint = <&adv7511_in>;
484 lvds_connector: endpoint {
491 clock-frequency = <20000000>;
495 pinctrl-0 = <&scif_clk_pins>;
496 pinctrl-names = "default";
514 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
519 groups = "scif0_data_d";
524 groups = "scif1_data_d";
528 scif_clk_pins: scif_clk {
530 function = "scif_clk";
534 groups = "eth_link", "eth_mdio", "eth_rmii";
539 groups = "intc_irq0";
543 pmic_irq_pins: pmicirq {
544 groups = "intc_irq2";
549 groups = "sdhi0_data4", "sdhi0_ctrl";
551 power-source = <3300>;
554 sdhi0_pins_uhs: sd0_uhs {
555 groups = "sdhi0_data4", "sdhi0_ctrl";
557 power-source = <1800>;
561 groups = "sdhi1_data4", "sdhi1_ctrl";
563 power-source = <3300>;
566 sdhi1_pins_uhs: sd1_uhs {
567 groups = "sdhi1_data4", "sdhi1_ctrl";
569 power-source = <1800>;
573 groups = "sdhi2_data4", "sdhi2_ctrl";
575 power-source = <3300>;
578 sdhi2_pins_uhs: sd2_uhs {
579 groups = "sdhi2_data4", "sdhi2_ctrl";
581 power-source = <1800>;
585 groups = "qspi_ctrl", "qspi_data4";
589 msiof0_pins: msiof0 {
590 groups = "msiof0_clk", "msiof0_sync", "msiof0_rx",
606 groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
611 groups = "vin1_data8", "vin1_clk";
616 groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
620 sound_clk_pins: sound_clk {
621 groups = "audio_clk_a";
622 function = "audio_clk";
626 pins = "GP_5_0", "GP_5_1", "GP_5_2", "GP_5_3";
632 pinctrl-0 = <ðer_pins>, <&phy1_pins>;
633 pinctrl-names = "default";
635 phy-handle = <&phy1>;
636 renesas,ether-link-active-low;
639 phy1: ethernet-phy@1 {
641 interrupt-parent = <&irqc0>;
642 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
643 micrel,led-mode = <1>;
644 reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>;
662 pinctrl-0 = <&scif0_pins>;
663 pinctrl-names = "default";
669 pinctrl-0 = <&scif1_pins>;
670 pinctrl-names = "default";
676 clock-frequency = <14745600>;
680 pinctrl-0 = <&sdhi0_pins>;
681 pinctrl-1 = <&sdhi0_pins_uhs>;
682 pinctrl-names = "default", "state_uhs";
684 vmmc-supply = <&vcc_sdhi0>;
685 vqmmc-supply = <&vccq_sdhi0>;
686 cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
687 wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
694 pinctrl-0 = <&sdhi1_pins>;
695 pinctrl-1 = <&sdhi1_pins_uhs>;
696 pinctrl-names = "default", "state_uhs";
698 vmmc-supply = <&vcc_sdhi1>;
699 vqmmc-supply = <&vccq_sdhi1>;
700 cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
701 wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
707 pinctrl-0 = <&sdhi2_pins>;
708 pinctrl-1 = <&sdhi2_pins_uhs>;
709 pinctrl-names = "default", "state_uhs";
711 vmmc-supply = <&vcc_sdhi2>;
712 vqmmc-supply = <&vccq_sdhi2>;
713 cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
719 pinctrl-0 = <&qspi_pins>;
720 pinctrl-names = "default";
725 compatible = "spansion,s25fl512s", "jedec,spi-nor";
727 spi-max-frequency = <30000000>;
728 spi-tx-bus-width = <4>;
729 spi-rx-bus-width = <4>;
735 compatible = "fixed-partitions";
736 #address-cells = <1>;
741 reg = <0x00000000 0x00080000>;
746 reg = <0x00080000 0x00580000>;
751 reg = <0x00600000 0x03a00000>;
758 pinctrl-0 = <&msiof0_pins>;
759 pinctrl-names = "default";
764 compatible = "renesas,r2a11302ft";
766 spi-max-frequency = <6000000>;
773 pinctrl-0 = <&i2c1_pins>;
774 pinctrl-names = "i2c-exio1";
778 pinctrl-0 = <&i2c2_pins>;
779 pinctrl-names = "i2c-hdmi";
781 clock-frequency = <100000>;
785 pinctrl-0 = <&i2c4_pins>;
786 pinctrl-names = "i2c-exio4";
790 pinctrl-names = "default";
791 pinctrl-0 = <&pmic_irq_pins>;
793 clock-frequency = <100000>;
796 compatible = "dlg,da9063";
798 interrupt-parent = <&irqc0>;
799 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
800 interrupt-controller;
803 compatible = "dlg,da9063-rtc";
807 compatible = "dlg,da9063-watchdog";
811 vdd_dvfs: regulator@68 {
812 compatible = "dlg,da9210";
814 interrupt-parent = <&irqc0>;
815 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
817 regulator-min-microvolt = <1000000>;
818 regulator-max-microvolt = <1000000>;
826 pinctrl-0 = <&usb0_pins>;
827 pinctrl-names = "default";
832 pinctrl-0 = <&usb1_pins>;
833 pinctrl-names = "default";
838 pinctrl-0 = <&usb0_pins>;
839 pinctrl-names = "default";
840 renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
848 clock-frequency = <100000000>;
856 cpu0-supply = <&vdd_dvfs>;
859 /* HDMI video input */
862 pinctrl-0 = <&vin0_pins>;
863 pinctrl-names = "default";
867 remote-endpoint = <&adv7612_out>;
877 /* composite video input */
880 pinctrl-0 = <&vin1_pins>;
881 pinctrl-names = "default";
885 remote-endpoint = <&adv7180>;
892 pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
893 pinctrl-names = "default";
896 #sound-dai-cells = <0>;
902 playback = <&ssi0>, <&src2>, <&dvc0>;
903 capture = <&ssi1>, <&src3>, <&dvc1>;