162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for the Draak board
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2016-2018 Renesas Electronics Corp.
662306a36Sopenharmony_ci * Copyright (C) 2017 Glider bvba
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "Renesas Draak board";
1462306a36Sopenharmony_ci	compatible = "renesas,draak";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	aliases {
1762306a36Sopenharmony_ci		serial0 = &scif2;
1862306a36Sopenharmony_ci		ethernet0 = &avb;
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	audio_clkout: audio-clkout {
2262306a36Sopenharmony_ci		/*
2362306a36Sopenharmony_ci		 * This is same as <&rcar_sound 0>
2462306a36Sopenharmony_ci		 * but needed to avoid cs2000/rcar_sound probe dead-lock
2562306a36Sopenharmony_ci		 */
2662306a36Sopenharmony_ci		compatible = "fixed-clock";
2762306a36Sopenharmony_ci		#clock-cells = <0>;
2862306a36Sopenharmony_ci		clock-frequency = <12288000>;
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	backlight: backlight {
3262306a36Sopenharmony_ci		compatible = "pwm-backlight";
3362306a36Sopenharmony_ci		pwms = <&pwm1 0 50000>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		brightness-levels = <512 511 505 494 473 440 392 327 241 133 0>;
3662306a36Sopenharmony_ci		default-brightness-level = <10>;
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		power-supply = <&reg_12p0v>;
3962306a36Sopenharmony_ci		enable-gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
4062306a36Sopenharmony_ci	};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci	chosen {
4362306a36Sopenharmony_ci		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
4462306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
4562306a36Sopenharmony_ci	};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	composite-in {
4862306a36Sopenharmony_ci		compatible = "composite-video-connector";
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		port {
5162306a36Sopenharmony_ci			composite_con_in: endpoint {
5262306a36Sopenharmony_ci				remote-endpoint = <&adv7180_in>;
5362306a36Sopenharmony_ci			};
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	hdmi-in {
5862306a36Sopenharmony_ci		compatible = "hdmi-connector";
5962306a36Sopenharmony_ci		type = "a";
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci		port {
6262306a36Sopenharmony_ci			hdmi_con_in: endpoint {
6362306a36Sopenharmony_ci				remote-endpoint = <&adv7612_in>;
6462306a36Sopenharmony_ci			};
6562306a36Sopenharmony_ci		};
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	hdmi-out {
6962306a36Sopenharmony_ci		compatible = "hdmi-connector";
7062306a36Sopenharmony_ci		type = "a";
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		port {
7362306a36Sopenharmony_ci			hdmi_con_out: endpoint {
7462306a36Sopenharmony_ci				remote-endpoint = <&adv7511_out>;
7562306a36Sopenharmony_ci			};
7662306a36Sopenharmony_ci		};
7762306a36Sopenharmony_ci	};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	keys {
8062306a36Sopenharmony_ci		compatible = "gpio-keys";
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		pinctrl-0 = <&keys_pins>;
8362306a36Sopenharmony_ci		pinctrl-names = "default";
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci		key-1 {
8662306a36Sopenharmony_ci			gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
8762306a36Sopenharmony_ci			linux,code = <KEY_1>;
8862306a36Sopenharmony_ci			label = "SW56-1";
8962306a36Sopenharmony_ci			wakeup-source;
9062306a36Sopenharmony_ci			debounce-interval = <20>;
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci		key-2 {
9362306a36Sopenharmony_ci			gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
9462306a36Sopenharmony_ci			linux,code = <KEY_2>;
9562306a36Sopenharmony_ci			label = "SW56-2";
9662306a36Sopenharmony_ci			wakeup-source;
9762306a36Sopenharmony_ci			debounce-interval = <20>;
9862306a36Sopenharmony_ci		};
9962306a36Sopenharmony_ci		key-3 {
10062306a36Sopenharmony_ci			gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
10162306a36Sopenharmony_ci			linux,code = <KEY_3>;
10262306a36Sopenharmony_ci			label = "SW56-3";
10362306a36Sopenharmony_ci			wakeup-source;
10462306a36Sopenharmony_ci			debounce-interval = <20>;
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci		key-4 {
10762306a36Sopenharmony_ci			gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
10862306a36Sopenharmony_ci			linux,code = <KEY_4>;
10962306a36Sopenharmony_ci			label = "SW56-4";
11062306a36Sopenharmony_ci			wakeup-source;
11162306a36Sopenharmony_ci			debounce-interval = <20>;
11262306a36Sopenharmony_ci		};
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	lvds-decoder {
11662306a36Sopenharmony_ci		compatible = "thine,thc63lvd1024";
11762306a36Sopenharmony_ci		vcc-supply = <&reg_3p3v>;
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci		ports {
12062306a36Sopenharmony_ci			#address-cells = <1>;
12162306a36Sopenharmony_ci			#size-cells = <0>;
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci			port@0 {
12462306a36Sopenharmony_ci				reg = <0>;
12562306a36Sopenharmony_ci				thc63lvd1024_in: endpoint {
12662306a36Sopenharmony_ci					remote-endpoint = <&lvds0_out>;
12762306a36Sopenharmony_ci				};
12862306a36Sopenharmony_ci			};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci			port@2 {
13162306a36Sopenharmony_ci				reg = <2>;
13262306a36Sopenharmony_ci				thc63lvd1024_out: endpoint {
13362306a36Sopenharmony_ci					remote-endpoint = <&adv7511_in>;
13462306a36Sopenharmony_ci				};
13562306a36Sopenharmony_ci			};
13662306a36Sopenharmony_ci		};
13762306a36Sopenharmony_ci	};
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	memory@48000000 {
14062306a36Sopenharmony_ci		device_type = "memory";
14162306a36Sopenharmony_ci		/* first 128MB is reserved for secure area. */
14262306a36Sopenharmony_ci		reg = <0x0 0x48000000 0x0 0x18000000>;
14362306a36Sopenharmony_ci	};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci	reg_1p8v: regulator-1p8v {
14662306a36Sopenharmony_ci		compatible = "regulator-fixed";
14762306a36Sopenharmony_ci		regulator-name = "fixed-1.8V";
14862306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
14962306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
15062306a36Sopenharmony_ci		regulator-boot-on;
15162306a36Sopenharmony_ci		regulator-always-on;
15262306a36Sopenharmony_ci	};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	reg_3p3v: regulator-3p3v {
15562306a36Sopenharmony_ci		compatible = "regulator-fixed";
15662306a36Sopenharmony_ci		regulator-name = "fixed-3.3V";
15762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
15862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
15962306a36Sopenharmony_ci		regulator-boot-on;
16062306a36Sopenharmony_ci		regulator-always-on;
16162306a36Sopenharmony_ci	};
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	reg_12p0v: regulator-12p0v {
16462306a36Sopenharmony_ci		compatible = "regulator-fixed";
16562306a36Sopenharmony_ci		regulator-name = "D12.0V";
16662306a36Sopenharmony_ci		regulator-min-microvolt = <12000000>;
16762306a36Sopenharmony_ci		regulator-max-microvolt = <12000000>;
16862306a36Sopenharmony_ci		regulator-boot-on;
16962306a36Sopenharmony_ci		regulator-always-on;
17062306a36Sopenharmony_ci	};
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ci	sound_card: sound {
17362306a36Sopenharmony_ci		compatible = "audio-graph-card";
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci		dais = <&rsnd_port0	/* ak4613 */
17662306a36Sopenharmony_ci			/* HDMI is not yet supported */
17762306a36Sopenharmony_ci		>;
17862306a36Sopenharmony_ci	};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	vga {
18162306a36Sopenharmony_ci		compatible = "vga-connector";
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci		port {
18462306a36Sopenharmony_ci			vga_in: endpoint {
18562306a36Sopenharmony_ci				remote-endpoint = <&adv7123_out>;
18662306a36Sopenharmony_ci			};
18762306a36Sopenharmony_ci		};
18862306a36Sopenharmony_ci	};
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci	vga-encoder {
19162306a36Sopenharmony_ci		compatible = "adi,adv7123";
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci		ports {
19462306a36Sopenharmony_ci			#address-cells = <1>;
19562306a36Sopenharmony_ci			#size-cells = <0>;
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci			port@0 {
19862306a36Sopenharmony_ci				reg = <0>;
19962306a36Sopenharmony_ci				adv7123_in: endpoint {
20062306a36Sopenharmony_ci					remote-endpoint = <&du_out_rgb>;
20162306a36Sopenharmony_ci				};
20262306a36Sopenharmony_ci			};
20362306a36Sopenharmony_ci			port@1 {
20462306a36Sopenharmony_ci				reg = <1>;
20562306a36Sopenharmony_ci				adv7123_out: endpoint {
20662306a36Sopenharmony_ci					remote-endpoint = <&vga_in>;
20762306a36Sopenharmony_ci				};
20862306a36Sopenharmony_ci			};
20962306a36Sopenharmony_ci		};
21062306a36Sopenharmony_ci	};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci	x12_clk: x12 {
21362306a36Sopenharmony_ci		compatible = "fixed-clock";
21462306a36Sopenharmony_ci		#clock-cells = <0>;
21562306a36Sopenharmony_ci		clock-frequency = <74250000>;
21662306a36Sopenharmony_ci	};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci	x19_clk: x19 {
21962306a36Sopenharmony_ci		compatible = "fixed-clock";
22062306a36Sopenharmony_ci		#clock-cells = <0>;
22162306a36Sopenharmony_ci		clock-frequency = <24576000>;
22262306a36Sopenharmony_ci	};
22362306a36Sopenharmony_ci};
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_ci&audio_clk_b {
22662306a36Sopenharmony_ci	/*
22762306a36Sopenharmony_ci	 * X11 is connected to VI4_FIELD/SCIF_CLK/AUDIO_CLKB,
22862306a36Sopenharmony_ci	 * and R-Car Sound uses AUDIO_CLKB.
22962306a36Sopenharmony_ci	 * Note is that schematic indicates VI4_FIELD conection only
23062306a36Sopenharmony_ci	 * not AUDIO_CLKB at SoC page.
23162306a36Sopenharmony_ci	 * And this VI4_FIELD/SCIF_CLK/AUDIO_CLKB is connected to SW60.
23262306a36Sopenharmony_ci	 * SW60 should be 1-2.
23362306a36Sopenharmony_ci	 */
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci	clock-frequency = <22579200>;
23662306a36Sopenharmony_ci};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci&avb {
23962306a36Sopenharmony_ci	pinctrl-0 = <&avb0_pins>;
24062306a36Sopenharmony_ci	pinctrl-names = "default";
24162306a36Sopenharmony_ci	renesas,no-ether-link;
24262306a36Sopenharmony_ci	phy-handle = <&phy0>;
24362306a36Sopenharmony_ci	status = "okay";
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ci	phy0: ethernet-phy@0 {
24662306a36Sopenharmony_ci		compatible = "ethernet-phy-id0022.1622",
24762306a36Sopenharmony_ci			     "ethernet-phy-ieee802.3-c22";
24862306a36Sopenharmony_ci		rxc-skew-ps = <1500>;
24962306a36Sopenharmony_ci		reg = <0>;
25062306a36Sopenharmony_ci		interrupt-parent = <&gpio5>;
25162306a36Sopenharmony_ci		interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
25262306a36Sopenharmony_ci		reset-gpios = <&gpio5 18 GPIO_ACTIVE_LOW>;
25362306a36Sopenharmony_ci		/*
25462306a36Sopenharmony_ci		 * TX clock internal delay mode is required for reliable
25562306a36Sopenharmony_ci		 * 1Gbps communication using the KSZ9031RNX phy present on
25662306a36Sopenharmony_ci		 * the Draak board, however, TX clock internal delay mode
25762306a36Sopenharmony_ci		 * isn't supported on R-Car D3(e).  Thus, limit speed to
25862306a36Sopenharmony_ci		 * 100Mbps for reliable communication.
25962306a36Sopenharmony_ci		 */
26062306a36Sopenharmony_ci		max-speed = <100>;
26162306a36Sopenharmony_ci	};
26262306a36Sopenharmony_ci};
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ci&can0 {
26562306a36Sopenharmony_ci	pinctrl-0 = <&can0_pins>;
26662306a36Sopenharmony_ci	pinctrl-names = "default";
26762306a36Sopenharmony_ci	status = "okay";
26862306a36Sopenharmony_ci};
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci&can1 {
27162306a36Sopenharmony_ci	pinctrl-0 = <&can1_pins>;
27262306a36Sopenharmony_ci	pinctrl-names = "default";
27362306a36Sopenharmony_ci	status = "okay";
27462306a36Sopenharmony_ci};
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci&du {
27762306a36Sopenharmony_ci	pinctrl-0 = <&du_pins>;
27862306a36Sopenharmony_ci	pinctrl-names = "default";
27962306a36Sopenharmony_ci	status = "okay";
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_ci	clocks = <&cpg CPG_MOD 724>,
28262306a36Sopenharmony_ci		 <&cpg CPG_MOD 723>,
28362306a36Sopenharmony_ci		 <&x12_clk>;
28462306a36Sopenharmony_ci	clock-names = "du.0", "du.1", "dclkin.0";
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci	ports {
28762306a36Sopenharmony_ci		port@0 {
28862306a36Sopenharmony_ci			du_out_rgb: endpoint {
28962306a36Sopenharmony_ci				remote-endpoint = <&adv7123_in>;
29062306a36Sopenharmony_ci			};
29162306a36Sopenharmony_ci		};
29262306a36Sopenharmony_ci	};
29362306a36Sopenharmony_ci};
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci&ehci0 {
29662306a36Sopenharmony_ci	dr_mode = "host";
29762306a36Sopenharmony_ci	status = "okay";
29862306a36Sopenharmony_ci};
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci&extal_clk {
30162306a36Sopenharmony_ci	clock-frequency = <48000000>;
30262306a36Sopenharmony_ci};
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ci&hsusb {
30562306a36Sopenharmony_ci	dr_mode = "host";
30662306a36Sopenharmony_ci	status = "okay";
30762306a36Sopenharmony_ci};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci&i2c0 {
31062306a36Sopenharmony_ci	pinctrl-0 = <&i2c0_pins>;
31162306a36Sopenharmony_ci	pinctrl-names = "default";
31262306a36Sopenharmony_ci	status = "okay";
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ci	ak4613: codec@10 {
31562306a36Sopenharmony_ci		compatible = "asahi-kasei,ak4613";
31662306a36Sopenharmony_ci		#sound-dai-cells = <0>;
31762306a36Sopenharmony_ci		reg = <0x10>;
31862306a36Sopenharmony_ci		clocks = <&rcar_sound 0>; /* audio_clkout */
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci		asahi-kasei,in1-single-end;
32162306a36Sopenharmony_ci		asahi-kasei,in2-single-end;
32262306a36Sopenharmony_ci		asahi-kasei,out1-single-end;
32362306a36Sopenharmony_ci		asahi-kasei,out2-single-end;
32462306a36Sopenharmony_ci		asahi-kasei,out3-single-end;
32562306a36Sopenharmony_ci		asahi-kasei,out4-single-end;
32662306a36Sopenharmony_ci		asahi-kasei,out5-single-end;
32762306a36Sopenharmony_ci		asahi-kasei,out6-single-end;
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci		port {
33062306a36Sopenharmony_ci			ak4613_endpoint: endpoint {
33162306a36Sopenharmony_ci				remote-endpoint = <&rsnd_for_ak4613>;
33262306a36Sopenharmony_ci			};
33362306a36Sopenharmony_ci		};
33462306a36Sopenharmony_ci	};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci	composite-in@20 {
33762306a36Sopenharmony_ci		compatible = "adi,adv7180cp";
33862306a36Sopenharmony_ci		reg = <0x20>;
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci		ports {
34162306a36Sopenharmony_ci			#address-cells = <1>;
34262306a36Sopenharmony_ci			#size-cells = <0>;
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ci			port@0 {
34562306a36Sopenharmony_ci				reg = <0>;
34662306a36Sopenharmony_ci				adv7180_in: endpoint {
34762306a36Sopenharmony_ci					remote-endpoint = <&composite_con_in>;
34862306a36Sopenharmony_ci				};
34962306a36Sopenharmony_ci			};
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ci			port@3 {
35262306a36Sopenharmony_ci				reg = <3>;
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci				/*
35562306a36Sopenharmony_ci				 * The VIN4 video input path is shared between
35662306a36Sopenharmony_ci				 * CVBS and HDMI inputs through SW[49-53]
35762306a36Sopenharmony_ci				 * switches.
35862306a36Sopenharmony_ci				 *
35962306a36Sopenharmony_ci				 * CVBS is the default selection, link it to
36062306a36Sopenharmony_ci				 * VIN4 here.
36162306a36Sopenharmony_ci				 */
36262306a36Sopenharmony_ci				adv7180_out: endpoint {
36362306a36Sopenharmony_ci					remote-endpoint = <&vin4_in>;
36462306a36Sopenharmony_ci				};
36562306a36Sopenharmony_ci			};
36662306a36Sopenharmony_ci		};
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ci	};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci	hdmi-encoder@39 {
37162306a36Sopenharmony_ci		compatible = "adi,adv7511w";
37262306a36Sopenharmony_ci		reg = <0x39>, <0x3f>, <0x3c>, <0x38>;
37362306a36Sopenharmony_ci		reg-names = "main", "edid", "cec", "packet";
37462306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
37562306a36Sopenharmony_ci		interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci		adi,input-depth = <8>;
37862306a36Sopenharmony_ci		adi,input-colorspace = "rgb";
37962306a36Sopenharmony_ci		adi,input-clock = "1x";
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci		ports {
38262306a36Sopenharmony_ci			#address-cells = <1>;
38362306a36Sopenharmony_ci			#size-cells = <0>;
38462306a36Sopenharmony_ci
38562306a36Sopenharmony_ci			port@0 {
38662306a36Sopenharmony_ci				reg = <0>;
38762306a36Sopenharmony_ci				adv7511_in: endpoint {
38862306a36Sopenharmony_ci					remote-endpoint = <&thc63lvd1024_out>;
38962306a36Sopenharmony_ci				};
39062306a36Sopenharmony_ci			};
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_ci			port@1 {
39362306a36Sopenharmony_ci				reg = <1>;
39462306a36Sopenharmony_ci				adv7511_out: endpoint {
39562306a36Sopenharmony_ci					remote-endpoint = <&hdmi_con_out>;
39662306a36Sopenharmony_ci				};
39762306a36Sopenharmony_ci			};
39862306a36Sopenharmony_ci		};
39962306a36Sopenharmony_ci	};
40062306a36Sopenharmony_ci
40162306a36Sopenharmony_ci	hdmi-decoder@4c {
40262306a36Sopenharmony_ci		compatible = "adi,adv7612";
40362306a36Sopenharmony_ci		reg = <0x4c>;
40462306a36Sopenharmony_ci		default-input = <0>;
40562306a36Sopenharmony_ci
40662306a36Sopenharmony_ci		ports {
40762306a36Sopenharmony_ci			#address-cells = <1>;
40862306a36Sopenharmony_ci			#size-cells = <0>;
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ci			port@0 {
41162306a36Sopenharmony_ci				reg = <0>;
41262306a36Sopenharmony_ci
41362306a36Sopenharmony_ci				adv7612_in: endpoint {
41462306a36Sopenharmony_ci					remote-endpoint = <&hdmi_con_in>;
41562306a36Sopenharmony_ci				};
41662306a36Sopenharmony_ci			};
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ci			port@2 {
41962306a36Sopenharmony_ci				reg = <2>;
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ci				/*
42262306a36Sopenharmony_ci				 * The VIN4 video input path is shared between
42362306a36Sopenharmony_ci				 * CVBS and HDMI inputs through SW[49-53]
42462306a36Sopenharmony_ci				 * switches.
42562306a36Sopenharmony_ci				 *
42662306a36Sopenharmony_ci				 * CVBS is the default selection, leave HDMI
42762306a36Sopenharmony_ci				 * not connected here.
42862306a36Sopenharmony_ci				 */
42962306a36Sopenharmony_ci				adv7612_out: endpoint {
43062306a36Sopenharmony_ci					pclk-sample = <0>;
43162306a36Sopenharmony_ci					hsync-active = <0>;
43262306a36Sopenharmony_ci					vsync-active = <0>;
43362306a36Sopenharmony_ci				};
43462306a36Sopenharmony_ci			};
43562306a36Sopenharmony_ci		};
43662306a36Sopenharmony_ci	};
43762306a36Sopenharmony_ci
43862306a36Sopenharmony_ci	cs2000: clk-multiplier@4f {
43962306a36Sopenharmony_ci		#clock-cells = <0>;
44062306a36Sopenharmony_ci		compatible = "cirrus,cs2000-cp";
44162306a36Sopenharmony_ci		reg = <0x4f>;
44262306a36Sopenharmony_ci		clocks = <&audio_clkout>, <&x19_clk>; /* audio_clkout_1, x19 */
44362306a36Sopenharmony_ci		clock-names = "clk_in", "ref_clk";
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ci		assigned-clocks = <&cs2000>;
44662306a36Sopenharmony_ci		assigned-clock-rates = <24576000>; /* 1/1 divide */
44762306a36Sopenharmony_ci	};
44862306a36Sopenharmony_ci
44962306a36Sopenharmony_ci	eeprom@50 {
45062306a36Sopenharmony_ci		compatible = "rohm,br24t01", "atmel,24c01";
45162306a36Sopenharmony_ci		reg = <0x50>;
45262306a36Sopenharmony_ci		pagesize = <8>;
45362306a36Sopenharmony_ci	};
45462306a36Sopenharmony_ci};
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci&i2c1 {
45762306a36Sopenharmony_ci	pinctrl-0 = <&i2c1_pins>;
45862306a36Sopenharmony_ci	pinctrl-names = "default";
45962306a36Sopenharmony_ci	status = "okay";
46062306a36Sopenharmony_ci};
46162306a36Sopenharmony_ci
46262306a36Sopenharmony_ci&lvds0 {
46362306a36Sopenharmony_ci	status = "okay";
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ci	clocks = <&cpg CPG_MOD 727>,
46662306a36Sopenharmony_ci		 <&x12_clk>,
46762306a36Sopenharmony_ci		 <&extal_clk>;
46862306a36Sopenharmony_ci	clock-names = "fck", "dclkin.0", "extal";
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_ci	ports {
47162306a36Sopenharmony_ci		port@1 {
47262306a36Sopenharmony_ci			lvds0_out: endpoint {
47362306a36Sopenharmony_ci				remote-endpoint = <&thc63lvd1024_in>;
47462306a36Sopenharmony_ci			};
47562306a36Sopenharmony_ci		};
47662306a36Sopenharmony_ci	};
47762306a36Sopenharmony_ci};
47862306a36Sopenharmony_ci
47962306a36Sopenharmony_ci&lvds1 {
48062306a36Sopenharmony_ci	/*
48162306a36Sopenharmony_ci	 * Even though the LVDS1 output is not connected, the encoder must be
48262306a36Sopenharmony_ci	 * enabled to supply a pixel clock to the DU for the DPAD output when
48362306a36Sopenharmony_ci	 * LVDS0 is in use.
48462306a36Sopenharmony_ci	 */
48562306a36Sopenharmony_ci	status = "okay";
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ci	clocks = <&cpg CPG_MOD 727>,
48862306a36Sopenharmony_ci		 <&x12_clk>,
48962306a36Sopenharmony_ci		 <&extal_clk>;
49062306a36Sopenharmony_ci	clock-names = "fck", "dclkin.0", "extal";
49162306a36Sopenharmony_ci};
49262306a36Sopenharmony_ci
49362306a36Sopenharmony_ci&ohci0 {
49462306a36Sopenharmony_ci	dr_mode = "host";
49562306a36Sopenharmony_ci	status = "okay";
49662306a36Sopenharmony_ci};
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci&pfc {
49962306a36Sopenharmony_ci	avb0_pins: avb {
50062306a36Sopenharmony_ci		groups = "avb0_link", "avb0_mdio", "avb0_mii";
50162306a36Sopenharmony_ci		function = "avb0";
50262306a36Sopenharmony_ci	};
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci	can0_pins: can0 {
50562306a36Sopenharmony_ci		groups = "can0_data_a";
50662306a36Sopenharmony_ci		function = "can0";
50762306a36Sopenharmony_ci	};
50862306a36Sopenharmony_ci
50962306a36Sopenharmony_ci	can1_pins: can1 {
51062306a36Sopenharmony_ci		groups = "can1_data_a";
51162306a36Sopenharmony_ci		function = "can1";
51262306a36Sopenharmony_ci	};
51362306a36Sopenharmony_ci
51462306a36Sopenharmony_ci	du_pins: du {
51562306a36Sopenharmony_ci		groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
51662306a36Sopenharmony_ci		function = "du";
51762306a36Sopenharmony_ci	};
51862306a36Sopenharmony_ci
51962306a36Sopenharmony_ci	i2c0_pins: i2c0 {
52062306a36Sopenharmony_ci		groups = "i2c0";
52162306a36Sopenharmony_ci		function = "i2c0";
52262306a36Sopenharmony_ci	};
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ci	i2c1_pins: i2c1 {
52562306a36Sopenharmony_ci		groups = "i2c1";
52662306a36Sopenharmony_ci		function = "i2c1";
52762306a36Sopenharmony_ci	};
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	keys_pins: keys {
53062306a36Sopenharmony_ci		pins = "GP_4_12", "GP_4_13", "GP_4_14", "GP_4_15";
53162306a36Sopenharmony_ci		bias-pull-up;
53262306a36Sopenharmony_ci	};
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci	pwm0_pins: pwm0 {
53562306a36Sopenharmony_ci		groups = "pwm0_c";
53662306a36Sopenharmony_ci		function = "pwm0";
53762306a36Sopenharmony_ci	};
53862306a36Sopenharmony_ci
53962306a36Sopenharmony_ci	pwm1_pins: pwm1 {
54062306a36Sopenharmony_ci		groups = "pwm1_c";
54162306a36Sopenharmony_ci		function = "pwm1";
54262306a36Sopenharmony_ci	};
54362306a36Sopenharmony_ci
54462306a36Sopenharmony_ci	rpc_pins: rpc {
54562306a36Sopenharmony_ci		groups = "rpc_clk2", "rpc_ctrl", "rpc_data", "rpc_reset",
54662306a36Sopenharmony_ci			 "rpc_int";
54762306a36Sopenharmony_ci		function = "rpc";
54862306a36Sopenharmony_ci	};
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci	scif2_pins: scif2 {
55162306a36Sopenharmony_ci		groups = "scif2_data";
55262306a36Sopenharmony_ci		function = "scif2";
55362306a36Sopenharmony_ci	};
55462306a36Sopenharmony_ci
55562306a36Sopenharmony_ci	sdhi2_pins: sd2 {
55662306a36Sopenharmony_ci		groups = "mmc_data8", "mmc_ctrl";
55762306a36Sopenharmony_ci		function = "mmc";
55862306a36Sopenharmony_ci		power-source = <1800>;
55962306a36Sopenharmony_ci	};
56062306a36Sopenharmony_ci
56162306a36Sopenharmony_ci	sdhi2_pins_uhs: sd2_uhs {
56262306a36Sopenharmony_ci		groups = "mmc_data8", "mmc_ctrl";
56362306a36Sopenharmony_ci		function = "mmc";
56462306a36Sopenharmony_ci		power-source = <1800>;
56562306a36Sopenharmony_ci	};
56662306a36Sopenharmony_ci
56762306a36Sopenharmony_ci	sound_pins: sound {
56862306a36Sopenharmony_ci		groups = "ssi34_ctrl", "ssi3_data", "ssi4_data_a";
56962306a36Sopenharmony_ci		function = "ssi";
57062306a36Sopenharmony_ci	};
57162306a36Sopenharmony_ci
57262306a36Sopenharmony_ci	sound_clk_pins: sound-clk {
57362306a36Sopenharmony_ci		groups = "audio_clk_a", "audio_clk_b",
57462306a36Sopenharmony_ci			 "audio_clkout", "audio_clkout1";
57562306a36Sopenharmony_ci		function = "audio_clk";
57662306a36Sopenharmony_ci	};
57762306a36Sopenharmony_ci
57862306a36Sopenharmony_ci	usb0_pins: usb0 {
57962306a36Sopenharmony_ci		groups = "usb0";
58062306a36Sopenharmony_ci		function = "usb0";
58162306a36Sopenharmony_ci	};
58262306a36Sopenharmony_ci
58362306a36Sopenharmony_ci	vin4_pins_cvbs: vin4 {
58462306a36Sopenharmony_ci		groups = "vin4_data8", "vin4_sync", "vin4_clk";
58562306a36Sopenharmony_ci		function = "vin4";
58662306a36Sopenharmony_ci	};
58762306a36Sopenharmony_ci};
58862306a36Sopenharmony_ci
58962306a36Sopenharmony_ci&pwm0 {
59062306a36Sopenharmony_ci	pinctrl-0 = <&pwm0_pins>;
59162306a36Sopenharmony_ci	pinctrl-names = "default";
59262306a36Sopenharmony_ci
59362306a36Sopenharmony_ci	status = "okay";
59462306a36Sopenharmony_ci};
59562306a36Sopenharmony_ci
59662306a36Sopenharmony_ci&pwm1 {
59762306a36Sopenharmony_ci	pinctrl-0 = <&pwm1_pins>;
59862306a36Sopenharmony_ci	pinctrl-names = "default";
59962306a36Sopenharmony_ci
60062306a36Sopenharmony_ci	status = "okay";
60162306a36Sopenharmony_ci};
60262306a36Sopenharmony_ci
60362306a36Sopenharmony_ci&rcar_sound {
60462306a36Sopenharmony_ci	pinctrl-0 = <&sound_pins>, <&sound_clk_pins>;
60562306a36Sopenharmony_ci	pinctrl-names = "default";
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_ci	/* Single DAI */
60862306a36Sopenharmony_ci	#sound-dai-cells = <0>;
60962306a36Sopenharmony_ci
61062306a36Sopenharmony_ci	/* audio_clkout0/1 */
61162306a36Sopenharmony_ci	#clock-cells = <1>;
61262306a36Sopenharmony_ci	clock-frequency = <12288000 11289600>;
61362306a36Sopenharmony_ci
61462306a36Sopenharmony_ci	status = "okay";
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_ci	clocks = <&cpg CPG_MOD 1005>,
61762306a36Sopenharmony_ci		 <&cpg CPG_MOD 1011>, <&cpg CPG_MOD 1012>,
61862306a36Sopenharmony_ci		 <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>,
61962306a36Sopenharmony_ci		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
62062306a36Sopenharmony_ci		 <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>,
62162306a36Sopenharmony_ci		 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
62262306a36Sopenharmony_ci		 <&cs2000>, <&audio_clk_b>,
62362306a36Sopenharmony_ci		 <&cpg CPG_CORE R8A77995_CLK_ZA2>;
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ci	ports {
62662306a36Sopenharmony_ci		rsnd_port0: port {
62762306a36Sopenharmony_ci			rsnd_for_ak4613: endpoint {
62862306a36Sopenharmony_ci				remote-endpoint = <&ak4613_endpoint>;
62962306a36Sopenharmony_ci				dai-format = "left_j";
63062306a36Sopenharmony_ci				bitclock-master = <&rsnd_for_ak4613>;
63162306a36Sopenharmony_ci				frame-master = <&rsnd_for_ak4613>;
63262306a36Sopenharmony_ci				playback = <&ssi3>, <&src5>, <&dvc0>;
63362306a36Sopenharmony_ci				capture = <&ssi4>, <&src6>, <&dvc1>;
63462306a36Sopenharmony_ci			};
63562306a36Sopenharmony_ci		};
63662306a36Sopenharmony_ci	};
63762306a36Sopenharmony_ci};
63862306a36Sopenharmony_ci
63962306a36Sopenharmony_ci&rpc {
64062306a36Sopenharmony_ci	pinctrl-0 = <&rpc_pins>;
64162306a36Sopenharmony_ci	pinctrl-names = "default";
64262306a36Sopenharmony_ci
64362306a36Sopenharmony_ci	/* Left disabled.  To be enabled by firmware when unlocked. */
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_ci	flash@0 {
64662306a36Sopenharmony_ci		compatible = "cypress,hyperflash", "cfi-flash";
64762306a36Sopenharmony_ci		reg = <0>;
64862306a36Sopenharmony_ci
64962306a36Sopenharmony_ci		partitions {
65062306a36Sopenharmony_ci			compatible = "fixed-partitions";
65162306a36Sopenharmony_ci			#address-cells = <1>;
65262306a36Sopenharmony_ci			#size-cells = <1>;
65362306a36Sopenharmony_ci
65462306a36Sopenharmony_ci			bootparam@0 {
65562306a36Sopenharmony_ci				reg = <0x00000000 0x040000>;
65662306a36Sopenharmony_ci				read-only;
65762306a36Sopenharmony_ci			};
65862306a36Sopenharmony_ci			bl2@40000 {
65962306a36Sopenharmony_ci				reg = <0x00040000 0x140000>;
66062306a36Sopenharmony_ci				read-only;
66162306a36Sopenharmony_ci			};
66262306a36Sopenharmony_ci			cert_header_sa6@180000 {
66362306a36Sopenharmony_ci				reg = <0x00180000 0x040000>;
66462306a36Sopenharmony_ci				read-only;
66562306a36Sopenharmony_ci			};
66662306a36Sopenharmony_ci			bl31@1c0000 {
66762306a36Sopenharmony_ci				reg = <0x001c0000 0x040000>;
66862306a36Sopenharmony_ci				read-only;
66962306a36Sopenharmony_ci			};
67062306a36Sopenharmony_ci			tee@200000 {
67162306a36Sopenharmony_ci				reg = <0x00200000 0x440000>;
67262306a36Sopenharmony_ci				read-only;
67362306a36Sopenharmony_ci			};
67462306a36Sopenharmony_ci			uboot@640000 {
67562306a36Sopenharmony_ci				reg = <0x00640000 0x100000>;
67662306a36Sopenharmony_ci				read-only;
67762306a36Sopenharmony_ci			};
67862306a36Sopenharmony_ci			dtb@740000 {
67962306a36Sopenharmony_ci				reg = <0x00740000 0x080000>;
68062306a36Sopenharmony_ci			};
68162306a36Sopenharmony_ci			kernel@7c0000 {
68262306a36Sopenharmony_ci				reg = <0x007c0000 0x1400000>;
68362306a36Sopenharmony_ci			};
68462306a36Sopenharmony_ci			user@1bc0000 {
68562306a36Sopenharmony_ci				reg = <0x01bc0000 0x2440000>;
68662306a36Sopenharmony_ci			};
68762306a36Sopenharmony_ci		};
68862306a36Sopenharmony_ci	};
68962306a36Sopenharmony_ci};
69062306a36Sopenharmony_ci
69162306a36Sopenharmony_ci&rwdt {
69262306a36Sopenharmony_ci	timeout-sec = <60>;
69362306a36Sopenharmony_ci	status = "okay";
69462306a36Sopenharmony_ci};
69562306a36Sopenharmony_ci
69662306a36Sopenharmony_ci&scif2 {
69762306a36Sopenharmony_ci	pinctrl-0 = <&scif2_pins>;
69862306a36Sopenharmony_ci	pinctrl-names = "default";
69962306a36Sopenharmony_ci
70062306a36Sopenharmony_ci	status = "okay";
70162306a36Sopenharmony_ci};
70262306a36Sopenharmony_ci
70362306a36Sopenharmony_ci&sdhi2 {
70462306a36Sopenharmony_ci	/* used for on-board eMMC */
70562306a36Sopenharmony_ci	pinctrl-0 = <&sdhi2_pins>;
70662306a36Sopenharmony_ci	pinctrl-1 = <&sdhi2_pins_uhs>;
70762306a36Sopenharmony_ci	pinctrl-names = "default", "state_uhs";
70862306a36Sopenharmony_ci
70962306a36Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
71062306a36Sopenharmony_ci	vqmmc-supply = <&reg_1p8v>;
71162306a36Sopenharmony_ci	bus-width = <8>;
71262306a36Sopenharmony_ci	mmc-hs200-1_8v;
71362306a36Sopenharmony_ci	no-sd;
71462306a36Sopenharmony_ci	no-sdio;
71562306a36Sopenharmony_ci	non-removable;
71662306a36Sopenharmony_ci	status = "okay";
71762306a36Sopenharmony_ci};
71862306a36Sopenharmony_ci
71962306a36Sopenharmony_ci&ssi4 {
72062306a36Sopenharmony_ci	shared-pin;
72162306a36Sopenharmony_ci};
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_ci&usb2_phy0 {
72462306a36Sopenharmony_ci	pinctrl-0 = <&usb0_pins>;
72562306a36Sopenharmony_ci	pinctrl-names = "default";
72662306a36Sopenharmony_ci
72762306a36Sopenharmony_ci	renesas,no-otg-pins;
72862306a36Sopenharmony_ci	status = "okay";
72962306a36Sopenharmony_ci};
73062306a36Sopenharmony_ci
73162306a36Sopenharmony_ci&vin4 {
73262306a36Sopenharmony_ci	pinctrl-0 = <&vin4_pins_cvbs>;
73362306a36Sopenharmony_ci	pinctrl-names = "default";
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_ci	status = "okay";
73662306a36Sopenharmony_ci
73762306a36Sopenharmony_ci	ports {
73862306a36Sopenharmony_ci		port {
73962306a36Sopenharmony_ci			vin4_in: endpoint {
74062306a36Sopenharmony_ci				remote-endpoint = <&adv7180_out>;
74162306a36Sopenharmony_ci			};
74262306a36Sopenharmony_ci		};
74362306a36Sopenharmony_ci	};
74462306a36Sopenharmony_ci};
745