[U-Boot] [PATCH v2 8/9] OMAP3: video: add macros to set display parameters

Jeroen Hofstee
2012-08-28T22:22:12Z

On 08/28/2012 02:21 PM, Stefano Babic wrote:
> Add a common macros to set the registers for horizontal
> and vertical timing.
>
> Signed-off-by: Stefano Babic <sbabic@denx.de>
> ---
>
> arch/arm/include/asm/arch-omap3/dss.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm/include/asm/arch-omap3/dss.h b/arch/arm/include/asm/arch-omap3/dss.h
> index 8913a71..df5b978 100644
> --- a/arch/arm/include/asm/arch-omap3/dss.h
> +++ b/arch/arm/include/asm/arch-omap3/dss.h
> @@ -181,6 +181,10 @@ struct panel_config {
> void *frame_buffer;
> };
>
> +#define PANEL_TIMING_H(bp, fp, sw) (((bp - 1) << 20) | \
> + ((fp - 1) << 8) | (sw - 1))
> +#define PANEL_TIMING_V(bp, fp, sw) ((bp << 20) | (fp << 8) | (sw - 1))
> +
> /* Generic DSS Functions */
> void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
> u32 height, u32 width);

To make it a bit more clear what is set, perhaps we can define
the fields themselves, this would save some /* hfp */ etc.

e.g.

diff --git a/arch/arm/include/asm/arch-omap3/dss.h
b/arch/arm/include/asm/arch-omap3/dss.h
index a830c43..b6ad72d 100644
--- a/arch/arm/include/asm/arch-omap3/dss.h
+++ b/arch/arm/include/asm/arch-omap3/dss.h
@@ -182,6 +182,13 @@ struct panel_config {
void *frame_buffer;
};

+#define DSS_HPB(bp) (((bp) - 1) << 20)
+#define DSS_HFB(fp) (((fp) - 1) << 8)
+#define DSS_HSW(sw) ((sw) - 1)
+#define DSS_VPB(bp) ((bp) << 20)
+#define DSS_VFB(fp) ((fp) << 8)
+#define DSS_VSW(sw) ((sw) - 1)
+
/* Generic DSS Functions */
void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
u32 height, u32 width);