diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-04-18 04:47:57 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-04-18 04:47:57 -0400 |
commit | 9b6d7777118d3f2abc39591481ea5b9b5e76d6ba (patch) | |
tree | 925971758ff353e4da126b03ad78113f61fb1b6b /drivers/video | |
parent | b07f3bbee12163a6b48991138a37b87a1126462a (diff) | |
parent | 0fd08060f1bb9d7d0d712f39257dc3574a632271 (diff) |
Merge branch 'for-paul-39-rc' of git://gitorious.org/linux-omap-dss2/linux into fbdev-fixes-for-linus
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/displays/Kconfig | 9 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dsi.c | 14 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.c | 10 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss_features.c | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss_features.h | 2 |
5 files changed, 25 insertions, 12 deletions
diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig index d18ad6b2372a..609a28073178 100644 --- a/drivers/video/omap2/displays/Kconfig +++ b/drivers/video/omap2/displays/Kconfig | |||
@@ -3,6 +3,7 @@ menu "OMAP2/3 Display Device Drivers" | |||
3 | 3 | ||
4 | config PANEL_GENERIC_DPI | 4 | config PANEL_GENERIC_DPI |
5 | tristate "Generic DPI Panel" | 5 | tristate "Generic DPI Panel" |
6 | depends on OMAP2_DSS_DPI | ||
6 | help | 7 | help |
7 | Generic DPI panel driver. | 8 | Generic DPI panel driver. |
8 | Supports DVI output for Beagle and OMAP3 SDP. | 9 | Supports DVI output for Beagle and OMAP3 SDP. |
@@ -11,20 +12,20 @@ config PANEL_GENERIC_DPI | |||
11 | 12 | ||
12 | config PANEL_LGPHILIPS_LB035Q02 | 13 | config PANEL_LGPHILIPS_LB035Q02 |
13 | tristate "LG.Philips LB035Q02 LCD Panel" | 14 | tristate "LG.Philips LB035Q02 LCD Panel" |
14 | depends on OMAP2_DSS && SPI | 15 | depends on OMAP2_DSS_DPI && SPI |
15 | help | 16 | help |
16 | LCD Panel used on the Gumstix Overo Palo35 | 17 | LCD Panel used on the Gumstix Overo Palo35 |
17 | 18 | ||
18 | config PANEL_SHARP_LS037V7DW01 | 19 | config PANEL_SHARP_LS037V7DW01 |
19 | tristate "Sharp LS037V7DW01 LCD Panel" | 20 | tristate "Sharp LS037V7DW01 LCD Panel" |
20 | depends on OMAP2_DSS | 21 | depends on OMAP2_DSS_DPI |
21 | select BACKLIGHT_CLASS_DEVICE | 22 | select BACKLIGHT_CLASS_DEVICE |
22 | help | 23 | help |
23 | LCD Panel used in TI's SDP3430 and EVM boards | 24 | LCD Panel used in TI's SDP3430 and EVM boards |
24 | 25 | ||
25 | config PANEL_NEC_NL8048HL11_01B | 26 | config PANEL_NEC_NL8048HL11_01B |
26 | tristate "NEC NL8048HL11-01B Panel" | 27 | tristate "NEC NL8048HL11-01B Panel" |
27 | depends on OMAP2_DSS | 28 | depends on OMAP2_DSS_DPI |
28 | help | 29 | help |
29 | This NEC NL8048HL11-01B panel is TFT LCD | 30 | This NEC NL8048HL11-01B panel is TFT LCD |
30 | used in the Zoom2/3/3630 sdp boards. | 31 | used in the Zoom2/3/3630 sdp boards. |
@@ -37,7 +38,7 @@ config PANEL_TAAL | |||
37 | 38 | ||
38 | config PANEL_TPO_TD043MTEA1 | 39 | config PANEL_TPO_TD043MTEA1 |
39 | tristate "TPO TD043MTEA1 LCD Panel" | 40 | tristate "TPO TD043MTEA1 LCD Panel" |
40 | depends on OMAP2_DSS && SPI | 41 | depends on OMAP2_DSS_DPI && SPI |
41 | help | 42 | help |
42 | LCD Panel used in OMAP3 Pandora | 43 | LCD Panel used in OMAP3 Pandora |
43 | 44 | ||
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c index 0a7f1a47f8e3..cbd9ca48d6ec 100644 --- a/drivers/video/omap2/dss/dsi.c +++ b/drivers/video/omap2/dss/dsi.c | |||
@@ -1059,6 +1059,11 @@ static int dsi_pll_power(enum dsi_pll_power_state state) | |||
1059 | { | 1059 | { |
1060 | int t = 0; | 1060 | int t = 0; |
1061 | 1061 | ||
1062 | /* DSI-PLL power command 0x3 is not working */ | ||
1063 | if (dss_has_feature(FEAT_DSI_PLL_PWR_BUG) && | ||
1064 | state == DSI_PLL_POWER_ON_DIV) | ||
1065 | state = DSI_PLL_POWER_ON_ALL; | ||
1066 | |||
1062 | REG_FLD_MOD(DSI_CLK_CTRL, state, 31, 30); /* PLL_PWR_CMD */ | 1067 | REG_FLD_MOD(DSI_CLK_CTRL, state, 31, 30); /* PLL_PWR_CMD */ |
1063 | 1068 | ||
1064 | /* PLL_PWR_STATUS */ | 1069 | /* PLL_PWR_STATUS */ |
@@ -1276,6 +1281,9 @@ int dsi_pll_set_clock_div(struct dsi_clock_info *cinfo) | |||
1276 | 1281 | ||
1277 | DSSDBGF(); | 1282 | DSSDBGF(); |
1278 | 1283 | ||
1284 | dsi.current_cinfo.use_sys_clk = cinfo->use_sys_clk; | ||
1285 | dsi.current_cinfo.highfreq = cinfo->highfreq; | ||
1286 | |||
1279 | dsi.current_cinfo.fint = cinfo->fint; | 1287 | dsi.current_cinfo.fint = cinfo->fint; |
1280 | dsi.current_cinfo.clkin4ddr = cinfo->clkin4ddr; | 1288 | dsi.current_cinfo.clkin4ddr = cinfo->clkin4ddr; |
1281 | dsi.current_cinfo.dsi_pll_hsdiv_dispc_clk = | 1289 | dsi.current_cinfo.dsi_pll_hsdiv_dispc_clk = |
@@ -1488,7 +1496,6 @@ void dsi_pll_uninit(void) | |||
1488 | 1496 | ||
1489 | void dsi_dump_clocks(struct seq_file *s) | 1497 | void dsi_dump_clocks(struct seq_file *s) |
1490 | { | 1498 | { |
1491 | int clksel; | ||
1492 | struct dsi_clock_info *cinfo = &dsi.current_cinfo; | 1499 | struct dsi_clock_info *cinfo = &dsi.current_cinfo; |
1493 | enum dss_clk_source dispc_clk_src, dsi_clk_src; | 1500 | enum dss_clk_source dispc_clk_src, dsi_clk_src; |
1494 | 1501 | ||
@@ -1497,13 +1504,10 @@ void dsi_dump_clocks(struct seq_file *s) | |||
1497 | 1504 | ||
1498 | enable_clocks(1); | 1505 | enable_clocks(1); |
1499 | 1506 | ||
1500 | clksel = REG_GET(DSI_PLL_CONFIGURATION2, 11, 11); | ||
1501 | |||
1502 | seq_printf(s, "- DSI PLL -\n"); | 1507 | seq_printf(s, "- DSI PLL -\n"); |
1503 | 1508 | ||
1504 | seq_printf(s, "dsi pll source = %s\n", | 1509 | seq_printf(s, "dsi pll source = %s\n", |
1505 | clksel == 0 ? | 1510 | cinfo->use_sys_clk ? "dss_sys_clk" : "pclkfree"); |
1506 | "dss_sys_clk" : "pclkfree"); | ||
1507 | 1511 | ||
1508 | seq_printf(s, "Fint\t\t%-16luregn %u\n", cinfo->fint, cinfo->regn); | 1512 | seq_printf(s, "Fint\t\t%-16luregn %u\n", cinfo->fint, cinfo->regn); |
1509 | 1513 | ||
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c index 3f1fee63c678..c3b48a0fcf35 100644 --- a/drivers/video/omap2/dss/dss.c +++ b/drivers/video/omap2/dss/dss.c | |||
@@ -385,8 +385,14 @@ enum dss_clk_source dss_get_dsi_clk_source(void) | |||
385 | 385 | ||
386 | enum dss_clk_source dss_get_lcd_clk_source(enum omap_channel channel) | 386 | enum dss_clk_source dss_get_lcd_clk_source(enum omap_channel channel) |
387 | { | 387 | { |
388 | int ix = channel == OMAP_DSS_CHANNEL_LCD ? 0 : 1; | 388 | if (dss_has_feature(FEAT_LCD_CLK_SRC)) { |
389 | return dss.lcd_clk_source[ix]; | 389 | int ix = channel == OMAP_DSS_CHANNEL_LCD ? 0 : 1; |
390 | return dss.lcd_clk_source[ix]; | ||
391 | } else { | ||
392 | /* LCD_CLK source is the same as DISPC_FCLK source for | ||
393 | * OMAP2 and OMAP3 */ | ||
394 | return dss.dispc_clk_source; | ||
395 | } | ||
390 | } | 396 | } |
391 | 397 | ||
392 | /* calculate clock rates using dividers in cinfo */ | 398 | /* calculate clock rates using dividers in cinfo */ |
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c index aa1622241d0d..8c50e18bc0b0 100644 --- a/drivers/video/omap2/dss/dss_features.c +++ b/drivers/video/omap2/dss/dss_features.c | |||
@@ -271,7 +271,7 @@ static struct omap_dss_features omap3630_dss_features = { | |||
271 | FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE | | 271 | FEAT_LCDENABLESIGNAL | FEAT_PCKFREEENABLE | |
272 | FEAT_PRE_MULT_ALPHA | FEAT_FUNCGATED | | 272 | FEAT_PRE_MULT_ALPHA | FEAT_FUNCGATED | |
273 | FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT | | 273 | FEAT_ROWREPEATENABLE | FEAT_LINEBUFFERSPLIT | |
274 | FEAT_RESIZECONF, | 274 | FEAT_RESIZECONF | FEAT_DSI_PLL_PWR_BUG, |
275 | 275 | ||
276 | .num_mgrs = 2, | 276 | .num_mgrs = 2, |
277 | .num_ovls = 3, | 277 | .num_ovls = 3, |
diff --git a/drivers/video/omap2/dss/dss_features.h b/drivers/video/omap2/dss/dss_features.h index 12e9c4ef0dec..37922ce6b8b1 100644 --- a/drivers/video/omap2/dss/dss_features.h +++ b/drivers/video/omap2/dss/dss_features.h | |||
@@ -40,6 +40,8 @@ enum dss_feat_id { | |||
40 | /* Independent core clk divider */ | 40 | /* Independent core clk divider */ |
41 | FEAT_CORE_CLK_DIV = 1 << 11, | 41 | FEAT_CORE_CLK_DIV = 1 << 11, |
42 | FEAT_LCD_CLK_SRC = 1 << 12, | 42 | FEAT_LCD_CLK_SRC = 1 << 12, |
43 | /* DSI-PLL power command 0x3 is not working */ | ||
44 | FEAT_DSI_PLL_PWR_BUG = 1 << 13, | ||
43 | }; | 45 | }; |
44 | 46 | ||
45 | /* DSS register field id */ | 47 | /* DSS register field id */ |