Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4bac408 authored by Richard Genoud's avatar Richard Genoud Committed by Thierry Reding
Browse files

drm/panel: simple: Add support for Winstar WF35LTIACD



This adds support for the Winstar Display Co. WF35LTIACD 3.5" QVGA TFT
LCD panel, which can be supported by the simple panel driver.

Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarRichard Genoud <richard.genoud@gmail.com>
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 667eb703
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
Winstar Display Corporation 3.5" QVGA (320x240) TFT LCD panel

Required properties:
- compatible: should be "winstar,wf35ltiacd"
- power-supply: regulator to provide the VCC supply voltage (3.3 volts)

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.

Example:
	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&hlcdc_pwm 0 50000 PWM_POLARITY_INVERTED>;
		brightness-levels = <0 31 63 95 127 159 191 223 255>;
		default-brightness-level = <191>;
		power-supply = <&bl_reg>;
	};

	bl_reg: backlight_regulator {
		compatible = "regulator-fixed";
		regulator-name = "backlight-power-supply";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	panel: panel {
		compatible = "winstar,wf35ltiacd", "simple-panel";
		backlight = <&backlight>;
		power-supply = <&panel_reg>;
		#address-cells = <1>;
		#size-cells = <0>;

		port {
			#address-cells = <1>;
			#size-cells = <0>;

			panel_input: endpoint {
				remote-endpoint = <&hlcdc_panel_output>;
			};
		};
	};

	panel_reg: panel_regulator {
		compatible = "regulator-fixed";
		regulator-name = "panel-power-supply";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};
+28 −0
Original line number Diff line number Diff line
@@ -1831,6 +1831,31 @@ static const struct panel_desc urt_umsh_8596md_parallel = {
	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
};

static const struct drm_display_mode winstar_wf35ltiacd_mode = {
	.clock = 6410,
	.hdisplay = 320,
	.hsync_start = 320 + 20,
	.hsync_end = 320 + 20 + 30,
	.htotal = 320 + 20 + 30 + 38,
	.vdisplay = 240,
	.vsync_start = 240 + 4,
	.vsync_end = 240 + 4 + 3,
	.vtotal = 240 + 4 + 3 + 15,
	.vrefresh = 60,
	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
};

static const struct panel_desc winstar_wf35ltiacd = {
	.modes = &winstar_wf35ltiacd_mode,
	.num_modes = 1,
	.bpc = 8,
	.size = {
		.width = 70,
		.height = 53,
	},
	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
};

static const struct of_device_id platform_of_match[] = {
	{
		.compatible = "ampire,am-480272h3tmqw-t01h",
@@ -2021,6 +2046,9 @@ static const struct of_device_id platform_of_match[] = {
	}, {
		.compatible = "urt,umsh-8596md-20t",
		.data = &urt_umsh_8596md_parallel,
	}, {
		.compatible = "winstar,wf35ltiacd",
		.data = &winstar_wf35ltiacd,
	}, {
		/* sentinel */
	}