diff options
Diffstat (limited to 'recipes/linux/linux-omap-psp-2.6.32/dss2/beagle-dss2-support.diff')
-rwxr-xr-x | recipes/linux/linux-omap-psp-2.6.32/dss2/beagle-dss2-support.diff | 308 |
1 files changed, 0 insertions, 308 deletions
diff --git a/recipes/linux/linux-omap-psp-2.6.32/dss2/beagle-dss2-support.diff b/recipes/linux/linux-omap-psp-2.6.32/dss2/beagle-dss2-support.diff deleted file mode 100755 index 15d7971fa8..0000000000 --- a/recipes/linux/linux-omap-psp-2.6.32/dss2/beagle-dss2-support.diff +++ /dev/null @@ -1,308 +0,0 @@ ---- a/arch/arm/mach-omap2/board-omap3beagle.c -+++ b/arch/arm/mach-omap2/board-omap3beagle.c -@@ -30,6 +30,7 @@ - - #include <linux/regulator/machine.h> - #include <linux/i2c/twl4030.h> -+#include <linux/omapfb.h> - - #include <mach/hardware.h> - #include <asm/mach-types.h> -@@ -44,6 +45,7 @@ - #include <plat/mux.h> - #include <plat/usb.h> - #include <plat/timer-gp.h> -+#include <plat/display.h> - - #include "mmc-twl4030.h" - -@@ -115,15 +117,6 @@ - .gpio_wp = 29, - }, - {} /* Terminator */ --}; -- --static struct platform_device omap3_beagle_lcd_device = { -- .name = "omap3beagle_lcd", -- .id = -1, --}; -- --static struct omap_lcd_config omap3_beagle_lcd_config __initdata = { -- .ctrl_name = "internal", - }; - - static struct regulator_consumer_supply beagle_vmmc1_supply = { -@@ -179,16 +172,6 @@ - .pulldowns = BIT(2) | BIT(6) | BIT(7) | BIT(8) | BIT(13) - | BIT(15) | BIT(16) | BIT(17), - .setup = beagle_twl_gpio_setup, --}; -- --static struct regulator_consumer_supply beagle_vdac_supply = { -- .supply = "vdac", -- .dev = &omap3_beagle_lcd_device.dev, --}; -- --static struct regulator_consumer_supply beagle_vdvi_supply = { -- .supply = "vdvi", -- .dev = &omap3_beagle_lcd_device.dev, - }; - - /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ -@@ -221,35 +204,6 @@ - .consumer_supplies = &beagle_vsim_supply, - }; - --/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ --static struct regulator_init_data beagle_vdac = { -- .constraints = { -- .min_uV = 1800000, -- .max_uV = 1800000, -- .valid_modes_mask = REGULATOR_MODE_NORMAL -- | REGULATOR_MODE_STANDBY, -- .valid_ops_mask = REGULATOR_CHANGE_MODE -- | REGULATOR_CHANGE_STATUS, -- }, -- .num_consumer_supplies = 1, -- .consumer_supplies = &beagle_vdac_supply, --}; -- --/* VPLL2 for digital video outputs */ --static struct regulator_init_data beagle_vpll2 = { -- .constraints = { -- .name = "VDVI", -- .min_uV = 1800000, -- .max_uV = 1800000, -- .valid_modes_mask = REGULATOR_MODE_NORMAL -- | REGULATOR_MODE_STANDBY, -- .valid_ops_mask = REGULATOR_CHANGE_MODE -- | REGULATOR_CHANGE_STATUS, -- }, -- .num_consumer_supplies = 1, -- .consumer_supplies = &beagle_vdvi_supply, --}; -- - static struct twl4030_usb_data beagle_usb_data = { - .usb_mode = T2_USB_MODE_ULPI, - }; -@@ -262,39 +216,6 @@ - .audio_mclk = 26000000, - .audio = &beagle_audio_data, - }; -- --static struct twl4030_platform_data beagle_twldata = { -- .irq_base = TWL4030_IRQ_BASE, -- .irq_end = TWL4030_IRQ_END, -- -- /* platform_data for children goes here */ -- .usb = &beagle_usb_data, -- .gpio = &beagle_gpio_data, -- .codec = &beagle_codec_data, -- .vmmc1 = &beagle_vmmc1, -- .vsim = &beagle_vsim, -- .vdac = &beagle_vdac, -- .vpll2 = &beagle_vpll2, --}; -- --static struct i2c_board_info __initdata beagle_i2c_boardinfo[] = { -- { -- I2C_BOARD_INFO("twl4030", 0x48), -- .flags = I2C_CLIENT_WAKE, -- .irq = INT_34XX_SYS_NIRQ, -- .platform_data = &beagle_twldata, -- }, --}; -- --static int __init omap3_beagle_i2c_init(void) --{ -- omap_register_i2c_bus(1, 2600, beagle_i2c_boardinfo, -- ARRAY_SIZE(beagle_i2c_boardinfo)); -- /* 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, NULL, 0); -- return 0; --} - - static struct gpio_led gpio_leds[] = { - { -@@ -349,14 +270,156 @@ - }, - }; - --static struct omap_board_config_kernel omap3_beagle_config[] __initdata = { -- { OMAP_TAG_LCD, &omap3_beagle_lcd_config }, --}; -+/* DSS */ -+ -+static int beagle_enable_dvi(struct omap_dss_device *dssdev) -+{ -+ if (dssdev->reset_gpio != -1) -+ gpio_set_value(dssdev->reset_gpio, 1); -+ -+ return 0; -+} -+ -+static void beagle_disable_dvi(struct omap_dss_device *dssdev) -+{ -+ if (dssdev->reset_gpio != -1) -+ gpio_set_value(dssdev->reset_gpio, 0); -+} -+ -+static struct omap_dss_device beagle_dvi_device = { -+ .type = OMAP_DISPLAY_TYPE_DPI, -+ .name = "dvi", -+ .driver_name = "generic_panel", -+ .phy.dpi.data_lines = 24, -+ .reset_gpio = 170, -+ .platform_enable = beagle_enable_dvi, -+ .platform_disable = beagle_disable_dvi, -+}; -+ -+static int beagle_panel_enable_tv(struct omap_dss_device *dssdev) -+{ -+ return 0; -+} -+ -+static void beagle_panel_disable_tv(struct omap_dss_device *dssdev) -+{ -+} -+ -+static struct omap_dss_device beagle_tv_device = { -+ .name = "tv", -+ .driver_name = "venc", -+ .type = OMAP_DISPLAY_TYPE_VENC, -+ .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO, -+ .platform_enable = beagle_panel_enable_tv, -+ .platform_disable = beagle_panel_disable_tv, -+}; -+ -+static struct omap_dss_device *beagle_dss_devices[] = { -+ &beagle_dvi_device, -+ &beagle_tv_device, -+}; -+ -+static struct omap_dss_board_info beagle_dss_data = { -+ .num_devices = ARRAY_SIZE(beagle_dss_devices), -+ .devices = beagle_dss_devices, -+ .default_device = &beagle_dvi_device, -+}; -+ -+static struct platform_device beagle_dss_device = { -+ .name = "omapdss", -+ .id = -1, -+ .dev = { -+ .platform_data = &beagle_dss_data, -+ }, -+}; -+ -+static struct regulator_consumer_supply beagle_vdda_dac_supply = { -+ .supply = "vdda_dac", -+ .dev = &beagle_dss_device.dev, -+}; -+ -+static struct regulator_consumer_supply beagle_vdds_dsi_supply = { -+ .supply = "vdds_dsi", -+ .dev = &beagle_dss_device.dev, -+}; -+ -+static void __init beagle_display_init(void) -+{ -+ int r; -+ -+ r = gpio_request(beagle_dvi_device.reset_gpio, "DVI reset"); -+ if (r < 0) { -+ printk(KERN_ERR "Unable to get DVI reset GPIO\n"); -+ return; -+ } -+ -+ gpio_direction_output(beagle_dvi_device.reset_gpio, 0); -+} -+ -+/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ -+static struct regulator_init_data beagle_vdac = { -+ .constraints = { -+ .min_uV = 1800000, -+ .max_uV = 1800000, -+ .apply_uV = true, -+ .valid_modes_mask = REGULATOR_MODE_NORMAL -+ | REGULATOR_MODE_STANDBY, -+ .valid_ops_mask = REGULATOR_CHANGE_MODE -+ | REGULATOR_CHANGE_STATUS, -+ }, -+ .num_consumer_supplies = 1, -+ .consumer_supplies = &beagle_vdda_dac_supply, -+}; -+ -+/* VPLL2 for digital video outputs */ -+static struct regulator_init_data beagle_vpll2 = { -+ .constraints = { -+ .name = "VDVI", -+ .min_uV = 1800000, -+ .max_uV = 1800000, .valid_modes_mask = REGULATOR_MODE_NORMAL -+ | REGULATOR_MODE_STANDBY, -+ .valid_ops_mask = REGULATOR_CHANGE_MODE -+ | REGULATOR_CHANGE_STATUS, -+ }, -+ .num_consumer_supplies = 1, -+ .consumer_supplies = &beagle_vdds_dsi_supply, -+}; -+ -+static struct twl4030_platform_data beagle_twldata = { -+ .irq_base = TWL4030_IRQ_BASE, -+ .irq_end = TWL4030_IRQ_END, -+ -+ /* platform_data for children goes here */ -+ .usb = &beagle_usb_data, -+ .gpio = &beagle_gpio_data, -+ .vmmc1 = &beagle_vmmc1, -+ .vsim = &beagle_vsim, -+ .vdac = &beagle_vdac, -+ .vpll2 = &beagle_vpll2, -+}; -+ -+static struct i2c_board_info __initdata beagle_i2c1_boardinfo[] = { -+ { -+ I2C_BOARD_INFO("twl4030", 0x48), -+ .flags = I2C_CLIENT_WAKE, -+ .irq = INT_34XX_SYS_NIRQ, -+ .platform_data = &beagle_twldata, -+ }, -+}; -+ -+static int __init omap3_beagle_i2c_init(void) -+{ -+ omap_register_i2c_bus(1, 2600, beagle_i2c1_boardinfo, -+ ARRAY_SIZE(beagle_i2c1_boardinfo)); -+ /* 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, NULL, 0); -+ return 0; -+} -+ - - static void __init omap3_beagle_init_irq(void) - { -- omap_board_config = omap3_beagle_config; -- omap_board_config_size = ARRAY_SIZE(omap3_beagle_config); - omap2_init_common_hw(mt46h32m32lf6_sdrc_params, - mt46h32m32lf6_sdrc_params); - omap_init_irq(); -@@ -367,7 +430,7 @@ - } - - static struct platform_device *omap3_beagle_devices[] __initdata = { -- &omap3_beagle_lcd_device, -+ &beagle_dss_device, - &leds_gpio, - &keys_gpio, - }; -@@ -437,6 +500,8 @@ - usb_musb_init(); - usb_ehci_init(&ehci_pdata); - omap3beagle_flash_init(); -+ -+ beagle_display_init(); - - /* Ensure SDRC pins are mux'd for self-refresh */ - omap_cfg_reg(H16_34XX_SDRC_CKE0); - |