xref: /openbmc/u-boot/arch/arm/dts/r8a7793-gose.dts (revision d94604d5)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0
292aa0995SMarek Vasut/*
392aa0995SMarek Vasut * Device Tree Source for the Gose board
492aa0995SMarek Vasut *
592aa0995SMarek Vasut * Copyright (C) 2014-2015 Renesas Electronics Corporation
692aa0995SMarek Vasut */
792aa0995SMarek Vasut
892aa0995SMarek Vasut/*
992aa0995SMarek Vasut * SSI-AK4643
1092aa0995SMarek Vasut *
1192aa0995SMarek Vasut * SW1: 1: AK4643
1292aa0995SMarek Vasut *      2: CN22
1392aa0995SMarek Vasut *      3: ADV7511
1492aa0995SMarek Vasut *
1592aa0995SMarek Vasut * This command is required when Playback/Capture
1692aa0995SMarek Vasut *
1792aa0995SMarek Vasut *	amixer set "LINEOUT Mixer DACL" on
1892aa0995SMarek Vasut *	amixer set "DVC Out" 100%
1992aa0995SMarek Vasut *	amixer set "DVC In" 100%
2092aa0995SMarek Vasut *
2192aa0995SMarek Vasut * You can use Mute
2292aa0995SMarek Vasut *
2392aa0995SMarek Vasut *	amixer set "DVC Out Mute" on
2492aa0995SMarek Vasut *	amixer set "DVC In Mute" on
2592aa0995SMarek Vasut *
2692aa0995SMarek Vasut * You can use Volume Ramp
2792aa0995SMarek Vasut *
2892aa0995SMarek Vasut *	amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
2992aa0995SMarek Vasut *	amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
3092aa0995SMarek Vasut *	amixer set "DVC Out Ramp" on
3192aa0995SMarek Vasut *	aplay xxx.wav &
3292aa0995SMarek Vasut *	amixer set "DVC Out"  80%  // Volume Down
3392aa0995SMarek Vasut *	amixer set "DVC Out" 100%  // Volume Up
3492aa0995SMarek Vasut */
3592aa0995SMarek Vasut
3692aa0995SMarek Vasut/dts-v1/;
3792aa0995SMarek Vasut#include "r8a7793.dtsi"
3892aa0995SMarek Vasut#include <dt-bindings/gpio/gpio.h>
3992aa0995SMarek Vasut#include <dt-bindings/input/input.h>
4092aa0995SMarek Vasut
4192aa0995SMarek Vasut/ {
4292aa0995SMarek Vasut	model = "Gose";
4392aa0995SMarek Vasut	compatible = "renesas,gose", "renesas,r8a7793";
4492aa0995SMarek Vasut
4592aa0995SMarek Vasut	aliases {
4692aa0995SMarek Vasut		serial0 = &scif0;
4792aa0995SMarek Vasut		serial1 = &scif1;
48252c8b45SMarek Vasut		i2c9 = &gpioi2c2;
49252c8b45SMarek Vasut		i2c10 = &gpioi2c4;
50252c8b45SMarek Vasut		i2c11 = &i2chdmi;
51252c8b45SMarek Vasut		i2c12 = &i2cexio4;
5292aa0995SMarek Vasut	};
5392aa0995SMarek Vasut
5492aa0995SMarek Vasut	chosen {
5592aa0995SMarek Vasut		bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
5692aa0995SMarek Vasut		stdout-path = "serial0:115200n8";
5792aa0995SMarek Vasut	};
5892aa0995SMarek Vasut
5992aa0995SMarek Vasut	memory@40000000 {
6092aa0995SMarek Vasut		device_type = "memory";
6192aa0995SMarek Vasut		reg = <0 0x40000000 0 0x40000000>;
6292aa0995SMarek Vasut	};
6392aa0995SMarek Vasut
6492aa0995SMarek Vasut	gpio-keys {
6592aa0995SMarek Vasut		compatible = "gpio-keys";
6692aa0995SMarek Vasut
6792aa0995SMarek Vasut		key-1 {
6892aa0995SMarek Vasut		        gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
6992aa0995SMarek Vasut		        linux,code = <KEY_1>;
7092aa0995SMarek Vasut		        label = "SW2-1";
7192aa0995SMarek Vasut		        wakeup-source;
7292aa0995SMarek Vasut		        debounce-interval = <20>;
7392aa0995SMarek Vasut		};
7492aa0995SMarek Vasut		key-2 {
7592aa0995SMarek Vasut		        gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
7692aa0995SMarek Vasut		        linux,code = <KEY_2>;
7792aa0995SMarek Vasut		        label = "SW2-2";
7892aa0995SMarek Vasut		        wakeup-source;
7992aa0995SMarek Vasut		        debounce-interval = <20>;
8092aa0995SMarek Vasut		};
8192aa0995SMarek Vasut		key-3 {
8292aa0995SMarek Vasut		        gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
8392aa0995SMarek Vasut		        linux,code = <KEY_3>;
8492aa0995SMarek Vasut		        label = "SW2-3";
8592aa0995SMarek Vasut		        wakeup-source;
8692aa0995SMarek Vasut		        debounce-interval = <20>;
8792aa0995SMarek Vasut		};
8892aa0995SMarek Vasut		key-4 {
8992aa0995SMarek Vasut		        gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
9092aa0995SMarek Vasut		        linux,code = <KEY_4>;
9192aa0995SMarek Vasut		        label = "SW2-4";
9292aa0995SMarek Vasut		        wakeup-source;
9392aa0995SMarek Vasut		        debounce-interval = <20>;
9492aa0995SMarek Vasut		};
9592aa0995SMarek Vasut		key-a {
9692aa0995SMarek Vasut		        gpios = <&gpio7 0 GPIO_ACTIVE_LOW>;
9792aa0995SMarek Vasut		        linux,code = <KEY_A>;
9892aa0995SMarek Vasut		        label = "SW30";
9992aa0995SMarek Vasut		        wakeup-source;
10092aa0995SMarek Vasut		        debounce-interval = <20>;
10192aa0995SMarek Vasut		};
10292aa0995SMarek Vasut		key-b {
10392aa0995SMarek Vasut		        gpios = <&gpio7 1 GPIO_ACTIVE_LOW>;
10492aa0995SMarek Vasut		        linux,code = <KEY_B>;
10592aa0995SMarek Vasut		        label = "SW31";
10692aa0995SMarek Vasut		        wakeup-source;
10792aa0995SMarek Vasut		        debounce-interval = <20>;
10892aa0995SMarek Vasut		};
10992aa0995SMarek Vasut		key-c {
11092aa0995SMarek Vasut		        gpios = <&gpio7 2 GPIO_ACTIVE_LOW>;
11192aa0995SMarek Vasut		        linux,code = <KEY_C>;
11292aa0995SMarek Vasut		        label = "SW32";
11392aa0995SMarek Vasut		        wakeup-source;
11492aa0995SMarek Vasut		        debounce-interval = <20>;
11592aa0995SMarek Vasut		};
11692aa0995SMarek Vasut		key-d {
11792aa0995SMarek Vasut		        gpios = <&gpio7 3 GPIO_ACTIVE_LOW>;
11892aa0995SMarek Vasut		        linux,code = <KEY_D>;
11992aa0995SMarek Vasut		        label = "SW33";
12092aa0995SMarek Vasut		        wakeup-source;
12192aa0995SMarek Vasut		        debounce-interval = <20>;
12292aa0995SMarek Vasut		};
12392aa0995SMarek Vasut		key-e {
12492aa0995SMarek Vasut		        gpios = <&gpio7 4 GPIO_ACTIVE_LOW>;
12592aa0995SMarek Vasut		        linux,code = <KEY_E>;
12692aa0995SMarek Vasut		        label = "SW34";
12792aa0995SMarek Vasut		        wakeup-source;
12892aa0995SMarek Vasut		        debounce-interval = <20>;
12992aa0995SMarek Vasut		};
13092aa0995SMarek Vasut		key-f {
13192aa0995SMarek Vasut		        gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
13292aa0995SMarek Vasut		        linux,code = <KEY_F>;
13392aa0995SMarek Vasut		        label = "SW35";
13492aa0995SMarek Vasut		        wakeup-source;
13592aa0995SMarek Vasut		        debounce-interval = <20>;
13692aa0995SMarek Vasut		};
13792aa0995SMarek Vasut		key-g {
13892aa0995SMarek Vasut		        gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
13992aa0995SMarek Vasut		        linux,code = <KEY_G>;
14092aa0995SMarek Vasut		        label = "SW36";
14192aa0995SMarek Vasut		        wakeup-source;
14292aa0995SMarek Vasut		        debounce-interval = <20>;
14392aa0995SMarek Vasut		};
14492aa0995SMarek Vasut	};
14592aa0995SMarek Vasut
14692aa0995SMarek Vasut	leds {
14792aa0995SMarek Vasut		compatible = "gpio-leds";
14892aa0995SMarek Vasut		led6 {
14992aa0995SMarek Vasut			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
15092aa0995SMarek Vasut			label = "LED6";
15192aa0995SMarek Vasut		};
15292aa0995SMarek Vasut		led7 {
15392aa0995SMarek Vasut			gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
15492aa0995SMarek Vasut			label = "LED7";
15592aa0995SMarek Vasut		};
15692aa0995SMarek Vasut		led8 {
15792aa0995SMarek Vasut			gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
15892aa0995SMarek Vasut			label = "LED8";
15992aa0995SMarek Vasut		};
16092aa0995SMarek Vasut	};
16192aa0995SMarek Vasut
16292aa0995SMarek Vasut	vcc_sdhi0: regulator-vcc-sdhi0 {
16392aa0995SMarek Vasut		compatible = "regulator-fixed";
16492aa0995SMarek Vasut
16592aa0995SMarek Vasut		regulator-name = "SDHI0 Vcc";
16692aa0995SMarek Vasut		regulator-min-microvolt = <3300000>;
16792aa0995SMarek Vasut		regulator-max-microvolt = <3300000>;
16892aa0995SMarek Vasut
16992aa0995SMarek Vasut		gpio = <&gpio7 17 GPIO_ACTIVE_HIGH>;
17092aa0995SMarek Vasut		enable-active-high;
17192aa0995SMarek Vasut	};
17292aa0995SMarek Vasut
17392aa0995SMarek Vasut	vccq_sdhi0: regulator-vccq-sdhi0 {
17492aa0995SMarek Vasut		compatible = "regulator-gpio";
17592aa0995SMarek Vasut
17692aa0995SMarek Vasut		regulator-name = "SDHI0 VccQ";
17792aa0995SMarek Vasut		regulator-min-microvolt = <1800000>;
17892aa0995SMarek Vasut		regulator-max-microvolt = <3300000>;
17992aa0995SMarek Vasut
18092aa0995SMarek Vasut		gpios = <&gpio2 12 GPIO_ACTIVE_HIGH>;
18192aa0995SMarek Vasut		gpios-states = <1>;
18292aa0995SMarek Vasut		states = <3300000 1
18392aa0995SMarek Vasut			  1800000 0>;
18492aa0995SMarek Vasut	};
18592aa0995SMarek Vasut
18692aa0995SMarek Vasut	vcc_sdhi1: regulator-vcc-sdhi1 {
18792aa0995SMarek Vasut		compatible = "regulator-fixed";
18892aa0995SMarek Vasut
18992aa0995SMarek Vasut		regulator-name = "SDHI1 Vcc";
19092aa0995SMarek Vasut		regulator-min-microvolt = <3300000>;
19192aa0995SMarek Vasut		regulator-max-microvolt = <3300000>;
19292aa0995SMarek Vasut
19392aa0995SMarek Vasut		gpio = <&gpio7 18 GPIO_ACTIVE_HIGH>;
19492aa0995SMarek Vasut		enable-active-high;
19592aa0995SMarek Vasut	};
19692aa0995SMarek Vasut
19792aa0995SMarek Vasut	vccq_sdhi1: regulator-vccq-sdhi1 {
19892aa0995SMarek Vasut		compatible = "regulator-gpio";
19992aa0995SMarek Vasut
20092aa0995SMarek Vasut		regulator-name = "SDHI1 VccQ";
20192aa0995SMarek Vasut		regulator-min-microvolt = <1800000>;
20292aa0995SMarek Vasut		regulator-max-microvolt = <3300000>;
20392aa0995SMarek Vasut
20492aa0995SMarek Vasut		gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>;
20592aa0995SMarek Vasut		gpios-states = <1>;
20692aa0995SMarek Vasut		states = <3300000 1
20792aa0995SMarek Vasut			  1800000 0>;
20892aa0995SMarek Vasut	};
20992aa0995SMarek Vasut
21092aa0995SMarek Vasut	vcc_sdhi2: regulator-vcc-sdhi2 {
21192aa0995SMarek Vasut		compatible = "regulator-fixed";
21292aa0995SMarek Vasut
21392aa0995SMarek Vasut		regulator-name = "SDHI2 Vcc";
21492aa0995SMarek Vasut		regulator-min-microvolt = <3300000>;
21592aa0995SMarek Vasut		regulator-max-microvolt = <3300000>;
21692aa0995SMarek Vasut
21792aa0995SMarek Vasut		gpio = <&gpio7 19 GPIO_ACTIVE_HIGH>;
21892aa0995SMarek Vasut		enable-active-high;
21992aa0995SMarek Vasut	};
22092aa0995SMarek Vasut
22192aa0995SMarek Vasut	vccq_sdhi2: regulator-vccq-sdhi2 {
22292aa0995SMarek Vasut		compatible = "regulator-gpio";
22392aa0995SMarek Vasut
22492aa0995SMarek Vasut		regulator-name = "SDHI2 VccQ";
22592aa0995SMarek Vasut		regulator-min-microvolt = <1800000>;
22692aa0995SMarek Vasut		regulator-max-microvolt = <3300000>;
22792aa0995SMarek Vasut
22892aa0995SMarek Vasut		gpios = <&gpio2 26 GPIO_ACTIVE_HIGH>;
22992aa0995SMarek Vasut		gpios-states = <1>;
23092aa0995SMarek Vasut		states = <3300000 1
23192aa0995SMarek Vasut			  1800000 0>;
23292aa0995SMarek Vasut	};
23392aa0995SMarek Vasut
23492aa0995SMarek Vasut	audio_clock: audio_clock {
23592aa0995SMarek Vasut		compatible = "fixed-clock";
23692aa0995SMarek Vasut		#clock-cells = <0>;
23792aa0995SMarek Vasut		clock-frequency = <11289600>;
23892aa0995SMarek Vasut	};
23992aa0995SMarek Vasut
24092aa0995SMarek Vasut	rsnd_ak4643: sound {
24192aa0995SMarek Vasut		compatible = "simple-audio-card";
24292aa0995SMarek Vasut
24392aa0995SMarek Vasut		simple-audio-card,format = "left_j";
24492aa0995SMarek Vasut		simple-audio-card,bitclock-master = <&sndcodec>;
24592aa0995SMarek Vasut		simple-audio-card,frame-master = <&sndcodec>;
24692aa0995SMarek Vasut
24792aa0995SMarek Vasut		sndcpu: simple-audio-card,cpu {
24892aa0995SMarek Vasut			sound-dai = <&rcar_sound>;
24992aa0995SMarek Vasut		};
25092aa0995SMarek Vasut
25192aa0995SMarek Vasut		sndcodec: simple-audio-card,codec {
25292aa0995SMarek Vasut			sound-dai = <&ak4643>;
25392aa0995SMarek Vasut			clocks = <&audio_clock>;
25492aa0995SMarek Vasut		};
25592aa0995SMarek Vasut	};
25692aa0995SMarek Vasut
25792aa0995SMarek Vasut	hdmi-in {
25892aa0995SMarek Vasut		compatible = "hdmi-connector";
25992aa0995SMarek Vasut		type = "a";
26092aa0995SMarek Vasut
26192aa0995SMarek Vasut		port {
26292aa0995SMarek Vasut			hdmi_con_in: endpoint {
26392aa0995SMarek Vasut				remote-endpoint = <&adv7612_in>;
26492aa0995SMarek Vasut			};
26592aa0995SMarek Vasut		};
26692aa0995SMarek Vasut	};
26792aa0995SMarek Vasut
26892aa0995SMarek Vasut	hdmi-out {
26992aa0995SMarek Vasut		compatible = "hdmi-connector";
27092aa0995SMarek Vasut		type = "a";
27192aa0995SMarek Vasut
27292aa0995SMarek Vasut		port {
27392aa0995SMarek Vasut			hdmi_con_out: endpoint {
27492aa0995SMarek Vasut				remote-endpoint = <&adv7511_out>;
27592aa0995SMarek Vasut			};
27692aa0995SMarek Vasut		};
27792aa0995SMarek Vasut	};
27892aa0995SMarek Vasut
27992aa0995SMarek Vasut	composite-in {
28092aa0995SMarek Vasut		compatible = "composite-video-connector";
28192aa0995SMarek Vasut
28292aa0995SMarek Vasut		port {
28392aa0995SMarek Vasut			composite_con_in: endpoint {
28492aa0995SMarek Vasut				remote-endpoint = <&adv7180_in>;
28592aa0995SMarek Vasut			};
28692aa0995SMarek Vasut		};
28792aa0995SMarek Vasut	};
28892aa0995SMarek Vasut
28992aa0995SMarek Vasut	x2_clk: x2-clock {
29092aa0995SMarek Vasut		compatible = "fixed-clock";
29192aa0995SMarek Vasut		#clock-cells = <0>;
29292aa0995SMarek Vasut		clock-frequency = <74250000>;
29392aa0995SMarek Vasut	};
29492aa0995SMarek Vasut
29592aa0995SMarek Vasut	x13_clk: x13-clock {
29692aa0995SMarek Vasut		compatible = "fixed-clock";
29792aa0995SMarek Vasut		#clock-cells = <0>;
29892aa0995SMarek Vasut		clock-frequency = <148500000>;
29992aa0995SMarek Vasut	};
300252c8b45SMarek Vasut
301252c8b45SMarek Vasut	gpioi2c2: i2c-9 {
302252c8b45SMarek Vasut		#address-cells = <1>;
303252c8b45SMarek Vasut		#size-cells = <0>;
304252c8b45SMarek Vasut		compatible = "i2c-gpio";
305252c8b45SMarek Vasut		status = "disabled";
306252c8b45SMarek Vasut		scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
307252c8b45SMarek Vasut		sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
308252c8b45SMarek Vasut		i2c-gpio,delay-us = <5>;
309252c8b45SMarek Vasut	};
310252c8b45SMarek Vasut
311252c8b45SMarek Vasut	gpioi2c4: i2c-10 {
312252c8b45SMarek Vasut		#address-cells = <1>;
313252c8b45SMarek Vasut		#size-cells = <0>;
314252c8b45SMarek Vasut		compatible = "i2c-gpio";
315252c8b45SMarek Vasut		status = "disabled";
316252c8b45SMarek Vasut		scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
317252c8b45SMarek Vasut		sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
318252c8b45SMarek Vasut		i2c-gpio,delay-us = <5>;
319252c8b45SMarek Vasut	};
320252c8b45SMarek Vasut
321252c8b45SMarek Vasut	/*
322252c8b45SMarek Vasut	 * A fallback to GPIO is provided for I2C2.
323252c8b45SMarek Vasut	 */
324252c8b45SMarek Vasut	i2chdmi: i2c-11 {
325252c8b45SMarek Vasut		compatible = "i2c-demux-pinctrl";
326252c8b45SMarek Vasut		i2c-parent = <&i2c2>, <&gpioi2c2>;
327252c8b45SMarek Vasut		i2c-bus-name = "i2c-hdmi";
328252c8b45SMarek Vasut		#address-cells = <1>;
329252c8b45SMarek Vasut		#size-cells = <0>;
330252c8b45SMarek Vasut
331252c8b45SMarek Vasut		ak4643: codec@12 {
332252c8b45SMarek Vasut			compatible = "asahi-kasei,ak4643";
333252c8b45SMarek Vasut			#sound-dai-cells = <0>;
334252c8b45SMarek Vasut			reg = <0x12>;
335252c8b45SMarek Vasut		};
336252c8b45SMarek Vasut
337252c8b45SMarek Vasut		composite-in@20 {
338252c8b45SMarek Vasut			compatible = "adi,adv7180cp";
339252c8b45SMarek Vasut			reg = <0x20>;
340252c8b45SMarek Vasut			remote = <&vin1>;
341252c8b45SMarek Vasut
342252c8b45SMarek Vasut			port {
343252c8b45SMarek Vasut				#address-cells = <1>;
344252c8b45SMarek Vasut				#size-cells = <0>;
345252c8b45SMarek Vasut
346252c8b45SMarek Vasut				port@0 {
347252c8b45SMarek Vasut					reg = <0>;
348252c8b45SMarek Vasut					adv7180_in: endpoint {
349252c8b45SMarek Vasut						remote-endpoint = <&composite_con_in>;
350252c8b45SMarek Vasut					};
351252c8b45SMarek Vasut				};
352252c8b45SMarek Vasut
353252c8b45SMarek Vasut				port@3 {
354252c8b45SMarek Vasut					reg = <3>;
355252c8b45SMarek Vasut					adv7180_out: endpoint {
356252c8b45SMarek Vasut						bus-width = <8>;
357252c8b45SMarek Vasut						remote-endpoint = <&vin1ep>;
358252c8b45SMarek Vasut					};
359252c8b45SMarek Vasut				};
360252c8b45SMarek Vasut			};
361252c8b45SMarek Vasut		};
362252c8b45SMarek Vasut
363252c8b45SMarek Vasut		hdmi@39 {
364252c8b45SMarek Vasut			compatible = "adi,adv7511w";
365252c8b45SMarek Vasut			reg = <0x39>;
366252c8b45SMarek Vasut			interrupt-parent = <&gpio3>;
367252c8b45SMarek Vasut			interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
368252c8b45SMarek Vasut
369252c8b45SMarek Vasut			adi,input-depth = <8>;
370252c8b45SMarek Vasut			adi,input-colorspace = "rgb";
371252c8b45SMarek Vasut			adi,input-clock = "1x";
372252c8b45SMarek Vasut			adi,input-style = <1>;
373252c8b45SMarek Vasut			adi,input-justification = "evenly";
374252c8b45SMarek Vasut
375252c8b45SMarek Vasut			ports {
376252c8b45SMarek Vasut				#address-cells = <1>;
377252c8b45SMarek Vasut				#size-cells = <0>;
378252c8b45SMarek Vasut
379252c8b45SMarek Vasut				port@0 {
380252c8b45SMarek Vasut					reg = <0>;
381252c8b45SMarek Vasut					adv7511_in: endpoint {
382252c8b45SMarek Vasut						remote-endpoint = <&du_out_rgb>;
383252c8b45SMarek Vasut					};
384252c8b45SMarek Vasut				};
385252c8b45SMarek Vasut
386252c8b45SMarek Vasut				port@1 {
387252c8b45SMarek Vasut					reg = <1>;
388252c8b45SMarek Vasut					adv7511_out: endpoint {
389252c8b45SMarek Vasut						remote-endpoint = <&hdmi_con_out>;
390252c8b45SMarek Vasut					};
391252c8b45SMarek Vasut				};
392252c8b45SMarek Vasut			};
393252c8b45SMarek Vasut		};
394252c8b45SMarek Vasut
395252c8b45SMarek Vasut		hdmi-in@4c {
396252c8b45SMarek Vasut			compatible = "adi,adv7612";
397252c8b45SMarek Vasut			reg = <0x4c>;
398252c8b45SMarek Vasut			interrupt-parent = <&gpio4>;
399252c8b45SMarek Vasut			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
400252c8b45SMarek Vasut			default-input = <0>;
401252c8b45SMarek Vasut
402252c8b45SMarek Vasut			port {
403252c8b45SMarek Vasut				#address-cells = <1>;
404252c8b45SMarek Vasut				#size-cells = <0>;
405252c8b45SMarek Vasut
406252c8b45SMarek Vasut				port@0 {
407252c8b45SMarek Vasut					reg = <0>;
408252c8b45SMarek Vasut					adv7612_in: endpoint {
409252c8b45SMarek Vasut						remote-endpoint = <&hdmi_con_in>;
410252c8b45SMarek Vasut					};
411252c8b45SMarek Vasut				};
412252c8b45SMarek Vasut
413252c8b45SMarek Vasut				port@2 {
414252c8b45SMarek Vasut					reg = <2>;
415252c8b45SMarek Vasut					adv7612_out: endpoint {
416252c8b45SMarek Vasut						remote-endpoint = <&vin0ep2>;
417252c8b45SMarek Vasut					};
418252c8b45SMarek Vasut				};
419252c8b45SMarek Vasut			};
420252c8b45SMarek Vasut		};
421252c8b45SMarek Vasut
422252c8b45SMarek Vasut		eeprom@50 {
423252c8b45SMarek Vasut			compatible = "renesas,r1ex24002", "atmel,24c02";
424252c8b45SMarek Vasut			reg = <0x50>;
425252c8b45SMarek Vasut			pagesize = <16>;
426252c8b45SMarek Vasut		};
427252c8b45SMarek Vasut	};
428252c8b45SMarek Vasut
429252c8b45SMarek Vasut	/*
430252c8b45SMarek Vasut	 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
431252c8b45SMarek Vasut	 * A fallback to GPIO is provided.
432252c8b45SMarek Vasut	 */
433252c8b45SMarek Vasut	i2cexio4: i2c-12 {
434252c8b45SMarek Vasut		compatible = "i2c-demux-pinctrl";
435252c8b45SMarek Vasut		i2c-parent = <&i2c4>, <&gpioi2c4>;
436252c8b45SMarek Vasut		i2c-bus-name = "i2c-exio4";
437252c8b45SMarek Vasut		#address-cells = <1>;
438252c8b45SMarek Vasut		#size-cells = <0>;
439252c8b45SMarek Vasut	};
44092aa0995SMarek Vasut};
44192aa0995SMarek Vasut
44292aa0995SMarek Vasut&du {
44392aa0995SMarek Vasut	pinctrl-0 = <&du_pins>;
44492aa0995SMarek Vasut	pinctrl-names = "default";
44592aa0995SMarek Vasut	status = "okay";
44692aa0995SMarek Vasut
447252c8b45SMarek Vasut	clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
44892aa0995SMarek Vasut		 <&x13_clk>, <&x2_clk>;
449252c8b45SMarek Vasut	clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
45092aa0995SMarek Vasut
45192aa0995SMarek Vasut	ports {
45292aa0995SMarek Vasut		port@0 {
45392aa0995SMarek Vasut			endpoint {
45492aa0995SMarek Vasut				remote-endpoint = <&adv7511_in>;
45592aa0995SMarek Vasut			};
45692aa0995SMarek Vasut		};
457252c8b45SMarek Vasut	};
458252c8b45SMarek Vasut};
459252c8b45SMarek Vasut
460252c8b45SMarek Vasut&lvds0 {
461252c8b45SMarek Vasut	ports {
46292aa0995SMarek Vasut		port@1 {
46392aa0995SMarek Vasut			lvds_connector: endpoint {
46492aa0995SMarek Vasut			};
46592aa0995SMarek Vasut		};
46692aa0995SMarek Vasut	};
46792aa0995SMarek Vasut};
46892aa0995SMarek Vasut
46992aa0995SMarek Vasut&extal_clk {
47092aa0995SMarek Vasut	clock-frequency = <20000000>;
47192aa0995SMarek Vasut};
47292aa0995SMarek Vasut
47392aa0995SMarek Vasut&pfc {
47492aa0995SMarek Vasut	pinctrl-0 = <&scif_clk_pins>;
47592aa0995SMarek Vasut	pinctrl-names = "default";
47692aa0995SMarek Vasut
47792aa0995SMarek Vasut	i2c2_pins: i2c2 {
47892aa0995SMarek Vasut		groups = "i2c2";
47992aa0995SMarek Vasut		function = "i2c2";
48092aa0995SMarek Vasut	};
48192aa0995SMarek Vasut
482252c8b45SMarek Vasut	i2c4_pins: i2c4 {
483252c8b45SMarek Vasut		groups = "i2c4_c";
484252c8b45SMarek Vasut		function = "i2c4";
485252c8b45SMarek Vasut	};
486252c8b45SMarek Vasut
48792aa0995SMarek Vasut	du_pins: du {
48892aa0995SMarek Vasut		groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
48992aa0995SMarek Vasut		function = "du";
49092aa0995SMarek Vasut	};
49192aa0995SMarek Vasut
49292aa0995SMarek Vasut	scif0_pins: scif0 {
49392aa0995SMarek Vasut		groups = "scif0_data_d";
49492aa0995SMarek Vasut		function = "scif0";
49592aa0995SMarek Vasut	};
49692aa0995SMarek Vasut
49792aa0995SMarek Vasut	scif1_pins: scif1 {
49892aa0995SMarek Vasut		groups = "scif1_data_d";
49992aa0995SMarek Vasut		function = "scif1";
50092aa0995SMarek Vasut	};
50192aa0995SMarek Vasut
50292aa0995SMarek Vasut	scif_clk_pins: scif_clk {
50392aa0995SMarek Vasut		groups = "scif_clk";
50492aa0995SMarek Vasut		function = "scif_clk";
50592aa0995SMarek Vasut	};
50692aa0995SMarek Vasut
50792aa0995SMarek Vasut	ether_pins: ether {
50892aa0995SMarek Vasut		groups = "eth_link", "eth_mdio", "eth_rmii";
50992aa0995SMarek Vasut		function = "eth";
51092aa0995SMarek Vasut	};
51192aa0995SMarek Vasut
51292aa0995SMarek Vasut	phy1_pins: phy1 {
51392aa0995SMarek Vasut		groups = "intc_irq0";
51492aa0995SMarek Vasut		function = "intc";
51592aa0995SMarek Vasut	};
51692aa0995SMarek Vasut
51792aa0995SMarek Vasut	sdhi0_pins: sd0 {
51892aa0995SMarek Vasut		groups = "sdhi0_data4", "sdhi0_ctrl";
51992aa0995SMarek Vasut		function = "sdhi0";
52092aa0995SMarek Vasut		power-source = <3300>;
52192aa0995SMarek Vasut	};
52292aa0995SMarek Vasut
52392aa0995SMarek Vasut	sdhi0_pins_uhs: sd0_uhs {
52492aa0995SMarek Vasut		groups = "sdhi0_data4", "sdhi0_ctrl";
52592aa0995SMarek Vasut		function = "sdhi0";
52692aa0995SMarek Vasut		power-source = <1800>;
52792aa0995SMarek Vasut	};
52892aa0995SMarek Vasut
52992aa0995SMarek Vasut	sdhi1_pins: sd1 {
53092aa0995SMarek Vasut		groups = "sdhi1_data4", "sdhi1_ctrl";
53192aa0995SMarek Vasut		function = "sdhi1";
53292aa0995SMarek Vasut		power-source = <3300>;
53392aa0995SMarek Vasut	};
53492aa0995SMarek Vasut
53592aa0995SMarek Vasut	sdhi1_pins_uhs: sd1_uhs {
53692aa0995SMarek Vasut		groups = "sdhi1_data4", "sdhi1_ctrl";
53792aa0995SMarek Vasut		function = "sdhi1";
53892aa0995SMarek Vasut		power-source = <1800>;
53992aa0995SMarek Vasut	};
54092aa0995SMarek Vasut
54192aa0995SMarek Vasut	sdhi2_pins: sd2 {
54292aa0995SMarek Vasut		groups = "sdhi2_data4", "sdhi2_ctrl";
54392aa0995SMarek Vasut		function = "sdhi2";
54492aa0995SMarek Vasut		power-source = <3300>;
54592aa0995SMarek Vasut	};
54692aa0995SMarek Vasut
54792aa0995SMarek Vasut	sdhi2_pins_uhs: sd2_uhs {
54892aa0995SMarek Vasut		groups = "sdhi2_data4", "sdhi2_ctrl";
54992aa0995SMarek Vasut		function = "sdhi2";
55092aa0995SMarek Vasut		power-source = <1800>;
55192aa0995SMarek Vasut	};
55292aa0995SMarek Vasut
55392aa0995SMarek Vasut	qspi_pins: qspi {
55492aa0995SMarek Vasut		groups = "qspi_ctrl", "qspi_data4";
55592aa0995SMarek Vasut		function = "qspi";
55692aa0995SMarek Vasut	};
55792aa0995SMarek Vasut
55892aa0995SMarek Vasut	sound_pins: sound {
55992aa0995SMarek Vasut		groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
56092aa0995SMarek Vasut		function = "ssi";
56192aa0995SMarek Vasut	};
56292aa0995SMarek Vasut
56392aa0995SMarek Vasut	sound_clk_pins: sound_clk {
56492aa0995SMarek Vasut		groups = "audio_clk_a";
56592aa0995SMarek Vasut		function = "audio_clk";
56692aa0995SMarek Vasut	};
56792aa0995SMarek Vasut
56892aa0995SMarek Vasut	vin0_pins: vin0 {
56992aa0995SMarek Vasut		groups = "vin0_data24", "vin0_sync", "vin0_clkenb", "vin0_clk";
57092aa0995SMarek Vasut		function = "vin0";
57192aa0995SMarek Vasut	};
57292aa0995SMarek Vasut
57392aa0995SMarek Vasut	vin1_pins: vin1 {
57492aa0995SMarek Vasut		groups = "vin1_data8", "vin1_clk";
57592aa0995SMarek Vasut		function = "vin1";
57692aa0995SMarek Vasut	};
57792aa0995SMarek Vasut};
57892aa0995SMarek Vasut
57992aa0995SMarek Vasut&ether {
58092aa0995SMarek Vasut	pinctrl-0 = <&ether_pins &phy1_pins>;
58192aa0995SMarek Vasut	pinctrl-names = "default";
58292aa0995SMarek Vasut
58392aa0995SMarek Vasut	phy-handle = <&phy1>;
58492aa0995SMarek Vasut	renesas,ether-link-active-low;
58592aa0995SMarek Vasut	status = "okay";
58692aa0995SMarek Vasut
58792aa0995SMarek Vasut	phy1: ethernet-phy@1 {
58892aa0995SMarek Vasut		reg = <1>;
58992aa0995SMarek Vasut		interrupt-parent = <&irqc0>;
59092aa0995SMarek Vasut		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
59192aa0995SMarek Vasut		micrel,led-mode = <1>;
59292aa0995SMarek Vasut	};
59392aa0995SMarek Vasut};
59492aa0995SMarek Vasut
59592aa0995SMarek Vasut&cmt0 {
59692aa0995SMarek Vasut	status = "okay";
59792aa0995SMarek Vasut};
59892aa0995SMarek Vasut
599*3b255531SMarek Vasut&rwdt {
600*3b255531SMarek Vasut	timeout-sec = <60>;
601*3b255531SMarek Vasut	status = "okay";
602*3b255531SMarek Vasut};
603*3b255531SMarek Vasut
60492aa0995SMarek Vasut&scif0 {
60592aa0995SMarek Vasut	pinctrl-0 = <&scif0_pins>;
60692aa0995SMarek Vasut	pinctrl-names = "default";
60792aa0995SMarek Vasut
60892aa0995SMarek Vasut	status = "okay";
60992aa0995SMarek Vasut};
61092aa0995SMarek Vasut
61192aa0995SMarek Vasut&scif1 {
61292aa0995SMarek Vasut	pinctrl-0 = <&scif1_pins>;
61392aa0995SMarek Vasut	pinctrl-names = "default";
61492aa0995SMarek Vasut
61592aa0995SMarek Vasut	status = "okay";
61692aa0995SMarek Vasut};
61792aa0995SMarek Vasut
61892aa0995SMarek Vasut&scif_clk {
61992aa0995SMarek Vasut	clock-frequency = <14745600>;
62092aa0995SMarek Vasut};
62192aa0995SMarek Vasut
62292aa0995SMarek Vasut&sdhi0 {
62392aa0995SMarek Vasut	pinctrl-0 = <&sdhi0_pins>;
62492aa0995SMarek Vasut	pinctrl-1 = <&sdhi0_pins_uhs>;
62592aa0995SMarek Vasut	pinctrl-names = "default", "state_uhs";
62692aa0995SMarek Vasut
62792aa0995SMarek Vasut	vmmc-supply = <&vcc_sdhi0>;
62892aa0995SMarek Vasut	vqmmc-supply = <&vccq_sdhi0>;
62992aa0995SMarek Vasut	cd-gpios = <&gpio6 6 GPIO_ACTIVE_LOW>;
63092aa0995SMarek Vasut	wp-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
63192aa0995SMarek Vasut	sd-uhs-sdr50;
63292aa0995SMarek Vasut	sd-uhs-sdr104;
63392aa0995SMarek Vasut	status = "okay";
63492aa0995SMarek Vasut};
63592aa0995SMarek Vasut
63692aa0995SMarek Vasut&sdhi1 {
63792aa0995SMarek Vasut	pinctrl-0 = <&sdhi1_pins>;
63892aa0995SMarek Vasut	pinctrl-1 = <&sdhi1_pins_uhs>;
63992aa0995SMarek Vasut	pinctrl-names = "default", "state_uhs";
64092aa0995SMarek Vasut
64192aa0995SMarek Vasut	vmmc-supply = <&vcc_sdhi1>;
64292aa0995SMarek Vasut	vqmmc-supply = <&vccq_sdhi1>;
64392aa0995SMarek Vasut	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
64492aa0995SMarek Vasut	wp-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
64592aa0995SMarek Vasut	sd-uhs-sdr50;
64692aa0995SMarek Vasut	status = "okay";
64792aa0995SMarek Vasut};
64892aa0995SMarek Vasut
64992aa0995SMarek Vasut&sdhi2 {
65092aa0995SMarek Vasut	pinctrl-0 = <&sdhi2_pins>;
65192aa0995SMarek Vasut	pinctrl-1 = <&sdhi2_pins_uhs>;
65292aa0995SMarek Vasut	pinctrl-names = "default", "state_uhs";
65392aa0995SMarek Vasut
65492aa0995SMarek Vasut	vmmc-supply = <&vcc_sdhi2>;
65592aa0995SMarek Vasut	vqmmc-supply = <&vccq_sdhi2>;
65692aa0995SMarek Vasut	cd-gpios = <&gpio6 22 GPIO_ACTIVE_LOW>;
65792aa0995SMarek Vasut	sd-uhs-sdr50;
65892aa0995SMarek Vasut	status = "okay";
65992aa0995SMarek Vasut};
66092aa0995SMarek Vasut
66192aa0995SMarek Vasut&qspi {
66292aa0995SMarek Vasut	pinctrl-0 = <&qspi_pins>;
66392aa0995SMarek Vasut	pinctrl-names = "default";
66492aa0995SMarek Vasut
66592aa0995SMarek Vasut	status = "okay";
66692aa0995SMarek Vasut
66792aa0995SMarek Vasut	flash@0 {
66892aa0995SMarek Vasut		compatible = "spansion,s25fl512s", "jedec,spi-nor";
66992aa0995SMarek Vasut		reg = <0>;
67092aa0995SMarek Vasut		spi-max-frequency = <30000000>;
67192aa0995SMarek Vasut		spi-tx-bus-width = <4>;
67292aa0995SMarek Vasut		spi-rx-bus-width = <4>;
67392aa0995SMarek Vasut		spi-cpol;
67492aa0995SMarek Vasut		spi-cpha;
67592aa0995SMarek Vasut		m25p,fast-read;
67692aa0995SMarek Vasut
67792aa0995SMarek Vasut		partitions {
67892aa0995SMarek Vasut			compatible = "fixed-partitions";
67992aa0995SMarek Vasut			#address-cells = <1>;
68092aa0995SMarek Vasut			#size-cells = <1>;
68192aa0995SMarek Vasut
68292aa0995SMarek Vasut			partition@0 {
68392aa0995SMarek Vasut				label = "loader";
68492aa0995SMarek Vasut				reg = <0x00000000 0x00040000>;
68592aa0995SMarek Vasut				read-only;
68692aa0995SMarek Vasut			};
68792aa0995SMarek Vasut			partition@40000 {
68892aa0995SMarek Vasut				label = "user";
68992aa0995SMarek Vasut				reg = <0x00040000 0x00400000>;
69092aa0995SMarek Vasut				read-only;
69192aa0995SMarek Vasut			};
69292aa0995SMarek Vasut			partition@440000 {
69392aa0995SMarek Vasut				label = "flash";
69492aa0995SMarek Vasut				reg = <0x00440000 0x03bc0000>;
69592aa0995SMarek Vasut			};
69692aa0995SMarek Vasut		};
69792aa0995SMarek Vasut	};
69892aa0995SMarek Vasut};
69992aa0995SMarek Vasut
70092aa0995SMarek Vasut&i2c2 {
70192aa0995SMarek Vasut	pinctrl-0 = <&i2c2_pins>;
702252c8b45SMarek Vasut	pinctrl-names = "i2c-hdmi";
70392aa0995SMarek Vasut
70492aa0995SMarek Vasut	status = "okay";
70592aa0995SMarek Vasut	clock-frequency = <100000>;
70692aa0995SMarek Vasut
70792aa0995SMarek Vasut};
70892aa0995SMarek Vasut
70992aa0995SMarek Vasut&i2c6 {
71092aa0995SMarek Vasut	status = "okay";
71192aa0995SMarek Vasut	clock-frequency = <100000>;
71292aa0995SMarek Vasut
71392aa0995SMarek Vasut	pmic@58 {
71492aa0995SMarek Vasut		compatible = "dlg,da9063";
71592aa0995SMarek Vasut		reg = <0x58>;
71692aa0995SMarek Vasut		interrupt-parent = <&irqc0>;
71792aa0995SMarek Vasut		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
71892aa0995SMarek Vasut		interrupt-controller;
71992aa0995SMarek Vasut
72092aa0995SMarek Vasut		rtc {
72192aa0995SMarek Vasut			compatible = "dlg,da9063-rtc";
72292aa0995SMarek Vasut		};
72392aa0995SMarek Vasut
72492aa0995SMarek Vasut		wdt {
72592aa0995SMarek Vasut			compatible = "dlg,da9063-watchdog";
72692aa0995SMarek Vasut		};
72792aa0995SMarek Vasut	};
72892aa0995SMarek Vasut};
72992aa0995SMarek Vasut
730252c8b45SMarek Vasut&i2c4 {
731252c8b45SMarek Vasut	pinctrl-0 = <&i2c4_pins>;
732252c8b45SMarek Vasut	pinctrl-names = "i2c-exio4";
733252c8b45SMarek Vasut};
734252c8b45SMarek Vasut
73592aa0995SMarek Vasut&rcar_sound {
73692aa0995SMarek Vasut	pinctrl-0 = <&sound_pins &sound_clk_pins>;
73792aa0995SMarek Vasut	pinctrl-names = "default";
73892aa0995SMarek Vasut
73992aa0995SMarek Vasut	/* Single DAI */
74092aa0995SMarek Vasut	#sound-dai-cells = <0>;
74192aa0995SMarek Vasut
74292aa0995SMarek Vasut	status = "okay";
74392aa0995SMarek Vasut
74492aa0995SMarek Vasut	rcar_sound,dai {
74592aa0995SMarek Vasut		dai0 {
74692aa0995SMarek Vasut			playback = <&ssi0 &src2 &dvc0>;
74792aa0995SMarek Vasut			capture  = <&ssi1 &src3 &dvc1>;
74892aa0995SMarek Vasut		};
74992aa0995SMarek Vasut	};
75092aa0995SMarek Vasut};
75192aa0995SMarek Vasut
75292aa0995SMarek Vasut&ssi1 {
75392aa0995SMarek Vasut	shared-pin;
75492aa0995SMarek Vasut};
75592aa0995SMarek Vasut
75692aa0995SMarek Vasut/* HDMI video input */
75792aa0995SMarek Vasut&vin0 {
75892aa0995SMarek Vasut	status = "okay";
75992aa0995SMarek Vasut	pinctrl-0 = <&vin0_pins>;
76092aa0995SMarek Vasut	pinctrl-names = "default";
76192aa0995SMarek Vasut
76292aa0995SMarek Vasut	port {
76392aa0995SMarek Vasut		vin0ep2: endpoint {
76492aa0995SMarek Vasut			remote-endpoint = <&adv7612_out>;
76592aa0995SMarek Vasut			bus-width = <24>;
76692aa0995SMarek Vasut			hsync-active = <0>;
76792aa0995SMarek Vasut			vsync-active = <0>;
76892aa0995SMarek Vasut			pclk-sample = <1>;
76992aa0995SMarek Vasut			data-active = <1>;
77092aa0995SMarek Vasut		};
77192aa0995SMarek Vasut	};
77292aa0995SMarek Vasut};
77392aa0995SMarek Vasut
77492aa0995SMarek Vasut/* composite video input */
77592aa0995SMarek Vasut&vin1 {
77692aa0995SMarek Vasut	pinctrl-0 = <&vin1_pins>;
77792aa0995SMarek Vasut	pinctrl-names = "default";
77892aa0995SMarek Vasut
77992aa0995SMarek Vasut	status = "okay";
78092aa0995SMarek Vasut
78192aa0995SMarek Vasut	port {
78292aa0995SMarek Vasut		vin1ep: endpoint {
78392aa0995SMarek Vasut			remote-endpoint = <&adv7180_out>;
78492aa0995SMarek Vasut			bus-width = <8>;
78592aa0995SMarek Vasut		};
78692aa0995SMarek Vasut	};
78792aa0995SMarek Vasut};
788