diff options
| -rw-r--r-- | board/compulab/cm_t35/cm_t35.c | 12 | ||||
| -rw-r--r-- | board/compulab/common/omap3_display.c | 46 | ||||
| -rw-r--r-- | include/configs/cm_t35.h | 3 | 
3 files changed, 59 insertions, 2 deletions
| diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c index b9a996594..9f2937a97 100644 --- a/board/compulab/cm_t35/cm_t35.c +++ b/board/compulab/cm_t35/cm_t35.c @@ -268,6 +268,9 @@ static void cm_t3x_set_common_muxconf(void)  	/* DVI enable */  	MUX_VAL(CP(GPMC_NCS3),		(IDIS  | PTU | DIS  | M4));/*GPMC_nCS3*/ +	/* DataImage backlight */ +	MUX_VAL(CP(GPMC_NCS7),		(IDIS  | PTU | DIS  | M4));/*GPIO_58*/ +  	/* CM-T3x Ethernet */  	MUX_VAL(CP(GPMC_NCS5),		(IDIS | PTU | DIS | M0)); /*GPMC_nCS5*/  	MUX_VAL(CP(GPMC_CLK),		(IEN  | PTD | DIS | M4)); /*GPIO_59*/ @@ -374,6 +377,15 @@ static void cm_t3x_set_common_muxconf(void)  	MUX_VAL(CP(MMC1_DAT1),		(IEN  | PTU | EN  | M0)); /*MMC1_DAT1*/  	MUX_VAL(CP(MMC1_DAT2),		(IEN  | PTU | EN  | M0)); /*MMC1_DAT2*/  	MUX_VAL(CP(MMC1_DAT3),		(IEN  | PTU | EN  | M0)); /*MMC1_DAT3*/ + +	/* SPI */ +	MUX_VAL(CP(MCBSP1_CLKR),	(IEN | PTD | DIS | M1)); /*MCSPI4_CLK*/ +	MUX_VAL(CP(MCBSP1_DX),		(IEN | PTD | DIS | M1)); /*MCSPI4_SIMO*/ +	MUX_VAL(CP(MCBSP1_DR),		(IEN | PTD | DIS | M1)); /*MCSPI4_SOMI*/ +	MUX_VAL(CP(MCBSP1_FSX),		(IEN | PTU | EN  | M1)); /*MCSPI4_CS0*/ + +	/* display controls */ +	MUX_VAL(CP(MCBSP1_FSR),		(IDIS | PTU | DIS | M4)); /*GPIO_157*/  }  static void cm_t35_set_muxconf(void) diff --git a/board/compulab/common/omap3_display.c b/board/compulab/common/omap3_display.c index ead821eeb..61707f5b9 100644 --- a/board/compulab/common/omap3_display.c +++ b/board/compulab/common/omap3_display.c @@ -14,6 +14,7 @@  #include <stdio_dev.h>  #include <asm/arch/dss.h>  #include <lcd.h> +#include <scf0403_lcd.h>  #include <asm/arch-omap3/dss.h>  DECLARE_GLOBAL_DATA_PTR; @@ -22,6 +23,7 @@ enum display_type {  	NONE,  	DVI,  	DVI_CUSTOM, +	DATA_IMAGE, /* #define CONFIG_SCF0403_LCD to use */  };  #define CMAP_ADDR	0x80100000 @@ -119,6 +121,18 @@ static const struct panel_config preset_dvi_1280X1024 = {  	.gfx_format	= GFXFORMAT_RGB16,  }; +static const struct panel_config preset_dataimage_480X800 = { +	.lcd_size	= PANEL_LCD_SIZE(480, 800), +	.timing_h	= DSS_HBP(2) | DSS_HFP(2) | DSS_HSW(2), +	.timing_v	= DSS_VBP(17) | DSS_VFP(20) | DSS_VSW(3), +	.pol_freq	= DSS_IVS | DSS_IHS | DSS_IPC | DSS_ONOFF, +	.divisor	= 10 | (1 << 10), +	.data_lines	= LCD_INTERFACE_18_BIT, +	.panel_type	= ACTIVE_DISPLAY, +	.load_mode	= 2, +	.gfx_format	= GFXFORMAT_RGB16, +}; +  /*   * set_resolution_params()   * @@ -146,6 +160,13 @@ static enum display_type set_dvi_preset(const struct panel_config preset,  	return DVI;  } +static enum display_type set_dataimage_preset(const struct panel_config preset, +		int x_res, int y_res) +{ +	set_preset(preset, x_res, y_res); +	return DATA_IMAGE; +} +  /*   * parse_mode() - parse the mode parameter of custom lcd settings   * @@ -369,6 +390,8 @@ static enum display_type env_parse_displaytype(char *displaytype)  		return set_dvi_preset(preset_dvi_1280X960, 1280, 960);  	else if (!strncmp(displaytype, "dvi1280x1024", 12))  		return set_dvi_preset(preset_dvi_1280X1024, 1280, 1024); +	else if (!strncmp(displaytype, "dataimage480x800", 16)) +		return set_dataimage_preset(preset_dataimage_480X800, 480, 800);  	return NONE;  } @@ -401,12 +424,31 @@ void lcd_ctrl_init(void *lcdbase)  	clrsetbits_le32(&prcm->clksel_dss, 0xF, 3);  } +#ifdef CONFIG_SCF0403_LCD +static void scf0403_enable(void) +{ +	gpio_direction_output(58, 1); +	scf0403_init(157); +} +#else +static inline void scf0403_enable(void) {} +#endif +  void lcd_enable(void)  { -	if (lcd_def == DVI || lcd_def == DVI_CUSTOM) { +	switch (lcd_def) { +	case NONE: +		return; +	case DVI: +	case DVI_CUSTOM:  		gpio_direction_output(54, 0); /* Turn on DVI */ -		omap3_dss_enable(); +		break; +	case DATA_IMAGE: +		scf0403_enable(); +		break;  	} + +	omap3_dss_enable();  }  void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue) {} diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h index 516ef7f30..a6c63cb49 100644 --- a/include/configs/cm_t35.h +++ b/include/configs/cm_t35.h @@ -325,5 +325,8 @@  #define CONFIG_SPLASH_SCREEN  #define CONFIG_CMD_BMP  #define CONFIG_BMP_16BPP +#define CONFIG_SCF0403_LCD + +#define CONFIG_OMAP3_SPI  #endif /* __CONFIG_H */ |