Re: [PATCH v3 2/2] pxa168: added initial support for TPO TD043MTEA1LCD display on Aspenite
From: Eric Miao
Date: Thu Aug 26 2010 - 05:29:53 EST
On Thu, Aug 26, 2010 at 11:51 AM, Mark F. Brown <mark.brown314@xxxxxxxxx> wrote:
> Signed-off-by: Mark F. Brown <mark.brown314@xxxxxxxxx>
Applied to 'devel'.
> ---
> Âarch/arm/mach-mmp/aspenite.c | Â 60 ++++++++++++++++++++++++++++++++++++++++++
> Â1 files changed, 60 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c
> index 0629394..9e1bd6b 100644
> --- a/arch/arm/mach-mmp/aspenite.c
> +++ b/arch/arm/mach-mmp/aspenite.c
> @@ -23,6 +23,7 @@
> Â#include <mach/mfp-pxa168.h>
> Â#include <mach/pxa168.h>
> Â#include <mach/gpio.h>
> +#include <video/pxa168fb.h>
>
> Â#include "common.h"
>
> @@ -66,6 +67,36 @@ static unsigned long common_pin_config[] __initdata = {
> Â Â Â ÂGPIO115_I2S_BCLK,
> Â Â Â ÂGPIO116_I2S_RXD,
> Â Â Â ÂGPIO117_I2S_TXD,
> +
> + Â Â Â /* LCD */
> + Â Â Â GPIO56_LCD_FCLK_RD,
> + Â Â Â GPIO57_LCD_LCLK_A0,
> + Â Â Â GPIO58_LCD_PCLK_WR,
> + Â Â Â GPIO59_LCD_DENA_BIAS,
> + Â Â Â GPIO60_LCD_DD0,
> + Â Â Â GPIO61_LCD_DD1,
> + Â Â Â GPIO62_LCD_DD2,
> + Â Â Â GPIO63_LCD_DD3,
> + Â Â Â GPIO64_LCD_DD4,
> + Â Â Â GPIO65_LCD_DD5,
> + Â Â Â GPIO66_LCD_DD6,
> + Â Â Â GPIO67_LCD_DD7,
> + Â Â Â GPIO68_LCD_DD8,
> + Â Â Â GPIO69_LCD_DD9,
> + Â Â Â GPIO70_LCD_DD10,
> + Â Â Â GPIO71_LCD_DD11,
> + Â Â Â GPIO72_LCD_DD12,
> + Â Â Â GPIO73_LCD_DD13,
> + Â Â Â GPIO74_LCD_DD14,
> + Â Â Â GPIO75_LCD_DD15,
> + Â Â Â GPIO76_LCD_DD16,
> + Â Â Â GPIO77_LCD_DD17,
> + Â Â Â GPIO78_LCD_DD18,
> + Â Â Â GPIO79_LCD_DD19,
> + Â Â Â GPIO80_LCD_DD20,
> + Â Â Â GPIO81_LCD_DD21,
> + Â Â Â GPIO82_LCD_DD22,
> + Â Â Â GPIO83_LCD_DD23,
> Â};
>
> Âstatic struct smc91x_platdata smc91x_info = {
> @@ -134,6 +165,34 @@ static struct i2c_board_info aspenite_i2c_info[] __initdata = {
> Â Â Â Â{ I2C_BOARD_INFO("wm8753", 0x1b), },
> Â};
>
> +static struct fb_videomode video_modes[] = {
> + Â Â Â [0] = {
> +        .pixclock    = 30120,
> +        .refresh    Â= 60,
> +        .xres      = 800,
> +        .yres      = 480,
> +        .hsync_len   Â= 1,
> +        .left_margin  Â= 215,
> +        .right_margin  = 40,
> +        .vsync_len   Â= 1,
> +        .upper_margin  = 34,
> +        .lower_margin  = 10,
> +        .sync      = FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT,
> + Â Â Â },
> +};
> +
> +struct pxa168fb_mach_info aspenite_lcd_info = {
> +    .id           = "Graphic Frame",
> +    .modes         Â= video_modes,
> +    .num_modes       Â= ARRAY_SIZE(video_modes),
> +    .pix_fmt        Â= PIX_FMT_RGB565,
> + Â Â Â .io_pin_allocation_mode = PIN_MODE_DUMB_24,
> +    .dumb_mode       Â= DUMB_MODE_RGB888,
> +    .active         = 1,
> +    .panel_rbswap      = 0,
> +    .invert_pixclock    Â= 0,
> +};
> +
> Âstatic void __init common_init(void)
> Â{
> Â Â Â Âmfp_config(ARRAY_AND_SIZE(common_pin_config));
> @@ -143,6 +202,7 @@ static void __init common_init(void)
> Â Â Â Âpxa168_add_twsi(1, NULL, ARRAY_AND_SIZE(aspenite_i2c_info));
> Â Â Â Âpxa168_add_ssp(1);
> Â Â Â Âpxa168_add_nand(&aspenite_nand_info);
> + Â Â Â pxa168_add_fb(&aspenite_lcd_info);
>
> Â Â Â Â/* off-chip devices */
> Â Â Â Âplatform_device_register(&smc91x_device);
> --
> 1.7.0.4
>
>
¢éì®&Þ~º&¶¬+-±éÝ¥w®Ë±Êâmébìdz¹Þ)í
æèw*jg¬±¨¶Ýj/êäz¹Þà2Þ¨èÚ&¢)ß«a¶Úþø®G«éh®æj:+v¨wèÙ>W±êÞiÛaxPjØm¶ÿÃ-»+ùd_