diff options
author | Jeremiah Lott <jeremiah.lott@timesys.com> | 2009-09-11 14:29:31 -0400 |
---|---|---|
committer | Andy Voltz <andy.voltz@timesys.com> | 2010-11-19 11:27:11 -0500 |
commit | aa5dc076c71e643f9baac09cbefae0d600cdb468 (patch) | |
tree | d60f51e73f8cc17ae48136db7fccadc54fb32069 /arch | |
parent | 509d79af09b07591baeb068d487212c57689446c (diff) |
FrameBuffer support for mx27lite, including video mode for Sharp LQ64D343 display.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mx2/mx27lite.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/arch/arm/mach-mx2/mx27lite.c b/arch/arm/mach-mx2/mx27lite.c index 6a5c4f35d695..8f9d4b7243cf 100644 --- a/arch/arm/mach-mx2/mx27lite.c +++ b/arch/arm/mach-mx2/mx27lite.c @@ -32,6 +32,7 @@ #include <mach/iomux.h> #include <mach/board-mx27lite.h> #include <mach/mxc_nand.h> +#include <mach/imxfb.h> #include "devices.h" @@ -60,6 +61,34 @@ static unsigned int mx27lite_pins[] = { PD15_AOUT_FEC_COL, PD16_AIN_FEC_TX_ER, PF23_AIN_FEC_TX_EN, + /* display */ + PA5_PF_LSCLK, + PA6_PF_LD0, + PA7_PF_LD1, + PA8_PF_LD2, + PA9_PF_LD3, + PA10_PF_LD4, + PA11_PF_LD5, + PA12_PF_LD6, + PA13_PF_LD7, + PA14_PF_LD8, + PA15_PF_LD9, + PA16_PF_LD10, + PA17_PF_LD11, + PA18_PF_LD12, + PA19_PF_LD13, + PA20_PF_LD14, + PA21_PF_LD15, + PA22_PF_LD16, + PA23_PF_LD17, + PA24_PF_REV, + PA25_PF_CLS, + PA26_PF_PS, + PA27_PF_SPL_SPR, + PA28_PF_HSYNC, + PA29_PF_VSYNC, + PA30_PF_CONTRAST, + PA31_PF_OE_ACD, }; static struct mxc_nand_platform_data mx27lite_nand_board_info = { @@ -114,6 +143,36 @@ static struct imxuart_platform_data uart_pdata = { .flags = IMXUART_HAVE_RTSCTS, }; +static struct imx_fb_videomode logic_mbimx27_modes[] = { + { + .mode = { + .name = "SHARP-LQ64D343", + .refresh = 60, + .xres = 640, + .yres = 480, + .pixclock = 35285, + .left_margin = 134, + .right_margin = 34, + .upper_margin = 35, + .lower_margin = 0, + .hsync_len = 21, + .vsync_len = 5, + }, + .pcr = 0xFC008B80, + .bpp = 16, + }, +}; + +static struct imx_fb_platform_data logic_mbimx27_fb_data = { + .mode = logic_mbimx27_modes, + .num_modes = ARRAY_SIZE(logic_mbimx27_modes), + + .pwmr = 0x00A903FF, + .lscr1 = 0x00120300, + .dmacr = 0x00020010, + //.dmacr = 0x00040060, +}; + static struct platform_device *platform_devices[] __initdata = { &mx27lite_nor_mtd_device, &mxc_fec_device, @@ -125,6 +184,7 @@ static void __init mx27lite_init(void) "imx27lite"); mxc_register_device(&mxc_uart_device0, &uart_pdata); mxc_register_device(&mxc_nand_device, &mx27lite_nand_board_info); + mxc_register_device(&mxc_fb_device, &logic_mbimx27_fb_data); platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); } |