projects/linux·commit 4cc4d24e

Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6

4cc4d24e · Linus Torvalds <[email protected]> · 2011-03-24 07:56:52 -07:00

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (140 commits)
  MAINTAINERS: de-orphan fbdev.
  MAINTAINERS: Add file pattern for fb dt bindings.
  video: Move sm501fb devicetree binding documentation to a better place.
  fbcon: fix situation where fbcon gets deinitialised and can't reinit.
  video, sm501: add OF binding to support SM501
  video, sm501: add edid and commandline support
  video, sm501: add I/O functions for use on powerpc
  video: Fix EDID macros H_SYNC_WIDTH and H_SYNC_OFFSET
  fbcon: Bugfix soft cursor detection in Tile Blitting
  video: add missing framebuffer_release in error path
  video: metronomefb: add __devexit_p around reference to metronomefb_remove
  video: hecubafb: add __devexit_p around reference to hecubafb_remove
  drivers:video:aty:radeon_base Fix typo occationally to occasionally
  atmel_lcdfb: add fb_blank function
  atmel_lcdfb: implement inverted contrast pwm
  video: s3c-fb: return proper error if clk_get fails
  uvesafb,vesafb: create WC or WB PAT-entries
  video: ffb: fix ffb_probe error path
  radeonfb: Let hwmon driver probe the "monid" I2C bus
  fbdev: sh_mobile_lcdc: checking NULL instead of IS_ERR()
  ...
Commit
4cc4d24efce4672f9b0e7fa27963770ae602998f
Parents
b81a618d · 56be1416

Merge commit. Changes below are compared with the first parent: b81a618d.

Changes

88 files changed · +6494 −2020

FileStatusAddDelContent
.mailmapmodified+4−0View file
Documentation/devicetree/bindings/fb/sm501fb.txtadded+34−0View file
Documentation/fb/sm501.txtadded+10−0View file
MAINTAINERSmodified+5−3View file
arch/arm/configs/omap2plus_defconfigmodified+11−0View file
arch/arm/mach-omap2/board-3430sdp.cmodified+2−4View file
arch/arm/mach-omap2/board-4430sdp.cmodified+75−0View file
arch/arm/mach-omap2/board-cm-t35.cmodified+1−1View file
arch/arm/mach-omap2/board-devkit8000.cmodified+7−5View file
arch/arm/mach-omap2/board-igep0020.cmodified+6−4View file
arch/arm/mach-omap2/board-omap3beagle.cmodified+7−5View file
arch/arm/mach-omap2/board-omap3evm.cmodified+7−5View file
arch/arm/mach-omap2/board-omap3pandora.cmodified+2−1View file
arch/arm/mach-omap2/board-omap3stalker.cmodified+7−5View file
arch/arm/mach-omap2/board-omap4panda.cmodified+202−1View file
arch/arm/mach-omap2/board-overo.cmodified+323−34View file
arch/arm/mach-omap2/board-rx51-peripherals.cmodified+1−1View file
arch/arm/mach-omap2/board-zoom-peripherals.cmodified+7−5View file
arch/arm/mach-omap2/clock2420_data.cmodified+4−4View file
arch/arm/mach-omap2/clock2430_data.cmodified+4−4View file
arch/arm/mach-omap2/clock3xxx_data.cmodified+7−7View file
arch/arm/mach-omap2/clock44xx_data.cmodified+10−5View file
arch/arm/mach-omap2/display.cmodified+80−0View file
arch/arm/mach-omap2/omap_hwmod_2420_data.cmodified+6−7View file
arch/arm/mach-omap2/omap_hwmod_2430_data.cmodified+6−6View file
arch/arm/mach-omap2/omap_hwmod_3xxx_data.cmodified+13−10View file
arch/arm/plat-omap/include/plat/display.hmodified+13−2View file
drivers/gpu/drm/radeon/radeon_legacy_crtc.cmodified+1−1View file
drivers/mfd/sm501.cmodified+71−63View file
drivers/video/arkfb.cmodified+96−64View file
drivers/video/atmel_lcdfb.cmodified+30−1View file
drivers/video/aty/radeon_base.cmodified+1−1View file
drivers/video/aty/radeon_i2c.cmodified+3−0View file
drivers/video/cg14.cmodified+1−0View file
drivers/video/cg6.cmodified+1−0View file
drivers/video/console/fbcon.cmodified+2−2View file
drivers/video/console/tileblit.cmodified+1−1View file
drivers/video/edid.hmodified+2−2View file
drivers/video/ffb.cmodified+1−1View file
drivers/video/hecubafb.cmodified+1−1View file
drivers/video/hpfb.cmodified+3−3View file
drivers/video/metronomefb.cmodified+1−1View file
drivers/video/omap/Kconfigmodified+6−1View file
drivers/video/omap/blizzard.cmodified+1−2View file
drivers/video/omap/hwa742.cmodified+1−2View file
drivers/video/omap2/displays/Kconfigmodified+6−0View file
drivers/video/omap2/displays/Makefilemodified+1−0View file
drivers/video/omap2/displays/panel-generic-dpi.cmodified+25−0View file
drivers/video/omap2/displays/panel-lgphilips-lb035q02.cadded+279−0View file
drivers/video/omap2/displays/panel-taal.cmodified+71−52View file
drivers/video/omap2/dss/Kconfigmodified+11−3View file
drivers/video/omap2/dss/Makefilemodified+2−0View file
drivers/video/omap2/dss/core.cmodified+35−445View file
drivers/video/omap2/dss/dispc.cmodified+242−93View file
drivers/video/omap2/dss/display.cmodified+8−27View file
drivers/video/omap2/dss/dpi.cmodified+25−20View file
drivers/video/omap2/dss/dsi.cmodified+722−245View file
drivers/video/omap2/dss/dss.cmodified+625−138View file
drivers/video/omap2/dss/dss.hmodified+105−48View file
drivers/video/omap2/dss/dss_features.cmodified+141−22View file
drivers/video/omap2/dss/dss_features.hmodified+27−0View file
drivers/video/omap2/dss/hdmi.cadded+1332−0View file
drivers/video/omap2/dss/hdmi.hadded+415−0View file
drivers/video/omap2/dss/hdmi_omap4_panel.cadded+222−0View file
drivers/video/omap2/dss/manager.cmodified+9−4View file
drivers/video/omap2/dss/overlay.cmodified+6−4View file
drivers/video/omap2/dss/rfbi.cmodified+77−51View file
drivers/video/omap2/dss/sdi.cmodified+24−38View file
drivers/video/omap2/dss/venc.cmodified+85−43View file
drivers/video/omap2/omapfb/Kconfigmodified+3−3View file
drivers/video/omap2/omapfb/omapfb-main.cmodified+16−7View file
drivers/video/s3c-fb.cmodified+1−0View file
drivers/video/s3fb.cmodified+211−130View file
drivers/video/sh7760fb.cmodified+2−2View file
drivers/video/sh_mobile_lcdcfb.cmodified+3−2View file
drivers/video/sis/sis.hmodified+1−0View file
drivers/video/sis/sis_main.cmodified+226−89View file
drivers/video/sis/vgatypes.hmodified+1−0View file
drivers/video/sm501fb.cmodified+187−88View file
drivers/video/svgalib.cmodified+88−87View file
drivers/video/tcx.cmodified+1−0View file
drivers/video/uvesafb.cmodified+35−14View file
drivers/video/vermilion/vermilion.cmodified+1−2View file
drivers/video/vesafb.cmodified+29−15View file
drivers/video/vt8623fb.cmodified+91−66View file
include/linux/sm501.hmodified+8−0View file
include/linux/svga.hmodified+17−17View file
include/video/atmel_lcdc.hmodified+1−0View file

Only the first 600 diff lines are shown. Download the complete patch.

.mailmap

View file
diff --git a/.mailmap b/.mailmap
index 1eba28a..5a6dd59 100644
--- a/.mailmap
+++ b/.mailmap
@@ -20,6 +20,7 @@ Andreas Herrmann <[email protected]>
Andrew Morton <[email protected]>
Andrew Vasquez <[email protected]>
Andy Adamson <[email protected]>
+Archit Taneja <[email protected]>
Arnaud Patard <[email protected]>
Arnd Bergmann <[email protected]>
Axel Dyks <[email protected]>
@@ -70,6 +71,7 @@ Leonid I Ananiev <[email protected]>
Linas Vepstas <[email protected]>
Mark Brown <[email protected]>
Matthieu CASTET <[email protected]>
+Mayuresh Janorkar <[email protected]>
Michael Buesch <[email protected]>
Michael Buesch <[email protected]>
Michel Dänzer <[email protected]>
@@ -78,6 +80,7 @@ Morten Welinder <[email protected]>
Morten Welinder <[email protected]>
Morten Welinder <[email protected]>
Morten Welinder <[email protected]>
+Mythri P K <[email protected]>
Nguyen Anh Quynh <[email protected]>
Paolo 'Blaisorblade' Giarrusso <[email protected]>
Patrick Mochel <[email protected]>
@@ -98,6 +101,7 @@ S.Çağlar Onur <[email protected]>
Simon Kelley <[email protected]>
Stéphane Witzmann <[email protected]>
Stephen Hemminger <[email protected]>
+Sumit Semwal <[email protected]>
Tejun Heo <[email protected]>
Thomas Graf <[email protected]>
Tony Luck <[email protected]>

Documentation/devicetree/bindings/fb/sm501fb.txt

View file
diff --git a/Documentation/devicetree/bindings/fb/sm501fb.txt b/Documentation/devicetree/bindings/fb/sm501fb.txt
new file mode 100644
index 0000000..7d319fb
--- /dev/null
+++ b/Documentation/devicetree/bindings/fb/sm501fb.txt
@@ -0,0 +1,34 @@
+* SM SM501
+
+The SM SM501 is a LCD controller, with proper hardware, it can also
+drive DVI monitors.
+
+Required properties:
+- compatible : should be "smi,sm501".
+- reg : contain two entries:
+ - First entry: System Configuration register
+ - Second entry: IO space (Display Controller register)
+- interrupts : SMI interrupt to the cpu should be described here.
+- interrupt-parent : the phandle for the interrupt controller that
+ services interrupts for this device.
+
+Optional properties:
+- mode : select a video mode:
+ <xres>x<yres>[-<bpp>][@<refresh>]
+- edid : verbatim EDID data block describing attached display.
+ Data from the detailed timing descriptor will be used to
+ program the display controller.
+- little-endian: availiable on big endian systems, to
+ set different foreign endian.
+- big-endian: availiable on little endian systems, to
+ set different foreign endian.
+
+Example for MPC5200:
+ display@1,0 {
+ compatible = "smi,sm501";
+ reg = <1 0x00000000 0x00800000
+ 1 0x03e00000 0x00200000>;
+ interrupts = <1 1 3>;
+ mode = "640x480-32@60";
+ edid = [edid-data];
+ };

Documentation/fb/sm501.txt

View file
diff --git a/Documentation/fb/sm501.txt b/Documentation/fb/sm501.txt
new file mode 100644
index 0000000..8d17aeb
--- /dev/null
+++ b/Documentation/fb/sm501.txt
@@ -0,0 +1,10 @@
+Configuration:
+
+You can pass the following kernel command line options to sm501 videoframebuffer:
+
+ sm501fb.bpp= SM501 Display driver:
+ Specifiy bits-per-pixel if not specified by 'mode'
+
+ sm501fb.mode= SM501 Display driver:
+ Specify resolution as
+ "<xres>x<yres>[-<bpp>][@<refresh>]"

MAINTAINERS

View file
diff --git a/MAINTAINERS b/MAINTAINERS
index e11953d..2f122ab 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2631,12 +2631,14 @@ F: drivers/net/wan/dlci.c
F: drivers/net/wan/sdla.c
FRAMEBUFFER LAYER
+M: Paul Mundt <[email protected]>
W: http://linux-fbdev.sourceforge.net/
Q: http://patchwork.kernel.org/project/linux-fbdev/list/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6.git
-S: Orphan
+S: Maintained
F: Documentation/fb/
+F: Documentation/devicetree/bindings/fb/
F: drivers/video/
F: include/video/
F: include/linux/fb.h
@@ -4535,14 +4537,14 @@ S: Maintained
F: sound/soc/omap/
OMAP FRAMEBUFFER SUPPORT
-M: Tomi Valkeinen <[email protected]>
+M: Tomi Valkeinen <[email protected]>
S: Maintained
F: drivers/video/omap/
OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2)
-M: Tomi Valkeinen <[email protected]>
+M: Tomi Valkeinen <[email protected]>
S: Maintained

arch/arm/configs/omap2plus_defconfig

View file
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index 019fb7c..076db52 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -193,6 +193,17 @@ CONFIG_FIRMWARE_EDID=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_OMAP_LCD_VGA=y
+CONFIG_OMAP2_DSS=m
+CONFIG_OMAP2_DSS_RFBI=y
+CONFIG_OMAP2_DSS_SDI=y
+CONFIG_OMAP2_DSS_DSI=y
+CONFIG_FB_OMAP2=m
+CONFIG_PANEL_GENERIC_DPI=m
+CONFIG_PANEL_SHARP_LS037V7DW01=m
+CONFIG_PANEL_NEC_NL8048HL11_01B=m
+CONFIG_PANEL_TAAL=m
+CONFIG_PANEL_TPO_TD043MTEA1=m
+CONFIG_PANEL_ACX565AKM=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_PLATFORM=y

arch/arm/mach-omap2/board-3430sdp.c

View file
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index c06eb42..9afd087 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -307,9 +307,6 @@ static struct omap_dss_board_info sdp3430_dss_data = {
.default_device = &sdp3430_lcd_device,
};
-static struct regulator_consumer_supply sdp3430_vdda_dac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
-
static struct omap_board_config_kernel sdp3430_config[] __initdata = {
};
@@ -398,12 +395,13 @@ static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = {
};
static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = {
- REGULATOR_SUPPLY("vdda_dac", "omapdss"),
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
};
/* VPLL2 for digital video outputs */
static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
};
static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {

arch/arm/mach-omap2/board-4430sdp.c

View file
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 333ceb2..62c78de 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -36,6 +36,7 @@
#include <plat/usb.h>
#include <plat/mmc.h>
#include <plat/omap4-keypad.h>
+#include <plat/display.h>
#include "mux.h"
#include "hsmmc.h"
@@ -47,6 +48,8 @@
#define ETH_KS8851_QUART 138
#define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184
#define OMAP4_SFH7741_ENABLE_GPIO 188
+#define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */
+#define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */
static const int sdp4430_keymap[] = {
KEY(0, 0, KEY_E),
@@ -621,6 +624,76 @@ static void __init omap_sfh7741prox_init(void)
}
}
+static void sdp4430_hdmi_mux_init(void)
+{
+ /* PAD0_HDMI_HPD_PAD1_HDMI_CEC */
+ omap_mux_init_signal("hdmi_hpd",
+ OMAP_PIN_INPUT_PULLUP);
+ omap_mux_init_signal("hdmi_cec",
+ OMAP_PIN_INPUT_PULLUP);
+ /* PAD0_HDMI_DDC_SCL_PAD1_HDMI_DDC_SDA */
+ omap_mux_init_signal("hdmi_ddc_scl",
+ OMAP_PIN_INPUT_PULLUP);
+ omap_mux_init_signal("hdmi_ddc_sda",
+ OMAP_PIN_INPUT_PULLUP);
+}
+
+static int sdp4430_panel_enable_hdmi(struct omap_dss_device *dssdev)
+{
+ int status;
+
+ status = gpio_request_one(HDMI_GPIO_HPD, GPIOF_OUT_INIT_HIGH,
+ "hdmi_gpio_hpd");
+ if (status) {
+ pr_err("Cannot request GPIO %d\n", HDMI_GPIO_HPD);
+ return status;
+ }
+ status = gpio_request_one(HDMI_GPIO_LS_OE, GPIOF_OUT_INIT_HIGH,
+ "hdmi_gpio_ls_oe");
+ if (status) {
+ pr_err("Cannot request GPIO %d\n", HDMI_GPIO_LS_OE);
+ goto error1;
+ }
+
+ return 0;
+
+error1:
+ gpio_free(HDMI_GPIO_HPD);
+
+ return status;
+}
+
+static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev)
+{
+ gpio_free(HDMI_GPIO_LS_OE);
+ gpio_free(HDMI_GPIO_HPD);
+}
+
+static struct omap_dss_device sdp4430_hdmi_device = {
+ .name = "hdmi",
+ .driver_name = "hdmi_panel",
+ .type = OMAP_DISPLAY_TYPE_HDMI,
+ .platform_enable = sdp4430_panel_enable_hdmi,
+ .platform_disable = sdp4430_panel_disable_hdmi,
+ .channel = OMAP_DSS_CHANNEL_DIGIT,
+};
+
+static struct omap_dss_device *sdp4430_dss_devices[] = {
+ &sdp4430_hdmi_device,
+};
+
+static struct omap_dss_board_info sdp4430_dss_data = {
+ .num_devices = ARRAY_SIZE(sdp4430_dss_devices),
+ .devices = sdp4430_dss_devices,
+ .default_device = &sdp4430_hdmi_device,
+};
+
+void omap_4430sdp_display_init(void)
+{
+ sdp4430_hdmi_mux_init();
+ omap_display_init(&sdp4430_dss_data);
+}
+
#ifdef CONFIG_OMAP_MUX
static struct omap_board_mux board_mux[] __initdata = {
OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
@@ -729,6 +802,8 @@ static void __init omap_4430sdp_init(void)
status = omap4_keyboard_init(&sdp4430_keypad_data);
if (status)
pr_err("Keypad initialization failed: %d\n", status);
+
+ omap_4430sdp_display_init();
}
static void __init omap_4430sdp_map_io(void)

arch/arm/mach-omap2/board-cm-t35.c

View file
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 7b56479..02a12b4 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -488,7 +488,7 @@ static struct regulator_consumer_supply cm_t35_vsim_supply = {
};
static struct regulator_consumer_supply cm_t35_vdac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
static struct regulator_consumer_supply cm_t35_vdvi_supply =
REGULATOR_SUPPLY("vdvi", "omapdss");

arch/arm/mach-omap2/board-devkit8000.c

View file
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index aa27483..65f9fde 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -196,7 +196,7 @@ static struct omap_dss_board_info devkit8000_dss_data = {
};
static struct regulator_consumer_supply devkit8000_vdda_dac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
static uint32_t board_keymap[] = {
KEY(0, 0, KEY_1),
@@ -277,8 +277,10 @@ static struct twl4030_gpio_platform_data devkit8000_gpio_data = {
.setup = devkit8000_twl_gpio_setup,
};
-static struct regulator_consumer_supply devkit8000_vpll1_supply =
- REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply devkit8000_vpll1_supplies[] = {
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+};
/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
static struct regulator_init_data devkit8000_vmmc1 = {
@@ -319,8 +321,8 @@ static struct regulator_init_data devkit8000_vpll1 = {
.valid_ops_mask = REGULATOR_CHANGE_MODE
| REGULATOR_CHANGE_STATUS,
},
- .num_consumer_supplies = 1,
- .consumer_supplies = &devkit8000_vpll1_supply,
+ .num_consumer_supplies = ARRAY_SIZE(devkit8000_vpll1_supplies),
+ .consumer_supplies = devkit8000_vpll1_supplies,
};
/* VAUX4 for ads7846 and nubs */

arch/arm/mach-omap2/board-igep0020.c

View file
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index d3199b4..5f8a2fd 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -485,8 +485,10 @@ static struct omap_dss_board_info igep2_dss_data = {
.default_device = &igep2_dvi_device,
};
-static struct regulator_consumer_supply igep2_vpll2_supply =
- REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply igep2_vpll2_supplies[] = {
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+};
static struct regulator_init_data igep2_vpll2 = {
.constraints = {
@@ -499,8 +501,8 @@ static struct regulator_init_data igep2_vpll2 = {
.valid_ops_mask = REGULATOR_CHANGE_MODE
| REGULATOR_CHANGE_STATUS,
},
- .num_consumer_supplies = 1,
- .consumer_supplies = &igep2_vpll2_supply,
+ .num_consumer_supplies = ARRAY_SIZE(igep2_vpll2_supplies),
+ .consumer_supplies = igep2_vpll2_supplies,
};
static void __init igep2_display_init(void)

arch/arm/mach-omap2/board-omap3beagle.c

View file
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 7640c05..33007fd 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -232,10 +232,12 @@ static struct omap_dss_board_info beagle_dss_data = {
};
static struct regulator_consumer_supply beagle_vdac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-static struct regulator_consumer_supply beagle_vdvi_supply =
- REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply beagle_vdvi_supplies[] = {
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+};
static void __init beagle_display_init(void)
{
@@ -422,8 +424,8 @@ static struct regulator_init_data beagle_vpll2 = {
.valid_ops_mask = REGULATOR_CHANGE_MODE
| REGULATOR_CHANGE_STATUS,
},
- .num_consumer_supplies = 1,
- .consumer_supplies = &beagle_vdvi_supply,
+ .num_consumer_supplies = ARRAY_SIZE(beagle_vdvi_supplies),
+ .consumer_supplies = beagle_vdvi_supplies,
};
static struct twl4030_usb_data beagle_usb_data = {

arch/arm/mach-omap2/board-omap3evm.c

View file
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index 0fa2c7b..5a1a916 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -542,7 +542,7 @@ static struct twl4030_codec_data omap3evm_codec_data = {
};
static struct regulator_consumer_supply omap3_evm_vdda_dac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
/* VDAC for DSS driving S-Video */
static struct regulator_init_data omap3_evm_vdac = {
@@ -560,8 +560,10 @@ static struct regulator_init_data omap3_evm_vdac = {
};
/* VPLL2 for digital video outputs */
-static struct regulator_consumer_supply omap3_evm_vpll2_supply =
- REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply omap3_evm_vpll2_supplies[] = {
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+};
static struct regulator_init_data omap3_evm_vpll2 = {
.constraints = {
@@ -573,8 +575,8 @@ static struct regulator_init_data omap3_evm_vpll2 = {
.valid_ops_mask = REGULATOR_CHANGE_MODE
| REGULATOR_CHANGE_STATUS,
},
- .num_consumer_supplies = 1,
- .consumer_supplies = &omap3_evm_vpll2_supply,
+ .num_consumer_supplies = ARRAY_SIZE(omap3_evm_vpll2_supplies),
+ .consumer_supplies = omap3_evm_vpll2_supplies,
};
/* ads7846 on SPI */

arch/arm/mach-omap2/board-omap3pandora.c

View file
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index 2e5dc21..07dba88 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -342,11 +342,12 @@ static struct regulator_consumer_supply pandora_vmmc3_supply =
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2");
static struct regulator_consumer_supply pandora_vdda_dac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
static struct regulator_consumer_supply pandora_vdds_supplies[] = {
REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
};
static struct regulator_consumer_supply pandora_vcc_lcd_supply =

arch/arm/mach-omap2/board-omap3stalker.c

View file
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index 8ebdbc3..a6e0b91 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -439,7 +439,7 @@ static struct twl4030_codec_data omap3stalker_codec_data = {
};
static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply =
- REGULATOR_SUPPLY("vdda_dac", "omapdss");
+ REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
/* VDAC for DSS driving S-Video */
static struct regulator_init_data omap3_stalker_vdac = {
@@ -457,8 +457,10 @@ static struct regulator_init_data omap3_stalker_vdac = {
};
/* VPLL2 for digital video outputs */
-static struct regulator_consumer_supply omap3_stalker_vpll2_supply =
- REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+static struct regulator_consumer_supply omap3_stalker_vpll2_supplies[] = {
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+};
static struct regulator_init_data omap3_stalker_vpll2 = {
.constraints = {
@@ -471,8 +473,8 @@ static struct regulator_init_data omap3_stalker_vpll2 = {
.valid_ops_mask = REGULATOR_CHANGE_MODE
| REGULATOR_CHANGE_STATUS,
},
- .num_consumer_supplies = 1,
- .consumer_supplies = &omap3_stalker_vpll2_supply,
+ .num_consumer_supplies = ARRAY_SIZE(omap3_stalker_vpll2_supplies),
+ .consumer_supplies = omap3_stalker_vpll2_supplies,
};
static struct twl4030_platform_data omap3stalker_twldata = {

arch/arm/mach-omap2/board-omap4panda.c

View file
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 0f4d8a7..209cffb 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -34,11 +34,13 @@
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
+#include <plat/display.h>
#include <plat/board.h>
#include <plat/common.h>
#include <plat/usb.h>
#include <plat/mmc.h>
+#include <plat/panel-generic-dpi.h>
#include "timer-gp.h"
#include "hsmmc.h"
@@ -49,6 +51,8 @@
#define GPIO_HUB_NRESET 62
#define GPIO_WIFI_PMENA 43
#define GPIO_WIFI_IRQ 53
+#define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */
+#define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */
/* wl127x BT, FM, GPS connectivity chip */
static int wl1271_gpios[] = {46, -1, -1};
@@ -433,6 +437,17 @@ static struct i2c_board_info __initdata omap4_panda_i2c_boardinfo[] = {
.platform_data = &omap4_panda_twldata,
},
};
+
+/*
+ * Display monitor features are burnt in their EEPROM as EDID data. The EEPROM
+ * is connected as I2C slave device, and can be accessed at address 0x50
+ */
+static struct i2c_board_info __initdata panda_i2c_eeprom[] = {
+ {
+ I2C_BOARD_INFO("eeprom", 0x50),
+ },
+};
+
static int __init omap4_panda_i2c_init(void)
{
/*
@@ -442,7 +457,12 @@ static int __init omap4_panda_i2c_init(void)
omap_register_i2c_bus(1, 400, omap4_panda_i2c_boardinfo,
ARRAY_SIZE(omap4_panda_i2c_boardinfo));
omap_register_i2c_bus(2, 400, NULL, 0);
- omap_register_i2c_bus(3, 400, NULL, 0);
+ /*
+ * Bus 3 is attached to the DVI port where devices like the pico DLP
+ * projector don't work reliably with 400kHz
+ */
+ omap_register_i2c_bus(3, 100, panda_i2c_eeprom,
+ ARRAY_SIZE(panda_i2c_eeprom));
omap_register_i2c_bus(4, 400, NULL, 0);
return 0;
}
@@ -462,6 +482,64 @@ static struct omap_board_mux board_mux[] __initdata = {
OMAP4_MUX(SDMMC5_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
OMAP4_MUX(SDMMC5_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
OMAP4_MUX(SDMMC5_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
+ /* gpio 0 - TFP410 PD */
+ OMAP4_MUX(KPD_COL1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE3),
+ /* dispc2_data23 */
+ OMAP4_MUX(USBB2_ULPITLL_STP, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data22 */
+ OMAP4_MUX(USBB2_ULPITLL_DIR, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data21 */
+ OMAP4_MUX(USBB2_ULPITLL_NXT, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data20 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT0, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data19 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT1, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data18 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT2, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data15 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT3, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data14 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT4, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data13 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT5, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data12 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT6, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data11 */
+ OMAP4_MUX(USBB2_ULPITLL_DAT7, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data10 */
+ OMAP4_MUX(DPM_EMU3, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data9 */
+ OMAP4_MUX(DPM_EMU4, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data16 */
+ OMAP4_MUX(DPM_EMU5, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data17 */
+ OMAP4_MUX(DPM_EMU6, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_hsync */
+ OMAP4_MUX(DPM_EMU7, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_pclk */
+ OMAP4_MUX(DPM_EMU8, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_vsync */
+ OMAP4_MUX(DPM_EMU9, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_de */
+ OMAP4_MUX(DPM_EMU10, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data8 */
+ OMAP4_MUX(DPM_EMU11, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data7 */
+ OMAP4_MUX(DPM_EMU12, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data6 */
+ OMAP4_MUX(DPM_EMU13, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data5 */
+ OMAP4_MUX(DPM_EMU14, OMAP_PIN_OUTPUT | OMAP_MUX_MODE5),
+ /* dispc2_data4 */

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/board-overo.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/board-rx51-peripherals.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/board-zoom-peripherals.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/clock2420_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/clock2430_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/clock3xxx_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/clock44xx_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/display.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/omap_hwmod_2420_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/omap_hwmod_2430_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/plat-omap/include/plat/display.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/radeon/radeon_legacy_crtc.c

View file

This diff is incomplete. Download the complete patch.

drivers/mfd/sm501.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/arkfb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/atmel_lcdfb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/aty/radeon_base.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/aty/radeon_i2c.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/cg14.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/cg6.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/console/fbcon.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/console/tileblit.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/edid.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/ffb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/hecubafb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/hpfb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/metronomefb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap/blizzard.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap/hwa742.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/displays/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/displays/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/displays/panel-generic-dpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/displays/panel-lgphilips-lb035q02.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/displays/panel-taal.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dispc.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/display.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dss.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dss.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dss_features.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/dss_features.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/hdmi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/hdmi.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/hdmi_omap4_panel.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/manager.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/overlay.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/rfbi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/sdi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/dss/venc.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/omapfb/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/omap2/omapfb/omapfb-main.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/s3c-fb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/s3fb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/sh7760fb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/sh_mobile_lcdcfb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/sis/sis.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/sis/sis_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/sis/vgatypes.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/sm501fb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/svgalib.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/tcx.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/uvesafb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/vermilion/vermilion.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/vesafb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/vt8623fb.c

View file

This diff is incomplete. Download the complete patch.

include/linux/sm501.h

View file

This diff is incomplete. Download the complete patch.

include/linux/svga.h

View file

This diff is incomplete. Download the complete patch.

include/video/atmel_lcdc.h

View file

This diff is incomplete. Download the complete patch.