1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Device Tree Source for the Silicon Linux RZ/G2E evaluation kit (EK874),
4c66ec88fSEmmanuel Vadot * connected to an Advantech IDK-2121WR 21.5" LVDS panel
5c66ec88fSEmmanuel Vadot *
6c66ec88fSEmmanuel Vadot * Copyright (C) 2019 Renesas Electronics Corp.
7c66ec88fSEmmanuel Vadot */
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadot#include "r8a774c0-ek874.dts"
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadot/ {
12c66ec88fSEmmanuel Vadot	backlight: backlight {
13c66ec88fSEmmanuel Vadot		compatible = "pwm-backlight";
14c66ec88fSEmmanuel Vadot		pwms = <&pwm5 0 50000>;
15c66ec88fSEmmanuel Vadot
16c66ec88fSEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
17c66ec88fSEmmanuel Vadot		default-brightness-level = <6>;
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot		power-supply = <&reg_12p0v>;
20c66ec88fSEmmanuel Vadot		enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
21c66ec88fSEmmanuel Vadot	};
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot	panel-lvds {
24c66ec88fSEmmanuel Vadot		compatible = "advantech,idk-2121wr", "panel-lvds";
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot		width-mm = <476>;
27c66ec88fSEmmanuel Vadot		height-mm = <268>;
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot		data-mapping = "vesa-24";
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot		panel-timing {
32c66ec88fSEmmanuel Vadot			clock-frequency = <148500000>;
33c66ec88fSEmmanuel Vadot			hactive = <1920>;
34c66ec88fSEmmanuel Vadot			vactive = <1080>;
35c66ec88fSEmmanuel Vadot			hsync-len = <44>;
36c66ec88fSEmmanuel Vadot			hfront-porch = <88>;
37c66ec88fSEmmanuel Vadot			hback-porch = <148>;
38c66ec88fSEmmanuel Vadot			vfront-porch = <4>;
39c66ec88fSEmmanuel Vadot			vback-porch = <36>;
40c66ec88fSEmmanuel Vadot			vsync-len = <5>;
41c66ec88fSEmmanuel Vadot		};
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot		ports {
44c66ec88fSEmmanuel Vadot			#address-cells = <1>;
45c66ec88fSEmmanuel Vadot			#size-cells = <0>;
46c66ec88fSEmmanuel Vadot
47c66ec88fSEmmanuel Vadot			port@0 {
48c66ec88fSEmmanuel Vadot				reg = <0>;
49c66ec88fSEmmanuel Vadot				dual-lvds-odd-pixels;
50c66ec88fSEmmanuel Vadot				panel_in0: endpoint {
51c66ec88fSEmmanuel Vadot					remote-endpoint = <&lvds0_out>;
52c66ec88fSEmmanuel Vadot				};
53c66ec88fSEmmanuel Vadot			};
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot			port@1 {
56c66ec88fSEmmanuel Vadot				reg = <1>;
57c66ec88fSEmmanuel Vadot				dual-lvds-even-pixels;
58c66ec88fSEmmanuel Vadot				panel_in1: endpoint {
59c66ec88fSEmmanuel Vadot					remote-endpoint = <&lvds1_out>;
60c66ec88fSEmmanuel Vadot				};
61c66ec88fSEmmanuel Vadot			};
62c66ec88fSEmmanuel Vadot		};
63c66ec88fSEmmanuel Vadot	};
64c66ec88fSEmmanuel Vadot};
65c66ec88fSEmmanuel Vadot
66c66ec88fSEmmanuel Vadot&gpio0 {
67c66ec88fSEmmanuel Vadot	/*
68c66ec88fSEmmanuel Vadot	 * When GP0_17 is low LVDS[01] are connected to the LVDS connector
69c66ec88fSEmmanuel Vadot	 * When GP0_17 is high LVDS[01] are connected to the LT8918L
70c66ec88fSEmmanuel Vadot	 */
71*c9ccf3a3SEmmanuel Vadot	lvds-connector-en-hog {
72c66ec88fSEmmanuel Vadot		gpio-hog;
73c66ec88fSEmmanuel Vadot		gpios = <17 GPIO_ACTIVE_HIGH>;
74c66ec88fSEmmanuel Vadot		output-low;
75c66ec88fSEmmanuel Vadot		line-name = "lvds-connector-en-gpio";
76c66ec88fSEmmanuel Vadot	};
77c66ec88fSEmmanuel Vadot};
78c66ec88fSEmmanuel Vadot
79c66ec88fSEmmanuel Vadot&lvds0 {
80c66ec88fSEmmanuel Vadot	ports {
81c66ec88fSEmmanuel Vadot		port@1 {
82c66ec88fSEmmanuel Vadot			lvds0_out: endpoint {
83c66ec88fSEmmanuel Vadot				remote-endpoint = <&panel_in0>;
84c66ec88fSEmmanuel Vadot			};
85c66ec88fSEmmanuel Vadot		};
86c66ec88fSEmmanuel Vadot	};
87c66ec88fSEmmanuel Vadot};
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot&lvds1 {
90c66ec88fSEmmanuel Vadot	status = "okay";
91c66ec88fSEmmanuel Vadot
92c66ec88fSEmmanuel Vadot	clocks = <&cpg CPG_MOD 727>, <&x13_clk>, <&extal_clk>;
93c66ec88fSEmmanuel Vadot	clock-names = "fck", "dclkin.0", "extal";
94c66ec88fSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot	ports {
96c66ec88fSEmmanuel Vadot		port@1 {
97c66ec88fSEmmanuel Vadot			lvds1_out: endpoint {
98c66ec88fSEmmanuel Vadot				remote-endpoint = <&panel_in1>;
99c66ec88fSEmmanuel Vadot			};
100c66ec88fSEmmanuel Vadot		};
101c66ec88fSEmmanuel Vadot	};
102c66ec88fSEmmanuel Vadot};
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot&pfc {
105c66ec88fSEmmanuel Vadot	pwm5_pins: pwm5 {
106c66ec88fSEmmanuel Vadot		groups = "pwm5_a";
107c66ec88fSEmmanuel Vadot		function = "pwm5";
108c66ec88fSEmmanuel Vadot	};
109c66ec88fSEmmanuel Vadot};
110c66ec88fSEmmanuel Vadot
111c66ec88fSEmmanuel Vadot&pwm5 {
112c66ec88fSEmmanuel Vadot	pinctrl-0 = <&pwm5_pins>;
113c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
114c66ec88fSEmmanuel Vadot
115c66ec88fSEmmanuel Vadot	status = "okay";
116c66ec88fSEmmanuel Vadot};
117