diff options
| author | Donghwa Lee <dh09.lee@samsung.com> | 2012-04-05 19:36:15 +0000 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-05-15 08:31:29 +0200 | 
| commit | 559a05cc32a0162d4d2aebe6d3410e91f883a04d (patch) | |
| tree | f4cc9bb39b8c038a40e0e299c75fed4060a9842c | |
| parent | 37835d4ba8dc844d055a0dec8a954c8795b58531 (diff) | |
| download | olio-uboot-2014.01-559a05cc32a0162d4d2aebe6d3410e91f883a04d.tar.xz olio-uboot-2014.01-559a05cc32a0162d4d2aebe6d3410e91f883a04d.zip | |
LCD: add data structure for EXYNOS display driver
Add vidinfo data structure for EXYNOS display driver
Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Anatolij Gustschin <agust@denx.de>
| -rw-r--r-- | include/lcd.h | 64 | 
1 files changed, 64 insertions, 0 deletions
| diff --git a/include/lcd.h b/include/lcd.h index d95feeb79..3d9ef1671 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -183,6 +183,70 @@ typedef struct vidinfo {  	u_long	mmio;		/* Memory mapped registers */  } vidinfo_t; +#elif defined(CONFIG_EXYNOS_FB) + +enum { +	FIMD_RGB_INTERFACE = 1, +	FIMD_CPU_INTERFACE = 2, +}; + +typedef struct vidinfo { +	ushort vl_col;		/* Number of columns (i.e. 640) */ +	ushort vl_row;		/* Number of rows (i.e. 480) */ +	ushort vl_width;	/* Width of display area in millimeters */ +	ushort vl_height;	/* Height of display area in millimeters */ + +	/* LCD configuration register */ +	u_char vl_freq;		/* Frequency */ +	u_char vl_clkp;		/* Clock polarity */ +	u_char vl_oep;		/* Output Enable polarity */ +	u_char vl_hsp;		/* Horizontal Sync polarity */ +	u_char vl_vsp;		/* Vertical Sync polarity */ +	u_char vl_dp;		/* Data polarity */ +	u_char vl_bpix;		/* Bits per pixel */ + +	/* Horizontal control register. Timing from data sheet */ +	u_char vl_hspw;		/* Horz sync pulse width */ +	u_char vl_hfpd;		/* Wait before of line */ +	u_char vl_hbpd;		/* Wait end of line */ + +	/* Vertical control register. */ +	u_char	vl_vspw;	/* Vertical sync pulse width */ +	u_char	vl_vfpd;	/* Wait before of frame */ +	u_char	vl_vbpd;	/* Wait end of frame */ +	u_char  vl_cmd_allow_len; /* Wait end of frame */ + +	void (*cfg_gpio)(void); +	void (*backlight_on)(unsigned int onoff); +	void (*reset_lcd)(void); +	void (*lcd_power_on)(void); +	void (*cfg_ldo)(void); +	void (*enable_ldo)(unsigned int onoff); +	void (*mipi_power)(void); +	void (*backlight_reset)(void); + +	unsigned int win_id; +	unsigned int init_delay; +	unsigned int power_on_delay; +	unsigned int reset_delay; +	unsigned int interface_mode; +	unsigned int mipi_enabled; +	unsigned int cs_setup; +	unsigned int wr_setup; +	unsigned int wr_act; +	unsigned int wr_hold; + +	/* parent clock name(MPLL, EPLL or VPLL) */ +	unsigned int pclk_name; +	/* ratio value for source clock from parent clock. */ +	unsigned int sclk_div; + +	unsigned int dual_lcd_enabled; + +} vidinfo_t; + +void init_panel_info(vidinfo_t *vid); +  #else  typedef struct vidinfo { |