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

Commit a4dabca8 authored by Gwenhael Goavec-Merou's avatar Gwenhael Goavec-Merou Committed by Shawn Guo
Browse files

ARM: mxs: apf28dev: Add LCD and backlight support

parent 24acd6bf
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -46,6 +46,26 @@
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};

				lcdif_pins_apf28dev: lcdif-apf28dev@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
						0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
						0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
						0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
					>;
					fsl,drive-strength = <0>;
					fsl,voltage = <1>;
					fsl,pull-up = <0>;
				};
			};

			lcdif@80030000 {
				pinctrl-names = "default";
				pinctrl-0 = <&lcdif_16bit_pins_a
						&lcdif_pins_apf28dev>;
				status = "okay";
			};
		};

@@ -110,4 +130,12 @@
			linux,default-trigger = "heartbeat";
		};
	};

	backlight {
		compatible = "pwm-backlight";

		pwms = <&pwm 3 191000>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
	};
};
+24 −0
Original line number Diff line number Diff line
@@ -100,6 +100,25 @@ static struct fb_videomode apx4devkit_video_modes[] = {
	},
};

static struct fb_videomode apf28dev_video_modes[] = {
	{
		.name = "LW700",
		.refresh = 60,
		.xres = 800,
		.yres = 480,
		.pixclock = 30303, /* picosecond */
		.left_margin = 96,
		.right_margin = 96, /* at least 3 & 1 */
		.upper_margin = 0x14,
		.lower_margin = 0x15,
		.hsync_len = 64,
		.vsync_len = 4,
		.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT |
				FB_SYNC_DATA_ENABLE_HIGH_ACT |
				FB_SYNC_DOTCLK_FAILING_ACT,
	},
};

static struct mxsfb_platform_data mxsfb_pdata __initdata;

/*
@@ -374,6 +393,11 @@ static void __init cfa10049_init(void)
static void __init apf28_init(void)
{
	enable_clk_enet_out();

	mxsfb_pdata.mode_list = apf28dev_video_modes;
	mxsfb_pdata.mode_count = ARRAY_SIZE(apf28dev_video_modes);
	mxsfb_pdata.default_bpp = 16;
	mxsfb_pdata.ld_intf_width = STMLCDIF_16BIT;
}

static void __init mxs_machine_init(void)