aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-11 21:21:02 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-11 21:21:02 -0400
commit5f76945a9c978b8b8bf8eb7fe3b17b9981240a97 (patch)
treedf61aca168df657bc71ce8b578bcb0c81b0622ee /arch/arm/mach-omap2
parent940e3a8dd6683a3787faf769b3df7a06f1c2fa31 (diff)
parentcd9d6f10d07f26dd8a70e519c22b6b4f8a9e3e7a (diff)
Merge tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6
Pull fbdev updates from Florian Tobias Schandinat: "This includes: - large updates for OMAP - basic OMAP5 DSS support for DPI and DSI outputs - large cleanups and restructuring - some update to Exynos and da8xx-fb - removal of the pnx4008 driver (arch removed) - various other small patches" Fix up some trivial conflicts (mostly just include line changes, but also some due to the renaming of the deferred work functions by Tejun). * tag 'fbdev-updates-for-3.7' of git://github.com/schandinat/linux-2.6: (193 commits) gbefb: fix compile error video: mark nuc900fb_map_video_memory as __devinit video/mx3fb: set .owner to prevent module unloading while being used video: exynos_dp: use clk_prepare_enable and clk_disable_unprepare drivers/video/exynos/exynos_mipi_dsi.c: fix error return code drivers/video/savage/savagefb_driver.c: fix error return code video: s3c-fb: use clk_prepare_enable and clk_disable_unprepare da8xx-fb: save and restore LCDC context across suspend/resume cycle da8xx-fb: add pm_runtime support video/udlfb: fix line counting in fb_write OMAPDSS: add missing include for string.h OMAPDSS: DISPC: Configure color conversion coefficients for writeback OMAPDSS: DISPC: Add manager like functions for writeback OMAPDSS: DISPC: Configure writeback FIFOs OMAPDSS: DISPC: Configure writeback specific parameters in dispc_wb_setup() OMAPDSS: DISPC: Configure overlay-like parameters in dispc_wb_setup OMAPDSS: DISPC: Add function to set channel in for writeback OMAPDSS: DISPC: Don't set chroma resampling bit for writeback OMAPDSS: DISPC: Downscale chroma if plane is writeback OMAPDSS: DISPC: Configure input and output sizes for writeback ...
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c73
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c27
-rw-r--r--arch/arm/mach-omap2/display.c1
-rw-r--r--arch/arm/mach-omap2/twl-common.c6
4 files changed, 10 insertions, 97 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 5ff28afbefe..3669c120c7e 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -607,29 +607,6 @@ static void __init omap_sfh7741prox_init(void)
607 __func__, OMAP4_SFH7741_ENABLE_GPIO, error); 607 __func__, OMAP4_SFH7741_ENABLE_GPIO, error);
608} 608}
609 609
610static struct gpio sdp4430_hdmi_gpios[] = {
611 { HDMI_GPIO_CT_CP_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ct_cp_hpd" },
612 { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" },
613 { HDMI_GPIO_HPD, GPIOF_DIR_IN, "hdmi_gpio_hpd" },
614};
615
616static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev)
617{
618 int status;
619
620 status = gpio_request_array(sdp4430_hdmi_gpios,
621 ARRAY_SIZE(sdp4430_hdmi_gpios));
622 if (status)
623 pr_err("%s: Cannot request HDMI GPIOs\n", __func__);
624
625 return status;
626}
627
628static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev)
629{
630 gpio_free_array(sdp4430_hdmi_gpios, ARRAY_SIZE(sdp4430_hdmi_gpios));
631}
632
633static struct nokia_dsi_panel_data dsi1_panel = { 610static struct nokia_dsi_panel_data dsi1_panel = {
634 .name = "taal", 611 .name = "taal",
635 .reset_gpio = 102, 612 .reset_gpio = 102,
@@ -650,29 +627,6 @@ static struct omap_dss_device sdp4430_lcd_device = {
650 .phy.dsi = { 627 .phy.dsi = {
651 .module = 0, 628 .module = 0,
652 }, 629 },
653
654 .clocks = {
655 .dispc = {
656 .channel = {
657 /* Logic Clock = 172.8 MHz */
658 .lck_div = 1,
659 /* Pixel Clock = 34.56 MHz */
660 .pck_div = 5,
661 .lcd_clk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
662 },
663 .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK,
664 },
665
666 .dsi = {
667 .regn = 16, /* Fint = 2.4 MHz */
668 .regm = 180, /* DDR Clock = 216 MHz */
669 .regm_dispc = 5, /* PLL1_CLK1 = 172.8 MHz */
670 .regm_dsi = 5, /* PLL1_CLK2 = 172.8 MHz */
671
672 .lp_clk_div = 10, /* LP Clock = 8.64 MHz */
673 .dsi_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI,
674 },
675 },
676 .channel = OMAP_DSS_CHANNEL_LCD, 630 .channel = OMAP_DSS_CHANNEL_LCD,
677}; 631};
678 632
@@ -697,33 +651,12 @@ static struct omap_dss_device sdp4430_lcd2_device = {
697 651
698 .module = 1, 652 .module = 1,
699 }, 653 },
700
701 .clocks = {
702 .dispc = {
703 .channel = {
704 /* Logic Clock = 172.8 MHz */
705 .lck_div = 1,
706 /* Pixel Clock = 34.56 MHz */
707 .pck_div = 5,
708 .lcd_clk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC,
709 },
710 .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK,
711 },
712
713 .dsi = {
714 .regn = 16, /* Fint = 2.4 MHz */
715 .regm = 180, /* DDR Clock = 216 MHz */
716 .regm_dispc = 5, /* PLL1_CLK1 = 172.8 MHz */
717 .regm_dsi = 5, /* PLL1_CLK2 = 172.8 MHz */
718
719 .lp_clk_div = 10, /* LP Clock = 8.64 MHz */
720 .dsi_fclk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI,
721 },
722 },
723 .channel = OMAP_DSS_CHANNEL_LCD2, 654 .channel = OMAP_DSS_CHANNEL_LCD2,
724}; 655};
725 656
726static struct omap_dss_hdmi_data sdp4430_hdmi_data = { 657static struct omap_dss_hdmi_data sdp4430_hdmi_data = {
658 .ct_cp_hpd_gpio = HDMI_GPIO_CT_CP_HPD,
659 .ls_oe_gpio = HDMI_GPIO_LS_OE,
727 .hpd_gpio = HDMI_GPIO_HPD, 660 .hpd_gpio = HDMI_GPIO_HPD,
728}; 661};
729 662
@@ -731,8 +664,6 @@ static struct omap_dss_device sdp4430_hdmi_device = {
731 .name = "hdmi", 664 .name = "hdmi",
732 .driver_name = "hdmi_panel", 665 .driver_name = "hdmi_panel",
733 .type = OMAP_DISPLAY_TYPE_HDMI, 666 .type = OMAP_DISPLAY_TYPE_HDMI,
734 .platform_enable = sdp4430_panel_enable_hdmi,
735 .platform_disable = sdp4430_panel_disable_hdmi,
736 .channel = OMAP_DSS_CHANNEL_DIGIT, 667 .channel = OMAP_DSS_CHANNEL_DIGIT,
737 .data = &sdp4430_hdmi_data, 668 .data = &sdp4430_hdmi_data,
738}; 669};
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index f62b903f3ea..bfcd397e233 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -428,30 +428,9 @@ static struct omap_dss_device omap4_panda_dvi_device = {
428 .channel = OMAP_DSS_CHANNEL_LCD2, 428 .channel = OMAP_DSS_CHANNEL_LCD2,
429}; 429};
430 430
431static struct gpio panda_hdmi_gpios[] = {
432 { HDMI_GPIO_CT_CP_HPD, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ct_cp_hpd" },
433 { HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH, "hdmi_gpio_ls_oe" },
434 { HDMI_GPIO_HPD, GPIOF_DIR_IN, "hdmi_gpio_hpd" },
435};
436
437static int omap4_panda_panel_enable_hdmi(struct omap_dss_device *dssdev)
438{
439 int status;
440
441 status = gpio_request_array(panda_hdmi_gpios,
442 ARRAY_SIZE(panda_hdmi_gpios));
443 if (status)
444 pr_err("Cannot request HDMI GPIOs\n");
445
446 return status;
447}
448
449static void omap4_panda_panel_disable_hdmi(struct omap_dss_device *dssdev)
450{
451 gpio_free_array(panda_hdmi_gpios, ARRAY_SIZE(panda_hdmi_gpios));
452}
453
454static struct omap_dss_hdmi_data omap4_panda_hdmi_data = { 431static struct omap_dss_hdmi_data omap4_panda_hdmi_data = {
432 .ct_cp_hpd_gpio = HDMI_GPIO_CT_CP_HPD,
433 .ls_oe_gpio = HDMI_GPIO_LS_OE,
455 .hpd_gpio = HDMI_GPIO_HPD, 434 .hpd_gpio = HDMI_GPIO_HPD,
456}; 435};
457 436
@@ -459,8 +438,6 @@ static struct omap_dss_device omap4_panda_hdmi_device = {
459 .name = "hdmi", 438 .name = "hdmi",
460 .driver_name = "hdmi_panel", 439 .driver_name = "hdmi_panel",
461 .type = OMAP_DISPLAY_TYPE_HDMI, 440 .type = OMAP_DISPLAY_TYPE_HDMI,
462 .platform_enable = omap4_panda_panel_enable_hdmi,
463 .platform_disable = omap4_panda_panel_disable_hdmi,
464 .channel = OMAP_DSS_CHANNEL_DIGIT, 441 .channel = OMAP_DSS_CHANNEL_DIGIT,
465 .data = &omap4_panda_hdmi_data, 442 .data = &omap4_panda_hdmi_data,
466}; 443};
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index a51ece491b9..1011995f150 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -95,7 +95,6 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initconst = {
95 { "dss_core", "omapdss_dss", -1 }, 95 { "dss_core", "omapdss_dss", -1 },
96 { "dss_dispc", "omapdss_dispc", -1 }, 96 { "dss_dispc", "omapdss_dispc", -1 },
97 { "dss_rfbi", "omapdss_rfbi", -1 }, 97 { "dss_rfbi", "omapdss_rfbi", -1 },
98 { "dss_venc", "omapdss_venc", -1 },
99 { "dss_dsi1", "omapdss_dsi", 0 }, 98 { "dss_dsi1", "omapdss_dsi", 0 },
100 { "dss_dsi2", "omapdss_dsi", 1 }, 99 { "dss_dsi2", "omapdss_dsi", 1 },
101 { "dss_hdmi", "omapdss_hdmi", -1 }, 100 { "dss_hdmi", "omapdss_hdmi", -1 },
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index d83ae4540b9..635e109f5ad 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -239,6 +239,10 @@ void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
239static struct twl4030_usb_data omap4_usb_pdata = { 239static struct twl4030_usb_data omap4_usb_pdata = {
240}; 240};
241 241
242static struct regulator_consumer_supply omap4_vdda_hdmi_dac_supplies[] = {
243 REGULATOR_SUPPLY("vdda_hdmi_dac", "omapdss_hdmi"),
244};
245
242static struct regulator_init_data omap4_vdac_idata = { 246static struct regulator_init_data omap4_vdac_idata = {
243 .constraints = { 247 .constraints = {
244 .min_uV = 1800000, 248 .min_uV = 1800000,
@@ -248,6 +252,8 @@ static struct regulator_init_data omap4_vdac_idata = {
248 .valid_ops_mask = REGULATOR_CHANGE_MODE 252 .valid_ops_mask = REGULATOR_CHANGE_MODE
249 | REGULATOR_CHANGE_STATUS, 253 | REGULATOR_CHANGE_STATUS,
250 }, 254 },
255 .num_consumer_supplies = ARRAY_SIZE(omap4_vdda_hdmi_dac_supplies),
256 .consumer_supplies = omap4_vdda_hdmi_dac_supplies,
251 .supply_regulator = "V2V1", 257 .supply_regulator = "V2V1",
252}; 258};
253 259