hi, On Wed, Feb 3, 2010 at 6:29 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi Tomi, > > Today's linux-next merge of the omap_dss2 tree got a conflict in > arch/arm/mach-omap2/board-omap3pandora.c between commit > f8b6f704105164eac7c043a48f79c4234e03e4b2 ("omap: Rename hsmmc symbols to > reflect independence from twl4030") from the omap tree and commit > aacb4387a1e6f3b57977375532c6d8e47fcd5652 ("OMAP: pandora: add DSS2 > support and related regulators") from the omap_dss2 tree. I've rebased my patch against linux-omap/for-next (attached). To fix the conflict, Tomi can rebase his queue on linux-omap/for-next, or Tony can simply take this to his queue - this has no "hard" dependencies on other queued DSS2 changes, has only board file changes and builds fine in linux-omap/for-next. I would prefer the second option, as I plan sending more boardfile changes to linux-omap. > > I fixed it up (see below) and can carry the fix as necessary. > -- > Cheers, > Stephen Rothwell sfr@xxxxxxxxxxxxxxxx > > diff --cc arch/arm/mach-omap2/board-omap3pandora.c > index 9967b5d,bd3e577..0000000 > --- a/arch/arm/mach-omap2/board-omap3pandora.c > +++ b/arch/arm/mach-omap2/board-omap3pandora.c > @@@ -192,7 -193,62 +193,62 @@@ static struct twl4030_keypad_data pando > .rep = 1, > }; > > + 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, > + .reset_gpio = 157, > + }; > + > + 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 omap_dss_device *pandora_dss_devices[] = { > + &pandora_lcd_device, > + &pandora_tv_device, > + }; > + > + 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, > + }; > + > + static struct platform_device pandora_dss_device = { > + .name = "omapdss", > + .id = -1, > + .dev = { > + .platform_data = &pandora_dss_data, > + }, > + }; > + > + static struct regulator_consumer_supply pandora_vcc_lcd_supply = { > + .supply = "vcc", > + .dev = &pandora_lcd_device.dev, > + }; > + > + static struct regulator_consumer_supply pandora_vdda_dac_supply = { > + .supply = "vdda_dac", > + .dev = &pandora_dss_device.dev, > + }; > + > + static struct regulator_consumer_supply pandora_vdds_supplies[] = { > + { > + .supply = "vdds_sdi", > + .dev = &pandora_dss_device.dev, > + }, > + { > + .supply = "vdds_dsi", > + .dev = &pandora_dss_device.dev, > + }, > + }; > + > -static struct twl4030_hsmmc_info omap3pandora_mmc[] = { > +static struct omap2_hsmmc_info omap3pandora_mmc[] = { > { > .mmc = 1, > .wires = 4, >
From 6ef850a159b4e57b792d7f84e18c443ef15fe3e5 Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas <notasas@xxxxxxxxx> Date: Wed, 13 Jan 2010 22:19:07 +0100 Subject: [PATCH] OMAP: pandora: add DSS2 support and related regulators This patch adds configuration data for DSS2 and sets up display related regulators. Signed-off-by: Grazvydas Ignotas <notasas@xxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxx> --- arch/arm/mach-omap2/board-omap3pandora.c | 111 ++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 9967b5d..7ea3894 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c @@ -40,6 +40,7 @@ #include <mach/hardware.h> #include <plat/mcspi.h> #include <plat/usb.h> +#include <plat/display.h> #include "mux.h" #include "sdram-micron-mt46h32m32lf-6.h" @@ -192,6 +193,61 @@ static struct twl4030_keypad_data pandora_kp_data = { .rep = 1, }; +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, + .reset_gpio = 157, +}; + +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 omap_dss_device *pandora_dss_devices[] = { + &pandora_lcd_device, + &pandora_tv_device, +}; + +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, +}; + +static struct platform_device pandora_dss_device = { + .name = "omapdss", + .id = -1, + .dev = { + .platform_data = &pandora_dss_data, + }, +}; + +static struct regulator_consumer_supply pandora_vcc_lcd_supply = { + .supply = "vcc", + .dev = &pandora_lcd_device.dev, +}; + +static struct regulator_consumer_supply pandora_vdda_dac_supply = { + .supply = "vdda_dac", + .dev = &pandora_dss_device.dev, +}; + +static struct regulator_consumer_supply pandora_vdds_supplies[] = { + { + .supply = "vdds_sdi", + .dev = &pandora_dss_device.dev, + }, + { + .supply = "vdds_dsi", + .dev = &pandora_dss_device.dev, + }, +}; + static struct omap2_hsmmc_info omap3pandora_mmc[] = { { .mmc = 1, @@ -277,6 +333,51 @@ static struct regulator_init_data pandora_vmmc2 = { .consumer_supplies = &pandora_vmmc2_supply, }; +/* VDAC for DSS driving S-Video */ +static struct regulator_init_data pandora_vdac = { + .constraints = { + .min_uV = 1800000, + .max_uV = 1800000, + .apply_uV = true, + .valid_modes_mask = REGULATOR_MODE_NORMAL + | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_MODE + | REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies = 1, + .consumer_supplies = &pandora_vdda_dac_supply, +}; + +/* VPLL2 for digital video outputs */ +static struct regulator_init_data pandora_vpll2 = { + .constraints = { + .min_uV = 1800000, + .max_uV = 1800000, + .apply_uV = true, + .valid_modes_mask = REGULATOR_MODE_NORMAL + | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_MODE + | REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies = ARRAY_SIZE(pandora_vdds_supplies), + .consumer_supplies = pandora_vdds_supplies, +}; + +/* VAUX1 for LCD */ +static struct regulator_init_data pandora_vaux1 = { + .constraints = { + .min_uV = 3000000, + .max_uV = 3000000, + .apply_uV = true, + .valid_modes_mask = REGULATOR_MODE_NORMAL + | REGULATOR_MODE_STANDBY, + .valid_ops_mask = REGULATOR_CHANGE_MODE + | REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies = 1, + .consumer_supplies = &pandora_vcc_lcd_supply, +}; + static struct twl4030_usb_data omap3pandora_usb_data = { .usb_mode = T2_USB_MODE_ULPI, }; @@ -298,6 +399,9 @@ static struct twl4030_platform_data omap3pandora_twldata = { .codec = &omap3pandora_codec_data, .vmmc1 = &pandora_vmmc1, .vmmc2 = &pandora_vmmc2, + .vdac = &pandora_vdac, + .vpll2 = &pandora_vpll2, + .vaux1 = &pandora_vaux1, .keypad = &pandora_kp_data, }; @@ -365,6 +469,12 @@ static struct spi_board_info omap3pandora_spi_board_info[] __initdata = { .controller_data = &ads7846_mcspi_config, .irq = OMAP_GPIO_IRQ(OMAP3_PANDORA_TS_GPIO), .platform_data = &ads7846_config, + }, { + .modalias = "tpo_td043mtea1_panel_spi", + .bus_num = 1, + .chip_select = 1, + .max_speed_hz = 375000, + .platform_data = &pandora_lcd_device, } }; @@ -379,6 +489,7 @@ static void __init omap3pandora_init_irq(void) static struct platform_device *omap3pandora_devices[] __initdata = { &pandora_leds_gpio, &pandora_keys_gpio, + &pandora_dss_device, }; static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { -- 1.5.6.3