diff options
| -rw-r--r-- | board/freescale/mx28evk/iomux.c | 33 | ||||
| -rw-r--r-- | board/freescale/mx28evk/mx28evk.c | 6 | ||||
| -rw-r--r-- | include/configs/mx28evk.h | 17 | 
3 files changed, 56 insertions, 0 deletions
| diff --git a/board/freescale/mx28evk/iomux.c b/board/freescale/mx28evk/iomux.c index ae6eda343..beae0e66e 100644 --- a/board/freescale/mx28evk/iomux.c +++ b/board/freescale/mx28evk/iomux.c @@ -30,6 +30,7 @@  #define	MUX_CONFIG_ENET	(MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP)  #define	MUX_CONFIG_EMI	(MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_NOPULL)  #define	MUX_CONFIG_SSP2	(MXS_PAD_3V3 | MXS_PAD_4MA | MXS_PAD_PULLUP) +#define	MUX_CONFIG_LCD	(MXS_PAD_3V3 | MXS_PAD_4MA | MXS_PAD_NOPULL)  const iomux_cfg_t iomux_setup[] = {  	/* DUART */ @@ -162,6 +163,38 @@ const iomux_cfg_t iomux_setup[] = {  	/* I2C */  	MX28_PAD_I2C0_SCL__I2C0_SCL,  	MX28_PAD_I2C0_SDA__I2C0_SDA, + +	/* LCD */ +	MX28_PAD_LCD_D00__LCD_D0 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D01__LCD_D1 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D02__LCD_D2 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D03__LCD_D3 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D04__LCD_D4 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D05__LCD_D5 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D06__LCD_D6 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D07__LCD_D7 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D08__LCD_D8 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D09__LCD_D9 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D10__LCD_D10 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D11__LCD_D11 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D12__LCD_D12 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D13__LCD_D13 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D14__LCD_D14 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D15__LCD_D15 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D16__LCD_D16 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D17__LCD_D17 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D18__LCD_D18 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D19__LCD_D19 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D20__LCD_D20 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D21__LCD_D21 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D22__LCD_D22 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_D23__LCD_D23 | MUX_CONFIG_LCD, +	MX28_PAD_LCD_RD_E__LCD_VSYNC | MUX_CONFIG_LCD, +	MX28_PAD_LCD_WR_RWN__LCD_HSYNC | MUX_CONFIG_LCD, +	MX28_PAD_LCD_RS__LCD_DOTCLK | MUX_CONFIG_LCD, +	MX28_PAD_LCD_CS__LCD_ENABLE | MUX_CONFIG_LCD, +	MX28_PAD_LCD_RESET__GPIO_3_30 | MUX_CONFIG_LCD, /* LCD power */ +	MX28_PAD_PWM2__GPIO_3_18 | MUX_CONFIG_LCD, /* LCD contrast */  };  #define HW_DRAM_CTL29	(0x74 >> 2) diff --git a/board/freescale/mx28evk/mx28evk.c b/board/freescale/mx28evk/mx28evk.c index de7231bd1..4edd9f419 100644 --- a/board/freescale/mx28evk/mx28evk.c +++ b/board/freescale/mx28evk/mx28evk.c @@ -59,6 +59,12 @@ int board_early_init_f(void)  	gpio_direction_output(MX28_PAD_AUART2_RX__GPIO_3_8, 1);  #endif +	/* Power on LCD */ +	gpio_direction_output(MX28_PAD_LCD_RESET__GPIO_3_30, 1); + +	/* Set contrast to maximum */ +	gpio_direction_output(MX28_PAD_PWM2__GPIO_3_18, 1); +  	return 0;  } diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h index 54d01f9ed..de69182b4 100644 --- a/include/configs/mx28evk.h +++ b/include/configs/mx28evk.h @@ -64,6 +64,7 @@  #define CONFIG_CMD_BOOTZ  #define CONFIG_CMD_NAND  #define CONFIG_CMD_NAND_TRIMFFS +#define CONFIG_VIDEO  /* Memory configurations */  #define CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */ @@ -235,6 +236,22 @@  #endif  #endif +/* Framebuffer support */ +#ifdef CONFIG_VIDEO +#define CONFIG_CFB_CONSOLE +#define CONFIG_VIDEO_MXS +#define CONFIG_VIDEO_LOGO +#define CONFIG_VIDEO_SW_CURSOR +#define CONFIG_VGA_AS_SINGLE_DEVICE +#define CONFIG_SYS_CONSOLE_IS_IN_ENV +#define CONFIG_SPLASH_SCREEN +#define CONFIG_CMD_BMP +#define CONFIG_BMP_16BPP +#define CONFIG_VIDEO_BMP_RLE8 +#define CONFIG_VIDEO_BMP_GZIP +#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE	(512 << 10) +#endif +  /* Boot Linux */  #define CONFIG_CMDLINE_TAG  #define CONFIG_SETUP_MEMORY_TAGS |