[U-Boot] TI:OMAP: [PATCH 5/7] Add DSS driver for OMAP3

Tom Tom.Rix at windriver.com
Sun Jan 24 01:18:11 CET 2010


Khasim Syed Mohammed wrote:
> From cf8fa28973de7609d27146730d9e019b7c919b51 Mon Sep 17 00:00:00 2001
> From: Syed Mohammed Khasim <khasim at ti.com>
> Date: Tue, 12 Jan 2010 23:57:28 +0530
> Subject: [PATCH] Add DSS driver for OMAP3
> 
> Supports dynamic panel configuration
> Supports dynamic tv standard selection
> Adds support for DSS register access through generic APIs
> 
> Incorporated DSS register access using structures.
> 
> Previous discussions are here
> http://www.mail-archive.com/u-boot@lists.denx.de/msg27150.html
> 
> Signed-off-by: Syed Mohammed Khasim <khasim at ti.com>
> ---
>  drivers/video/Makefile           |    1 +
>  drivers/video/omap3_dss.c        |  130 ++++++++++++++++++++++++++++
>  include/asm-arm/arch-omap3/dss.h |  173 ++++++++++++++++++++++++++++++++++++++
>  3 files changed, 304 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/video/omap3_dss.c
>  create mode 100644 include/asm-arm/arch-omap3/dss.h
> 
> diff --git a/drivers/video/Makefile b/drivers/video/Makefile
> index bb6b5a0..cb15dc2 100644
> --- a/drivers/video/Makefile
> +++ b/drivers/video/Makefile
> @@ -37,6 +37,7 @@ COBJS-$(CONFIG_SED156X) += sed156x.o
>  COBJS-$(CONFIG_VIDEO_SM501) += sm501.o
>  COBJS-$(CONFIG_VIDEO_SMI_LYNXEM) += smiLynxEM.o
>  COBJS-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
> +COBJS-$(CONFIG_VIDEO_OMAP3) += omap3_dss.o

Alphabetical order

>  COBJS-y += videomodes.o
> 
>  COBJS	:= $(COBJS-y)
> diff --git a/drivers/video/omap3_dss.c b/drivers/video/omap3_dss.c
> new file mode 100644
> index 0000000..69c705a
> --- /dev/null
> +++ b/drivers/video/omap3_dss.c
> @@ -0,0 +1,130 @@
> +/*
> + * (C) Copyright 2010
> + * Texas Instruments, <www.ti.com>
> + * Syed Mohammed Khasim <khasim at ti.com>
> + *
> + * Referred to Linux DSS driver files for OMAP3
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation's version 2 of
> + * the License.

This needs an - or later -
http://www.denx.de/wiki/U-Boot/Patches
Similar problem below.

> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *

<snip>

> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +


> +#include <common.h>
> new file mode 100644
> index 0000000..e5e3b0d
> --- /dev/null
> +++ b/include/asm-arm/arch-omap3/dss.h
> @@ -0,0 +1,173 @@
> +/*
> + * (C) Copyright 2010
> + * Texas Instruments, <www.ti.com>
> + * Syed Mohammed Khasim <khasim at ti.com>
> + *
> + * Referred to Linux DSS driver files for OMAP3
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation's version 2 of
> + * the License.

Similar license
- or later -

> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#ifndef DSS_H
> +#define DSS_H
> +
> +/*
> + * DSS Base Registers
> + */
> +#define OMAP3_DSS_BASE		0x48050040
> +#define OMAP3_DISPC_BASE	0x48050440
> +#define OMAP3_VENC_BASE		0x48050C00
> +
> +/* DSS Registers */
> +struct dss_regs {
> +	u32 control;				/* 0x40 */

Add a comment to explain why base starts at 0x40
could also be handled with changing code
OMAP3_DSS_BASE 0x48050000
struct dss_regs {
u8 reserved_1[0x40];
..

> +	u32 sdi_control;			/* 0x44 */
> +	u32 pll_control;			/* 0x48 */
> +};
> +
> +/* DISPC Registers */
> +struct dispc_regs {

similar

> +	u32 control;				/* 0x40 */

Tom


More information about the U-Boot mailing list