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