video: add sh_mobile_lcdc platform flags
Add platform data flags for detailed lcd display configuration. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
7994b1c55e
commit
f400f510df
2 changed files with 12 additions and 0 deletions
|
@ -262,6 +262,11 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)
|
|||
tmp = ch->ldmt1r_value;
|
||||
tmp |= (lcd_cfg->sync & FB_SYNC_VERT_HIGH_ACT) ? 0 : 1 << 28;
|
||||
tmp |= (lcd_cfg->sync & FB_SYNC_HOR_HIGH_ACT) ? 0 : 1 << 27;
|
||||
tmp |= (ch->cfg.flags & LCDC_FLAGS_DWPOL) ? 1 << 26 : 0;
|
||||
tmp |= (ch->cfg.flags & LCDC_FLAGS_DIPOL) ? 1 << 25 : 0;
|
||||
tmp |= (ch->cfg.flags & LCDC_FLAGS_DAPOL) ? 1 << 24 : 0;
|
||||
tmp |= (ch->cfg.flags & LCDC_FLAGS_HSCNT) ? 1 << 17 : 0;
|
||||
tmp |= (ch->cfg.flags & LCDC_FLAGS_DWCNT) ? 1 << 16 : 0;
|
||||
lcdc_write_chan(ch, LDMT1R, tmp);
|
||||
|
||||
/* setup SYS bus */
|
||||
|
|
|
@ -28,6 +28,12 @@ enum { LCDC_CHAN_DISABLED = 0,
|
|||
|
||||
enum { LCDC_CLK_BUS, LCDC_CLK_PERIPHERAL, LCDC_CLK_EXTERNAL };
|
||||
|
||||
#define LCDC_FLAGS_DWPOL (1 << 0) /* Rising edge dot clock data latch */
|
||||
#define LCDC_FLAGS_DIPOL (1 << 1) /* Active low display enable polarity */
|
||||
#define LCDC_FLAGS_DAPOL (1 << 2) /* Active low display data polarity */
|
||||
#define LCDC_FLAGS_HSCNT (1 << 3) /* Disable HSYNC during VBLANK */
|
||||
#define LCDC_FLAGS_DWCNT (1 << 4) /* Disable dotclock during blanking */
|
||||
|
||||
struct sh_mobile_lcdc_sys_bus_cfg {
|
||||
unsigned long ldmt2r;
|
||||
unsigned long ldmt3r;
|
||||
|
@ -57,6 +63,7 @@ struct sh_mobile_lcdc_chan_cfg {
|
|||
int bpp;
|
||||
int interface_type; /* selects RGBn or SYSn I/F, see above */
|
||||
int clock_divider;
|
||||
unsigned long flags; /* LCDC_FLAGS_... */
|
||||
struct fb_videomode lcd_cfg;
|
||||
struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg;
|
||||
struct sh_mobile_lcdc_board_cfg board_cfg;
|
||||
|
|
Loading…
Reference in a new issue