All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] OMAP DSS related board changes
@ 2011-09-20  8:18 Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 01/10] OMAP: DSS2: Change DSI device naming Tomi Valkeinen
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen

Hi Tony,

Here is a bunch of board file patches related to DSS. They have all been sent
for review earlier, and are currently in my tree. Some of them depend on DSS
driver changes, so I'd like to keep them there to avoid compilation errors
(these won't compile if you apply them without patches from DSS tree).

Can you give your ack for these? Alternatively we can see which of these could
go through your tree and I can make a new set.

 Tomi

Thomas Weber (1):
  OMAP: Devkit8000: Change lcd driver to AT070TN83

Tomi Valkeinen (9):
  OMAP: DSS2: Change DSI device naming
  OMAP4: TWL: Add common omapdss supplies
  OMAP: DSS2: HDMI: use default dividers
  OMAP: use dvi panel driver instead of generic-dpi
  OMAP: stalker: Remove LCD device from board file
  OMAP: Add DDC i2c_bus_num to board files
  OMAP: 4430SDP: Remove unneeded lcd config
  OMAP4: 4430SDP: Add panel support to board file
  OMAP4: 4430SDP: Add picodlp support to board file

 arch/arm/mach-omap2/board-3430sdp.c      |    7 +-
 arch/arm/mach-omap2/board-4430sdp.c      |  208 ++++++++++++++++++++++++++----
 arch/arm/mach-omap2/board-am3517evm.c    |    6 +-
 arch/arm/mach-omap2/board-cm-t35.c       |    6 +-
 arch/arm/mach-omap2/board-devkit8000.c   |   10 +-
 arch/arm/mach-omap2/board-igep0020.c     |    8 +-
 arch/arm/mach-omap2/board-omap3beagle.c  |    8 +-
 arch/arm/mach-omap2/board-omap3evm.c     |    7 +-
 arch/arm/mach-omap2/board-omap3pandora.c |    2 +-
 arch/arm/mach-omap2/board-omap3stalker.c |   40 +------
 arch/arm/mach-omap2/board-omap4panda.c   |    8 +-
 arch/arm/mach-omap2/board-overo.c        |    7 +-
 arch/arm/mach-omap2/display.c            |    6 +-
 arch/arm/mach-omap2/twl-common.c         |   11 ++-
 14 files changed, 230 insertions(+), 104 deletions(-)

-- 
1.7.4.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 01/10] OMAP: DSS2: Change DSI device naming
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 02/10] OMAP4: TWL: Add common omapdss supplies Tomi Valkeinen
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen, Archit Taneja

Currently, there are 2 differently named platform devices generated for
the 2 DSS DSI modules. In order to use the same driver, the dsi devices
should be 2 instances of the same platform device.

Change the platform device names from "omapdss_dsi1" and "omapdss_dsi2"
to omapdss_dsi", and set the device indices to 0 and 1.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-devkit8000.c   |    2 +-
 arch/arm/mach-omap2/board-omap3pandora.c |    2 +-
 arch/arm/mach-omap2/display.c            |    6 +++---
 arch/arm/mach-omap2/twl-common.c         |    2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index b6002ec..d3941e6 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -267,7 +267,7 @@ static struct twl4030_gpio_platform_data devkit8000_gpio_data = {
 
 static struct regulator_consumer_supply devkit8000_vpll1_supplies[] = {
 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
 };
 
 /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index 080d7bd..3f10001 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -335,7 +335,7 @@ static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
 static struct regulator_consumer_supply pandora_vdds_supplies[] = {
 	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
 };
 
 static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = {
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index a5b7a23..c42df11 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -61,7 +61,7 @@ static const struct omap_dss_hwmod_data omap3_dss_hwmod_data[] __initdata = {
 	{ "dss_dispc", "omapdss_dispc", -1 },
 	{ "dss_rfbi", "omapdss_rfbi", -1 },
 	{ "dss_venc", "omapdss_venc", -1 },
-	{ "dss_dsi1", "omapdss_dsi1", -1 },
+	{ "dss_dsi1", "omapdss_dsi", 0 },
 };
 
 static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initdata = {
@@ -69,8 +69,8 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initdata = {
 	{ "dss_dispc", "omapdss_dispc", -1 },
 	{ "dss_rfbi", "omapdss_rfbi", -1 },
 	{ "dss_venc", "omapdss_venc", -1 },
-	{ "dss_dsi1", "omapdss_dsi1", -1 },
-	{ "dss_dsi2", "omapdss_dsi2", -1 },
+	{ "dss_dsi1", "omapdss_dsi", 0 },
+	{ "dss_dsi2", "omapdss_dsi", 1 },
 	{ "dss_hdmi", "omapdss_hdmi", -1 },
 };
 
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index daa056e..4f6d216 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -99,7 +99,7 @@ static struct regulator_init_data omap3_vdac_idata = {
 
 static struct regulator_consumer_supply omap3_vpll2_supplies[] = {
 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
 };
 
 static struct regulator_init_data omap3_vpll2_idata = {
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 02/10] OMAP4: TWL: Add common omapdss supplies
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 01/10] OMAP: DSS2: Change DSI device naming Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83 Tomi Valkeinen
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen

OMAP DSS normally gets power from VCXIO on OMAP4. Add configuration for
this into twl-common.c

Mark VCXIO as always_on, as VCXIO is used by multiple components,
including the MPU, and turning it off when DSS doesn't need it would
lead the device to halt.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/twl-common.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index 4f6d216..52243577 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -235,6 +235,12 @@ static struct regulator_init_data omap4_vana_idata = {
 	},
 };
 
+static struct regulator_consumer_supply omap4_vcxio_supply[] = {
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dss"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.0"),
+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi.1"),
+};
+
 static struct regulator_init_data omap4_vcxio_idata = {
 	.constraints = {
 		.min_uV			= 1800000,
@@ -243,7 +249,10 @@ static struct regulator_init_data omap4_vcxio_idata = {
 					| REGULATOR_MODE_STANDBY,
 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
 					| REGULATOR_CHANGE_STATUS,
+		.always_on		= true,
 	},
+	.num_consumer_supplies	= ARRAY_SIZE(omap4_vcxio_supply),
+	.consumer_supplies	= omap4_vcxio_supply,
 };
 
 static struct regulator_init_data omap4_vusb_idata = {
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 01/10] OMAP: DSS2: Change DSI device naming Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 02/10] OMAP4: TWL: Add common omapdss supplies Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20 12:35   ` Thomas Weber
  2011-09-20  8:18 ` [PATCH 04/10] OMAP: DSS2: HDMI: use default dividers Tomi Valkeinen
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Thomas Weber, Tomi Valkeinen

From: Thomas Weber <weber@corscience.de>

Change lcd driver from generic to AT070TN83.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-devkit8000.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index d3941e6..da5057e 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -139,7 +139,7 @@ static struct regulator_consumer_supply devkit8000_vio_supply[] = {
 };
 
 static struct panel_generic_dpi_data lcd_panel = {
-	.name			= "generic",
+	.name			= "innolux_at070tn83",
 	.platform_enable        = devkit8000_panel_enable_lcd,
 	.platform_disable       = devkit8000_panel_disable_lcd,
 };
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 04/10] OMAP: DSS2: HDMI: use default dividers
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (2 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83 Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 05/10] OMAP: use dvi panel driver instead of generic-dpi Tomi Valkeinen
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen, Mythri P K

Use default regn and regm2 dividers in the hdmi driver if the board file
does not define them.

Cc: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-4430sdp.c |    9 ---------
 1 files changed, 0 insertions(+), 9 deletions(-)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index c7cef44..79c2827 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -652,15 +652,6 @@ static struct omap_dss_device sdp4430_hdmi_device = {
 	.name = "hdmi",
 	.driver_name = "hdmi_panel",
 	.type = OMAP_DISPLAY_TYPE_HDMI,
-	.clocks	= {
-		.dispc	= {
-			.dispc_fclk_src	= OMAP_DSS_CLK_SRC_FCK,
-		},
-		.hdmi	= {
-			.regn	= 15,
-			.regm2	= 1,
-		},
-	},
 	.platform_enable = sdp4430_panel_enable_hdmi,
 	.platform_disable = sdp4430_panel_disable_hdmi,
 	.channel = OMAP_DSS_CHANNEL_DIGIT,
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 05/10] OMAP: use dvi panel driver instead of generic-dpi
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (3 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 04/10] OMAP: DSS2: HDMI: use default dividers Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 06/10] OMAP: stalker: Remove LCD device from board file Tomi Valkeinen
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen

Multiple OMAP3/4 boards have a DVI framer output. This patch makes the
boards use the new panel-dvi driver, instead of the panel-generic-dpi
driver.

Separate drivers for fixed size panels and DVI framer gives us cleaner
driver code.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-3430sdp.c      |    7 +++----
 arch/arm/mach-omap2/board-am3517evm.c    |    6 +++---
 arch/arm/mach-omap2/board-cm-t35.c       |    6 +++---
 arch/arm/mach-omap2/board-devkit8000.c   |    6 +++---
 arch/arm/mach-omap2/board-igep0020.c     |    7 +++----
 arch/arm/mach-omap2/board-omap3beagle.c  |    7 +++----
 arch/arm/mach-omap2/board-omap3evm.c     |    7 +++----
 arch/arm/mach-omap2/board-omap3stalker.c |    6 +++---
 arch/arm/mach-omap2/board-omap4panda.c   |    7 +++----
 arch/arm/mach-omap2/board-overo.c        |    6 +++---
 10 files changed, 30 insertions(+), 35 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index bd600cf..18c4d19 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -37,7 +37,7 @@
 #include <plat/dma.h>
 #include <plat/gpmc.h>
 #include <video/omapdss.h>
-#include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 
 #include <plat/gpmc-smc91x.h>
 
@@ -186,8 +186,7 @@ static struct omap_dss_device sdp3430_lcd_device = {
 	.platform_disable	= sdp3430_panel_disable_lcd,
 };
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= sdp3430_panel_enable_dvi,
 	.platform_disable	= sdp3430_panel_disable_dvi,
 };
@@ -195,7 +194,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device sdp3430_dvi_device = {
 	.name			= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
index f3006c3..9a68ef5 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -36,6 +36,7 @@
 #include <plat/usb.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 
 #include "mux.h"
 #include "control.h"
@@ -333,8 +334,7 @@ static void am3517_evm_panel_disable_dvi(struct omap_dss_device *dssdev)
 	dvi_enabled = 0;
 }
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= am3517_evm_panel_enable_dvi,
 	.platform_disable	= am3517_evm_panel_disable_dvi,
 };
@@ -342,7 +342,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device am3517_evm_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 3af8aab..2d112bf 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -43,6 +43,7 @@
 #include <plat/usb.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 #include <plat/mcspi.h>
 
 #include <mach/hardware.h>
@@ -242,8 +243,7 @@ static struct omap_dss_device cm_t35_lcd_device = {
 	.phy.dpi.data_lines	= 18,
 };
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= cm_t35_panel_enable_dvi,
 	.platform_disable	= cm_t35_panel_disable_dvi,
 };
@@ -251,7 +251,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device cm_t35_dvi_device = {
 	.name			= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index da5057e..44da207 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -47,6 +47,7 @@
 #include <plat/usb.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 
 #include <plat/mcspi.h>
 #include <linux/input/matrix_keypad.h>
@@ -152,8 +153,7 @@ static struct omap_dss_device devkit8000_lcd_device = {
 	.phy.dpi.data_lines     = 24,
 };
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable        = devkit8000_panel_enable_dvi,
 	.platform_disable       = devkit8000_panel_disable_dvi,
 };
@@ -161,7 +161,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device devkit8000_dvi_device = {
 	.name                   = "dvi",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
-	.driver_name            = "generic_dpi_panel",
+	.driver_name            = "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines     = 24,
 };
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 35be778..9fda8d8 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -32,7 +32,7 @@
 #include <plat/gpmc.h>
 #include <plat/usb.h>
 #include <video/omapdss.h>
-#include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 #include <plat/onenand.h>
 
 #include "mux.h"
@@ -455,8 +455,7 @@ static void igep2_disable_dvi(struct omap_dss_device *dssdev)
 	gpio_direction_output(IGEP2_GPIO_DVI_PUP, 0);
 }
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= igep2_enable_dvi,
 	.platform_disable	= igep2_disable_dvi,
 };
@@ -464,7 +463,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device igep2_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 3ae16b4..26bc860 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -42,7 +42,7 @@
 #include <plat/board.h>
 #include <plat/common.h>
 #include <video/omapdss.h>
-#include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 #include <plat/gpmc.h>
 #include <plat/nand.h>
 #include <plat/usb.h>
@@ -203,8 +203,7 @@ static void beagle_disable_dvi(struct omap_dss_device *dssdev)
 		gpio_set_value(dssdev->reset_gpio, 0);
 }
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name = "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable = beagle_enable_dvi,
 	.platform_disable = beagle_disable_dvi,
 };
@@ -212,7 +211,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device beagle_dvi_device = {
 	.type = OMAP_DISPLAY_TYPE_DPI,
 	.name = "dvi",
-	.driver_name = "generic_dpi_panel",
+	.driver_name = "dvi",
 	.data = &dvi_panel,
 	.phy.dpi.data_lines = 24,
 	.reset_gpio = -EINVAL,
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index c452b3f..82142c5 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -45,7 +45,7 @@
 #include <plat/common.h>
 #include <plat/mcspi.h>
 #include <video/omapdss.h>
-#include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 
 #include "mux.h"
 #include "sdram-micron-mt46h32m32lf-6.h"
@@ -247,8 +247,7 @@ static void omap3_evm_disable_dvi(struct omap_dss_device *dssdev)
 	dvi_enabled = 0;
 }
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= omap3_evm_enable_dvi,
 	.platform_disable	= omap3_evm_disable_dvi,
 };
@@ -256,7 +255,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device omap3_evm_dvi_device = {
 	.name			= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index 8e10498..8ab99f1 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -41,6 +41,7 @@
 #include <plat/usb.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 
 #include <plat/mcspi.h>
 #include <linux/input/matrix_keypad.h>
@@ -179,8 +180,7 @@ static void omap3_stalker_disable_dvi(struct omap_dss_device *dssdev)
 	dvi_enabled = 0;
 }
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= omap3_stalker_enable_dvi,
 	.platform_disable	= omap3_stalker_disable_dvi,
 };
@@ -188,7 +188,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device omap3_stalker_dvi_device = {
 	.name			= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 9aaa960..c35384e 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -40,7 +40,7 @@
 #include <plat/common.h>
 #include <plat/usb.h>
 #include <plat/mmc.h>
-#include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 
 #include "hsmmc.h"
 #include "control.h"
@@ -455,8 +455,7 @@ static void omap4_panda_disable_dvi(struct omap_dss_device *dssdev)
 }
 
 /* Using generic display panel */
-static struct panel_generic_dpi_data omap4_dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data omap4_dvi_panel = {
 	.platform_enable	= omap4_panda_enable_dvi,
 	.platform_disable	= omap4_panda_disable_dvi,
 };
@@ -464,7 +463,7 @@ static struct panel_generic_dpi_data omap4_dvi_panel = {
 struct omap_dss_device omap4_panda_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &omap4_dvi_panel,
 	.phy.dpi.data_lines	= 24,
 	.reset_gpio		= PANDA_DVI_TFP410_POWER_DOWN_GPIO,
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index f949a99..06064d5 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -46,6 +46,7 @@
 #include <plat/common.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-generic-dpi.h>
+#include <video/omap-panel-dvi.h>
 #include <plat/gpmc.h>
 #include <mach/hardware.h>
 #include <plat/nand.h>
@@ -182,8 +183,7 @@ static void overo_panel_disable_dvi(struct omap_dss_device *dssdev)
 	dvi_enabled = 0;
 }
 
-static struct panel_generic_dpi_data dvi_panel = {
-	.name			= "generic",
+static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= overo_panel_enable_dvi,
 	.platform_disable	= overo_panel_disable_dvi,
 };
@@ -191,7 +191,7 @@ static struct panel_generic_dpi_data dvi_panel = {
 static struct omap_dss_device overo_dvi_device = {
 	.name			= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
-	.driver_name		= "generic_dpi_panel",
+	.driver_name		= "dvi",
 	.data			= &dvi_panel,
 	.phy.dpi.data_lines	= 24,
 };
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 06/10] OMAP: stalker: Remove LCD device from board file
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (4 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 05/10] OMAP: use dvi panel driver instead of generic-dpi Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 07/10] OMAP: Add DDC i2c_bus_num to board files Tomi Valkeinen
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen, Jason Lam

OMAP3 Stalker board has definitions for LCD, but uses the generic driver
without any information what kind of LCD it has. The board should use a
particular panel type from panel-generic-dpi driver, not the generic
one.

As I haven't gotten response the signer-off of stalker board about the
issue, this patch removes the LCD support from the board file. This will
allow us to clean up the panel-generic-dpi driver and make it support
only fixed size panels.

CC: Jason Lam <lzg@ema-tech.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-omap3stalker.c |   34 ------------------------------
 1 files changed, 0 insertions(+), 34 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index 8ab99f1..106a2ba 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -108,39 +108,6 @@ static void __init omap3_stalker_display_init(void)
 	return;
 }
 
-static int omap3_stalker_enable_lcd(struct omap_dss_device *dssdev)
-{
-	if (dvi_enabled) {
-		printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
-		return -EINVAL;
-	}
-	gpio_set_value(DSS_ENABLE_GPIO, 1);
-	gpio_set_value(LCD_PANEL_BKLIGHT_GPIO, 1);
-	lcd_enabled = 1;
-	return 0;
-}
-
-static void omap3_stalker_disable_lcd(struct omap_dss_device *dssdev)
-{
-	gpio_set_value(DSS_ENABLE_GPIO, 0);
-	gpio_set_value(LCD_PANEL_BKLIGHT_GPIO, 0);
-	lcd_enabled = 0;
-}
-
-static struct panel_generic_dpi_data lcd_panel = {
-	.name			= "generic",
-	.platform_enable	= omap3_stalker_enable_lcd,
-	.platform_disable	= omap3_stalker_disable_lcd,
-};
-
-static struct omap_dss_device omap3_stalker_lcd_device = {
-	.name			= "lcd",
-	.driver_name		= "generic_dpi_panel",
-	.data			= &lcd_panel,
-	.phy.dpi.data_lines	= 24,
-	.type			= OMAP_DISPLAY_TYPE_DPI,
-};
-
 static int omap3_stalker_enable_tv(struct omap_dss_device *dssdev)
 {
 	return 0;
@@ -194,7 +161,6 @@ static struct omap_dss_device omap3_stalker_dvi_device = {
 };
 
 static struct omap_dss_device *omap3_stalker_dss_devices[] = {
-	&omap3_stalker_lcd_device,
 	&omap3_stalker_tv_device,
 	&omap3_stalker_dvi_device,
 };
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 07/10] OMAP: Add DDC i2c_bus_num to board files
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (5 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 06/10] OMAP: stalker: Remove LCD device from board file Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 08/10] OMAP: 4430SDP: Remove unneeded lcd config Tomi Valkeinen
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen

Add i2c bus number for DVI output for boards with DVI output where the
i2c bus has been confirmed to be connected and working. The driver uses
this to detect if a panel is connected and to read EDID.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-igep0020.c    |    1 +
 arch/arm/mach-omap2/board-omap3beagle.c |    1 +
 arch/arm/mach-omap2/board-omap4panda.c  |    1 +
 arch/arm/mach-omap2/board-overo.c       |    1 +
 4 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 9fda8d8..6ff5222 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -458,6 +458,7 @@ static void igep2_disable_dvi(struct omap_dss_device *dssdev)
 static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= igep2_enable_dvi,
 	.platform_disable	= igep2_disable_dvi,
+	.i2c_bus_num = 3,
 };
 
 static struct omap_dss_device igep2_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 26bc860..742ac45 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -206,6 +206,7 @@ static void beagle_disable_dvi(struct omap_dss_device *dssdev)
 static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable = beagle_enable_dvi,
 	.platform_disable = beagle_disable_dvi,
+	.i2c_bus_num = 3,
 };
 
 static struct omap_dss_device beagle_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index c35384e..a38ed273 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -458,6 +458,7 @@ static void omap4_panda_disable_dvi(struct omap_dss_device *dssdev)
 static struct panel_dvi_platform_data omap4_dvi_panel = {
 	.platform_enable	= omap4_panda_enable_dvi,
 	.platform_disable	= omap4_panda_disable_dvi,
+	.i2c_bus_num = 3,
 };
 
 struct omap_dss_device omap4_panda_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index 06064d5..da94376 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -186,6 +186,7 @@ static void overo_panel_disable_dvi(struct omap_dss_device *dssdev)
 static struct panel_dvi_platform_data dvi_panel = {
 	.platform_enable	= overo_panel_enable_dvi,
 	.platform_disable	= overo_panel_disable_dvi,
+	.i2c_bus_num		= 3,
 };
 
 static struct omap_dss_device overo_dvi_device = {
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 08/10] OMAP: 4430SDP: Remove unneeded lcd config
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (6 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 07/10] OMAP: Add DDC i2c_bus_num to board files Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 09/10] OMAP4: 4430SDP: Add panel support to board file Tomi Valkeinen
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen

4430SDP board file contains some unused old LCD configurations. They are
not used and can be removed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-4430sdp.c |   17 -----------------
 1 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 79c2827..62ec9f5 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -340,11 +340,6 @@ static int __init omap_ethernet_init(void)
 	return status;
 }
 
-static struct platform_device sdp4430_lcd_device = {
-	.name		= "sdp4430_lcd",
-	.id		= -1,
-};
-
 static struct regulator_consumer_supply sdp4430_vbat_supply[] = {
 	REGULATOR_SUPPLY("vddvibl", "twl6040-vibra"),
 	REGULATOR_SUPPLY("vddvibr", "twl6040-vibra"),
@@ -374,21 +369,12 @@ static struct platform_device sdp4430_vbat = {
 };
 
 static struct platform_device *sdp4430_devices[] __initdata = {
-	&sdp4430_lcd_device,
 	&sdp4430_gpio_keys_device,
 	&sdp4430_leds_gpio,
 	&sdp4430_leds_pwm,
 	&sdp4430_vbat,
 };
 
-static struct omap_lcd_config sdp4430_lcd_config __initdata = {
-	.ctrl_name	= "internal",
-};
-
-static struct omap_board_config_kernel sdp4430_config[] __initdata = {
-	{ OMAP_TAG_LCD,		&sdp4430_lcd_config },
-};
-
 static void __init omap_4430sdp_init_early(void)
 {
 	omap2_init_common_infrastructure();
@@ -793,9 +779,6 @@ static void __init omap_4430sdp_init(void)
 		package = OMAP_PACKAGE_CBL;
 	omap4_mux_init(board_mux, NULL, package);
 
-	omap_board_config = sdp4430_config;
-	omap_board_config_size = ARRAY_SIZE(sdp4430_config);
-
 	omap4_i2c_init();
 	omap_sfh7741prox_init();
 	platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 09/10] OMAP4: 4430SDP: Add panel support to board file
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (7 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 08/10] OMAP: 4430SDP: Remove unneeded lcd config Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-20  8:18 ` [PATCH 10/10] OMAP4: 4430SDP: Add picodlp " Tomi Valkeinen
  2011-09-26  6:37 ` [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen, Archit Taneja

4430SDP has two Taal DSI panels, connected to DSI 1 and DSI 2 modules.
The panels use a common PWM backlight, which will be implemented later
when the PWM driver has been improved to support the backlight.

Until the PWM driver has been improved, the following hack added to
arch/arm/mach-omap2/board-4430sdp.c can be used to set the backlight to
max:

static int omap_4430sdp_hack_backlight(void)
{
       twl_i2c_write_u8(TWL_MODULE_PWM, 0x7f, LED_PWM2OFF);
       twl_i2c_write_u8(TWL_MODULE_PWM, 0x7f, LED_PWM2ON);
       twl_i2c_write_u8(TWL6030_MODULE_ID1, 0x30, TWL6030_TOGGLE3);
       return 0;
}
late_initcall(omap_4430sdp_hack_backlight);

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-4430sdp.c |  130 ++++++++++++++++++++++++++++++++++-
 1 files changed, 128 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 62ec9f5..187fcae 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -38,6 +38,7 @@
 #include <plat/mmc.h>
 #include <plat/omap4-keypad.h>
 #include <video/omapdss.h>
+#include <video/omap-panel-nokia-dsi.h>
 #include <linux/wl12xx.h>
 
 #include "mux.h"
@@ -52,6 +53,7 @@
 #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 */
+#define DISPLAY_SEL_GPIO	59	/* LCD2/PicoDLP switch */
 
 #define GPIO_WIFI_PMENA		54
 #define GPIO_WIFI_IRQ		53
@@ -634,6 +636,119 @@ static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev)
 	gpio_free(HDMI_GPIO_HPD);
 }
 
+static struct nokia_dsi_panel_data dsi1_panel = {
+		.name		= "taal",
+		.reset_gpio	= 102,
+		.use_ext_te	= false,
+		.ext_te_gpio	= 101,
+		.esd_interval	= 0,
+};
+
+static struct omap_dss_device sdp4430_lcd_device = {
+	.name			= "lcd",
+	.driver_name		= "taal",
+	.type			= OMAP_DISPLAY_TYPE_DSI,
+	.data			= &dsi1_panel,
+	.phy.dsi		= {
+		.clk_lane	= 1,
+		.clk_pol	= 0,
+		.data1_lane	= 2,
+		.data1_pol	= 0,
+		.data2_lane	= 3,
+		.data2_pol	= 0,
+
+		.module		= 0,
+	},
+
+	.clocks = {
+		.dispc = {
+			.channel = {
+				/* Logic Clock = 172.8 MHz */
+				.lck_div	= 1,
+				/* Pixel Clock = 34.56 MHz */
+				.pck_div	= 5,
+				.lcd_clk_src	= OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
+			},
+			.dispc_fclk_src	= OMAP_DSS_CLK_SRC_FCK,
+		},
+
+		.dsi = {
+			.regn		= 16,	/* Fint = 2.4 MHz */
+			.regm		= 180,	/* DDR Clock = 216 MHz */
+			.regm_dispc	= 5,	/* PLL1_CLK1 = 172.8 MHz */
+			.regm_dsi	= 5,	/* PLL1_CLK2 = 172.8 MHz */
+
+			.lp_clk_div	= 10,	/* LP Clock = 8.64 MHz */
+			.dsi_fclk_src	= OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI,
+		},
+	},
+	.channel		= OMAP_DSS_CHANNEL_LCD,
+};
+
+static struct nokia_dsi_panel_data dsi2_panel = {
+		.name		= "taal",
+		.reset_gpio	= 104,
+		.use_ext_te	= false,
+		.ext_te_gpio	= 103,
+		.esd_interval	= 0,
+};
+
+static struct omap_dss_device sdp4430_lcd2_device = {
+	.name			= "lcd2",
+	.driver_name		= "taal",
+	.type			= OMAP_DISPLAY_TYPE_DSI,
+	.data			= &dsi2_panel,
+	.phy.dsi		= {
+		.clk_lane	= 1,
+		.clk_pol	= 0,
+		.data1_lane	= 2,
+		.data1_pol	= 0,
+		.data2_lane	= 3,
+		.data2_pol	= 0,
+
+		.module		= 1,
+	},
+
+	.clocks = {
+		.dispc = {
+			.channel = {
+				/* Logic Clock = 172.8 MHz */
+				.lck_div	= 1,
+				/* Pixel Clock = 34.56 MHz */
+				.pck_div	= 5,
+				.lcd_clk_src	= OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC,
+			},
+			.dispc_fclk_src	= OMAP_DSS_CLK_SRC_FCK,
+		},
+
+		.dsi = {
+			.regn		= 16,	/* Fint = 2.4 MHz */
+			.regm		= 180,	/* DDR Clock = 216 MHz */
+			.regm_dispc	= 5,	/* PLL1_CLK1 = 172.8 MHz */
+			.regm_dsi	= 5,	/* PLL1_CLK2 = 172.8 MHz */
+
+			.lp_clk_div	= 10,	/* LP Clock = 8.64 MHz */
+			.dsi_fclk_src	= OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI,
+		},
+	},
+	.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_device sdp4430_hdmi_device = {
 	.name = "hdmi",
 	.driver_name = "hdmi_panel",
@@ -644,17 +759,28 @@ static struct omap_dss_device sdp4430_hdmi_device = {
 };
 
 static struct omap_dss_device *sdp4430_dss_devices[] = {
+	&sdp4430_lcd_device,
+	&sdp4430_lcd2_device,
 	&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,
+	.default_device	= &sdp4430_lcd_device,
 };
 
-void omap_4430sdp_display_init(void)
+static void omap_4430sdp_display_init(void)
 {
+	int r;
+
+	/* Enable LCD2 by default (instead of Pico DLP) */
+	r = gpio_request_one(DISPLAY_SEL_GPIO, GPIOF_OUT_INIT_HIGH,
+			"display_sel");
+	if (r)
+		pr_err("%s: Could not get display_sel GPIO\n", __func__);
+
+	sdp4430_lcd_init();
 	sdp4430_hdmi_mux_init();
 	omap_display_init(&sdp4430_dss_data);
 }
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 10/10] OMAP4: 4430SDP: Add picodlp support to board file
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (8 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 09/10] OMAP4: 4430SDP: Add panel support to board file Tomi Valkeinen
@ 2011-09-20  8:18 ` Tomi Valkeinen
  2011-09-26  6:37 ` [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
  10 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20  8:18 UTC (permalink / raw)
  To: tony; +Cc: linux-omap, Tomi Valkeinen, Mayuresh Janorkar, Mythri P K

An on-board projector named picodlp is available for OMAP4430 SDP.

Entry for this picodlp as a panel is being added in dss_devices array to
the board file.  It needs 4 GPIO pins for interfacing with host
processor and these are defined and two of them are configured in board
file.  Two GPIOs power_on and display_select are configured here.
picodlp also needs an i2c client over i2c controller-2 at address 0x1b.

Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
Signed-off-by: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-4430sdp.c |   52 +++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 187fcae..d3874a6 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -39,6 +39,7 @@
 #include <plat/omap4-keypad.h>
 #include <video/omapdss.h>
 #include <video/omap-panel-nokia-dsi.h>
+#include <video/omap-panel-picodlp.h>
 #include <linux/wl12xx.h>
 
 #include "mux.h"
@@ -54,6 +55,7 @@
 #define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */
 #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */
 #define DISPLAY_SEL_GPIO	59	/* LCD2/PicoDLP switch */
+#define DLP_POWER_ON_GPIO	40
 
 #define GPIO_WIFI_PMENA		54
 #define GPIO_WIFI_IRQ		53
@@ -758,10 +760,59 @@ static struct omap_dss_device sdp4430_hdmi_device = {
 	.channel = OMAP_DSS_CHANNEL_DIGIT,
 };
 
+static struct picodlp_panel_data sdp4430_picodlp_pdata = {
+	.picodlp_adapter_id	= 2,
+	.emu_done_gpio		= 44,
+	.pwrgood_gpio		= 45,
+};
+
+static void sdp4430_picodlp_init(void)
+{
+	int r;
+	const struct gpio picodlp_gpios[] = {
+		{DLP_POWER_ON_GPIO, GPIOF_OUT_INIT_LOW,
+			"DLP POWER ON"},
+		{sdp4430_picodlp_pdata.emu_done_gpio, GPIOF_IN,
+			"DLP EMU DONE"},
+		{sdp4430_picodlp_pdata.pwrgood_gpio, GPIOF_OUT_INIT_LOW,
+			"DLP PWRGOOD"},
+	};
+
+	r = gpio_request_array(picodlp_gpios, ARRAY_SIZE(picodlp_gpios));
+	if (r)
+		pr_err("Cannot request PicoDLP GPIOs, error %d\n", r);
+}
+
+static int sdp4430_panel_enable_picodlp(struct omap_dss_device *dssdev)
+{
+	gpio_set_value(DISPLAY_SEL_GPIO, 0);
+	gpio_set_value(DLP_POWER_ON_GPIO, 1);
+
+	return 0;
+}
+
+static void sdp4430_panel_disable_picodlp(struct omap_dss_device *dssdev)
+{
+	gpio_set_value(DLP_POWER_ON_GPIO, 0);
+	gpio_set_value(DISPLAY_SEL_GPIO, 1);
+}
+
+static struct omap_dss_device sdp4430_picodlp_device = {
+	.name			= "picodlp",
+	.driver_name		= "picodlp_panel",
+	.type			= OMAP_DISPLAY_TYPE_DPI,
+	.phy.dpi.data_lines	= 24,
+	.channel		= OMAP_DSS_CHANNEL_LCD2,
+	.platform_enable	= sdp4430_panel_enable_picodlp,
+	.platform_disable	= sdp4430_panel_disable_picodlp,
+	.data			= &sdp4430_picodlp_pdata,
+};
+
 static struct omap_dss_device *sdp4430_dss_devices[] = {
 	&sdp4430_lcd_device,
 	&sdp4430_lcd2_device,
 	&sdp4430_hdmi_device,
+	&sdp4430_picodlp_device,
 };
 
 static struct omap_dss_board_info sdp4430_dss_data = {
@@ -782,6 +833,7 @@ static void omap_4430sdp_display_init(void)
 
 	sdp4430_lcd_init();
 	sdp4430_hdmi_mux_init();
+	sdp4430_picodlp_init();
 	omap_display_init(&sdp4430_dss_data);
 }
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83
  2011-09-20  8:18 ` [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83 Tomi Valkeinen
@ 2011-09-20 12:35   ` Thomas Weber
  2011-09-20 12:37     ` Tomi Valkeinen
  0 siblings, 1 reply; 17+ messages in thread
From: Thomas Weber @ 2011-09-20 12:35 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: tony, linux-omap

Hello Tomi,

I'm missing the following patch:
OMAP: DSS2: Support for Innolux AT070TN83

http://www.spinics.net/lists/linux-omap/msg56495.html

Thomas

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83
  2011-09-20 12:35   ` Thomas Weber
@ 2011-09-20 12:37     ` Tomi Valkeinen
  0 siblings, 0 replies; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-20 12:37 UTC (permalink / raw)
  To: Thomas Weber; +Cc: tony, linux-omap

Hi Thomas,

On Tue, 2011-09-20 at 14:35 +0200, Thomas Weber wrote:
> Hello Tomi,
> 
> I'm missing the following patch:
> OMAP: DSS2: Support for Innolux AT070TN83

That patch is in my DSS2 tree. This patch series is only board file
changes for Tony to ack.

 Tomi



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/10] OMAP DSS related board changes
  2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
                   ` (9 preceding siblings ...)
  2011-09-20  8:18 ` [PATCH 10/10] OMAP4: 4430SDP: Add picodlp " Tomi Valkeinen
@ 2011-09-26  6:37 ` Tomi Valkeinen
  2011-09-29 17:52   ` Tony Lindgren
  10 siblings, 1 reply; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-26  6:37 UTC (permalink / raw)
  To: tony; +Cc: linux-omap

On Tue, 2011-09-20 at 11:18 +0300, Tomi Valkeinen wrote:
> Hi Tony,
> 
> Here is a bunch of board file patches related to DSS. They have all been sent
> for review earlier, and are currently in my tree. Some of them depend on DSS
> driver changes, so I'd like to keep them there to avoid compilation errors
> (these won't compile if you apply them without patches from DSS tree).
> 
> Can you give your ack for these? Alternatively we can see which of these could
> go through your tree and I can make a new set.

Tony, ping. I'd like to get these in for 3.2, as many DSS driver patches
depend on some of these.

 Tomi

> 
>  Tomi
> 
> Thomas Weber (1):
>   OMAP: Devkit8000: Change lcd driver to AT070TN83
> 
> Tomi Valkeinen (9):
>   OMAP: DSS2: Change DSI device naming
>   OMAP4: TWL: Add common omapdss supplies
>   OMAP: DSS2: HDMI: use default dividers
>   OMAP: use dvi panel driver instead of generic-dpi
>   OMAP: stalker: Remove LCD device from board file
>   OMAP: Add DDC i2c_bus_num to board files
>   OMAP: 4430SDP: Remove unneeded lcd config
>   OMAP4: 4430SDP: Add panel support to board file
>   OMAP4: 4430SDP: Add picodlp support to board file
> 
>  arch/arm/mach-omap2/board-3430sdp.c      |    7 +-
>  arch/arm/mach-omap2/board-4430sdp.c      |  208 ++++++++++++++++++++++++++----
>  arch/arm/mach-omap2/board-am3517evm.c    |    6 +-
>  arch/arm/mach-omap2/board-cm-t35.c       |    6 +-
>  arch/arm/mach-omap2/board-devkit8000.c   |   10 +-
>  arch/arm/mach-omap2/board-igep0020.c     |    8 +-
>  arch/arm/mach-omap2/board-omap3beagle.c  |    8 +-
>  arch/arm/mach-omap2/board-omap3evm.c     |    7 +-
>  arch/arm/mach-omap2/board-omap3pandora.c |    2 +-
>  arch/arm/mach-omap2/board-omap3stalker.c |   40 +------
>  arch/arm/mach-omap2/board-omap4panda.c   |    8 +-
>  arch/arm/mach-omap2/board-overo.c        |    7 +-
>  arch/arm/mach-omap2/display.c            |    6 +-
>  arch/arm/mach-omap2/twl-common.c         |   11 ++-
>  14 files changed, 230 insertions(+), 104 deletions(-)
> 



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/10] OMAP DSS related board changes
  2011-09-26  6:37 ` [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
@ 2011-09-29 17:52   ` Tony Lindgren
  2011-09-30  5:20     ` Tomi Valkeinen
  0 siblings, 1 reply; 17+ messages in thread
From: Tony Lindgren @ 2011-09-29 17:52 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-omap

* Tomi Valkeinen <tomi.valkeinen@ti.com> [110925 23:04]:
> On Tue, 2011-09-20 at 11:18 +0300, Tomi Valkeinen wrote:
> > Hi Tony,
> > 
> > Here is a bunch of board file patches related to DSS. They have all been sent
> > for review earlier, and are currently in my tree. Some of them depend on DSS
> > driver changes, so I'd like to keep them there to avoid compilation errors
> > (these won't compile if you apply them without patches from DSS tree).
> > 
> > Can you give your ack for these? Alternatively we can see which of these could
> > go through your tree and I can make a new set.
> 
> Tony, ping. I'd like to get these in for 3.2, as many DSS driver patches
> depend on some of these.

Sorry for the delay. Looks like these will conflict with your
earlier patches I have in the board branch and other cleanup.

I'll drop the earlier patches from my board branch so you can
queue all of them:

OMAP: Apollon: Port the display driver to new DSS2
OMAP: H4: Port the display driver to new DSS2
OMAP: LDP: Port the display driver to new DSS2
OMAP: 2420SDP: Port the display driver to new DSS2
OMAP: omap3touchbook: Remove unused lcd stuff
OMAP: RX51: Remove unused old omapfb stuff

Your new patches all look OK to me, just please check what we
have in omap cleanup branch as we don't have all that queud up
yet in next.

It's likely these will need to be rebased on those, so maybe wait
a bit with these or adjust them accordingly if possible.

Also, you might want to start looking into passing the configuration
from DT instead to avoid the platform init code. Probably the
panel configuration would be the place to start with that?

So for all of them:

Acked-by: Tony Lindgren <tony@atomide.com>

 
> > Thomas Weber (1):
> >   OMAP: Devkit8000: Change lcd driver to AT070TN83
> > 
> > Tomi Valkeinen (9):
> >   OMAP: DSS2: Change DSI device naming
> >   OMAP4: TWL: Add common omapdss supplies
> >   OMAP: DSS2: HDMI: use default dividers
> >   OMAP: use dvi panel driver instead of generic-dpi
> >   OMAP: stalker: Remove LCD device from board file
> >   OMAP: Add DDC i2c_bus_num to board files
> >   OMAP: 4430SDP: Remove unneeded lcd config
> >   OMAP4: 4430SDP: Add panel support to board file
> >   OMAP4: 4430SDP: Add picodlp support to board file
> > 
> >  arch/arm/mach-omap2/board-3430sdp.c      |    7 +-
> >  arch/arm/mach-omap2/board-4430sdp.c      |  208 ++++++++++++++++++++++++++----
> >  arch/arm/mach-omap2/board-am3517evm.c    |    6 +-
> >  arch/arm/mach-omap2/board-cm-t35.c       |    6 +-
> >  arch/arm/mach-omap2/board-devkit8000.c   |   10 +-
> >  arch/arm/mach-omap2/board-igep0020.c     |    8 +-
> >  arch/arm/mach-omap2/board-omap3beagle.c  |    8 +-
> >  arch/arm/mach-omap2/board-omap3evm.c     |    7 +-
> >  arch/arm/mach-omap2/board-omap3pandora.c |    2 +-
> >  arch/arm/mach-omap2/board-omap3stalker.c |   40 +------
> >  arch/arm/mach-omap2/board-omap4panda.c   |    8 +-
> >  arch/arm/mach-omap2/board-overo.c        |    7 +-
> >  arch/arm/mach-omap2/display.c            |    6 +-
> >  arch/arm/mach-omap2/twl-common.c         |   11 ++-
> >  14 files changed, 230 insertions(+), 104 deletions(-)
> > 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/10] OMAP DSS related board changes
  2011-09-29 17:52   ` Tony Lindgren
@ 2011-09-30  5:20     ` Tomi Valkeinen
  2011-10-04  0:32       ` Tony Lindgren
  0 siblings, 1 reply; 17+ messages in thread
From: Tomi Valkeinen @ 2011-09-30  5:20 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: linux-omap

On Thu, 2011-09-29 at 10:52 -0700, Tony Lindgren wrote:
> * Tomi Valkeinen <tomi.valkeinen@ti.com> [110925 23:04]:
> > On Tue, 2011-09-20 at 11:18 +0300, Tomi Valkeinen wrote:
> > > Hi Tony,
> > > 
> > > Here is a bunch of board file patches related to DSS. They have all been sent
> > > for review earlier, and are currently in my tree. Some of them depend on DSS
> > > driver changes, so I'd like to keep them there to avoid compilation errors
> > > (these won't compile if you apply them without patches from DSS tree).
> > > 
> > > Can you give your ack for these? Alternatively we can see which of these could
> > > go through your tree and I can make a new set.
> > 
> > Tony, ping. I'd like to get these in for 3.2, as many DSS driver patches
> > depend on some of these.
> 
> Sorry for the delay. Looks like these will conflict with your
> earlier patches I have in the board branch and other cleanup.
> 
> I'll drop the earlier patches from my board branch so you can
> queue all of them:

Ok, I'll add them to dss branch.

> OMAP: Apollon: Port the display driver to new DSS2
> OMAP: H4: Port the display driver to new DSS2
> OMAP: LDP: Port the display driver to new DSS2
> OMAP: 2420SDP: Port the display driver to new DSS2
> OMAP: omap3touchbook: Remove unused lcd stuff
> OMAP: RX51: Remove unused old omapfb stuff
> 
> Your new patches all look OK to me, just please check what we
> have in omap cleanup branch as we don't have all that queud up
> yet in next.

Sure, will do.

> It's likely these will need to be rebased on those, so maybe wait
> a bit with these or adjust them accordingly if possible.
> 
> Also, you might want to start looking into passing the configuration
> from DT instead to avoid the platform init code. Probably the
> panel configuration would be the place to start with that?

I haven't actually looked at DT yet, but one reason I've been writing
and pushing these old omapfb cleanups is to get all omap2+ boards use
the new dss driver, and thus hopefully making DT adaptation easier as I
can (for now) ignore the old omapfb and omap1 boards regarding DT.

But yes, I definitely need to look at DT. Is there a driver to be used
as a sample when looking at DT?

> So for all of them:
> 
> Acked-by: Tony Lindgren <tony@atomide.com>

Thanks.

 Tomi



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 00/10] OMAP DSS related board changes
  2011-09-30  5:20     ` Tomi Valkeinen
@ 2011-10-04  0:32       ` Tony Lindgren
  0 siblings, 0 replies; 17+ messages in thread
From: Tony Lindgren @ 2011-10-04  0:32 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-omap

* Tomi Valkeinen <tomi.valkeinen@ti.com> [110929 21:47]:
> On Thu, 2011-09-29 at 10:52 -0700, Tony Lindgren wrote:
> > 
> > Also, you might want to start looking into passing the configuration
> > from DT instead to avoid the platform init code. Probably the
> > panel configuration would be the place to start with that?
> 
> I haven't actually looked at DT yet, but one reason I've been writing
> and pushing these old omapfb cleanups is to get all omap2+ boards use
> the new dss driver, and thus hopefully making DT adaptation easier as I
> can (for now) ignore the old omapfb and omap1 boards regarding DT.

Right, makes sense.
 
> But yes, I definitely need to look at DT. Is there a driver to be used
> as a sample when looking at DT?

At this point maybe just see what's in mainline in arch/arm/boot/dts
and work your way back from there. The DT data should be pretty much
just registers and stay operating system independent. So some of these
things still need to be glued together by the bus/hwmod/driver probe
code.

Regards,

Tony

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-10-04  0:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-20  8:18 [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 01/10] OMAP: DSS2: Change DSI device naming Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 02/10] OMAP4: TWL: Add common omapdss supplies Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 03/10] OMAP: Devkit8000: Change lcd driver to AT070TN83 Tomi Valkeinen
2011-09-20 12:35   ` Thomas Weber
2011-09-20 12:37     ` Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 04/10] OMAP: DSS2: HDMI: use default dividers Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 05/10] OMAP: use dvi panel driver instead of generic-dpi Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 06/10] OMAP: stalker: Remove LCD device from board file Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 07/10] OMAP: Add DDC i2c_bus_num to board files Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 08/10] OMAP: 4430SDP: Remove unneeded lcd config Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 09/10] OMAP4: 4430SDP: Add panel support to board file Tomi Valkeinen
2011-09-20  8:18 ` [PATCH 10/10] OMAP4: 4430SDP: Add picodlp " Tomi Valkeinen
2011-09-26  6:37 ` [PATCH 00/10] OMAP DSS related board changes Tomi Valkeinen
2011-09-29 17:52   ` Tony Lindgren
2011-09-30  5:20     ` Tomi Valkeinen
2011-10-04  0:32       ` Tony Lindgren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.