1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the iWave-RZG1E SODIMM carrier board + HDMI daughter
4 * board
5 *
6 * Copyright (C) 2017 Renesas Electronics Corp.
7 */
8
9#include "r8a7745-iwg22d-sodimm.dts"
10
11/ {
12	model = "iWave RainboW-G22D-SODIMM RZ/G1E based board with HDMI add-on";
13	compatible = "iwave,g22d", "iwave,g22m", "renesas,r8a7745";
14
15	aliases {
16		serial0 = &scif1;
17		serial4 = &scif5;
18		serial6 = &hscif2;
19	};
20
21	cec_clock: cec-clock {
22		compatible = "fixed-clock";
23		#clock-cells = <0>;
24		clock-frequency = <12000000>;
25	};
26
27	hdmi-out {
28		compatible = "hdmi-connector";
29		type = "a";
30
31		port {
32			hdmi_con: endpoint {
33				remote-endpoint = <&adv7511_out>;
34			};
35		};
36	};
37};
38
39&du {
40	pinctrl-0 = <&du0_pins>;
41	pinctrl-names = "default";
42
43	status = "okay";
44
45	ports {
46		port@0 {
47			endpoint {
48				remote-endpoint = <&adv7511_in>;
49			};
50		};
51	};
52};
53
54&can1 {
55	pinctrl-0 = <&can1_pins>;
56	pinctrl-names = "default";
57
58	status = "okay";
59};
60
61&hscif2 {
62	pinctrl-0 = <&hscif2_pins>;
63	pinctrl-names = "default";
64
65	status = "okay";
66};
67
68&i2c1 {
69	pinctrl-0 = <&i2c1_pins>;
70	pinctrl-names = "default";
71
72	status = "okay";
73	clock-frequency = <400000>;
74
75	hdmi@39 {
76		compatible = "adi,adv7511w";
77		reg = <0x39>;
78		interrupt-parent = <&gpio1>;
79		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
80		clocks = <&cec_clock>;
81		clock-names = "cec";
82		pd-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
83
84		adi,input-depth = <8>;
85		adi,input-colorspace = "rgb";
86		adi,input-clock = "1x";
87		adi,input-style = <1>;
88		adi,input-justification = "evenly";
89
90		ports {
91			#address-cells = <1>;
92			#size-cells = <0>;
93
94			port@0 {
95				reg = <0>;
96				adv7511_in: endpoint {
97					remote-endpoint = <&du_out_rgb0>;
98				};
99			};
100
101			port@1 {
102				reg = <1>;
103				adv7511_out: endpoint {
104					remote-endpoint = <&hdmi_con>;
105				};
106			};
107		};
108	};
109};
110
111&pfc {
112	can1_pins: can1 {
113		groups = "can1_data_b";
114		function = "can1";
115	};
116
117	du0_pins: du0 {
118		groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
119		function = "du0";
120	};
121
122	hscif2_pins: hscif2 {
123		groups = "hscif2_data";
124		function = "hscif2";
125	};
126
127	i2c1_pins: i2c1 {
128		groups = "i2c1_d";
129		function = "i2c1";
130	};
131
132	scif1_pins: scif1 {
133		groups = "scif1_data";
134		function = "scif1";
135	};
136
137	scif5_pins: scif5 {
138		groups = "scif5_data_d";
139		function = "scif5";
140	};
141};
142
143&scif1 {
144	pinctrl-0 = <&scif1_pins>;
145	pinctrl-names = "default";
146
147	status = "okay";
148};
149
150&scif5 {
151	pinctrl-0 = <&scif5_pins>;
152	pinctrl-names = "default";
153
154	status = "okay";
155};
156