Hi, I applied these two to my tree: [PATCH 2/4] OMAP: DSS2: Add Sharp LQ043T1DG01 panel drivers [PATCH 3/4] OMAP: Enable DSS2 for OMAP3EVM board But this patch doesn't apply, I guess the below mentioned I2C stuff is missing from the linus' tree. Tomi On Mon, 2010-01-04 at 15:34 +0100, ext hvaibhav@xxxxxx wrote: > From: Vaibhav Hiremath <hvaibhav@xxxxxx> > > This patch is dependent on I2C interface support patch, since both > the patch series modifies same file (board-am3517evm.c) file. Please refer to > the link - > > http://marc.info/?l=linux-omap&m=126261461106778&w=2 > > Signed-off-by: Vaibhav Hiremath <hvaibhav@xxxxxx> > --- > arch/arm/configs/am3517_evm_defconfig | 52 ++++++++++++- > arch/arm/mach-omap2/board-am3517evm.c | 144 +++++++++++++++++++++++++++++++++ > 2 files changed, 195 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/configs/am3517_evm_defconfig b/arch/arm/configs/am3517_evm_defconfig > index abe9966..859f352 100644 > --- a/arch/arm/configs/am3517_evm_defconfig > +++ b/arch/arm/configs/am3517_evm_defconfig > @@ -653,7 +653,57 @@ CONFIG_SSB_POSSIBLE=y > # > # CONFIG_VGASTATE is not set > # CONFIG_VIDEO_OUTPUT_CONTROL is not set > -# CONFIG_FB is not set > +CONFIG_FB=y > +# CONFIG_FIRMWARE_EDID is not set > +# CONFIG_FB_DDC is not set > +# CONFIG_FB_BOOT_VESA_SUPPORT is not set > +CONFIG_FB_CFB_FILLRECT=y > +CONFIG_FB_CFB_COPYAREA=y > +CONFIG_FB_CFB_IMAGEBLIT=y > +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set > +# CONFIG_FB_SYS_FILLRECT is not set > +# CONFIG_FB_SYS_COPYAREA is not set > +# CONFIG_FB_SYS_IMAGEBLIT is not set > +# CONFIG_FB_FOREIGN_ENDIAN is not set > +# CONFIG_FB_SYS_FOPS is not set > +# CONFIG_FB_SVGALIB is not set > +# CONFIG_FB_MACMODES is not set > +# CONFIG_FB_BACKLIGHT is not set > +# CONFIG_FB_MODE_HELPERS is not set > +# CONFIG_FB_TILEBLITTING is not set > + > +# > +# Frame buffer hardware drivers > +# > +# CONFIG_FB_ARMCLCD is not set > +# CONFIG_FB_S1D13XXX is not set > +# CONFIG_FB_VIRTUAL is not set > +# CONFIG_FB_METRONOME is not set > +# CONFIG_FB_MB862XX is not set > +# CONFIG_FB_BROADSHEET is not set > +# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set > +CONFIG_OMAP2_VRAM=y > +CONFIG_OMAP2_VRFB=y > +CONFIG_OMAP2_DSS=y > +CONFIG_OMAP2_VRAM_SIZE=4 > +CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y > +# CONFIG_OMAP2_DSS_RFBI is not set > +CONFIG_OMAP2_DSS_VENC=y > +# CONFIG_OMAP2_DSS_SDI is not set > +# CONFIG_OMAP2_DSS_DSI is not set > +# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set > +CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4 > +CONFIG_FB_OMAP2=y > +CONFIG_FB_OMAP2_DEBUG_SUPPORT=y > +# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set > +CONFIG_FB_OMAP2_NUM_FBS=3 > + > +# > +# OMAP2/3 Display Device Drivers > +# > +CONFIG_PANEL_GENERIC=y > +# CONFIG_PANEL_SHARP_LS037V7DW01 is not set > +CONFIG_PANEL_SHARP_LQ043T1DG01=y > # CONFIG_BACKLIGHT_LCD_SUPPORT is not set > > # > diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c > index e85243e..b924f15 100644 > --- a/arch/arm/mach-omap2/board-am3517evm.c > +++ b/arch/arm/mach-omap2/board-am3517evm.c > @@ -32,12 +32,153 @@ > #include <plat/common.h> > #include <plat/control.h> > #include <plat/usb.h> > +#include <plat/display.h> > > #include <media/tvp514x.h> > #include <media/ti-media/vpfe_capture.h> > > #include "mux.h" > > +#define LCD_PANEL_PWR 176 > +#define LCD_PANEL_BKLIGHT_PWR 182 > +#define LCD_PANEL_PWM 181 > + > +static int lcd_enabled; > +static int dvi_enabled; > + > +static void __init am3517_evm_display_init(void) > +{ > + int r; > + > + omap_mux_init_gpio(LCD_PANEL_PWR, OMAP_PIN_INPUT_PULLUP); > + omap_mux_init_gpio(LCD_PANEL_BKLIGHT_PWR, OMAP_PIN_INPUT_PULLDOWN); > + omap_mux_init_gpio(LCD_PANEL_PWM, OMAP_PIN_INPUT_PULLDOWN); > + /* > + * Enable GPIO 182 = LCD Backlight Power > + */ > + r = gpio_request(LCD_PANEL_BKLIGHT_PWR, "lcd_backlight_pwr"); > + if (r) { > + printk(KERN_ERR "failed to get lcd_backlight_pwr\n"); > + return; > + } > + gpio_direction_output(LCD_PANEL_BKLIGHT_PWR, 1); > + /* > + * Enable GPIO 181 = LCD Panel PWM > + */ > + r = gpio_request(LCD_PANEL_PWM, "lcd_pwm"); > + if (r) { > + printk(KERN_ERR "failed to get lcd_pwm\n"); > + goto err_1; > + } > + gpio_direction_output(LCD_PANEL_PWM, 1); > + /* > + * Enable GPIO 176 = LCD Panel Power enable pin > + */ > + r = gpio_request(LCD_PANEL_PWR, "lcd_panel_pwr"); > + if (r) { > + printk(KERN_ERR "failed to get lcd_panel_pwr\n"); > + goto err_2; > + } > + gpio_direction_output(LCD_PANEL_PWR, 1); > + > + printk(KERN_INFO "Display initialized successfully\n"); > + return; > + > +err_2: > + gpio_free(LCD_PANEL_PWM); > +err_1: > + gpio_free(LCD_PANEL_BKLIGHT_PWR); > +} > + > +static int am3517_evm_panel_enable_lcd(struct omap_dss_device *dssdev) > +{ > + if (dvi_enabled) { > + printk(KERN_ERR "cannot enable LCD, DVI is enabled\n"); > + return -EINVAL; > + } > + gpio_set_value(LCD_PANEL_PWR, 1); > + lcd_enabled = 1; > + > + return 0; > +} > + > +static void am3517_evm_panel_disable_lcd(struct omap_dss_device *dssdev) > +{ > + gpio_set_value(LCD_PANEL_PWR, 0); > + lcd_enabled = 0; > +} > + > +static struct omap_dss_device am3517_evm_lcd_device = { > + .type = OMAP_DISPLAY_TYPE_DPI, > + .name = "lcd", > + .driver_name = "sharp_lq_panel", > + .phy.dpi.data_lines = 16, > + .platform_enable = am3517_evm_panel_enable_lcd, > + .platform_disable = am3517_evm_panel_disable_lcd, > +}; > + > +static int am3517_evm_panel_enable_tv(struct omap_dss_device *dssdev) > +{ > + return 0; > +} > + > +static void am3517_evm_panel_disable_tv(struct omap_dss_device *dssdev) > +{ > +} > + > +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, > + .platform_enable = am3517_evm_panel_enable_tv, > + .platform_disable = am3517_evm_panel_disable_tv, > +}; > + > +static int am3517_evm_panel_enable_dvi(struct omap_dss_device *dssdev) > +{ > + if (lcd_enabled) { > + printk(KERN_ERR "cannot enable DVI, LCD is enabled\n"); > + return -EINVAL; > + } > + dvi_enabled = 1; > + > + return 0; > +} > + > +static void am3517_evm_panel_disable_dvi(struct omap_dss_device *dssdev) > +{ > + dvi_enabled = 0; > +} > + > +static struct omap_dss_device am3517_evm_dvi_device = { > + .type = OMAP_DISPLAY_TYPE_DPI, > + .name = "dvi", > + .driver_name = "generic_panel", > + .phy.dpi.data_lines = 24, > + .platform_enable = am3517_evm_panel_enable_dvi, > + .platform_disable = am3517_evm_panel_disable_dvi, > +}; > + > +static struct omap_dss_device *am3517_evm_dss_devices[] = { > + &am3517_evm_lcd_device, > + &am3517_evm_tv_device, > + &am3517_evm_dvi_device, > +}; > + > +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, > +}; > + > +struct platform_device am3517_evm_dss_device = { > + .name = "omapdss", > + .id = -1, > + .dev = { > + .platform_data = &am3517_evm_dss_data, > + }, > +}; > > /* > * VPFE - Video Decoder interface > @@ -269,6 +410,7 @@ static struct omap_board_config_kernel am3517_evm_config[] __initdata = { > static struct platform_device *am3517_evm_devices[] __initdata = { > &dm644x_ccdc_dev, > &vpfe_capture_dev, > + &am3517_evm_dss_device, > }; > > static void __init am3517_evm_init_irq(void) > @@ -327,6 +469,8 @@ static void __init am3517_evm_init(void) > > i2c_register_board_info(1, am3517evm_i2c_boardinfo, > ARRAY_SIZE(am3517evm_i2c_boardinfo)); > + /* DSS */ > + am3517_evm_display_init(); > } > > static void __init am3517_evm_map_io(void) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html