Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 321074
b: refs/heads/master
c: 5cf9a26
h: refs/heads/master
v: v3
  • Loading branch information
Archit Taneja committed Jun 29, 2012
1 parent afb248e commit 4cb8acf
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c56fb3ef051c6cafca48c0ddcf52a570d6257574
refs/heads/master: 5cf9a264115da9b69a2cdbe43ea0e741844bfef6
37 changes: 28 additions & 9 deletions trunk/drivers/video/omap2/dss/dpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
static struct {
struct regulator *vdds_dsi_reg;
struct platform_device *dsidev;

struct dss_lcd_mgr_config mgr_config;
} dpi;

static struct platform_device *dpi_get_dsidev(enum omap_dss_clk_source clk)
Expand Down Expand Up @@ -83,7 +85,7 @@ static int dpi_set_dsi_clk(struct omap_dss_device *dssdev,

dss_select_dispc_clk_source(dssdev->clocks.dispc.dispc_fclk_src);

dispc_mgr_set_clock_div(dssdev->manager->id, &dispc_cinfo);
dpi.mgr_config.clock_info = dispc_cinfo;

*fck = dsi_cinfo.dsi_pll_hsdiv_dispc_clk;
*lck_div = dispc_cinfo.lck_div;
Expand All @@ -108,7 +110,7 @@ static int dpi_set_dispc_clk(struct omap_dss_device *dssdev,
if (r)
return r;

dispc_mgr_set_clock_div(dssdev->manager->id, &dispc_cinfo);
dpi.mgr_config.clock_info = dispc_cinfo;

*fck = dss_cinfo.fck;
*lck_div = dispc_cinfo.lck_div;
Expand Down Expand Up @@ -149,15 +151,32 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
return 0;
}

static void dpi_basic_init(struct omap_dss_device *dssdev)
static void dpi_config_lcd_manager(struct omap_dss_device *dssdev)
{
dispc_mgr_set_io_pad_mode(DSS_IO_PAD_MODE_BYPASS);
dispc_mgr_enable_stallmode(dssdev->manager->id, false);
dpi.mgr_config.io_pad_mode = DSS_IO_PAD_MODE_BYPASS;

dispc_mgr_set_lcd_type_tft(dssdev->manager->id);
dpi.mgr_config.stallmode = false;
dpi.mgr_config.fifohandcheck = false;

dpi.mgr_config.video_port_width = dssdev->phy.dpi.data_lines;

dpi.mgr_config.lcden_sig_polarity = 0;

dispc_mgr_set_io_pad_mode(dpi.mgr_config.io_pad_mode);
dispc_mgr_enable_stallmode(dssdev->manager->id,
dpi.mgr_config.stallmode);
dispc_mgr_enable_fifohandcheck(dssdev->manager->id,
dpi.mgr_config.fifohandcheck);

dispc_mgr_set_tft_data_lines(dssdev->manager->id,
dssdev->phy.dpi.data_lines);
dpi.mgr_config.video_port_width);

dispc_mgr_set_clock_div(dssdev->manager->id,
&dpi.mgr_config.clock_info);

dispc_lcd_enable_signal_polarity(dpi.mgr_config.lcden_sig_polarity);

dispc_mgr_set_lcd_type_tft(dssdev->manager->id);
}

int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
Expand Down Expand Up @@ -190,8 +209,6 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
if (r)
goto err_get_dispc;

dpi_basic_init(dssdev);

if (dpi_use_dsi_pll(dssdev)) {
r = dsi_runtime_get(dpi.dsidev);
if (r)
Expand All @@ -206,6 +223,8 @@ int omapdss_dpi_display_enable(struct omap_dss_device *dssdev)
if (r)
goto err_set_mode;

dpi_config_lcd_manager(dssdev);

mdelay(2);

r = dss_mgr_enable(dssdev->manager);
Expand Down

0 comments on commit 4cb8acf

Please sign in to comment.