* [PATCH 00/21] ARM: OMAP2+: use new display drivers
@ 2013-07-26 7:08 Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 01/21] ARM: OMAP: dss-common: fix Panda's DVI DDC channel Tomi Valkeinen
` (21 more replies)
0 siblings, 22 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
The display drivers for new OMAP DSS driver model were merged in v3.11, but the
board files were not changed to use them. This series changes the board files
to take those new drivers into use.
There's mostly nothing special in the patches. One complication is with Overo
board file, which adds two panel devices, located in add-on boards, that use
the same GPIOs, meaning that the two panel devices cannot be probed at the same
time. The solution used here is to parse the kernel command line, and decide
the panel device to be added depending on the given default display.
The omap2plus_defconfig is changed to include a few most commonly used display
drivers as modules, and the old drivers are removed.
Note: The first patch in this series has been sent separately
(http://mid.gmane.org/1374570405-8301-2-git-send-email-tomi.valkeinen at ti.com),
and is a fix for v3.11. It's included here as an another patch in the series
depends on it.
Tested on 4430SDP, Panda, Beagle, Beagle xM, Overo.
Tomi
Tomi Valkeinen (21):
ARM: OMAP: dss-common: fix Panda's DVI DDC channel
ARM: OMAP2+: Remove legacy DSS initialization for omap4
ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig
ARM: OMAP: dss-common: use new display drivers
ARM: OMAP: 4430SDP: remove picodlp device data
ARM: OMAP: overo: use new display drivers
ARM: OMAP: rx51: use new display drivers
ARM: OMAP: beagle: use new display drivers
ARM: OMAP: devkit8000: use new display drivers
ARM: OMAP: 2430SDP: use new display drivers
ARM: OMAP: LDP: use new display drivers
ARM: OMAP: omap3stalker: use new display drivers
ARM: OMAP: igep0020: use new display drivers
ARM: OMAP: cm-t35: use new display drivers
ARM: OMAP: H4: use new display drivers
ARM: OMAP: 3430SDP: use new display drivers
ARM: OMAP: OMAP3EVM: use new display drivers
ARM: OMAP: Pandora: use new display drivers
ARM: OMAP: Zoom: use new display drivers
ARM: OMAP: AM3517EVM: use new display drivers
ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
arch/arm/configs/omap2plus_defconfig | 12 +-
arch/arm/mach-omap2/board-2430sdp.c | 57 ++++---
arch/arm/mach-omap2/board-3430sdp.c | 83 +++++----
arch/arm/mach-omap2/board-am3517evm.c | 113 +++++++++----
arch/arm/mach-omap2/board-cm-t35.c | 100 +++++++----
arch/arm/mach-omap2/board-devkit8000.c | 96 +++++++----
arch/arm/mach-omap2/board-h4.c | 48 ++++--
arch/arm/mach-omap2/board-igep0020.c | 36 ++--
arch/arm/mach-omap2/board-ldp.c | 68 +++++---
arch/arm/mach-omap2/board-omap3beagle.c | 56 +++---
arch/arm/mach-omap2/board-omap3evm.c | 87 ++++++----
arch/arm/mach-omap2/board-omap3pandora.c | 48 +++---
arch/arm/mach-omap2/board-omap3stalker.c | 61 ++++---
arch/arm/mach-omap2/board-overo.c | 160 +++++++++++-------
arch/arm/mach-omap2/board-rx51-peripherals.c | 12 ++
arch/arm/mach-omap2/board-rx51-video.c | 35 ++--
arch/arm/mach-omap2/board-zoom-display.c | 30 ++--
arch/arm/mach-omap2/dss-common.c | 244 ++++++++++++---------------
arch/arm/mach-omap2/dss-common.h | 2 -
19 files changed, 787 insertions(+), 561 deletions(-)
--
1.8.1.2
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 01/21] ARM: OMAP: dss-common: fix Panda's DVI DDC channel
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 02/21] ARM: OMAP2+: Remove legacy DSS initialization for omap4 Tomi Valkeinen
` (20 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Panda's DVI connector's DDC pins are connected to OMAP's third i2c bus.
With non-DT, the bus number was 3, and that is what is used in the
dss-common.c which contains the platform data for Panda's DVI.
However, with DT, the bus number is 2. As we now only have DT boot for
Panda, we have to change the bus number to make DVI EDID read
operational.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/dss-common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index 393aeef..043e570 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -42,7 +42,7 @@
/* Using generic display panel */
static struct tfp410_platform_data omap4_dvi_panel = {
- .i2c_bus_num = 3,
+ .i2c_bus_num = 2,
.power_down_gpio = PANDA_DVI_TFP410_POWER_DOWN_GPIO,
};
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 02/21] ARM: OMAP2+: Remove legacy DSS initialization for omap4
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 01/21] ARM: OMAP: dss-common: fix Panda's DVI DDC channel Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 03/21] ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig Tomi Valkeinen
` (19 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
This is no longer needed as omap4 is now booted using device tree.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/dss-common.c | 47 ----------------------------------------
arch/arm/mach-omap2/dss-common.h | 2 --
2 files changed, 49 deletions(-)
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index 043e570..00c0492 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -80,24 +80,6 @@ static struct omap_dss_board_info omap4_panda_dss_data = {
.default_device = &omap4_panda_dvi_device,
};
-void __init omap4_panda_display_init(void)
-{
- omap_display_init(&omap4_panda_dss_data);
-
- /*
- * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and
- * later have external pull up on the HDMI I2C lines
- */
- if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2)
- omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP);
- else
- omap_hdmi_init(0);
-
- omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT);
- omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT);
- omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN);
-}
-
void __init omap4_panda_display_init_of(void)
{
omap_display_init(&omap4_panda_dss_data);
@@ -204,35 +186,6 @@ static struct omap_dss_board_info sdp4430_dss_data = {
* used by picodlp on the 4430sdp platform. Keep this gpio disabled as LCD2 is
* selected by default
*/
-void __init omap_4430sdp_display_init(void)
-{
- int r;
-
- 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__);
-
- r = gpio_request_one(DLP_POWER_ON_GPIO, GPIOF_OUT_INIT_LOW,
- "DLP POWER ON");
- if (r)
- pr_err("%s: Could not get DLP POWER ON GPIO\n", __func__);
-
- omap_display_init(&sdp4430_dss_data);
- /*
- * OMAP4460SDP/Blaze and OMAP4430 ES2.3 SDP/Blaze boards and
- * later have external pull up on the HDMI I2C lines
- */
- if (cpu_is_omap446x() || omap_rev() > OMAP4430_REV_ES2_2)
- omap_hdmi_init(OMAP_HDMI_SDA_SCL_EXTERNAL_PULLUP);
- else
- omap_hdmi_init(0);
-
- omap_mux_init_gpio(HDMI_GPIO_LS_OE, OMAP_PIN_OUTPUT);
- omap_mux_init_gpio(HDMI_GPIO_CT_CP_HPD, OMAP_PIN_OUTPUT);
- omap_mux_init_gpio(HDMI_GPIO_HPD, OMAP_PIN_INPUT_PULLDOWN);
-}
-
void __init omap_4430sdp_display_init_of(void)
{
int r;
diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h
index 915f6ff..c28fe3c 100644
--- a/arch/arm/mach-omap2/dss-common.h
+++ b/arch/arm/mach-omap2/dss-common.h
@@ -6,9 +6,7 @@
* This file will be removed when DSS supports DT.
*/
-void __init omap4_panda_display_init(void);
void __init omap4_panda_display_init_of(void);
-void __init omap_4430sdp_display_init(void);
void __init omap_4430sdp_display_init_of(void);
#endif
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 03/21] ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 01/21] ARM: OMAP: dss-common: fix Panda's DVI DDC channel Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 02/21] ARM: OMAP2+: Remove legacy DSS initialization for omap4 Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 04/21] ARM: OMAP: dss-common: use new display drivers Tomi Valkeinen
` (18 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Add some of the most common new display drivers to omap2plus_defconfig
to be built as modules.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/configs/omap2plus_defconfig | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index 5339e6a..7ce1c29 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -192,6 +192,11 @@ CONFIG_PANEL_NEC_NL8048HL11_01B=m
CONFIG_PANEL_TAAL=m
CONFIG_PANEL_TPO_TD043MTEA1=m
CONFIG_PANEL_ACX565AKM=m
+CONFIG_DISPLAY_ENCODER_TFP410=m
+CONFIG_DISPLAY_ENCODER_TPD12S015=m
+CONFIG_DISPLAY_CONNECTOR_DVI=m
+CONFIG_DISPLAY_CONNECTOR_HDMI=m
+CONFIG_DISPLAY_PANEL_DPI=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_PLATFORM=y
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 04/21] ARM: OMAP: dss-common: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (2 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 03/21] ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 05/21] ARM: OMAP: 4430SDP: remove picodlp device data Tomi Valkeinen
` (17 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use the new display drivers for OMAP4 Panda and OMAP4 SDP boards.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/dss-common.c | 186 +++++++++++++++++++++++----------------
1 file changed, 109 insertions(+), 77 deletions(-)
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index 00c0492..3215412 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -25,6 +25,7 @@
#include <linux/kernel.h>
#include <linux/gpio.h>
+#include <linux/platform_device.h>
#include <video/omapdss.h>
#include <video/omap-panel-data.h>
@@ -37,52 +38,76 @@
#define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */
#define HDMI_GPIO_HPD 63 /* Hotplug detect */
-/* Display DVI */
#define PANDA_DVI_TFP410_POWER_DOWN_GPIO 0
-/* Using generic display panel */
-static struct tfp410_platform_data omap4_dvi_panel = {
- .i2c_bus_num = 2,
- .power_down_gpio = PANDA_DVI_TFP410_POWER_DOWN_GPIO,
+/* DVI Connector */
+static struct connector_dvi_platform_data omap4_panda_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = 2,
};
-static struct omap_dss_device omap4_panda_dvi_device = {
- .type = OMAP_DISPLAY_TYPE_DPI,
- .name = "dvi",
- .driver_name = "tfp410",
- .data = &omap4_dvi_panel,
- .phy.dpi.data_lines = 24,
- .channel = OMAP_DSS_CHANNEL_LCD2,
+static struct platform_device omap4_panda_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &omap4_panda_dvi_connector_pdata,
+};
+
+/* TFP410 DPI-to-DVI chip */
+static struct encoder_tfp410_platform_data omap4_panda_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = PANDA_DVI_TFP410_POWER_DOWN_GPIO,
+};
+
+static struct platform_device omap4_panda_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &omap4_panda_tfp410_pdata,
};
-static struct omap_dss_hdmi_data omap4_panda_hdmi_data = {
+/* HDMI Connector */
+static struct connector_hdmi_platform_data omap4_panda_hdmi_connector_pdata = {
+ .name = "hdmi",
+ .source = "tpd12s015.0",
+};
+
+static struct platform_device omap4_panda_hdmi_connector_device = {
+ .name = "connector-hdmi",
+ .id = 0,
+ .dev.platform_data = &omap4_panda_hdmi_connector_pdata,
+};
+
+/* TPD12S015 HDMI ESD protection & level shifter chip */
+static struct encoder_tpd12s015_platform_data omap4_panda_tpd_pdata = {
+ .name = "tpd12s015.0",
+ .source = "hdmi.0",
+
.ct_cp_hpd_gpio = HDMI_GPIO_CT_CP_HPD,
.ls_oe_gpio = HDMI_GPIO_LS_OE,
.hpd_gpio = HDMI_GPIO_HPD,
};
-static struct omap_dss_device omap4_panda_hdmi_device = {
- .name = "hdmi",
- .driver_name = "hdmi_panel",
- .type = OMAP_DISPLAY_TYPE_HDMI,
- .channel = OMAP_DSS_CHANNEL_DIGIT,
- .data = &omap4_panda_hdmi_data,
-};
-
-static struct omap_dss_device *omap4_panda_dss_devices[] = {
- &omap4_panda_dvi_device,
- &omap4_panda_hdmi_device,
+static struct platform_device omap4_panda_tpd_device = {
+ .name = "tpd12s015",
+ .id = 0,
+ .dev.platform_data = &omap4_panda_tpd_pdata,
};
static struct omap_dss_board_info omap4_panda_dss_data = {
- .num_devices = ARRAY_SIZE(omap4_panda_dss_devices),
- .devices = omap4_panda_dss_devices,
- .default_device = &omap4_panda_dvi_device,
+ .default_display_name = "dvi",
};
void __init omap4_panda_display_init_of(void)
{
omap_display_init(&omap4_panda_dss_data);
+
+ platform_device_register(&omap4_panda_tfp410_device);
+ platform_device_register(&omap4_panda_dvi_connector_device);
+
+ platform_device_register(&omap4_panda_tpd_device);
+ platform_device_register(&omap4_panda_hdmi_connector_device);
}
@@ -91,67 +116,71 @@ void __init omap4_panda_display_init_of(void)
#define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */
#define DLP_POWER_ON_GPIO 40
-static struct nokia_dsi_panel_data dsi1_panel = {
- .name = "taal",
- .reset_gpio = 102,
- .use_ext_te = false,
- .ext_te_gpio = 101,
- .esd_interval = 0,
- .pin_config = {
- .num_pins = 6,
- .pins = { 0, 1, 2, 3, 4, 5 },
- },
-};
-
-static struct omap_dss_device sdp4430_lcd_device = {
- .name = "lcd",
- .driver_name = "taal",
- .type = OMAP_DISPLAY_TYPE_DSI,
- .data = &dsi1_panel,
- .phy.dsi = {
- .module = 0,
+static struct panel_dsicm_platform_data dsi1_panel = {
+ .name = "lcd",
+ .source = "dsi.0",
+ .reset_gpio = 102,
+ .use_ext_te = false,
+ .ext_te_gpio = 101,
+ .pin_config = {
+ .num_pins = 6,
+ .pins = { 0, 1, 2, 3, 4, 5 },
},
- .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,
- .pin_config = {
- .num_pins = 6,
- .pins = { 0, 1, 2, 3, 4, 5 },
- },
+static struct platform_device sdp4430_lcd_device = {
+ .name = "panel-dsi-cm",
+ .id = 0,
+ .dev.platform_data = &dsi1_panel,
};
-static struct omap_dss_device sdp4430_lcd2_device = {
- .name = "lcd2",
- .driver_name = "taal",
- .type = OMAP_DISPLAY_TYPE_DSI,
- .data = &dsi2_panel,
- .phy.dsi = {
-
- .module = 1,
+static struct panel_dsicm_platform_data dsi2_panel = {
+ .name = "lcd2",
+ .source = "dsi.1",
+ .reset_gpio = 104,
+ .use_ext_te = false,
+ .ext_te_gpio = 103,
+ .pin_config = {
+ .num_pins = 6,
+ .pins = { 0, 1, 2, 3, 4, 5 },
},
- .channel = OMAP_DSS_CHANNEL_LCD2,
};
-static struct omap_dss_hdmi_data sdp4430_hdmi_data = {
+static struct platform_device sdp4430_lcd2_device = {
+ .name = "panel-dsi-cm",
+ .id = 1,
+ .dev.platform_data = &dsi2_panel,
+};
+
+/* HDMI Connector */
+static struct connector_hdmi_platform_data sdp4430_hdmi_connector_pdata = {
+ .name = "hdmi",
+ .source = "tpd12s015.0",
+};
+
+static struct platform_device sdp4430_hdmi_connector_device = {
+ .name = "connector-hdmi",
+ .id = 0,
+ .dev.platform_data = &sdp4430_hdmi_connector_pdata,
+};
+
+/* TPD12S015 HDMI ESD protection & level shifter chip */
+static struct encoder_tpd12s015_platform_data sdp4430_tpd_pdata = {
+ .name = "tpd12s015.0",
+ .source = "hdmi.0",
+
.ct_cp_hpd_gpio = HDMI_GPIO_CT_CP_HPD,
.ls_oe_gpio = HDMI_GPIO_LS_OE,
.hpd_gpio = HDMI_GPIO_HPD,
};
-static struct omap_dss_device sdp4430_hdmi_device = {
- .name = "hdmi",
- .driver_name = "hdmi_panel",
- .type = OMAP_DISPLAY_TYPE_HDMI,
- .channel = OMAP_DSS_CHANNEL_DIGIT,
- .data = &sdp4430_hdmi_data,
+static struct platform_device sdp4430_tpd_device = {
+ .name = "tpd12s015",
+ .id = 0,
+ .dev.platform_data = &sdp4430_tpd_pdata,
};
+
static struct picodlp_panel_data sdp4430_picodlp_pdata = {
.picodlp_adapter_id = 2,
.emu_done_gpio = 44,
@@ -168,16 +197,13 @@ static struct omap_dss_device sdp4430_picodlp_device = {
};
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 = {
.num_devices = ARRAY_SIZE(sdp4430_dss_devices),
.devices = sdp4430_dss_devices,
- .default_device = &sdp4430_lcd_device,
+ .default_display_name = "lcd",
};
/*
@@ -201,4 +227,10 @@ void __init omap_4430sdp_display_init_of(void)
pr_err("%s: Could not get DLP POWER ON GPIO\n", __func__);
omap_display_init(&sdp4430_dss_data);
+
+ platform_device_register(&sdp4430_lcd_device);
+ platform_device_register(&sdp4430_lcd2_device);
+
+ platform_device_register(&sdp4430_tpd_device);
+ platform_device_register(&sdp4430_hdmi_connector_device);
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 05/21] ARM: OMAP: 4430SDP: remove picodlp device data
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (3 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 04/21] ARM: OMAP: dss-common: use new display drivers Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 06/21] ARM: OMAP: overo: use new display drivers Tomi Valkeinen
` (16 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
4430SDP board has an option for a PicoDLP mini-projector. PicoDLP cannot
be used at the same time as the second LCD, and there are GPIOs that
need to be set/unset when changing the used display.
Managing that kind of board specific setup is not simple without board
file callbacks. As only some 4430SDP boards actually have the PicoDLP
installed, and 4430SDP boards are not that common in the first place,
let's remove PicoDLP data from the board file.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/dss-common.c | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index 3215412..bf89eff 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -181,28 +181,7 @@ static struct platform_device sdp4430_tpd_device = {
};
-static struct picodlp_panel_data sdp4430_picodlp_pdata = {
- .picodlp_adapter_id = 2,
- .emu_done_gpio = 44,
- .pwrgood_gpio = 45,
-};
-
-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,
- .data = &sdp4430_picodlp_pdata,
-};
-
-static struct omap_dss_device *sdp4430_dss_devices[] = {
- &sdp4430_picodlp_device,
-};
-
static struct omap_dss_board_info sdp4430_dss_data = {
- .num_devices = ARRAY_SIZE(sdp4430_dss_devices),
- .devices = sdp4430_dss_devices,
.default_display_name = "lcd",
};
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 06/21] ARM: OMAP: overo: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (4 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 05/21] ARM: OMAP: 4430SDP: remove picodlp device data Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-30 6:21 ` Archit Taneja
2013-07-26 7:08 ` [PATCH 07/21] ARM: OMAP: rx51: " Tomi Valkeinen
` (15 subsequent siblings)
21 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use the new display drivers for OMAP3 Overo board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Note that the LCD add-on boards for lcd43 and lcd35 use the same GPIOs
for the panels. This means that both panel devices cannot be probed at
the same time.
DT will handle this correctly, i.e. the DT data will contain the panel
device only for the add-on board that is attached. However, for the
board file we need a hackish solution: We parse the kernel boot command
line, and see whether lcd43 or lcd35 is set as a default display, and
add the given one. Or, if neither is given, default to lcd43.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-overo.c | 160 ++++++++++++++++++++++++--------------
1 file changed, 100 insertions(+), 60 deletions(-)
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index 5748b5d..f6d3841 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -72,6 +72,9 @@
#define OVERO_SMSC911X2_CS 4
#define OVERO_SMSC911X2_GPIO 65
+/* whether to register LCD35 instead of LCD43 */
+static bool overo_use_lcd35;
+
#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
@@ -149,78 +152,94 @@ static inline void __init overo_init_smsc911x(void) { return; }
#define OVERO_GPIO_LCD_EN 144
#define OVERO_GPIO_LCD_BL 145
-static struct tfp410_platform_data dvi_panel = {
- .i2c_bus_num = 3,
- .power_down_gpio = -1,
+static struct connector_atv_platform_data overo_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
};
-static struct omap_dss_device overo_dvi_device = {
- .name = "dvi",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct platform_device overo_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &overo_tv_pdata,
};
-static struct omap_dss_device overo_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static const struct display_timing overo_lcd43_videomode = {
+ .pixelclock = { 0, 9200000, 0 },
+
+ .hactive = { 0, 480, 0 },
+ .hfront_porch = { 0, 8, 0 },
+ .hback_porch = { 0, 4, 0 },
+ .hsync_len = { 0, 41, 0 },
+
+ .vactive = { 0, 272, 0 },
+ .vfront_porch = { 0, 4, 0 },
+ .vback_porch = { 0, 2, 0 },
+ .vsync_len = { 0, 10, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};
-static struct panel_generic_dpi_data lcd43_panel = {
- .name = "samsung_lte430wq_f0c",
- .num_gpios = 2,
- .gpios = {
- OVERO_GPIO_LCD_EN,
- OVERO_GPIO_LCD_BL
- },
+static struct panel_dpi_platform_data overo_lcd43_pdata = {
+ .name = "lcd43",
+ .source = "dpi.0",
+
+ .data_lines = 24,
+
+ .display_timing = &overo_lcd43_videomode,
+
+ .enable_gpio = OVERO_GPIO_LCD_EN,
+ .backlight_gpio = OVERO_GPIO_LCD_BL,
};
-static struct omap_dss_device overo_lcd43_device = {
- .name = "lcd43",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "generic_dpi_panel",
- .data = &lcd43_panel,
- .phy.dpi.data_lines = 24,
+static struct platform_device overo_lcd43_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &overo_lcd43_pdata,
};
-#if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \
- defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE)
-static struct panel_generic_dpi_data lcd35_panel = {
- .num_gpios = 2,
- .gpios = {
- OVERO_GPIO_LCD_EN,
- OVERO_GPIO_LCD_BL
- },
+static struct connector_dvi_platform_data overo_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = 3,
};
-static struct omap_dss_device overo_lcd35_device = {
- .type = OMAP_DISPLAY_TYPE_DPI,
- .name = "lcd35",
- .driver_name = "lgphilips_lb035q02_panel",
- .phy.dpi.data_lines = 24,
- .data = &lcd35_panel,
+static struct platform_device overo_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &overo_dvi_connector_pdata,
};
-#endif
-static struct omap_dss_device *overo_dss_devices[] = {
- &overo_dvi_device,
- &overo_tv_device,
-#if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \
- defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE)
- &overo_lcd35_device,
-#endif
- &overo_lcd43_device,
+static struct encoder_tfp410_platform_data overo_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = -1,
+};
+
+static struct platform_device overo_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &overo_tfp410_pdata,
};
static struct omap_dss_board_info overo_dss_data = {
- .num_devices = ARRAY_SIZE(overo_dss_devices),
- .devices = overo_dss_devices,
- .default_device = &overo_dvi_device,
+ .default_display_name = "lcd43",
};
+static void __init overo_display_init(void)
+{
+ omap_display_init(&overo_dss_data);
+
+ if (!overo_use_lcd35)
+ platform_device_register(&overo_lcd43_device);
+ platform_device_register(&overo_tfp410_device);
+ platform_device_register(&overo_dvi_connector_device);
+ platform_device_register(&overo_tv_connector_device);
+}
+
static struct mtd_partition overo_nand_partitions[] = {
{
.name = "xloader",
@@ -408,24 +427,41 @@ static int __init overo_i2c_init(void)
return 0;
}
+static struct panel_lb035q02_platform_data overo_lcd35_pdata = {
+ .name = "lcd35",
+ .source = "dpi.0",
+
+ .data_lines = 24,
+
+ .enable_gpio = OVERO_GPIO_LCD_EN,
+ .backlight_gpio = OVERO_GPIO_LCD_BL,
+};
+
+/*
+ * NOTE: We need to add either the lgphilips panel, or the lcd43 panel. The
+ * selection is done based on the overo_use_lcd35 field. If new SPI
+ * devices are added here, extra work is needed to make only the lgphilips panel
+ * affected by the overo_use_lcd35 field.
+ */
static struct spi_board_info overo_spi_board_info[] __initdata = {
-#if defined(CONFIG_PANEL_LGPHILIPS_LB035Q02) || \
- defined(CONFIG_PANEL_LGPHILIPS_LB035Q02_MODULE)
{
- .modalias = "lgphilips_lb035q02_panel-spi",
+ .modalias = "panel_lgphilips_lb035q02",
.bus_num = 1,
.chip_select = 1,
.max_speed_hz = 500000,
.mode = SPI_MODE_3,
+ .platform_data = &overo_lcd35_pdata,
},
-#endif
};
static int __init overo_spi_init(void)
{
overo_ads7846_init();
- spi_register_board_info(overo_spi_board_info,
- ARRAY_SIZE(overo_spi_board_info));
+
+ if (overo_use_lcd35) {
+ spi_register_board_info(overo_spi_board_info,
+ ARRAY_SIZE(overo_spi_board_info));
+ }
return 0;
}
@@ -463,11 +499,13 @@ static void __init overo_init(void)
{
int ret;
+ if (strstr(boot_command_line, "omapdss.def_disp=lcd35"))
+ overo_use_lcd35 = true;
+
regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
overo_i2c_init();
omap_hsmmc_init(mmc);
- omap_display_init(&overo_dss_data);
omap_serial_init();
omap_sdrc_init(mt46h32m32lf6_sdrc_params,
mt46h32m32lf6_sdrc_params);
@@ -484,6 +522,8 @@ static void __init overo_init(void)
overo_init_keys();
omap_twl4030_audio_init("overo", NULL);
+ overo_display_init();
+
/* Ensure SDRC pins are mux'd for self-refresh */
omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 07/21] ARM: OMAP: rx51: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (5 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 06/21] ARM: OMAP: overo: use new display drivers Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 08/21] ARM: OMAP: beagle: " Tomi Valkeinen
` (14 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use the new display drivers for RX51 board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
arch/arm/mach-omap2/board-rx51-peripherals.c | 12 ++++++++++
arch/arm/mach-omap2/board-rx51-video.c | 35 ++++++++++------------------
2 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index 9c2dd10..c3270c0 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -45,6 +45,8 @@
#include <linux/platform_data/tsl2563.h>
#include <linux/lis3lv02d.h>
+#include <video/omap-panel-data.h>
+
#if defined(CONFIG_IR_RX51) || defined(CONFIG_IR_RX51_MODULE)
#include <media/ir-rx51.h>
#endif
@@ -226,6 +228,15 @@ static struct lp55xx_platform_data rx51_lp5523_platform_data = {
};
#endif
+#define RX51_LCD_RESET_GPIO 90
+
+static struct panel_acx565akm_platform_data acx_pdata = {
+ .name = "lcd",
+ .source = "sdi.0",
+ .reset_gpio = RX51_LCD_RESET_GPIO,
+ .datapairs = 2,
+};
+
static struct omap2_mcspi_device_config wl1251_mcspi_config = {
.turbo_mode = 0,
};
@@ -254,6 +265,7 @@ static struct spi_board_info rx51_peripherals_spi_board_info[] __initdata = {
.chip_select = 2,
.max_speed_hz = 6000000,
.controller_data = &mipid_mcspi_config,
+ .platform_data = &acx_pdata,
},
[RX51_SPI_TSC2005] = {
.modalias = "tsc2005",
diff --git a/arch/arm/mach-omap2/board-rx51-video.c b/arch/arm/mach-omap2/board-rx51-video.c
index bdd1e3a..43a90c8 100644
--- a/arch/arm/mach-omap2/board-rx51-video.c
+++ b/arch/arm/mach-omap2/board-rx51-video.c
@@ -29,34 +29,21 @@
#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
-static struct panel_acx565akm_data lcd_data = {
- .reset_gpio = RX51_LCD_RESET_GPIO,
+static struct connector_atv_platform_data rx51_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_COMPOSITE,
+ .invert_polarity = false,
};
-static struct omap_dss_device rx51_lcd_device = {
- .name = "lcd",
- .driver_name = "panel-acx565akm",
- .type = OMAP_DISPLAY_TYPE_SDI,
- .phy.sdi.datapairs = 2,
- .data = &lcd_data,
-};
-
-static struct omap_dss_device rx51_tv_device = {
- .name = "tv",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .driver_name = "venc",
- .phy.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE,
-};
-
-static struct omap_dss_device *rx51_dss_devices[] = {
- &rx51_lcd_device,
- &rx51_tv_device,
+static struct platform_device rx51_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &rx51_tv_pdata,
};
static struct omap_dss_board_info rx51_dss_board_info = {
- .num_devices = ARRAY_SIZE(rx51_dss_devices),
- .devices = rx51_dss_devices,
- .default_device = &rx51_lcd_device,
+ .default_display_name = "lcd",
};
static int __init rx51_video_init(void)
@@ -71,6 +58,8 @@ static int __init rx51_video_init(void)
omap_display_init(&rx51_dss_board_info);
+ platform_device_register(&rx51_tv_connector_device);
+
return 0;
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 08/21] ARM: OMAP: beagle: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (6 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 07/21] ARM: OMAP: rx51: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 09/21] ARM: OMAP: devkit8000: " Tomi Valkeinen
` (13 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use the new display drivers for Beagleboard.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-omap3beagle.c | 56 +++++++++++++++++++++------------
1 file changed, 36 insertions(+), 20 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 04c1165..f792805 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -225,35 +225,46 @@ static struct mtd_partition omap3beagle_nand_partitions[] = {
/* DSS */
-static struct tfp410_platform_data dvi_panel = {
- .i2c_bus_num = 3,
- .power_down_gpio = -1,
+static struct connector_dvi_platform_data beagle_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = 3,
};
-static struct omap_dss_device beagle_dvi_device = {
- .type = OMAP_DISPLAY_TYPE_DPI,
- .name = "dvi",
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct platform_device beagle_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &beagle_dvi_connector_pdata,
};
-static struct omap_dss_device beagle_tv_device = {
+static struct encoder_tfp410_platform_data beagle_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = -1,
+};
+
+static struct platform_device beagle_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &beagle_tfp410_pdata,
+};
+
+static struct connector_atv_platform_data beagle_tv_pdata = {
.name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
};
-static struct omap_dss_device *beagle_dss_devices[] = {
- &beagle_dvi_device,
- &beagle_tv_device,
+static struct platform_device beagle_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &beagle_tv_pdata,
};
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,
+ .default_display_name = "dvi",
};
#include "sdram-micron-mt46h32m32lf-6.h"
@@ -332,7 +343,11 @@ static int beagle_twl_gpio_setup(struct device *dev,
if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
pr_err("%s: unable to configure EHCI_nOC\n", __func__);
}
- dvi_panel.power_down_gpio = beagle_config.dvi_pd_gpio;
+ beagle_tfp410_pdata.power_down_gpio = beagle_config.dvi_pd_gpio;
+
+ platform_device_register(&beagle_tfp410_device);
+ platform_device_register(&beagle_dvi_connector_device);
+ platform_device_register(&beagle_tv_connector_device);
/* TWL4030_GPIO_MAX i.e. LED_GPO controls HS USB Port 2 power */
phy_data[0].vcc_gpio = gpio + TWL4030_GPIO_MAX;
@@ -547,6 +562,7 @@ static void __init omap3_beagle_init(void)
if (gpio_is_valid(beagle_config.dvi_pd_gpio))
omap_mux_init_gpio(beagle_config.dvi_pd_gpio, OMAP_PIN_OUTPUT);
omap_display_init(&beagle_dss_data);
+
omap_serial_init();
omap_sdrc_init(mt46h32m32lf6_sdrc_params,
mt46h32m32lf6_sdrc_params);
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 09/21] ARM: OMAP: devkit8000: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (7 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 08/21] ARM: OMAP: beagle: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-30 5:48 ` Archit Taneja
2013-07-26 7:08 ` [PATCH 10/21] ARM: OMAP: 2430SDP: " Tomi Valkeinen
` (12 subsequent siblings)
21 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for devkit8000 board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-devkit8000.c | 96 +++++++++++++++++++++++-----------
1 file changed, 65 insertions(+), 31 deletions(-)
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index f1d91ba..cdc4fb9 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -112,50 +112,81 @@ static struct regulator_consumer_supply devkit8000_vio_supply[] = {
REGULATOR_SUPPLY("vcc", "spi2.0"),
};
-static struct panel_generic_dpi_data lcd_panel = {
- .name = "innolux_at070tn83",
- /* gpios filled in code */
+static const struct display_timing devkit8000_lcd_videomode = {
+ .pixelclock = { 0, 40000000, 0 },
+
+ .hactive = { 0, 800, 0 },
+ .hfront_porch = { 0, 1, 0 },
+ .hback_porch = { 0, 1, 0 },
+ .hsync_len = { 0, 48, 0 },
+
+ .vactive = { 0, 480, 0 },
+ .vfront_porch = { 0, 12, 0 },
+ .vback_porch = { 0, 25, 0 },
+ .vsync_len = { 0, 3, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};
-static struct omap_dss_device devkit8000_lcd_device = {
+static struct panel_dpi_platform_data devkit8000_lcd_pdata = {
.name = "lcd",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "generic_dpi_panel",
- .data = &lcd_panel,
- .phy.dpi.data_lines = 24,
+ .source = "dpi.0",
+
+ .data_lines = 24,
+
+ .display_timing = &devkit8000_lcd_videomode,
+
+ .enable_gpio = -1, /* filled in code */
+ .backlight_gpio = -1,
};
-static struct tfp410_platform_data dvi_panel = {
- .power_down_gpio = -1,
- .i2c_bus_num = 1,
+static struct platform_device devkit8000_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &devkit8000_lcd_pdata,
};
-static struct omap_dss_device devkit8000_dvi_device = {
+static struct connector_dvi_platform_data devkit8000_dvi_connector_pdata = {
.name = "dvi",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+ .source = "tfp410.0",
+ .i2c_bus_num = 1,
};
-static struct omap_dss_device devkit8000_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static struct platform_device devkit8000_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &devkit8000_dvi_connector_pdata,
};
+static struct encoder_tfp410_platform_data devkit8000_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = -1, /* filled in code */
+};
-static struct omap_dss_device *devkit8000_dss_devices[] = {
- &devkit8000_lcd_device,
- &devkit8000_dvi_device,
- &devkit8000_tv_device,
+static struct platform_device devkit8000_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &devkit8000_tfp410_pdata,
+};
+
+static struct connector_atv_platform_data devkit8000_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
+};
+
+static struct platform_device devkit8000_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &devkit8000_tv_pdata,
};
static struct omap_dss_board_info devkit8000_dss_data = {
- .num_devices = ARRAY_SIZE(devkit8000_dss_devices),
- .devices = devkit8000_dss_devices,
- .default_device = &devkit8000_lcd_device,
+ .default_display_name = "lcd",
};
static uint32_t board_keymap[] = {
@@ -204,11 +235,10 @@ static int devkit8000_twl_gpio_setup(struct device *dev,
gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
/* TWL4030_GPIO_MAX + 0 is "LCD_PWREN" (out, active high) */
- lcd_panel.num_gpios = 1;
- lcd_panel.gpios[0] = gpio + TWL4030_GPIO_MAX + 0;
+ devkit8000_lcd_pdata.enable_gpio = gpio + TWL4030_GPIO_MAX + 0;
/* gpio + 7 is "DVI_PD" (out, active low) */
- dvi_panel.power_down_gpio = gpio + 7;
+ devkit8000_tfp410_pdata.power_down_gpio = gpio + 7;
return 0;
}
@@ -413,6 +443,10 @@ static struct platform_device *devkit8000_devices[] __initdata = {
&leds_gpio,
&keys_gpio,
&omap_dm9000_dev,
+ &devkit8000_lcd_device,
+ &devkit8000_tfp410_device,
+ &devkit8000_dvi_connector_device,
+ &devkit8000_tv_connector_device,
};
static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 10/21] ARM: OMAP: 2430SDP: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (8 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 09/21] ARM: OMAP: devkit8000: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 11/21] ARM: OMAP: LDP: " Tomi Valkeinen
` (11 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for 2430SDP board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-2430sdp.c | 57 +++++++++++++++++++++++--------------
1 file changed, 35 insertions(+), 22 deletions(-)
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 244d8a5..c711ad6 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -100,39 +100,52 @@ static struct platform_device sdp2430_flash_device = {
.resource = &sdp2430_flash_resource,
};
-static struct platform_device *sdp2430_devices[] __initdata = {
- &sdp2430_flash_device,
-};
-
/* LCD */
#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
-static struct panel_generic_dpi_data sdp2430_panel_data = {
- .name = "nec_nl2432dr22-11b",
- .num_gpios = 2,
- .gpios = {
- SDP2430_LCD_PANEL_ENABLE_GPIO,
- SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
- },
+static const struct display_timing sdp2430_lcd_videomode = {
+ .pixelclock = { 0, 5400000, 0 },
+
+ .hactive = { 0, 240, 0 },
+ .hfront_porch = { 0, 3, 0 },
+ .hback_porch = { 0, 39, 0 },
+ .hsync_len = { 0, 3, 0 },
+
+ .vactive = { 0, 320, 0 },
+ .vfront_porch = { 0, 2, 0 },
+ .vback_porch = { 0, 7, 0 },
+ .vsync_len = { 0, 1, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};
-static struct omap_dss_device sdp2430_lcd_device = {
- .name = "lcd",
- .driver_name = "generic_dpi_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 16,
- .data = &sdp2430_panel_data,
+static struct panel_dpi_platform_data sdp2430_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 16,
+
+ .display_timing = &sdp2430_lcd_videomode,
+
+ .enable_gpio = SDP2430_LCD_PANEL_ENABLE_GPIO,
+ .backlight_gpio = SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
};
-static struct omap_dss_device *sdp2430_dss_devices[] = {
- &sdp2430_lcd_device,
+static struct platform_device sdp2430_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &sdp2430_lcd_pdata,
};
static struct omap_dss_board_info sdp2430_dss_data = {
- .num_devices = ARRAY_SIZE(sdp2430_dss_devices),
- .devices = sdp2430_dss_devices,
- .default_device = &sdp2430_lcd_device,
+ .default_display_name = "lcd",
+};
+
+static struct platform_device *sdp2430_devices[] __initdata = {
+ &sdp2430_flash_device,
+ &sdp2430_lcd_device,
};
#if IS_ENABLED(CONFIG_SMC91X)
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 11/21] ARM: OMAP: LDP: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (9 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 10/21] ARM: OMAP: 2430SDP: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 12/21] ARM: OMAP: omap3stalker: " Tomi Valkeinen
` (10 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for LDP board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-ldp.c | 68 ++++++++++++++++++++++++++++-------------
1 file changed, 47 insertions(+), 21 deletions(-)
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index 62e4f70..dd8da2c 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -184,45 +184,70 @@ static inline void __init ldp_init_smsc911x(void)
#define LCD_PANEL_RESET_GPIO 55
#define LCD_PANEL_QVGA_GPIO 56
-static struct panel_generic_dpi_data ldp_panel_data = {
- .name = "nec_nl2432dr22-11b",
- .num_gpios = 4,
- /* gpios filled in code */
+static const struct display_timing ldp_lcd_videomode = {
+ .pixelclock = { 0, 5400000, 0 },
+
+ .hactive = { 0, 240, 0 },
+ .hfront_porch = { 0, 3, 0 },
+ .hback_porch = { 0, 39, 0 },
+ .hsync_len = { 0, 3, 0 },
+
+ .vactive = { 0, 320, 0 },
+ .vfront_porch = { 0, 2, 0 },
+ .vback_porch = { 0, 7, 0 },
+ .vsync_len = { 0, 1, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};
-static struct omap_dss_device ldp_lcd_device = {
- .name = "lcd",
- .driver_name = "generic_dpi_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 18,
- .data = &ldp_panel_data,
+static struct panel_dpi_platform_data ldp_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 18,
+
+ .display_timing = &ldp_lcd_videomode,
+
+ .enable_gpio = -1, /* filled in code */
+ .backlight_gpio = -1, /* filled in code */
};
-static struct omap_dss_device *ldp_dss_devices[] = {
- &ldp_lcd_device,
+static struct platform_device ldp_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &ldp_lcd_pdata,
};
static struct omap_dss_board_info ldp_dss_data = {
- .num_devices = ARRAY_SIZE(ldp_dss_devices),
- .devices = ldp_dss_devices,
- .default_device = &ldp_lcd_device,
+ .default_display_name = "lcd",
};
static void __init ldp_display_init(void)
{
- ldp_panel_data.gpios[2] = LCD_PANEL_RESET_GPIO;
- ldp_panel_data.gpios[3] = LCD_PANEL_QVGA_GPIO;
+ int r;
+
+ static struct gpio gpios[] __initdata = {
+ {LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"},
+ {LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"},
+ };
+
+ r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
+ if (r) {
+ pr_err("Cannot request LCD GPIOs, error %d\n", r);
+ return;
+ }
omap_display_init(&ldp_dss_data);
}
static int ldp_twl_gpio_setup(struct device *dev, unsigned gpio, unsigned ngpio)
{
- ldp_panel_data.gpios[0] = gpio + 7;
- ldp_panel_data.gpio_invert[0] = true;
+ /* LCD enable GPIO */
+ ldp_lcd_pdata.enable_gpio = gpio + 7;
- ldp_panel_data.gpios[1] = gpio + 15;
- ldp_panel_data.gpio_invert[1] = true;
+ /* Backlight enable GPIO */
+ ldp_lcd_pdata.backlight_gpio = gpio + 15;
return 0;
}
@@ -322,6 +347,7 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
static struct platform_device *ldp_devices[] __initdata = {
&ldp_gpio_keys_device,
+ &ldp_lcd_device,
};
#ifdef CONFIG_OMAP_MUX
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 12/21] ARM: OMAP: omap3stalker: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (10 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 11/21] ARM: OMAP: LDP: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 13/21] ARM: OMAP: igep0020: " Tomi Valkeinen
` (9 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for OMAP3 Stalker board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-omap3stalker.c | 61 +++++++++++++++++++-------------
1 file changed, 37 insertions(+), 24 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index d37e6b1..ba8342f 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -93,40 +93,50 @@ static void __init omap3_stalker_display_init(void)
{
return;
}
+static struct connector_dvi_platform_data omap3stalker_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = -1,
+};
-static struct omap_dss_device omap3_stalker_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
-#if defined(CONFIG_OMAP2_VENC_OUT_TYPE_SVIDEO)
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-#elif defined(CONFIG_OMAP2_VENC_OUT_TYPE_COMPOSITE)
- .u.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE,
-#endif
+static struct platform_device omap3stalker_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &omap3stalker_dvi_connector_pdata,
};
-static struct tfp410_platform_data dvi_panel = {
- .power_down_gpio = DSS_ENABLE_GPIO,
- .i2c_bus_num = -1,
+static struct encoder_tfp410_platform_data omap3stalker_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = DSS_ENABLE_GPIO,
};
-static struct omap_dss_device omap3_stalker_dvi_device = {
- .name = "dvi",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct platform_device omap3stalker_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &omap3stalker_tfp410_pdata,
+};
+
+static struct connector_atv_platform_data omap3stalker_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+#if defined(CONFIG_OMAP2_VENC_OUT_TYPE_SVIDEO)
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+#elif defined(CONFIG_OMAP2_VENC_OUT_TYPE_COMPOSITE)
+ .connector_type = OMAP_DSS_VENC_TYPE_COMPOSITE,
+#endif
+ .invert_polarity = false,
};
-static struct omap_dss_device *omap3_stalker_dss_devices[] = {
- &omap3_stalker_tv_device,
- &omap3_stalker_dvi_device,
+static struct platform_device omap3stalker_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &omap3stalker_tv_pdata,
};
static struct omap_dss_board_info omap3_stalker_dss_data = {
- .num_devices = ARRAY_SIZE(omap3_stalker_dss_devices),
- .devices = omap3_stalker_dss_devices,
- .default_device = &omap3_stalker_dvi_device,
+ .default_display_name = "dvi",
};
static struct regulator_consumer_supply omap3stalker_vmmc1_supply[] = {
@@ -356,6 +366,9 @@ static struct usbhs_phy_data phy_data[] __initdata = {
static struct platform_device *omap3_stalker_devices[] __initdata = {
&keys_gpio,
+ &omap3stalker_tfp410_device,
+ &omap3stalker_dvi_connector_device,
+ &omap3stalker_tv_connector_device,
};
static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 13/21] ARM: OMAP: igep0020: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (11 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 12/21] ARM: OMAP: omap3stalker: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 14/21] ARM: OMAP: cm-t35: " Tomi Valkeinen
` (8 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for igep0020 board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-igep0020.c | 36 ++++++++++++++++++++++--------------
1 file changed, 22 insertions(+), 14 deletions(-)
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 87e65dd..06dbb2d 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -429,31 +429,39 @@ static struct twl4030_gpio_platform_data igep_twl4030_gpio_pdata = {
.setup = igep_twl_gpio_setup,
};
-static struct tfp410_platform_data dvi_panel = {
- .i2c_bus_num = 3,
- .power_down_gpio = IGEP2_GPIO_DVI_PUP,
+static struct connector_dvi_platform_data omap3stalker_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = 3,
};
-static struct omap_dss_device igep2_dvi_device = {
- .type = OMAP_DISPLAY_TYPE_DPI,
- .name = "dvi",
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct platform_device omap3stalker_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &omap3stalker_dvi_connector_pdata,
};
-static struct omap_dss_device *igep2_dss_devices[] = {
- &igep2_dvi_device
+static struct encoder_tfp410_platform_data omap3stalker_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = IGEP2_GPIO_DVI_PUP,
+};
+
+static struct platform_device omap3stalker_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &omap3stalker_tfp410_pdata,
};
static struct omap_dss_board_info igep2_dss_data = {
- .num_devices = ARRAY_SIZE(igep2_dss_devices),
- .devices = igep2_dss_devices,
- .default_device = &igep2_dvi_device,
+ .default_display_name = "dvi",
};
static struct platform_device *igep_devices[] __initdata = {
&igep_vwlan_device,
+ &omap3stalker_tfp410_device,
+ &omap3stalker_dvi_connector_device,
};
static int igep2_keymap[] = {
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 14/21] ARM: OMAP: cm-t35: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (12 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 13/21] ARM: OMAP: igep0020: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 15/21] ARM: OMAP: H4: " Tomi Valkeinen
` (7 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for cm-t35 board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-cm-t35.c | 100 +++++++++++++++++++++++++------------
1 file changed, 67 insertions(+), 33 deletions(-)
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index d4622ed..33d159e 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -190,52 +190,81 @@ static inline void cm_t35_init_nand(void) {}
#define CM_T35_LCD_BL_GPIO 58
#define CM_T35_DVI_EN_GPIO 54
-static struct panel_generic_dpi_data lcd_panel = {
- .name = "toppoly_tdo35s",
- .num_gpios = 1,
- .gpios = {
- CM_T35_LCD_BL_GPIO,
- },
+static const struct display_timing cm_t35_lcd_videomode = {
+ .pixelclock = { 0, 26000000, 0 },
+
+ .hactive = { 0, 480, 0 },
+ .hfront_porch = { 0, 104, 0 },
+ .hback_porch = { 0, 8, 0 },
+ .hsync_len = { 0, 8, 0 },
+
+ .vactive = { 0, 640, 0 },
+ .vfront_porch = { 0, 4, 0 },
+ .vback_porch = { 0, 2, 0 },
+ .vsync_len = { 0, 2, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+};
+
+static struct panel_dpi_platform_data cm_t35_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 18,
+
+ .display_timing = &cm_t35_lcd_videomode,
+
+ .enable_gpio = -1,
+ .backlight_gpio = CM_T35_LCD_BL_GPIO,
+};
+
+static struct platform_device cm_t35_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &cm_t35_lcd_pdata,
};
-static struct omap_dss_device cm_t35_lcd_device = {
- .name = "lcd",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "generic_dpi_panel",
- .data = &lcd_panel,
- .phy.dpi.data_lines = 18,
+static struct connector_dvi_platform_data cm_t35_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = -1,
};
-static struct tfp410_platform_data dvi_panel = {
- .power_down_gpio = CM_T35_DVI_EN_GPIO,
- .i2c_bus_num = -1,
+static struct platform_device cm_t35_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &cm_t35_dvi_connector_pdata,
};
-static struct omap_dss_device cm_t35_dvi_device = {
- .name = "dvi",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct encoder_tfp410_platform_data cm_t35_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = CM_T35_DVI_EN_GPIO,
};
-static struct omap_dss_device cm_t35_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static struct platform_device cm_t35_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &cm_t35_tfp410_pdata,
};
-static struct omap_dss_device *cm_t35_dss_devices[] = {
- &cm_t35_lcd_device,
- &cm_t35_dvi_device,
- &cm_t35_tv_device,
+static struct connector_atv_platform_data cm_t35_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
+};
+
+static struct platform_device cm_t35_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &cm_t35_tv_pdata,
};
static struct omap_dss_board_info cm_t35_dss_data = {
- .num_devices = ARRAY_SIZE(cm_t35_dss_devices),
- .devices = cm_t35_dss_devices,
- .default_device = &cm_t35_dvi_device,
+ .default_display_name = "dvi",
};
static struct omap2_mcspi_device_config tdo24m_mcspi_config = {
@@ -280,6 +309,11 @@ static void __init cm_t35_init_display(void)
pr_err("CM-T35: failed to register DSS device\n");
gpio_free(CM_T35_LCD_EN_GPIO);
}
+
+ platform_device_register(&cm_t35_tfp410_device);
+ platform_device_register(&cm_t35_dvi_connector_device);
+ platform_device_register(&cm_t35_lcd_device);
+ platform_device_register(&cm_t35_tv_connector_device);
}
static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = {
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 15/21] ARM: OMAP: H4: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (13 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 14/21] ARM: OMAP: cm-t35: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 16/21] ARM: OMAP: 3430SDP: " Tomi Valkeinen
` (6 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for H4 board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-h4.c | 48 +++++++++++++++++++++++++++++-------------
1 file changed, 33 insertions(+), 15 deletions(-)
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index 69c0acf..87e41a8 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -194,30 +194,48 @@ static struct platform_device h4_flash_device = {
.resource = &h4_flash_resource,
};
-static struct platform_device *h4_devices[] __initdata = {
- &h4_flash_device,
+static const struct display_timing cm_t35_lcd_videomode = {
+ .pixelclock = { 0, 6250000, 0 },
+
+ .hactive = { 0, 240, 0 },
+ .hfront_porch = { 0, 15, 0 },
+ .hback_porch = { 0, 60, 0 },
+ .hsync_len = { 0, 15, 0 },
+
+ .vactive = { 0, 320, 0 },
+ .vfront_porch = { 0, 1, 0 },
+ .vback_porch = { 0, 1, 0 },
+ .vsync_len = { 0, 1, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_HIGH | DISPLAY_FLAGS_VSYNC_HIGH |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE,
};
-static struct panel_generic_dpi_data h4_panel_data = {
- .name = "h4",
+static struct panel_dpi_platform_data cm_t35_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 16,
+
+ .display_timing = &cm_t35_lcd_videomode,
+
+ .enable_gpio = -1,
+ .backlight_gpio = -1,
};
-static struct omap_dss_device h4_lcd_device = {
- .name = "lcd",
- .driver_name = "generic_dpi_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 16,
- .data = &h4_panel_data,
+static struct platform_device cm_t35_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &cm_t35_lcd_pdata,
};
-static struct omap_dss_device *h4_dss_devices[] = {
- &h4_lcd_device,
+static struct platform_device *h4_devices[] __initdata = {
+ &h4_flash_device,
+ &cm_t35_lcd_device,
};
static struct omap_dss_board_info h4_dss_data = {
- .num_devices = ARRAY_SIZE(h4_dss_devices),
- .devices = h4_dss_devices,
- .default_device = &h4_lcd_device,
+ .default_display_name = "lcd",
};
/* 2420 Sysboot setup (2430 is different) */
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 16/21] ARM: OMAP: 3430SDP: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (14 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 15/21] ARM: OMAP: H4: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 17/21] ARM: OMAP: OMAP3EVM: " Tomi Valkeinen
` (5 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for 3430SDP board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-3430sdp.c | 83 ++++++++++++++++++++++---------------
1 file changed, 50 insertions(+), 33 deletions(-)
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index 23b004a..d95d0ef 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -126,53 +126,65 @@ static void __init sdp3430_display_init(void)
}
-static struct panel_sharp_ls037v7dw01_data sdp3430_lcd_data = {
- .resb_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO,
- .ini_gpio = -1,
- .mo_gpio = -1,
- .lr_gpio = -1,
- .ud_gpio = -1,
+static struct panel_sharp_ls037v7dw01_platform_data sdp3430_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 16,
+
+ .resb_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO,
+ .ini_gpio = -1,
+ .mo_gpio = -1,
+ .lr_gpio = -1,
+ .ud_gpio = -1,
+};
+
+static struct platform_device sdp3430_lcd_device = {
+ .name = "panel-sharp-ls037v7dw01",
+ .id = 0,
+ .dev.platform_data = &sdp3430_lcd_pdata,
};
-static struct omap_dss_device sdp3430_lcd_device = {
- .name = "lcd",
- .driver_name = "sharp_ls_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 16,
- .data = &sdp3430_lcd_data,
+static struct connector_dvi_platform_data sdp3430_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = -1,
};
-static struct tfp410_platform_data dvi_panel = {
- .power_down_gpio = -1,
- .i2c_bus_num = -1,
+static struct platform_device sdp3430_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &sdp3430_dvi_connector_pdata,
};
-static struct omap_dss_device sdp3430_dvi_device = {
- .name = "dvi",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct encoder_tfp410_platform_data sdp3430_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = -1,
};
-static struct omap_dss_device sdp3430_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static struct platform_device sdp3430_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &sdp3430_tfp410_pdata,
};
+static struct connector_atv_platform_data sdp3430_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
+};
-static struct omap_dss_device *sdp3430_dss_devices[] = {
- &sdp3430_lcd_device,
- &sdp3430_dvi_device,
- &sdp3430_tv_device,
+static struct platform_device sdp3430_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &sdp3430_tv_pdata,
};
static struct omap_dss_board_info sdp3430_dss_data = {
- .num_devices = ARRAY_SIZE(sdp3430_dss_devices),
- .devices = sdp3430_dss_devices,
- .default_device = &sdp3430_lcd_device,
+ .default_display_name = "lcd",
};
static struct omap2_hsmmc_info mmc[] = {
@@ -583,6 +595,11 @@ static void __init omap_3430sdp_init(void)
omap_hsmmc_init(mmc);
omap3430_i2c_init();
omap_display_init(&sdp3430_dss_data);
+ platform_device_register(&sdp3430_lcd_device);
+ platform_device_register(&sdp3430_tfp410_device);
+ platform_device_register(&sdp3430_dvi_connector_device);
+ platform_device_register(&sdp3430_tv_connector_device);
+
if (omap_rev() > OMAP3430_REV_ES1_0)
gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV2;
else
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 17/21] ARM: OMAP: OMAP3EVM: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (15 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 16/21] ARM: OMAP: 3430SDP: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 18/21] ARM: OMAP: Pandora: " Tomi Valkeinen
` (4 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for OMAP3EVM board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-omap3evm.c | 87 +++++++++++++++++++++---------------
1 file changed, 52 insertions(+), 35 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index 8c02626..004c646 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -166,14 +166,6 @@ static inline void __init omap3evm_init_smsc911x(void) { return; }
*/
#define OMAP3EVM_DVI_PANEL_EN_GPIO 199
-static struct panel_sharp_ls037v7dw01_data omap3_evm_lcd_data = {
- .resb_gpio = OMAP3EVM_LCD_PANEL_RESB,
- .ini_gpio = OMAP3EVM_LCD_PANEL_INI,
- .mo_gpio = OMAP3EVM_LCD_PANEL_QVGA,
- .lr_gpio = OMAP3EVM_LCD_PANEL_LR,
- .ud_gpio = OMAP3EVM_LCD_PANEL_UD,
-};
-
#ifdef CONFIG_BROKEN
static void __init omap3_evm_display_init(void)
{
@@ -196,44 +188,65 @@ static void __init omap3_evm_display_init(void)
}
#endif
-static struct omap_dss_device omap3_evm_lcd_device = {
- .name = "lcd",
- .driver_name = "sharp_ls_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 18,
- .data = &omap3_evm_lcd_data,
+static struct panel_sharp_ls037v7dw01_platform_data omap3_evm_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 18,
+
+ .resb_gpio = OMAP3EVM_LCD_PANEL_RESB,
+ .ini_gpio = OMAP3EVM_LCD_PANEL_INI,
+ .mo_gpio = OMAP3EVM_LCD_PANEL_QVGA,
+ .lr_gpio = OMAP3EVM_LCD_PANEL_LR,
+ .ud_gpio = OMAP3EVM_LCD_PANEL_UD,
+};
+
+static struct platform_device omap3_evm_lcd_device = {
+ .name = "panel-sharp-ls037v7dw01",
+ .id = 0,
+ .dev.platform_data = &omap3_evm_lcd_pdata,
+};
+
+static struct connector_dvi_platform_data omap3_evm_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = -1,
+};
+
+static struct platform_device omap3_evm_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &omap3_evm_dvi_connector_pdata,
};
-static struct omap_dss_device omap3_evm_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static struct encoder_tfp410_platform_data omap3_evm_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = OMAP3EVM_DVI_PANEL_EN_GPIO,
};
-static struct tfp410_platform_data dvi_panel = {
- .power_down_gpio = OMAP3EVM_DVI_PANEL_EN_GPIO,
- .i2c_bus_num = -1,
+static struct platform_device omap3_evm_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &omap3_evm_tfp410_pdata,
};
-static struct omap_dss_device omap3_evm_dvi_device = {
- .name = "dvi",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct connector_atv_platform_data omap3_evm_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
};
-static struct omap_dss_device *omap3_evm_dss_devices[] = {
- &omap3_evm_lcd_device,
- &omap3_evm_tv_device,
- &omap3_evm_dvi_device,
+static struct platform_device omap3_evm_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &omap3_evm_tv_pdata,
};
static struct omap_dss_board_info omap3_evm_dss_data = {
- .num_devices = ARRAY_SIZE(omap3_evm_dss_devices),
- .devices = omap3_evm_dss_devices,
- .default_device = &omap3_evm_lcd_device,
+ .default_display_name = "lcd",
};
static struct regulator_consumer_supply omap3evm_vmmc1_supply[] = {
@@ -678,6 +691,10 @@ static void __init omap3_evm_init(void)
omap3_evm_i2c_init();
omap_display_init(&omap3_evm_dss_data);
+ platform_device_register(&omap3_evm_lcd_device);
+ platform_device_register(&omap3_evm_tfp410_device);
+ platform_device_register(&omap3_evm_dvi_connector_device);
+ platform_device_register(&omap3_evm_tv_connector_device);
omap_serial_init();
omap_sdrc_init(mt46h32m32lf6_sdrc_params, NULL);
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 18/21] ARM: OMAP: Pandora: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (16 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 17/21] ARM: OMAP: OMAP3EVM: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 19/21] ARM: OMAP: Zoom: " Tomi Valkeinen
` (3 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for OMAP3 Pandora board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
---
arch/arm/mach-omap2/board-omap3pandora.c | 48 +++++++++++++++-----------------
1 file changed, 22 insertions(+), 26 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index b1547a0..9c2b180 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -231,34 +231,21 @@ static struct twl4030_keypad_data pandora_kp_data = {
.rep = 1,
};
-static struct panel_tpo_td043_data lcd_data = {
- .nreset_gpio = 157,
-};
-
-static struct omap_dss_device pandora_lcd_device = {
- .name = "lcd",
- .driver_name = "tpo_td043mtea1_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 24,
- .data = &lcd_data,
-};
-
-static struct omap_dss_device pandora_tv_device = {
- .name = "tv",
- .driver_name = "venc",
- .type = OMAP_DISPLAY_TYPE_VENC,
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static struct connector_atv_platform_data pandora_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
};
-static struct omap_dss_device *pandora_dss_devices[] = {
- &pandora_lcd_device,
- &pandora_tv_device,
+static struct platform_device pandora_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &pandora_tv_pdata,
};
static struct omap_dss_board_info pandora_dss_data = {
- .num_devices = ARRAY_SIZE(pandora_dss_devices),
- .devices = pandora_dss_devices,
- .default_device = &pandora_lcd_device,
+ .default_display_name = "lcd",
};
static void pandora_wl1251_init_card(struct mmc_card *card)
@@ -348,7 +335,7 @@ static struct regulator_consumer_supply pandora_vdds_supplies[] = {
};
static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = {
- REGULATOR_SUPPLY("vcc", "display0"),
+ REGULATOR_SUPPLY("vcc", "spi1.1"),
};
static struct regulator_consumer_supply pandora_usb_phy_supply[] = {
@@ -529,13 +516,21 @@ static int __init omap3pandora_i2c_init(void)
return 0;
}
+static struct panel_tpo_td043mtea1_platform_data pandora_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 24,
+ .nreset_gpio = 157,
+};
+
static struct spi_board_info omap3pandora_spi_board_info[] __initdata = {
{
- .modalias = "tpo_td043mtea1_panel_spi",
+ .modalias = "panel-tpo-td043mtea1",
.bus_num = 1,
.chip_select = 1,
.max_speed_hz = 375000,
- .platform_data = &pandora_lcd_device,
+ .platform_data = &pandora_lcd_pdata,
}
};
@@ -580,6 +575,7 @@ static struct platform_device *omap3pandora_devices[] __initdata = {
&pandora_keys_gpio,
&pandora_vwlan_device,
&pandora_backlight,
+ &pandora_tv_connector_device,
};
static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 19/21] ARM: OMAP: Zoom: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (17 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 18/21] ARM: OMAP: Pandora: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 20/21] ARM: OMAP: AM3517EVM: " Tomi Valkeinen
` (2 subsequent siblings)
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for Zoom board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-zoom-display.c | 30 +++++++++++-------------------
1 file changed, 11 insertions(+), 19 deletions(-)
diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-omap2/board-zoom-display.c
index c2a079c..3d8ecc1 100644
--- a/arch/arm/mach-omap2/board-zoom-display.c
+++ b/arch/arm/mach-omap2/board-zoom-display.c
@@ -25,32 +25,23 @@
#define LCD_PANEL_RESET_GPIO_PILOT 55
#define LCD_PANEL_QVGA_GPIO 56
-static struct panel_nec_nl8048_data zoom_lcd_data = {
- /* res_gpio filled in code */
- .qvga_gpio = LCD_PANEL_QVGA_GPIO,
-};
+static struct panel_nec_nl8048hl11_platform_data zoom_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
-static struct omap_dss_device zoom_lcd_device = {
- .name = "lcd",
- .driver_name = "NEC_8048_panel",
- .type = OMAP_DISPLAY_TYPE_DPI,
- .phy.dpi.data_lines = 24,
- .data = &zoom_lcd_data,
-};
+ .data_lines = 24,
-static struct omap_dss_device *zoom_dss_devices[] = {
- &zoom_lcd_device,
+ .res_gpio = -1, /* filled in code */
+ .qvga_gpio = LCD_PANEL_QVGA_GPIO,
};
static struct omap_dss_board_info zoom_dss_data = {
- .num_devices = ARRAY_SIZE(zoom_dss_devices),
- .devices = zoom_dss_devices,
- .default_device = &zoom_lcd_device,
+ .default_display_name = "lcd",
};
static void __init zoom_lcd_panel_init(void)
{
- zoom_lcd_data.res_gpio = (omap_rev() > OMAP3430_REV_ES3_0) ?
+ zoom_lcd_pdata.res_gpio = (omap_rev() > OMAP3430_REV_ES3_0) ?
LCD_PANEL_RESET_GPIO_PROD :
LCD_PANEL_RESET_GPIO_PILOT;
}
@@ -61,19 +52,20 @@ static struct omap2_mcspi_device_config dss_lcd_mcspi_config = {
static struct spi_board_info nec_8048_spi_board_info[] __initdata = {
[0] = {
- .modalias = "nec_8048_spi",
+ .modalias = "panel-nec-nl8048hl11",
.bus_num = 1,
.chip_select = 2,
.max_speed_hz = 375000,
.controller_data = &dss_lcd_mcspi_config,
+ .platform_data = &zoom_lcd_pdata,
},
};
void __init zoom_display_init(void)
{
omap_display_init(&zoom_dss_data);
+ zoom_lcd_panel_init();
spi_register_board_info(nec_8048_spi_board_info,
ARRAY_SIZE(nec_8048_spi_board_info));
- zoom_lcd_panel_init();
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 20/21] ARM: OMAP: AM3517EVM: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (18 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 19/21] ARM: OMAP: Zoom: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 21/21] ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig Tomi Valkeinen
2013-08-09 10:53 ` [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
Use new display drivers for AM3517EVM board.
The new OMAP display drivers were merged for 3.11, and we can now change
the board files to use the new ones and phase out the old ones.
Note: the management of LCD GPIOs is unclear. They were originally muxed
as inputs, and LCD_PANEL_PWR was labelled as "dvi enable".
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-am3517evm.c | 113 +++++++++++++++++++++++-----------
1 file changed, 77 insertions(+), 36 deletions(-)
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
index d63f14b..8cc2c9e 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -120,56 +120,95 @@ static int __init am3517_evm_i2c_init(void)
return 0;
}
-static struct panel_generic_dpi_data lcd_panel = {
- .name = "sharp_lq",
- .num_gpios = 3,
- .gpios = {
- LCD_PANEL_PWR,
- LCD_PANEL_BKLIGHT_PWR,
- LCD_PANEL_PWM,
- },
+static const struct display_timing am3517_evm_lcd_videomode = {
+ .pixelclock = { 0, 9000000, 0 },
+
+ .hactive = { 0, 480, 0 },
+ .hfront_porch = { 0, 3, 0 },
+ .hback_porch = { 0, 2, 0 },
+ .hsync_len = { 0, 42, 0 },
+
+ .vactive = { 0, 272, 0 },
+ .vfront_porch = { 0, 3, 0 },
+ .vback_porch = { 0, 2, 0 },
+ .vsync_len = { 0, 11, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_LOW | DISPLAY_FLAGS_PIXDATA_POSEDGE,
+};
+
+static struct panel_dpi_platform_data am3517_evm_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 16,
+
+ .display_timing = &am3517_evm_lcd_videomode,
+
+ .enable_gpio = LCD_PANEL_PWR,
+ .backlight_gpio = LCD_PANEL_BKLIGHT_PWR,
+};
+
+static struct platform_device am3517_evm_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &am3517_evm_lcd_pdata,
};
-static struct omap_dss_device am3517_evm_lcd_device = {
- .type = OMAP_DISPLAY_TYPE_DPI,
- .name = "lcd",
- .driver_name = "generic_dpi_panel",
- .data = &lcd_panel,
- .phy.dpi.data_lines = 16,
+static struct connector_dvi_platform_data am3517_evm_dvi_connector_pdata = {
+ .name = "dvi",
+ .source = "tfp410.0",
+ .i2c_bus_num = -1,
};
-static struct omap_dss_device am3517_evm_tv_device = {
- .type = OMAP_DISPLAY_TYPE_VENC,
- .name = "tv",
- .driver_name = "venc",
- .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+static struct platform_device am3517_evm_dvi_connector_device = {
+ .name = "connector-dvi",
+ .id = 0,
+ .dev.platform_data = &am3517_evm_dvi_connector_pdata,
};
-static struct tfp410_platform_data dvi_panel = {
- .power_down_gpio = -1,
- .i2c_bus_num = -1,
+static struct encoder_tfp410_platform_data am3517_evm_tfp410_pdata = {
+ .name = "tfp410.0",
+ .source = "dpi.0",
+ .data_lines = 24,
+ .power_down_gpio = -1,
};
-static struct omap_dss_device am3517_evm_dvi_device = {
- .type = OMAP_DISPLAY_TYPE_DPI,
- .name = "dvi",
- .driver_name = "tfp410",
- .data = &dvi_panel,
- .phy.dpi.data_lines = 24,
+static struct platform_device am3517_evm_tfp410_device = {
+ .name = "tfp410",
+ .id = 0,
+ .dev.platform_data = &am3517_evm_tfp410_pdata,
};
-static struct omap_dss_device *am3517_evm_dss_devices[] = {
- &am3517_evm_lcd_device,
- &am3517_evm_tv_device,
- &am3517_evm_dvi_device,
+static struct connector_atv_platform_data am3517_evm_tv_pdata = {
+ .name = "tv",
+ .source = "venc.0",
+ .connector_type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .invert_polarity = false,
+};
+
+static struct platform_device am3517_evm_tv_connector_device = {
+ .name = "connector-analog-tv",
+ .id = 0,
+ .dev.platform_data = &am3517_evm_tv_pdata,
};
static struct omap_dss_board_info am3517_evm_dss_data = {
- .num_devices = ARRAY_SIZE(am3517_evm_dss_devices),
- .devices = am3517_evm_dss_devices,
- .default_device = &am3517_evm_lcd_device,
+ .default_display_name = "lcd",
};
+static void __init am3517_evm_display_init(void)
+{
+ gpio_request_one(LCD_PANEL_PWM, GPIOF_OUT_INIT_HIGH, "lcd panel pwm");
+
+ omap_display_init(&am3517_evm_dss_data);
+
+ platform_device_register(&am3517_evm_tfp410_device);
+ platform_device_register(&am3517_evm_dvi_connector_device);
+ platform_device_register(&am3517_evm_lcd_device);
+ platform_device_register(&am3517_evm_tv_connector_device);
+}
+
/*
* Board initialization
*/
@@ -295,7 +334,9 @@ static void __init am3517_evm_init(void)
omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
am3517_evm_i2c_init();
- omap_display_init(&am3517_evm_dss_data);
+
+ am3517_evm_display_init();
+
omap_serial_init();
omap_sdrc_init(NULL, NULL);
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 21/21] ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (19 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 20/21] ARM: OMAP: AM3517EVM: " Tomi Valkeinen
@ 2013-07-26 7:08 ` Tomi Valkeinen
2013-08-09 10:53 ` [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
21 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-26 7:08 UTC (permalink / raw)
To: linux-arm-kernel
The old display drivers are no longer used, and will be phased out. So
remove them from the omap2plus_defconfig.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/configs/omap2plus_defconfig | 7 -------
1 file changed, 7 deletions(-)
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index 7ce1c29..92ba100 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -185,13 +185,6 @@ 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_TFP410=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_DISPLAY_ENCODER_TFP410=m
CONFIG_DISPLAY_ENCODER_TPD12S015=m
CONFIG_DISPLAY_CONNECTOR_DVI=m
--
1.8.1.2
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 09/21] ARM: OMAP: devkit8000: use new display drivers
2013-07-26 7:08 ` [PATCH 09/21] ARM: OMAP: devkit8000: " Tomi Valkeinen
@ 2013-07-30 5:48 ` Archit Taneja
2013-07-30 6:01 ` Tomi Valkeinen
0 siblings, 1 reply; 30+ messages in thread
From: Archit Taneja @ 2013-07-30 5:48 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Friday 26 July 2013 12:38 PM, Tomi Valkeinen wrote:
> Use new display drivers for devkit8000 board.
>
> The new OMAP display drivers were merged for 3.11, and we can now change
> the board files to use the new ones and phase out the old ones.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
> arch/arm/mach-omap2/board-devkit8000.c | 96 +++++++++++++++++++++++-----------
> 1 file changed, 65 insertions(+), 31 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
> index f1d91ba..cdc4fb9 100644
> --- a/arch/arm/mach-omap2/board-devkit8000.c
> +++ b/arch/arm/mach-omap2/board-devkit8000.c
> @@ -112,50 +112,81 @@ static struct regulator_consumer_supply devkit8000_vio_supply[] = {
> REGULATOR_SUPPLY("vcc", "spi2.0"),
> };
>
> -static struct panel_generic_dpi_data lcd_panel = {
> - .name = "innolux_at070tn83",
> - /* gpios filled in code */
> +static const struct display_timing devkit8000_lcd_videomode = {
> + .pixelclock = { 0, 40000000, 0 },
This is unrelated to the work being done here, but noticed that the
pixel clock for this panel seems to be too high for the given timings.
It puts the refresh rate around 90 Hz, which is odd.
Archit
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 09/21] ARM: OMAP: devkit8000: use new display drivers
2013-07-30 5:48 ` Archit Taneja
@ 2013-07-30 6:01 ` Tomi Valkeinen
0 siblings, 0 replies; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-30 6:01 UTC (permalink / raw)
To: linux-arm-kernel
On 30/07/13 08:48, Archit Taneja wrote:
> Hi,
>
> On Friday 26 July 2013 12:38 PM, Tomi Valkeinen wrote:
>> Use new display drivers for devkit8000 board.
>>
>> The new OMAP display drivers were merged for 3.11, and we can now change
>> the board files to use the new ones and phase out the old ones.
>>
>> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
>> ---
>> arch/arm/mach-omap2/board-devkit8000.c | 96
>> +++++++++++++++++++++++-----------
>> 1 file changed, 65 insertions(+), 31 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/board-devkit8000.c
>> b/arch/arm/mach-omap2/board-devkit8000.c
>> index f1d91ba..cdc4fb9 100644
>> --- a/arch/arm/mach-omap2/board-devkit8000.c
>> +++ b/arch/arm/mach-omap2/board-devkit8000.c
>> @@ -112,50 +112,81 @@ static struct regulator_consumer_supply
>> devkit8000_vio_supply[] = {
>> REGULATOR_SUPPLY("vcc", "spi2.0"),
>> };
>>
>> -static struct panel_generic_dpi_data lcd_panel = {
>> - .name = "innolux_at070tn83",
>> - /* gpios filled in code */
>> +static const struct display_timing devkit8000_lcd_videomode = {
>> + .pixelclock = { 0, 40000000, 0 },
>
> This is unrelated to the work being done here, but noticed that the
> pixel clock for this panel seems to be too high for the given timings.
> It puts the refresh rate around 90 Hz, which is odd.
So it does... Quick googling found the specs for the panel, but even
with the typical values in the spec I get somewhwat odd refresh rate.
Well, as you said, it's unrelated to these changes. I guess it's better
not to touch it.
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130730/9d5e4692/attachment.sig>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 06/21] ARM: OMAP: overo: use new display drivers
2013-07-26 7:08 ` [PATCH 06/21] ARM: OMAP: overo: use new display drivers Tomi Valkeinen
@ 2013-07-30 6:21 ` Archit Taneja
2013-07-30 6:39 ` Tomi Valkeinen
0 siblings, 1 reply; 30+ messages in thread
From: Archit Taneja @ 2013-07-30 6:21 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
On Friday 26 July 2013 12:38 PM, Tomi Valkeinen wrote:
> Use the new display drivers for OMAP3 Overo board.
>
> The new OMAP display drivers were merged for 3.11, and we can now change
> the board files to use the new ones and phase out the old ones.
>
> Note that the LCD add-on boards for lcd43 and lcd35 use the same GPIOs
> for the panels. This means that both panel devices cannot be probed at
> the same time.
>
> DT will handle this correctly, i.e. the DT data will contain the panel
> device only for the add-on board that is attached. However, for the
> board file we need a hackish solution: We parse the kernel boot command
> line, and see whether lcd43 or lcd35 is set as a default display, and
> add the given one. Or, if neither is given, default to lcd43.
>
<snip>
> static struct omap_dss_board_info overo_dss_data = {
> - .num_devices = ARRAY_SIZE(overo_dss_devices),
> - .devices = overo_dss_devices,
> - .default_device = &overo_dvi_device,
> + .default_display_name = "lcd43",
> };
The default display previously was the dvi device, if both lcd43 and
lcd35 are on add-on boards, then we should probably stick to dvi itself,
right? The hack won't work if dvi is the default device though.
Archit
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 06/21] ARM: OMAP: overo: use new display drivers
2013-07-30 6:21 ` Archit Taneja
@ 2013-07-30 6:39 ` Tomi Valkeinen
2013-07-30 7:07 ` Archit Taneja
0 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2013-07-30 6:39 UTC (permalink / raw)
To: linux-arm-kernel
On 30/07/13 09:21, Archit Taneja wrote:
> Hi,
>
> On Friday 26 July 2013 12:38 PM, Tomi Valkeinen wrote:
>> Use the new display drivers for OMAP3 Overo board.
>>
>> The new OMAP display drivers were merged for 3.11, and we can now change
>> the board files to use the new ones and phase out the old ones.
>>
>> Note that the LCD add-on boards for lcd43 and lcd35 use the same GPIOs
>> for the panels. This means that both panel devices cannot be probed at
>> the same time.
>>
>> DT will handle this correctly, i.e. the DT data will contain the panel
>> device only for the add-on board that is attached. However, for the
>> board file we need a hackish solution: We parse the kernel boot command
>> line, and see whether lcd43 or lcd35 is set as a default display, and
>> add the given one. Or, if neither is given, default to lcd43.
>>
>
> <snip>
>
>> static struct omap_dss_board_info overo_dss_data = {
>> - .num_devices = ARRAY_SIZE(overo_dss_devices),
>> - .devices = overo_dss_devices,
>> - .default_device = &overo_dvi_device,
>> + .default_display_name = "lcd43",
>> };
>
> The default display previously was the dvi device, if both lcd43 and
> lcd35 are on add-on boards, then we should probably stick to dvi itself,
> right? The hack won't work if dvi is the default device though.
DVI is also on an add-on board, but it doesn't conflict with lcd43 or lcd35.
The hack works fine even if DVI is the default device. In that case, it
doesn't matter if lcd43 or lcd35 is added, because the user doesn't use
them (as long as only one of them is added, because otherwise there'll
be an error during probe).
If DVI is the default device, we could actually skip adding both lcd43
and lcd35. I just wanted to minimize the code in this hack, so I didn't
do that.
Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130730/7fcbb0f8/attachment.sig>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 06/21] ARM: OMAP: overo: use new display drivers
2013-07-30 6:39 ` Tomi Valkeinen
@ 2013-07-30 7:07 ` Archit Taneja
0 siblings, 0 replies; 30+ messages in thread
From: Archit Taneja @ 2013-07-30 7:07 UTC (permalink / raw)
To: linux-arm-kernel
On Tuesday 30 July 2013 12:09 PM, Tomi Valkeinen wrote:
> On 30/07/13 09:21, Archit Taneja wrote:
>> Hi,
>>
>> On Friday 26 July 2013 12:38 PM, Tomi Valkeinen wrote:
>>> Use the new display drivers for OMAP3 Overo board.
>>>
>>> The new OMAP display drivers were merged for 3.11, and we can now change
>>> the board files to use the new ones and phase out the old ones.
>>>
>>> Note that the LCD add-on boards for lcd43 and lcd35 use the same GPIOs
>>> for the panels. This means that both panel devices cannot be probed at
>>> the same time.
>>>
>>> DT will handle this correctly, i.e. the DT data will contain the panel
>>> device only for the add-on board that is attached. However, for the
>>> board file we need a hackish solution: We parse the kernel boot command
>>> line, and see whether lcd43 or lcd35 is set as a default display, and
>>> add the given one. Or, if neither is given, default to lcd43.
>>>
>>
>> <snip>
>>
>>> static struct omap_dss_board_info overo_dss_data = {
>>> - .num_devices = ARRAY_SIZE(overo_dss_devices),
>>> - .devices = overo_dss_devices,
>>> - .default_device = &overo_dvi_device,
>>> + .default_display_name = "lcd43",
>>> };
>>
>> The default display previously was the dvi device, if both lcd43 and
>> lcd35 are on add-on boards, then we should probably stick to dvi itself,
>> right? The hack won't work if dvi is the default device though.
>
> DVI is also on an add-on board, but it doesn't conflict with lcd43 or lcd35.
>
> The hack works fine even if DVI is the default device. In that case, it
> doesn't matter if lcd43 or lcd35 is added, because the user doesn't use
> them (as long as only one of them is added, because otherwise there'll
> be an error during probe).
>
> If DVI is the default device, we could actually skip adding both lcd43
> and lcd35. I just wanted to minimize the code in this hack, so I didn't
> do that.
Okay, thanks for the clarification, looks fine then.
Archit
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 00/21] ARM: OMAP2+: use new display drivers
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
` (20 preceding siblings ...)
2013-07-26 7:08 ` [PATCH 21/21] ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig Tomi Valkeinen
@ 2013-08-09 10:53 ` Tomi Valkeinen
2013-08-27 9:20 ` Tomi Valkeinen
21 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2013-08-09 10:53 UTC (permalink / raw)
To: linux-arm-kernel
Hi Tony,
Ping. It'd be nice to get this in for 3.12, so I can remove all the old
drivers and the related legacy code.
Note that the first patch "ARM: OMAP: dss-common: fix Panda's DVI DDC
channel", is a fix for 3.11, and I've sent a fbdev pull request
containing that just now. Merging without that patch will cause a
trivial conflict. If you want, I can also create a branch that has these
on top of the fbdev-fixes branch.
Tomi
On 26/07/13 10:08, Tomi Valkeinen wrote:
> Hi,
>
> The display drivers for new OMAP DSS driver model were merged in v3.11, but the
> board files were not changed to use them. This series changes the board files
> to take those new drivers into use.
>
> There's mostly nothing special in the patches. One complication is with Overo
> board file, which adds two panel devices, located in add-on boards, that use
> the same GPIOs, meaning that the two panel devices cannot be probed at the same
> time. The solution used here is to parse the kernel command line, and decide
> the panel device to be added depending on the given default display.
>
> The omap2plus_defconfig is changed to include a few most commonly used display
> drivers as modules, and the old drivers are removed.
>
> Note: The first patch in this series has been sent separately
> (http://mid.gmane.org/1374570405-8301-2-git-send-email-tomi.valkeinen at ti.com),
> and is a fix for v3.11. It's included here as an another patch in the series
> depends on it.
>
> Tested on 4430SDP, Panda, Beagle, Beagle xM, Overo.
>
> Tomi
>
> Tomi Valkeinen (21):
> ARM: OMAP: dss-common: fix Panda's DVI DDC channel
> ARM: OMAP2+: Remove legacy DSS initialization for omap4
> ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig
> ARM: OMAP: dss-common: use new display drivers
> ARM: OMAP: 4430SDP: remove picodlp device data
> ARM: OMAP: overo: use new display drivers
> ARM: OMAP: rx51: use new display drivers
> ARM: OMAP: beagle: use new display drivers
> ARM: OMAP: devkit8000: use new display drivers
> ARM: OMAP: 2430SDP: use new display drivers
> ARM: OMAP: LDP: use new display drivers
> ARM: OMAP: omap3stalker: use new display drivers
> ARM: OMAP: igep0020: use new display drivers
> ARM: OMAP: cm-t35: use new display drivers
> ARM: OMAP: H4: use new display drivers
> ARM: OMAP: 3430SDP: use new display drivers
> ARM: OMAP: OMAP3EVM: use new display drivers
> ARM: OMAP: Pandora: use new display drivers
> ARM: OMAP: Zoom: use new display drivers
> ARM: OMAP: AM3517EVM: use new display drivers
> ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
>
> arch/arm/configs/omap2plus_defconfig | 12 +-
> arch/arm/mach-omap2/board-2430sdp.c | 57 ++++---
> arch/arm/mach-omap2/board-3430sdp.c | 83 +++++----
> arch/arm/mach-omap2/board-am3517evm.c | 113 +++++++++----
> arch/arm/mach-omap2/board-cm-t35.c | 100 +++++++----
> arch/arm/mach-omap2/board-devkit8000.c | 96 +++++++----
> arch/arm/mach-omap2/board-h4.c | 48 ++++--
> arch/arm/mach-omap2/board-igep0020.c | 36 ++--
> arch/arm/mach-omap2/board-ldp.c | 68 +++++---
> arch/arm/mach-omap2/board-omap3beagle.c | 56 +++---
> arch/arm/mach-omap2/board-omap3evm.c | 87 ++++++----
> arch/arm/mach-omap2/board-omap3pandora.c | 48 +++---
> arch/arm/mach-omap2/board-omap3stalker.c | 61 ++++---
> arch/arm/mach-omap2/board-overo.c | 160 +++++++++++-------
> arch/arm/mach-omap2/board-rx51-peripherals.c | 12 ++
> arch/arm/mach-omap2/board-rx51-video.c | 35 ++--
> arch/arm/mach-omap2/board-zoom-display.c | 30 ++--
> arch/arm/mach-omap2/dss-common.c | 244 ++++++++++++---------------
> arch/arm/mach-omap2/dss-common.h | 2 -
> 19 files changed, 787 insertions(+), 561 deletions(-)
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130809/8fbd8b38/attachment.sig>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 00/21] ARM: OMAP2+: use new display drivers
2013-08-09 10:53 ` [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
@ 2013-08-27 9:20 ` Tomi Valkeinen
2013-08-28 4:44 ` Tony Lindgren
0 siblings, 1 reply; 30+ messages in thread
From: Tomi Valkeinen @ 2013-08-27 9:20 UTC (permalink / raw)
To: linux-arm-kernel
Hi Tony,
Ping again...
Tomi
On 09/08/13 13:53, Tomi Valkeinen wrote:
> Hi Tony,
>
> Ping. It'd be nice to get this in for 3.12, so I can remove all the old
> drivers and the related legacy code.
>
> Note that the first patch "ARM: OMAP: dss-common: fix Panda's DVI DDC
> channel", is a fix for 3.11, and I've sent a fbdev pull request
> containing that just now. Merging without that patch will cause a
> trivial conflict. If you want, I can also create a branch that has these
> on top of the fbdev-fixes branch.
>
> Tomi
>
> On 26/07/13 10:08, Tomi Valkeinen wrote:
>> Hi,
>>
>> The display drivers for new OMAP DSS driver model were merged in v3.11, but the
>> board files were not changed to use them. This series changes the board files
>> to take those new drivers into use.
>>
>> There's mostly nothing special in the patches. One complication is with Overo
>> board file, which adds two panel devices, located in add-on boards, that use
>> the same GPIOs, meaning that the two panel devices cannot be probed at the same
>> time. The solution used here is to parse the kernel command line, and decide
>> the panel device to be added depending on the given default display.
>>
>> The omap2plus_defconfig is changed to include a few most commonly used display
>> drivers as modules, and the old drivers are removed.
>>
>> Note: The first patch in this series has been sent separately
>> (http://mid.gmane.org/1374570405-8301-2-git-send-email-tomi.valkeinen at ti.com),
>> and is a fix for v3.11. It's included here as an another patch in the series
>> depends on it.
>>
>> Tested on 4430SDP, Panda, Beagle, Beagle xM, Overo.
>>
>> Tomi
>>
>> Tomi Valkeinen (21):
>> ARM: OMAP: dss-common: fix Panda's DVI DDC channel
>> ARM: OMAP2+: Remove legacy DSS initialization for omap4
>> ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig
>> ARM: OMAP: dss-common: use new display drivers
>> ARM: OMAP: 4430SDP: remove picodlp device data
>> ARM: OMAP: overo: use new display drivers
>> ARM: OMAP: rx51: use new display drivers
>> ARM: OMAP: beagle: use new display drivers
>> ARM: OMAP: devkit8000: use new display drivers
>> ARM: OMAP: 2430SDP: use new display drivers
>> ARM: OMAP: LDP: use new display drivers
>> ARM: OMAP: omap3stalker: use new display drivers
>> ARM: OMAP: igep0020: use new display drivers
>> ARM: OMAP: cm-t35: use new display drivers
>> ARM: OMAP: H4: use new display drivers
>> ARM: OMAP: 3430SDP: use new display drivers
>> ARM: OMAP: OMAP3EVM: use new display drivers
>> ARM: OMAP: Pandora: use new display drivers
>> ARM: OMAP: Zoom: use new display drivers
>> ARM: OMAP: AM3517EVM: use new display drivers
>> ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
>>
>> arch/arm/configs/omap2plus_defconfig | 12 +-
>> arch/arm/mach-omap2/board-2430sdp.c | 57 ++++---
>> arch/arm/mach-omap2/board-3430sdp.c | 83 +++++----
>> arch/arm/mach-omap2/board-am3517evm.c | 113 +++++++++----
>> arch/arm/mach-omap2/board-cm-t35.c | 100 +++++++----
>> arch/arm/mach-omap2/board-devkit8000.c | 96 +++++++----
>> arch/arm/mach-omap2/board-h4.c | 48 ++++--
>> arch/arm/mach-omap2/board-igep0020.c | 36 ++--
>> arch/arm/mach-omap2/board-ldp.c | 68 +++++---
>> arch/arm/mach-omap2/board-omap3beagle.c | 56 +++---
>> arch/arm/mach-omap2/board-omap3evm.c | 87 ++++++----
>> arch/arm/mach-omap2/board-omap3pandora.c | 48 +++---
>> arch/arm/mach-omap2/board-omap3stalker.c | 61 ++++---
>> arch/arm/mach-omap2/board-overo.c | 160 +++++++++++-------
>> arch/arm/mach-omap2/board-rx51-peripherals.c | 12 ++
>> arch/arm/mach-omap2/board-rx51-video.c | 35 ++--
>> arch/arm/mach-omap2/board-zoom-display.c | 30 ++--
>> arch/arm/mach-omap2/dss-common.c | 244 ++++++++++++---------------
>> arch/arm/mach-omap2/dss-common.h | 2 -
>> 19 files changed, 787 insertions(+), 561 deletions(-)
>>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130827/0a1ce646/attachment.sig>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 00/21] ARM: OMAP2+: use new display drivers
2013-08-27 9:20 ` Tomi Valkeinen
@ 2013-08-28 4:44 ` Tony Lindgren
0 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2013-08-28 4:44 UTC (permalink / raw)
To: linux-arm-kernel
* Tomi Valkeinen <tomi.valkeinen@ti.com> [130827 02:28]:
> Hi Tony,
>
> Ping again...
Sorry looks like this is still pending. Can you please do a pull
request for me against v3.11-rc6 for this?
In general I prefer pull requests for things like this so we can
all merge in the branch as needed. Probably not needed in this
case as you're just flipping over to the new code :)
Regards,
Tony
> Tomi
>
> On 09/08/13 13:53, Tomi Valkeinen wrote:
> > Hi Tony,
> >
> > Ping. It'd be nice to get this in for 3.12, so I can remove all the old
> > drivers and the related legacy code.
> >
> > Note that the first patch "ARM: OMAP: dss-common: fix Panda's DVI DDC
> > channel", is a fix for 3.11, and I've sent a fbdev pull request
> > containing that just now. Merging without that patch will cause a
> > trivial conflict. If you want, I can also create a branch that has these
> > on top of the fbdev-fixes branch.
> >
> > Tomi
> >
> > On 26/07/13 10:08, Tomi Valkeinen wrote:
> >> Hi,
> >>
> >> The display drivers for new OMAP DSS driver model were merged in v3.11, but the
> >> board files were not changed to use them. This series changes the board files
> >> to take those new drivers into use.
> >>
> >> There's mostly nothing special in the patches. One complication is with Overo
> >> board file, which adds two panel devices, located in add-on boards, that use
> >> the same GPIOs, meaning that the two panel devices cannot be probed at the same
> >> time. The solution used here is to parse the kernel command line, and decide
> >> the panel device to be added depending on the given default display.
> >>
> >> The omap2plus_defconfig is changed to include a few most commonly used display
> >> drivers as modules, and the old drivers are removed.
> >>
> >> Note: The first patch in this series has been sent separately
> >> (http://mid.gmane.org/1374570405-8301-2-git-send-email-tomi.valkeinen at ti.com),
> >> and is a fix for v3.11. It's included here as an another patch in the series
> >> depends on it.
> >>
> >> Tested on 4430SDP, Panda, Beagle, Beagle xM, Overo.
> >>
> >> Tomi
> >>
> >> Tomi Valkeinen (21):
> >> ARM: OMAP: dss-common: fix Panda's DVI DDC channel
> >> ARM: OMAP2+: Remove legacy DSS initialization for omap4
> >> ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig
> >> ARM: OMAP: dss-common: use new display drivers
> >> ARM: OMAP: 4430SDP: remove picodlp device data
> >> ARM: OMAP: overo: use new display drivers
> >> ARM: OMAP: rx51: use new display drivers
> >> ARM: OMAP: beagle: use new display drivers
> >> ARM: OMAP: devkit8000: use new display drivers
> >> ARM: OMAP: 2430SDP: use new display drivers
> >> ARM: OMAP: LDP: use new display drivers
> >> ARM: OMAP: omap3stalker: use new display drivers
> >> ARM: OMAP: igep0020: use new display drivers
> >> ARM: OMAP: cm-t35: use new display drivers
> >> ARM: OMAP: H4: use new display drivers
> >> ARM: OMAP: 3430SDP: use new display drivers
> >> ARM: OMAP: OMAP3EVM: use new display drivers
> >> ARM: OMAP: Pandora: use new display drivers
> >> ARM: OMAP: Zoom: use new display drivers
> >> ARM: OMAP: AM3517EVM: use new display drivers
> >> ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig
> >>
> >> arch/arm/configs/omap2plus_defconfig | 12 +-
> >> arch/arm/mach-omap2/board-2430sdp.c | 57 ++++---
> >> arch/arm/mach-omap2/board-3430sdp.c | 83 +++++----
> >> arch/arm/mach-omap2/board-am3517evm.c | 113 +++++++++----
> >> arch/arm/mach-omap2/board-cm-t35.c | 100 +++++++----
> >> arch/arm/mach-omap2/board-devkit8000.c | 96 +++++++----
> >> arch/arm/mach-omap2/board-h4.c | 48 ++++--
> >> arch/arm/mach-omap2/board-igep0020.c | 36 ++--
> >> arch/arm/mach-omap2/board-ldp.c | 68 +++++---
> >> arch/arm/mach-omap2/board-omap3beagle.c | 56 +++---
> >> arch/arm/mach-omap2/board-omap3evm.c | 87 ++++++----
> >> arch/arm/mach-omap2/board-omap3pandora.c | 48 +++---
> >> arch/arm/mach-omap2/board-omap3stalker.c | 61 ++++---
> >> arch/arm/mach-omap2/board-overo.c | 160 +++++++++++-------
> >> arch/arm/mach-omap2/board-rx51-peripherals.c | 12 ++
> >> arch/arm/mach-omap2/board-rx51-video.c | 35 ++--
> >> arch/arm/mach-omap2/board-zoom-display.c | 30 ++--
> >> arch/arm/mach-omap2/dss-common.c | 244 ++++++++++++---------------
> >> arch/arm/mach-omap2/dss-common.h | 2 -
> >> 19 files changed, 787 insertions(+), 561 deletions(-)
> >>
> >
> >
>
>
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2013-08-28 4:44 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-26 7:08 [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 01/21] ARM: OMAP: dss-common: fix Panda's DVI DDC channel Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 02/21] ARM: OMAP2+: Remove legacy DSS initialization for omap4 Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 03/21] ARM: OMAP2+: Add selected display drivers to omap2plus_defconfig Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 04/21] ARM: OMAP: dss-common: use new display drivers Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 05/21] ARM: OMAP: 4430SDP: remove picodlp device data Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 06/21] ARM: OMAP: overo: use new display drivers Tomi Valkeinen
2013-07-30 6:21 ` Archit Taneja
2013-07-30 6:39 ` Tomi Valkeinen
2013-07-30 7:07 ` Archit Taneja
2013-07-26 7:08 ` [PATCH 07/21] ARM: OMAP: rx51: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 08/21] ARM: OMAP: beagle: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 09/21] ARM: OMAP: devkit8000: " Tomi Valkeinen
2013-07-30 5:48 ` Archit Taneja
2013-07-30 6:01 ` Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 10/21] ARM: OMAP: 2430SDP: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 11/21] ARM: OMAP: LDP: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 12/21] ARM: OMAP: omap3stalker: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 13/21] ARM: OMAP: igep0020: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 14/21] ARM: OMAP: cm-t35: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 15/21] ARM: OMAP: H4: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 16/21] ARM: OMAP: 3430SDP: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 17/21] ARM: OMAP: OMAP3EVM: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 18/21] ARM: OMAP: Pandora: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 19/21] ARM: OMAP: Zoom: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 20/21] ARM: OMAP: AM3517EVM: " Tomi Valkeinen
2013-07-26 7:08 ` [PATCH 21/21] ARM: OMAP2+: Remove old display drivers from omap2plus_defconfig Tomi Valkeinen
2013-08-09 10:53 ` [PATCH 00/21] ARM: OMAP2+: use new display drivers Tomi Valkeinen
2013-08-27 9:20 ` Tomi Valkeinen
2013-08-28 4:44 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).