162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for the Silicon Linux RZ/G2E evaluation kit (EK874),
462306a36Sopenharmony_ci * connected to an Advantech IDK-2121WR 21.5" LVDS panel
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Copyright (C) 2019 Renesas Electronics Corp.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include "r8a774c0-ek874.dts"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	backlight: backlight {
1362306a36Sopenharmony_ci		compatible = "pwm-backlight";
1462306a36Sopenharmony_ci		pwms = <&pwm5 0 50000>;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci		brightness-levels = <0 4 8 16 32 64 128 255>;
1762306a36Sopenharmony_ci		default-brightness-level = <6>;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci		power-supply = <&reg_12p0v>;
2062306a36Sopenharmony_ci		enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	panel-lvds {
2462306a36Sopenharmony_ci		compatible = "advantech,idk-2121wr", "panel-lvds";
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci		width-mm = <476>;
2762306a36Sopenharmony_ci		height-mm = <268>;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		data-mapping = "vesa-24";
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		panel-timing {
3262306a36Sopenharmony_ci			clock-frequency = <148500000>;
3362306a36Sopenharmony_ci			hactive = <1920>;
3462306a36Sopenharmony_ci			vactive = <1080>;
3562306a36Sopenharmony_ci			hsync-len = <44>;
3662306a36Sopenharmony_ci			hfront-porch = <88>;
3762306a36Sopenharmony_ci			hback-porch = <148>;
3862306a36Sopenharmony_ci			vfront-porch = <4>;
3962306a36Sopenharmony_ci			vback-porch = <36>;
4062306a36Sopenharmony_ci			vsync-len = <5>;
4162306a36Sopenharmony_ci		};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci		ports {
4462306a36Sopenharmony_ci			#address-cells = <1>;
4562306a36Sopenharmony_ci			#size-cells = <0>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci			port@0 {
4862306a36Sopenharmony_ci				reg = <0>;
4962306a36Sopenharmony_ci				dual-lvds-odd-pixels;
5062306a36Sopenharmony_ci				panel_in0: endpoint {
5162306a36Sopenharmony_ci					remote-endpoint = <&lvds0_out>;
5262306a36Sopenharmony_ci				};
5362306a36Sopenharmony_ci			};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci			port@1 {
5662306a36Sopenharmony_ci				reg = <1>;
5762306a36Sopenharmony_ci				dual-lvds-even-pixels;
5862306a36Sopenharmony_ci				panel_in1: endpoint {
5962306a36Sopenharmony_ci					remote-endpoint = <&lvds1_out>;
6062306a36Sopenharmony_ci				};
6162306a36Sopenharmony_ci			};
6262306a36Sopenharmony_ci		};
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci&gpio0 {
6762306a36Sopenharmony_ci	/*
6862306a36Sopenharmony_ci	 * When GP0_17 is low LVDS[01] are connected to the LVDS connector
6962306a36Sopenharmony_ci	 * When GP0_17 is high LVDS[01] are connected to the LT8918L
7062306a36Sopenharmony_ci	 */
7162306a36Sopenharmony_ci	lvds-connector-en-hog {
7262306a36Sopenharmony_ci		gpio-hog;
7362306a36Sopenharmony_ci		gpios = <17 GPIO_ACTIVE_HIGH>;
7462306a36Sopenharmony_ci		output-low;
7562306a36Sopenharmony_ci		line-name = "lvds-connector-en-gpio";
7662306a36Sopenharmony_ci	};
7762306a36Sopenharmony_ci};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci&lvds0 {
8062306a36Sopenharmony_ci	ports {
8162306a36Sopenharmony_ci		port@1 {
8262306a36Sopenharmony_ci			lvds0_out: endpoint {
8362306a36Sopenharmony_ci				remote-endpoint = <&panel_in0>;
8462306a36Sopenharmony_ci			};
8562306a36Sopenharmony_ci		};
8662306a36Sopenharmony_ci	};
8762306a36Sopenharmony_ci};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci&lvds1 {
9062306a36Sopenharmony_ci	status = "okay";
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	clocks = <&cpg CPG_MOD 727>, <&x13_clk>, <&extal_clk>;
9362306a36Sopenharmony_ci	clock-names = "fck", "dclkin.0", "extal";
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci	ports {
9662306a36Sopenharmony_ci		port@1 {
9762306a36Sopenharmony_ci			lvds1_out: endpoint {
9862306a36Sopenharmony_ci				remote-endpoint = <&panel_in1>;
9962306a36Sopenharmony_ci			};
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci	};
10262306a36Sopenharmony_ci};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci&pfc {
10562306a36Sopenharmony_ci	pwm5_pins: pwm5 {
10662306a36Sopenharmony_ci		groups = "pwm5_a";
10762306a36Sopenharmony_ci		function = "pwm5";
10862306a36Sopenharmony_ci	};
10962306a36Sopenharmony_ci};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci&pwm5 {
11262306a36Sopenharmony_ci	pinctrl-0 = <&pwm5_pins>;
11362306a36Sopenharmony_ci	pinctrl-names = "default";
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	status = "okay";
11662306a36Sopenharmony_ci};
117