1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
4 */
5
6#include <dt-bindings/display/media-bus-format.h>
7#include "rk3568-evb6-ddr3-v10.dtsi"
8#include "rk3568-android.dtsi"
9
10/ {
11	vcc33_lcd: vcc33-lcd {
12		compatible = "regulator-fixed";
13		regulator-name = "vcc33_lcd";
14		regulator-boot-on;
15		regulator-always-on;
16		gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
17		enable-active-high;
18	};
19
20	panel {
21		compatible = "simple-panel";
22		power-supply = <&vcc33_lcd>;
23		backlight = <&backlight>;
24		enable-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
25		prepare-delay-ms = <20>;
26		enable-delay-ms = <20>;
27		disable-delay-ms = <20>;
28		unprepare-delay-ms = <20>;
29		bus-format = <MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA>;
30
31		display-timings {
32			native-mode = <&timing0>;
33
34			timing0: timing0 {
35				clock-frequency = <66600000>;
36				hactive = <800>;
37				vactive = <1280>;
38				hback-porch = <30>;
39				hfront-porch = <30>;
40				vback-porch = <3>;
41				vfront-porch = <3>;
42				hsync-len = <4>;
43				vsync-len = <2>;
44				hsync-active = <0>;
45				vsync-active = <0>;
46				de-active = <0>;
47				pixelclk-active = <0>;
48			};
49		};
50
51		port {
52			panel_in_lvds: endpoint {
53				remote-endpoint = <&lvds_out_panel>;
54			};
55		};
56	};
57};
58
59&dsi0 {
60	status = "disabled";
61};
62
63&video_phy0 {
64	status = "disabled";
65};
66
67&i2c3 {
68	clock-frequency = <400000>;
69	status = "okay";
70
71	rk628: rk628@50 {
72		reg = <0x50>;
73		interrupt-parent = <&gpio0>;
74		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
75		enable-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
76		reset-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
77		status = "okay";
78	};
79};
80
81#include <arm/rk628.dtsi>
82
83&backlight {
84	pwms = <&pwm14 0 25000 0>;
85};
86
87&pwm14 {
88	status = "okay";
89};
90
91&rk628_lvds {
92	status = "okay";
93
94	ports {
95		#address-cells = <1>;
96		#size-cells = <0>;
97
98		port@0 {
99			reg = <0>;
100
101			lvds_in_post_process: endpoint {
102				remote-endpoint = <&post_process_out_lvds>;
103			};
104		};
105
106		port@1 {
107			reg = <1>;
108
109			lvds_out_panel: endpoint {
110				remote-endpoint = <&panel_in_lvds>;
111			};
112		};
113	};
114};
115&rk628_combtxphy {
116	status = "okay";
117};
118
119&rk628_post_process {
120	pinctrl-names = "default";
121	pinctrl-0 = <&rk628_vop_pins>;
122	status = "okay";
123
124	mode-sync-pol = <0>;
125	ports {
126		#address-cells = <1>;
127		#size-cells = <0>;
128
129		port@0 {
130			reg = <0>;
131
132			post_process_in_rgb: endpoint {
133				remote-endpoint = <&rgb_out_post_process>;
134			};
135		};
136
137		port@1 {
138			reg = <1>;
139
140			post_process_out_lvds: endpoint {
141				remote-endpoint = <&lvds_in_post_process>;
142			};
143		};
144	};
145};
146
147&rgb {
148	status = "okay";
149
150	ports {
151		port@1 {
152			reg = <1>;
153
154			rgb_out_post_process: endpoint {
155				remote-endpoint = <&post_process_in_rgb>;
156			};
157		};
158	};
159};
160
161&rgb_in_vp2 {
162	status = "okay";
163};
164
165&vcc3v3_lcd1_n {
166	status = "disabled";
167	gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
168	enable-active-high;
169};
170
171&gmac1 {
172	status = "disabled";
173};
174