[U-Boot] TI:OMAP: [PATCH 6/7] Enable DSS driver for Beagle

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


Khasim Syed Mohammed wrote:
> From fe824eb530338182503dd75d466374ac2e96c063 Mon Sep 17 00:00:00 2001
> From: Syed Mohammed Khasim <khasim at ti.com>
> Date: Mon, 18 Jan 2010 18:35:40 +0530
> Subject: [PATCH] Enable DSS driver for Beagle
> 
> Configures DSS to display color bar on Svideo
> Configures DSS to display background color on DVID
> 
> Signed-off-by: Syed Mohammed Khasim <khasim at ti.com>
> ---
>  board/ti/beagle/beagle.c       |   12 ++++++
>  board/ti/beagle/beagle.h       |   75 ++++++++++++++++++++++++++++++++++++++++
>  include/configs/omap3_beagle.h |    1 +
>  3 files changed, 88 insertions(+), 0 deletions(-)
> 
> diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
> index 23985ea..2bf0430 100644
> --- a/board/ti/beagle/beagle.c
> +++ b/board/ti/beagle/beagle.c
> @@ -114,6 +114,16 @@ void beagle_identify(void)
>  }
> 
>  /*
> + * Configure DSS to display background color on DVID
> + * Configure VENC to display color bar on S-Video
> + */
> +void display_init(void)

This should be static

> +{
> +	omap3_dss_venc_config(&venc_config_std_tv, VENC_HEIGHT, VENC_WIDTH);
> +	omap3_dss_panel_config(&dvid_cfg);
> +}
> +
> +/*
>   * Routine: misc_init_r
>   * Description: Configure board specific parts
>   */
> @@ -124,6 +134,7 @@ int misc_init_r(void)
> 
>  	twl4030_power_init();
>  	twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
> +	display_init();

Should be if-defed to CONFIG_VIDEO_OMAP3

> 
>  	/* Configure GPIOs to output */
>  	writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
> @@ -139,6 +150,7 @@ int misc_init_r(void)
>  	beagle_identify();
> 
>  	dieid_num_r();
> +	omap3_dss_enable();

Should be if-defed to CONFIG_VIDEO_OMAP3

> 
>  	return 0;
>  }
> diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
> index d1d5d27..3605427 100644
> --- a/board/ti/beagle/beagle.h
> +++ b/board/ti/beagle/beagle.h
> @@ -23,6 +23,8 @@
>  #ifndef _BEAGLE_H_
>  #define _BEAGLE_H_
> 
> +#include <asm/arch/dss.h>
> +
>  const omap3_sysinfo sysinfo = {
>  	DDR_STACKED,
>  	"OMAP3 Beagle board",
> @@ -385,4 +387,77 @@ const omap3_sysinfo sysinfo = {
>  	MUX_VAL(CP(UART2_RTS),		(IDIS | PTD | DIS | M0)) /*UART2_RTS*/\
>  	MUX_VAL(CP(UART2_TX),		(IDIS | PTD | DIS | M0)) /*UART2_TX*/
> 

This section is dss.
This should move to dss.c or dss.h

> +/*
> + * Display Configuration
> + */
> +
> +#define DVI_BEAGLE_ORANGE_COL		0x00FF8000
> +#define VENC_HEIGHT			0x00ef
> +#define VENC_WIDTH			0x027f
> +
> +/*
> + * Configure VENC in DSS for Beagle to generate Color Bar
> + *
> + * Kindly refer to OMAP TRM for definition of these values.
> + */

No good enough.
If you are going to refer people to TRM.
Give them some idea how to find the data.
The name of TRM, the section and maybe quote to help them find
the location..


15.5.8.4 Video Encoder Register Settings

For video encoder programming, see Table 15-67.
This table lists the register values to use in standard
applications. These values are validated programming values only
for the TV display support (NTSC 601 and PAL 601 standards).
Table 15-67. Video Encoder Register Programming Values
Register Name        NTSC 601                            PAL 601
VENC_F_CONTROL       0x00000000                          0x00000000
VENC_VIDOUT_CTRL     0x00000001                          0x00000001
VENC_SYNC_CTRL       0x00008040                          0x00000040
VENC_LLEN            0x00000359                          0x0000035F
VENC_FLENS

You need to qualify std_tv as either ntsc or pal.

Include both setting.
If it is impossible to test PAL, make a note with a big warning


> +static const struct venc_regs venc_config_std_tv = {
> +	.status					= 0x0000001B,
> +	.f_control				= 0x00000040,
> +	.vidout_ctrl				= 0x00000000,

?? not 1

> +	.sync_ctrl				= 0x00008000,

?? not 8040 or 40


> +	.llen					= 0x00008359,

?? not 359 or 35F

Likely you are using a different TRM than I am.
Please check if there isn't some dependency on dss silicon
revision.

Tom


More information about the U-Boot mailing list