Commit 7f61dff1 authored by Marian-Cristian Rotariu's avatar Marian-Cristian Rotariu Committed by Geert Uytterhoeven
Browse files

ARM: dts: iwg22d-sodimm: Enable LCD panel



On the Generic SODIMM Development Platform there is an RGB LCD panel
directly connected to the DU output. It uses the TPU0 as backlight, one
GPIO pull-up configuration for power enable, R[2:7], G[2:7], B[2:7],
VSYNC, HSYNC, DU0_DISP and, DU0_CLK as inputs.

There is no encoder between the DU and the panel, therefore the default
connector driver is used.

The two variants of the iW-G22D should be mutually exclusive, therefore
this patch also disables the RGB LCD display when the HDMI extension board
is used.

Signed-off-by: default avatarMarian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
Link: https://lore.kernel.org/r/1583239490-8837-1-git-send-email-marian-cristian.rotariu.rb@bp.renesas.com


Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent 9e123263
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -108,6 +108,12 @@
	};
};

&lcd_panel {
	status = "disabled";

	/delete-node/ port;
};

&pfc {
	can1_pins: can1 {
		groups = "can1_data_b";
+60 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@

/dts-v1/;
#include "r8a7745-iwg22m.dtsi"
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E";
@@ -78,6 +79,49 @@
		gpios-states = <1>;
		states = <3300000 1>, <1800000 0>;
	};

	vccq_panel: regulator-vccq-panel {
		compatible = "regulator-fixed";
		regulator-name = "Panel VccQ";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
		enable-active-high;
	};

	backlight_lcd: backlight {
		compatible = "pwm-backlight";
		pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <7>;
	};

	lcd_panel: lcd {
		compatible = "edt,etm043080dh6gp";
		power-supply = <&vccq_panel>;
		backlight = <&backlight_lcd>;

		port {
			lcd_in: endpoint {
				remote-endpoint = <&du_out_rgb0>;
			};
		};
	};
};

&du {
	pinctrl-0 = <&du0_pins>;
	pinctrl-names = "default";

	status = "okay";

	ports {
		port@0 {
			endpoint {
				remote-endpoint = <&lcd_in>;
			};
		};
	};
};

&avb {
@@ -149,11 +193,21 @@
		function = "avb";
	};

	backlight_pins: backlight {
		groups = "tpu_to3_c";
		function = "tpu";
	};

	can0_pins: can0 {
		groups = "can0_data";
		function = "can0";
	};

	du0_pins: du0 {
		groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out";
		function = "du0";
	};

	hscif1_pins: hscif1 {
		groups = "hscif1_data", "hscif1_ctrl";
		function = "hscif1";
@@ -229,6 +283,12 @@
	shared-pin;
};

&tpu {
	pinctrl-0 = <&backlight_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&usbphy {
	status = "okay";
};