Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b71fb5c authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

Merge branch 'for-l-o-3.5'

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

Merge OMAP DSS related board file changes. The branch will also be
merged through linux-omap tree to solve conflicts.
parents 1dfafbc6 e4a9e94c
Loading
Loading
Loading
Loading
+4 −34
Original line number Original line Diff line number Diff line
@@ -37,7 +37,7 @@
#include <plat/dma.h>
#include <plat/dma.h>
#include <plat/gpmc.h>
#include <plat/gpmc.h>
#include <video/omapdss.h>
#include <video/omapdss.h>
#include <video/omap-panel-dvi.h>
#include <video/omap-panel-tfp410.h>


#include <plat/gpmc-smc91x.h>
#include <plat/gpmc-smc91x.h>


@@ -113,9 +113,6 @@ static struct gpio sdp3430_dss_gpios[] __initdata = {
	{SDP3430_LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW, "LCD Backlight"},
	{SDP3430_LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW, "LCD Backlight"},
};
};


static int lcd_enabled;
static int dvi_enabled;

static void __init sdp3430_display_init(void)
static void __init sdp3430_display_init(void)
{
{
	int r;
	int r;
@@ -129,44 +126,18 @@ static void __init sdp3430_display_init(void)


static int sdp3430_panel_enable_lcd(struct omap_dss_device *dssdev)
static int sdp3430_panel_enable_lcd(struct omap_dss_device *dssdev)
{
{
	if (dvi_enabled) {
		printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
		return -EINVAL;
	}

	gpio_direction_output(SDP3430_LCD_PANEL_ENABLE_GPIO, 1);
	gpio_direction_output(SDP3430_LCD_PANEL_ENABLE_GPIO, 1);
	gpio_direction_output(SDP3430_LCD_PANEL_BACKLIGHT_GPIO, 1);
	gpio_direction_output(SDP3430_LCD_PANEL_BACKLIGHT_GPIO, 1);


	lcd_enabled = 1;

	return 0;
	return 0;
}
}


static void sdp3430_panel_disable_lcd(struct omap_dss_device *dssdev)
static void sdp3430_panel_disable_lcd(struct omap_dss_device *dssdev)
{
{
	lcd_enabled = 0;

	gpio_direction_output(SDP3430_LCD_PANEL_ENABLE_GPIO, 0);
	gpio_direction_output(SDP3430_LCD_PANEL_ENABLE_GPIO, 0);
	gpio_direction_output(SDP3430_LCD_PANEL_BACKLIGHT_GPIO, 0);
	gpio_direction_output(SDP3430_LCD_PANEL_BACKLIGHT_GPIO, 0);
}
}


static int sdp3430_panel_enable_dvi(struct omap_dss_device *dssdev)
{
	if (lcd_enabled) {
		printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
		return -EINVAL;
	}

	dvi_enabled = 1;

	return 0;
}

static void sdp3430_panel_disable_dvi(struct omap_dss_device *dssdev)
{
	dvi_enabled = 0;
}

static int sdp3430_panel_enable_tv(struct omap_dss_device *dssdev)
static int sdp3430_panel_enable_tv(struct omap_dss_device *dssdev)
{
{
	return 0;
	return 0;
@@ -186,15 +157,14 @@ static struct omap_dss_device sdp3430_lcd_device = {
	.platform_disable	= sdp3430_panel_disable_lcd,
	.platform_disable	= sdp3430_panel_disable_lcd,
};
};


static struct panel_dvi_platform_data dvi_panel = {
static struct tfp410_platform_data dvi_panel = {
	.platform_enable	= sdp3430_panel_enable_dvi,
	.power_down_gpio	= -1,
	.platform_disable	= sdp3430_panel_disable_dvi,
};
};


static struct omap_dss_device sdp3430_dvi_device = {
static struct omap_dss_device sdp3430_dvi_device = {
	.name			= "dvi",
	.name			= "dvi",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.driver_name		= "dvi",
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
	.phy.dpi.data_lines	= 24,
};
};
+8 −29
Original line number Original line Diff line number Diff line
@@ -666,6 +666,10 @@ static struct nokia_dsi_panel_data dsi1_panel = {
		.use_ext_te	= false,
		.use_ext_te	= false,
		.ext_te_gpio	= 101,
		.ext_te_gpio	= 101,
		.esd_interval	= 0,
		.esd_interval	= 0,
		.pin_config = {
			.num_pins	= 6,
			.pins		= { 0, 1, 2, 3, 4, 5 },
		},
};
};


static struct omap_dss_device sdp4430_lcd_device = {
static struct omap_dss_device sdp4430_lcd_device = {
@@ -674,13 +678,6 @@ static struct omap_dss_device sdp4430_lcd_device = {
	.type			= OMAP_DISPLAY_TYPE_DSI,
	.type			= OMAP_DISPLAY_TYPE_DSI,
	.data			= &dsi1_panel,
	.data			= &dsi1_panel,
	.phy.dsi		= {
	.phy.dsi		= {
		.clk_lane	= 1,
		.clk_pol	= 0,
		.data1_lane	= 2,
		.data1_pol	= 0,
		.data2_lane	= 3,
		.data2_pol	= 0,

		.module		= 0,
		.module		= 0,
	},
	},


@@ -715,6 +712,10 @@ static struct nokia_dsi_panel_data dsi2_panel = {
		.use_ext_te	= false,
		.use_ext_te	= false,
		.ext_te_gpio	= 103,
		.ext_te_gpio	= 103,
		.esd_interval	= 0,
		.esd_interval	= 0,
		.pin_config = {
			.num_pins	= 6,
			.pins		= { 0, 1, 2, 3, 4, 5 },
		},
};
};


static struct omap_dss_device sdp4430_lcd2_device = {
static struct omap_dss_device sdp4430_lcd2_device = {
@@ -723,12 +724,6 @@ static struct omap_dss_device sdp4430_lcd2_device = {
	.type			= OMAP_DISPLAY_TYPE_DSI,
	.type			= OMAP_DISPLAY_TYPE_DSI,
	.data			= &dsi2_panel,
	.data			= &dsi2_panel,
	.phy.dsi		= {
	.phy.dsi		= {
		.clk_lane	= 1,
		.clk_pol	= 0,
		.data1_lane	= 2,
		.data1_pol	= 0,
		.data2_lane	= 3,
		.data2_pol	= 0,


		.module		= 1,
		.module		= 1,
	},
	},
@@ -758,21 +753,6 @@ static struct omap_dss_device sdp4430_lcd2_device = {
	.channel		= OMAP_DSS_CHANNEL_LCD2,
	.channel		= OMAP_DSS_CHANNEL_LCD2,
};
};


static void sdp4430_lcd_init(void)
{
	int r;

	r = gpio_request_one(dsi1_panel.reset_gpio, GPIOF_DIR_OUT,
		"lcd1_reset_gpio");
	if (r)
		pr_err("%s: Could not get lcd1_reset_gpio\n", __func__);

	r = gpio_request_one(dsi2_panel.reset_gpio, GPIOF_DIR_OUT,
		"lcd2_reset_gpio");
	if (r)
		pr_err("%s: Could not get lcd2_reset_gpio\n", __func__);
}

static struct omap_dss_hdmi_data sdp4430_hdmi_data = {
static struct omap_dss_hdmi_data sdp4430_hdmi_data = {
	.hpd_gpio = HDMI_GPIO_HPD,
	.hpd_gpio = HDMI_GPIO_HPD,
};
};
@@ -858,7 +838,6 @@ static void __init omap_4430sdp_display_init(void)
	if (r)
	if (r)
		pr_err("%s: Could not get display_sel GPIO\n", __func__);
		pr_err("%s: Could not get display_sel GPIO\n", __func__);


	sdp4430_lcd_init();
	sdp4430_picodlp_init();
	sdp4430_picodlp_init();
	omap_display_init(&sdp4430_dss_data);
	omap_display_init(&sdp4430_dss_data);
	/*
	/*
+4 −21
Original line number Original line Diff line number Diff line
@@ -37,7 +37,7 @@
#include <plat/usb.h>
#include <plat/usb.h>
#include <video/omapdss.h>
#include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-dvi.h>
#include <video/omap-panel-tfp410.h>


#include "am35xx-emac.h"
#include "am35xx-emac.h"
#include "mux.h"
#include "mux.h"
@@ -207,31 +207,14 @@ static struct omap_dss_device am3517_evm_tv_device = {
	.platform_disable	= am3517_evm_panel_disable_tv,
	.platform_disable	= am3517_evm_panel_disable_tv,
};
};


static int am3517_evm_panel_enable_dvi(struct omap_dss_device *dssdev)
static struct tfp410_platform_data dvi_panel = {
{
	.power_down_gpio	= -1,
	if (lcd_enabled) {
		printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
		return -EINVAL;
	}
	dvi_enabled = 1;

	return 0;
}

static void am3517_evm_panel_disable_dvi(struct omap_dss_device *dssdev)
{
	dvi_enabled = 0;
}

static struct panel_dvi_platform_data dvi_panel = {
	.platform_enable	= am3517_evm_panel_enable_dvi,
	.platform_disable	= am3517_evm_panel_disable_dvi,
};
};


static struct omap_dss_device am3517_evm_dvi_device = {
static struct omap_dss_device am3517_evm_dvi_device = {
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.name			= "dvi",
	.name			= "dvi",
	.driver_name		= "dvi",
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
	.phy.dpi.data_lines	= 24,
};
};
+4 −26
Original line number Original line Diff line number Diff line
@@ -44,7 +44,7 @@
#include <plat/usb.h>
#include <plat/usb.h>
#include <video/omapdss.h>
#include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-dvi.h>
#include <video/omap-panel-tfp410.h>
#include <plat/mcspi.h>
#include <plat/mcspi.h>


#include <mach/hardware.h>
#include <mach/hardware.h>
@@ -218,25 +218,6 @@ static void cm_t35_panel_disable_lcd(struct omap_dss_device *dssdev)
	gpio_set_value(CM_T35_LCD_EN_GPIO, 0);
	gpio_set_value(CM_T35_LCD_EN_GPIO, 0);
}
}


static int cm_t35_panel_enable_dvi(struct omap_dss_device *dssdev)
{
	if (lcd_enabled) {
		printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
		return -EINVAL;
	}

	gpio_set_value(CM_T35_DVI_EN_GPIO, 0);
	dvi_enabled = 1;

	return 0;
}

static void cm_t35_panel_disable_dvi(struct omap_dss_device *dssdev)
{
	gpio_set_value(CM_T35_DVI_EN_GPIO, 1);
	dvi_enabled = 0;
}

static int cm_t35_panel_enable_tv(struct omap_dss_device *dssdev)
static int cm_t35_panel_enable_tv(struct omap_dss_device *dssdev)
{
{
	return 0;
	return 0;
@@ -260,15 +241,14 @@ static struct omap_dss_device cm_t35_lcd_device = {
	.phy.dpi.data_lines	= 18,
	.phy.dpi.data_lines	= 18,
};
};


static struct panel_dvi_platform_data dvi_panel = {
static struct tfp410_platform_data dvi_panel = {
	.platform_enable	= cm_t35_panel_enable_dvi,
	.power_down_gpio	= CM_T35_DVI_EN_GPIO,
	.platform_disable	= cm_t35_panel_disable_dvi,
};
};


static struct omap_dss_device cm_t35_dvi_device = {
static struct omap_dss_device cm_t35_dvi_device = {
	.name			= "dvi",
	.name			= "dvi",
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.type			= OMAP_DISPLAY_TYPE_DPI,
	.driver_name		= "dvi",
	.driver_name		= "tfp410",
	.data			= &dvi_panel,
	.data			= &dvi_panel,
	.phy.dpi.data_lines	= 24,
	.phy.dpi.data_lines	= 24,
};
};
@@ -316,7 +296,6 @@ static struct spi_board_info cm_t35_lcd_spi_board_info[] __initdata = {
static struct gpio cm_t35_dss_gpios[] __initdata = {
static struct gpio cm_t35_dss_gpios[] __initdata = {
	{ CM_T35_LCD_EN_GPIO, GPIOF_OUT_INIT_LOW,  "lcd enable"    },
	{ CM_T35_LCD_EN_GPIO, GPIOF_OUT_INIT_LOW,  "lcd enable"    },
	{ CM_T35_LCD_BL_GPIO, GPIOF_OUT_INIT_LOW,  "lcd bl enable" },
	{ CM_T35_LCD_BL_GPIO, GPIOF_OUT_INIT_LOW,  "lcd bl enable" },
	{ CM_T35_DVI_EN_GPIO, GPIOF_OUT_INIT_HIGH, "dvi enable"    },
};
};


static void __init cm_t35_init_display(void)
static void __init cm_t35_init_display(void)
@@ -335,7 +314,6 @@ static void __init cm_t35_init_display(void)


	gpio_export(CM_T35_LCD_EN_GPIO, 0);
	gpio_export(CM_T35_LCD_EN_GPIO, 0);
	gpio_export(CM_T35_LCD_BL_GPIO, 0);
	gpio_export(CM_T35_LCD_BL_GPIO, 0);
	gpio_export(CM_T35_DVI_EN_GPIO, 0);


	msleep(50);
	msleep(50);
	gpio_set_value(CM_T35_LCD_EN_GPIO, 1);
	gpio_set_value(CM_T35_LCD_EN_GPIO, 1);
+5 −25
Original line number Original line Diff line number Diff line
@@ -47,7 +47,7 @@
#include <plat/usb.h>
#include <plat/usb.h>
#include <video/omapdss.h>
#include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-dvi.h>
#include <video/omap-panel-tfp410.h>


#include <plat/mcspi.h>
#include <plat/mcspi.h>
#include <linux/input/matrix_keypad.h>
#include <linux/input/matrix_keypad.h>
@@ -118,19 +118,6 @@ static void devkit8000_panel_disable_lcd(struct omap_dss_device *dssdev)
		gpio_set_value_cansleep(dssdev->reset_gpio, 0);
		gpio_set_value_cansleep(dssdev->reset_gpio, 0);
}
}


static int devkit8000_panel_enable_dvi(struct omap_dss_device *dssdev)
{
	if (gpio_is_valid(dssdev->reset_gpio))
		gpio_set_value_cansleep(dssdev->reset_gpio, 1);
	return 0;
}

static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
{
	if (gpio_is_valid(dssdev->reset_gpio))
		gpio_set_value_cansleep(dssdev->reset_gpio, 0);
}

static struct regulator_consumer_supply devkit8000_vmmc1_supply[] = {
static struct regulator_consumer_supply devkit8000_vmmc1_supply[] = {
	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
};
};
@@ -154,15 +141,14 @@ static struct omap_dss_device devkit8000_lcd_device = {
	.phy.dpi.data_lines     = 24,
	.phy.dpi.data_lines     = 24,
};
};


static struct panel_dvi_platform_data dvi_panel = {
static struct tfp410_platform_data dvi_panel = {
	.platform_enable        = devkit8000_panel_enable_dvi,
	.power_down_gpio	= -1,
	.platform_disable       = devkit8000_panel_disable_dvi,
};
};


static struct omap_dss_device devkit8000_dvi_device = {
static struct omap_dss_device devkit8000_dvi_device = {
	.name                   = "dvi",
	.name                   = "dvi",
	.type                   = OMAP_DISPLAY_TYPE_DPI,
	.type                   = OMAP_DISPLAY_TYPE_DPI,
	.driver_name            = "dvi",
	.driver_name            = "tfp410",
	.data			= &dvi_panel,
	.data			= &dvi_panel,
	.phy.dpi.data_lines     = 24,
	.phy.dpi.data_lines     = 24,
};
};
@@ -244,13 +230,7 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
	}
	}


	/* gpio + 7 is "DVI_PD" (out, active low) */
	/* gpio + 7 is "DVI_PD" (out, active low) */
	devkit8000_dvi_device.reset_gpio = gpio + 7;
	dvi_panel.power_down_gpio = gpio + 7;
	ret = gpio_request_one(devkit8000_dvi_device.reset_gpio,
			       GPIOF_OUT_INIT_LOW, "DVI PowerDown");
	if (ret < 0) {
		devkit8000_dvi_device.reset_gpio = -EINVAL;
		printk(KERN_ERR "Failed to request GPIO for DVI PowerDown\n");
	}


	return 0;
	return 0;
}
}
Loading