[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