RE: [PATCH 4/4] OMAP: AM3517: Enable DSS2 for AM3517EVM board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Tomi Valkeinen [mailto:tomi.valkeinen@xxxxxxxxx]
> Sent: Wednesday, January 13, 2010 2:17 PM
> To: Hiremath, Vaibhav
> Cc: linux-omap@xxxxxxxxxxxxxxx; tony@xxxxxxxxxxx
> Subject: Re: [PATCH 4/4] OMAP: AM3517: Enable DSS2 for AM3517EVM
> board
> 
> 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
> 
[Hiremath, Vaibhav] Great and Thanks.

> But this patch doesn't apply, I guess the below mentioned I2C stuff
> is
> missing from the linus' tree.
> 
[Hiremath, Vaibhav] Yes, as I mentioned, the I2C patches are still now present under Linus's tree. 

I have attached patch which should get applied cleanly.

Thanks,
Vaibhav

>  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)
> 

Attachment: OMAP-AM3517-Enable-DSS2-for-AM3517EVM-board.patch
Description: OMAP-AM3517-Enable-DSS2-for-AM3517EVM-board.patch


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux