summaryrefslogtreecommitdiff
path: root/include/video/davincifb.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/video/davincifb.h')
-rw-r--r--include/video/davincifb.h442
1 files changed, 442 insertions, 0 deletions
diff --git a/include/video/davincifb.h b/include/video/davincifb.h
new file mode 100644
index 000000000000..96b5c20c349c
--- /dev/null
+++ b/include/video/davincifb.h
@@ -0,0 +1,442 @@
+/*
+ * include/video/davincifb.h
+ *
+ * Framebuffer driver for Texas Instruments DM644x display controller.
+ *
+ * Copyright (C) 2006 Texas Instruments, Inc.
+ * Rishi Bhattacharya <support@ti.com>
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+#ifndef _DAVINCIFB_H_
+#define _DAVINCIFB_H_
+
+#include <mach/io.h>
+
+/* Base registers */
+#define VPBE_REG_BASE 0x01c72780
+#define VENC_REG_BASE 0x01c72400
+#define OSD_REG_BASE 0x01c72600
+#define OSD_REG_SIZE 0x00000180
+
+/* VPBE Global Registers */
+#define VPBE_PID (VPBE_BASE + 0x0)
+#define VPBE_PCR (VPBE_BASE + 0x4)
+
+/* VPSS Clock Control Register */
+#define VPSS_CLKCTL 0x01c40044
+
+/* VPBE Video Encoder / Digital LCD Subsystem Registers (VENC) */
+#define VENC_VMOD (VENC_REG_BASE + 0x00)
+#define VENC_VIDCTL (VENC_REG_BASE + 0x04)
+#define VENC_VDPRO (VENC_REG_BASE + 0x08)
+#define VENC_SYNCCTL (VENC_REG_BASE + 0x0C)
+#define VENC_HSPLS (VENC_REG_BASE + 0x10)
+#define VENC_VSPLS (VENC_REG_BASE + 0x14)
+#define VENC_HINT (VENC_REG_BASE + 0x18)
+#define VENC_HSTART (VENC_REG_BASE + 0x1C)
+#define VENC_HVALID (VENC_REG_BASE + 0x20)
+#define VENC_VINT (VENC_REG_BASE + 0x24)
+#define VENC_VSTART (VENC_REG_BASE + 0x28)
+#define VENC_VVALID (VENC_REG_BASE + 0x2C)
+#define VENC_HSDLY (VENC_REG_BASE + 0x30)
+#define VENC_VSDLY (VENC_REG_BASE + 0x34)
+#define VENC_YCCCTL (VENC_REG_BASE + 0x38)
+#define VENC_RGBCTL (VENC_REG_BASE + 0x3C)
+#define VENC_RGBCLP (VENC_REG_BASE + 0x40)
+#define VENC_LINECTL (VENC_REG_BASE + 0x44)
+#define VENC_CULLLINE (VENC_REG_BASE + 0x48)
+#define VENC_LCDOUT (VENC_REG_BASE + 0x4C)
+#define VENC_BRTS (VENC_REG_BASE + 0x50)
+#define VENC_BRTW (VENC_REG_BASE + 0x54)
+#define VENC_ACCTL (VENC_REG_BASE + 0x58)
+#define VENC_PWMP (VENC_REG_BASE + 0x5C)
+#define VENC_PWMW (VENC_REG_BASE + 0x60)
+#define VENC_DCLKCTL (VENC_REG_BASE + 0x64)
+#define VENC_DCLKPTN0 (VENC_REG_BASE + 0x68)
+#define VENC_DCLKPTN1 (VENC_REG_BASE + 0x6C)
+#define VENC_DCLKPTN2 (VENC_REG_BASE + 0x70)
+#define VENC_DCLKPTN3 (VENC_REG_BASE + 0x74)
+#define VENC_DCLKPTN0A (VENC_REG_BASE + 0x78)
+#define VENC_DCLKPTN1A (VENC_REG_BASE + 0x7C)
+#define VENC_DCLKPTN2A (VENC_REG_BASE + 0x80)
+#define VENC_DCLKPTN3A (VENC_REG_BASE + 0x84)
+#define VENC_DCLKHS (VENC_REG_BASE + 0x88)
+#define VENC_DCLKHSA (VENC_REG_BASE + 0x8C)
+#define VENC_DCLKHR (VENC_REG_BASE + 0x90)
+#define VENC_DCLKVS (VENC_REG_BASE + 0x94)
+#define VENC_DCLKVR (VENC_REG_BASE + 0x98)
+#define VENC_CAPCTL (VENC_REG_BASE + 0x9C)
+#define VENC_CAPDO (VENC_REG_BASE + 0xA0)
+#define VENC_CAPDE (VENC_REG_BASE + 0xA4)
+#define VENC_ATR0 (VENC_REG_BASE + 0xA8)
+#define VENC_ATR1 (VENC_REG_BASE + 0xAC)
+#define VENC_ATR2 (VENC_REG_BASE + 0xB0)
+#define VENC_EPSON_LCDCTL (VENC_REG_BASE + 0xB4)
+#define VENC_CASIO_LCDCTL (VENC_REG_BASE + 0xB4)
+#define VENC_UDISP_LCDCT (VENC_REG_BASE + 0xB4)
+#define VENC_STN_LCDCT (VENC_REG_BASE + 0xB4)
+#define VENC_VSTAT (VENC_REG_BASE + 0xB8)
+#define VENC_RAMADR (VENC_REG_BASE + 0xBC)
+#define VENC_RAMPORT (VENC_REG_BASE + 0xC0)
+#define VENC_DACTST (VENC_REG_BASE + 0xC4)
+#define VENC_YCOLVL (VENC_REG_BASE + 0xC8)
+#define VENC_SCPROG (VENC_REG_BASE + 0xCC)
+#define VENC_CVBS (VENC_REG_BASE + 0xDC)
+#define VENC_CMPNT (VENC_REG_BASE + 0xE0)
+#define VENC_ETMG0 (VENC_REG_BASE + 0xE4)
+#define VENC_ETMG1 (VENC_REG_BASE + 0xE8)
+#define VENC_ETMG2 (VENC_REG_BASE + 0xEC)
+#define VENC_ETMG3 (VENC_REG_BASE + 0xF0)
+#define VENC_DACSEL (VENC_REG_BASE + 0xF4)
+#define VENC_ARGBX0 (VENC_REG_BASE + 0x100)
+#define VENC_ARGBX1 (VENC_REG_BASE + 0x104)
+#define VENC_ARGBX2 (VENC_REG_BASE + 0x108)
+#define VENC_ARGBX3 (VENC_REG_BASE + 0x10C)
+#define VENC_ARGBX4 (VENC_REG_BASE + 0x110)
+#define VENC_DRGBX0 (VENC_REG_BASE + 0x114)
+#define VENC_DRGBX1 (VENC_REG_BASE + 0x118)
+#define VENC_DRGBX2 (VENC_REG_BASE + 0x11C)
+#define VENC_DRGBX3 (VENC_REG_BASE + 0x120)
+#define VENC_DRGBX4 (VENC_REG_BASE + 0x124)
+#define VENC_VSTARTA (VENC_REG_BASE + 0x128)
+#define VENC_OSDCLK0 (VENC_REG_BASE + 0x12C)
+#define VENC_OSDCLK1 (VENC_REG_BASE + 0x130)
+#define VENC_HVLDCL0 (VENC_REG_BASE + 0x134)
+#define VENC_HVLDCL1 (VENC_REG_BASE + 0x138)
+#define VENC_OSDHAD (VENC_REG_BASE + 0x13C)
+
+#define VID0 0
+#define VID1 1
+#define OSD0 3
+#define OSD1 4
+
+/* VPBE On-Screen Display Subsystem Registers (OSD) */
+#define OSD_MODE (OSD_REG_BASE + 0x00)
+#define OSD_VIDWINMD (OSD_REG_BASE + 0x04)
+#define OSD_OSDWIN0MD (OSD_REG_BASE + 0x08)
+#define OSD_OSDWIN1MD (OSD_REG_BASE + 0x0C)
+#define OSD_OSDATRMD (OSD_REG_BASE + 0x0C)
+#define OSD_RECTCUR (OSD_REG_BASE + 0x10)
+#define OSD_WINOFST(i) (OSD_REG_BASE + 0x18 + (i)*0x4)
+#define OSD_VIDWIN0OFST (OSD_REG_BASE + 0x18)
+#define OSD_VIDWIN1OFST (OSD_REG_BASE + 0x1C)
+#define OSD_OSDWIN0OFST (OSD_REG_BASE + 0x20)
+#define OSD_OSDWIN1OFST (OSD_REG_BASE + 0x24)
+#define OSD_WINADR(i) (OSD_REG_BASE + 0x2C + (i)*0x4)
+#define OSD_VIDWIN0ADR (OSD_REG_BASE + 0x2C)
+#define OSD_VIDWIN1ADR (OSD_REG_BASE + 0x30)
+#define OSD_OSDWIN0ADR (OSD_REG_BASE + 0x38)
+#define OSD_OSDWIN1ADR (OSD_REG_BASE + 0x3C)
+#define OSD_BASEPX (OSD_REG_BASE + 0x40)
+#define OSD_BASEPY (OSD_REG_BASE + 0x44)
+#define OSD_WINXP(i) (OSD_REG_BASE + 0x48 + (i)*0x10)
+#define OSD_WINYP(i) (OSD_REG_BASE + 0x4C + (i)*0x10)
+#define OSD_WINXL(i) (OSD_REG_BASE + 0x50 + (i)*0x10)
+#define OSD_WINYL(i) (OSD_REG_BASE + 0x54 + (i)*0x10)
+#define OSD_VIDWIN0XP (OSD_REG_BASE + 0x48)
+#define OSD_VIDWIN0YP (OSD_REG_BASE + 0x4C)
+#define OSD_VIDWIN0XL (OSD_REG_BASE + 0x50)
+#define OSD_VIDWIN0YL (OSD_REG_BASE + 0x54)
+#define OSD_VIDWIN1XP (OSD_REG_BASE + 0x58)
+#define OSD_VIDWIN1YP (OSD_REG_BASE + 0x5C)
+#define OSD_VIDWIN1XL (OSD_REG_BASE + 0x60)
+#define OSD_VIDWIN1YL (OSD_REG_BASE + 0x64)
+#define OSD_OSDWIN0XP (OSD_REG_BASE + 0x68)
+#define OSD_OSDWIN0YP (OSD_REG_BASE + 0x6C)
+#define OSD_OSDWIN0XL (OSD_REG_BASE + 0x70)
+#define OSD_OSDWIN0YL (OSD_REG_BASE + 0x74)
+#define OSD_OSDWIN1XP (OSD_REG_BASE + 0x78)
+#define OSD_OSDWIN1YP (OSD_REG_BASE + 0x7C)
+#define OSD_OSDWIN1XL (OSD_REG_BASE + 0x80)
+#define OSD_OSDWIN1YL (OSD_REG_BASE + 0x84)
+#define OSD_CURXP (OSD_REG_BASE + 0x88)
+#define OSD_CURYP (OSD_REG_BASE + 0x8C)
+#define OSD_CURXL (OSD_REG_BASE + 0x90)
+#define OSD_CURYL (OSD_REG_BASE + 0x94)
+#define OSD_W0BMP01 (OSD_REG_BASE + 0xA0)
+#define OSD_W0BMP23 (OSD_REG_BASE + 0xA4)
+#define OSD_W0BMP45 (OSD_REG_BASE + 0xA8)
+#define OSD_W0BMP67 (OSD_REG_BASE + 0xAC)
+#define OSD_W0BMP89 (OSD_REG_BASE + 0xB0)
+#define OSD_W0BMPAB (OSD_REG_BASE + 0xB4)
+#define OSD_W0BMPCD (OSD_REG_BASE + 0xB8)
+#define OSD_W0BMPEF (OSD_REG_BASE + 0xBC)
+#define OSD_W1BMP0 (OSD_REG_BASE + 0xC0)
+#define OSD_W1BMP2 (OSD_REG_BASE + 0xC4)
+#define OSD_W1BMP4 (OSD_REG_BASE + 0xC8)
+#define OSD_W1BMP6 (OSD_REG_BASE + 0xCC)
+#define OSD_W1BMP8 (OSD_REG_BASE + 0xD0)
+#define OSD_W1BMPA (OSD_REG_BASE + 0xD4)
+#define OSD_W1BMPC (OSD_REG_BASE + 0xD8)
+#define OSD_W1BMPE (OSD_REG_BASE + 0xDC)
+#define OSD_TI_TES (OSD_REG_BASE + 0xE0)
+#define OSD_MISCCT (OSD_REG_BASE + 0xE8)
+#define OSD_CLUTRAMYC (OSD_REG_BASE + 0xEC)
+#define OSD_CLUTRAMC (OSD_REG_BASE + 0xF0)
+#define OSD_TRANSPVA (OSD_REG_BASE + 0xF0)
+#define OSD_PPVWIN0AD (OSD_REG_BASE + 0xFC)
+
+/* bit definitions */
+#define VPBE_PCR_VENC_DIV (1 << 1)
+#define VPBE_PCR_CLK_OFF (1 << 0)
+#define VENC_VMOD_VDMD_SHIFT 12
+#define VENC_VMOD_VDMD_YCBCR16 0
+#define VENC_VMOD_VDMD_YCBCR8 1
+#define VENC_VMOD_VDMD_RGB666 2
+#define VENC_VMOD_VDMD_RGB8 3
+#define VENC_VMOD_VDMD_EPSON 4
+#define VENC_VMOD_VDMD_CASIO 5
+#define VENC_VMOD_VDMD_UDISPQVGA 6
+#define VENC_VMOD_VDMD_STNLCD 7
+#define VENC_VMOD_VDMD (7 << 12)
+#define VENC_VMOD_ITLCL (1 << 11)
+#define VENC_VMOD_ITLC (1 << 10)
+#define VENC_VMOD_NSIT (1 << 9)
+#define VENC_VMOD_HDMD (1 << 8)
+#define VENC_VMOD_TVTYP (3 << 6)
+#define VENC_VMOD_SLAVE (1 << 5)
+#define VENC_VMOD_VMD (1 << 4)
+#define VENC_VMOD_BLNK (1 << 3)
+#define VENC_VMOD_VIE (1 << 1)
+#define VENC_VMOD_VENC (1 << 0)
+/* other VENC registers' bit positions not defined yet */
+
+#define OSD_MODE_CS (1 << 15)
+#define OSD_MODE_OVRSZ (1 << 14)
+#define OSD_MODE_OHRSZ (1 << 13)
+#define OSD_MODE_EF (1 << 12)
+#define OSD_MODE_VVRSZ (1 << 11)
+#define OSD_MODE_VHRSZ (1 << 10)
+#define OSD_MODE_FSINV (1 << 9)
+#define OSD_MODE_BCLUT (1 << 8)
+#define OSD_MODE_CABG (0xff << 0)
+#define OSD_MODE_CABG_SHIFT 0
+
+#define OSD_VIDWINMD_VFINV (1 << 15)
+#define OSD_VIDWINMD_V1EFC (1 << 14)
+#define OSD_VIDWINMD_VHZ1 (3 << 12)
+#define OSD_VIDWINMD_VHZ1_SHIFT 12
+#define OSD_VIDWINMD_VVZ1 (3 << 10)
+#define OSD_VIDWINMD_VVZ1_SHIFT 10
+#define OSD_VIDWINMD_VFF1 (1 << 9)
+#define OSD_VIDWINMD_ACT1 (1 << 8)
+#define OSD_VIDWINMD_V0EFC (1 << 6)
+#define OSD_VIDWINMD_VHZ0 (3 << 4)
+#define OSD_VIDWINMD_VHZ0_SHIFT 4
+#define OSD_VIDWINMD_VVZ0 (3 << 2)
+#define OSD_VIDWINMD_VVZ0_SHIFT 2
+#define OSD_VIDWINMD_VFF0 (1 << 1)
+#define OSD_VIDWINMD_ACT0 (1 << 0)
+
+#define OSD_OSDWIN0MD_ATN0E (1 << 14)
+#define OSD_OSDWIN0MD_RGB0E (1 << 13)
+#define OSD_OSDWIN0MD_CLUTS0 (1 << 12)
+#define OSD_OSDWIN0MD_OHZ0 (3 << 10)
+#define OSD_OSDWIN0MD_OHZ0_SHIFT 10
+#define OSD_OSDWIN0MD_OVZ0 (3 << 8)
+#define OSD_OSDWIN0MD_OVZ0_SHIFT 8
+#define OSD_OSDWIN0MD_BMW0 (3 << 6)
+#define OSD_OSDWIN0MD_BMW0_SHIFT 6
+#define OSD_OSDWIN0MD_BLND0 (3 << 3)
+#define OSD_OSDWIN0MD_BLND0_SHIFT 3
+#define OSD_OSDWIN0MD_TE0 (1 << 2)
+#define OSD_OSDWIN0MD_OFF0 (1 << 1)
+#define OSD_OSDWIN0MD_OACT0 (1 << 0)
+
+#define OSD_OSDWIN1MD_OASW (1 << 15)
+#define OSD_OSDWIN1MD_ATN1E (1 << 14)
+#define OSD_OSDWIN1MD_RGB1E (1 << 13)
+#define OSD_OSDWIN1MD_CLUTS1 (1 << 12)
+#define OSD_OSDWIN1MD_OHZ1 (3 << 10)
+#define OSD_OSDWIN1MD_OHZ1_SHIFT 10
+#define OSD_OSDWIN1MD_OVZ1 (3 << 8)
+#define OSD_OSDWIN1MD_OVZ1_SHIFT 8
+#define OSD_OSDWIN1MD_BMW1 (3 << 6)
+#define OSD_OSDWIN1MD_BMW1_SHIFT 6
+#define OSD_OSDWIN1MD_BLND1 (3 << 3)
+#define OSD_OSDWIN1MD_BLND1_SHIFT 3
+#define OSD_OSDWIN1MD_TE1 (1 << 2)
+#define OSD_OSDWIN1MD_OFF1 (1 << 1)
+#define OSD_OSDWIN1MD_OACT1 (1 << 0)
+
+
+#define OSD_OSDATRMD_OASW (1 << 15)
+#define OSD_OSDATRMD_OHZA (3 << 10)
+#define OSD_OSDATRMD_OHZA_SHIFT 10
+#define OSD_OSDATRMD_OVZA (3 << 8)
+#define OSD_OSDATRMD_OVZA_SHIFT 8
+#define OSD_OSDATRMD_BLNKINT (3 << 6)
+#define OSD_OSDATRMD_BLNKINT_SHIFT 6
+#define OSD_OSDATRMD_OFFA (1 << 1)
+#define OSD_OSDATRMD_BLNK (1 << 0)
+
+#define OSD_RECTCUR_RCAD (0xff << 8)
+#define OSD_RECTCUR_RCAD_SHIFT 8
+#define OSD_RECTCUR_CLUTSR (1 << 7)
+#define OSD_RECTCUR_RCHW (3 << 4)
+#define OSD_RECTCUR_RCHW_SHIFT 4
+#define OSD_RECTCUR_RCVW (3 << 1)
+#define OSD_RECTCUR_RCVW_SHIFT 1
+#define OSD_RECTCUR_RCACT (1 << 0)
+
+#define OSD_VIDWIN0OFST_V0LO (0x1ff << 0)
+#define OSD_VIDWIN0OFST_V0LO_SHIFT 0
+#define OSD_VIDWIN1OFST_V1LO (0x1ff << 0)
+#define OSD_VIDWIN1OFST_V1LO_SHIFT 0
+#define OSD_OSDWIN0OFST_O0LO (0x1ff << 0)
+#define OSD_OSDWIN0OFST_O0LO_SHIFT 0
+#define OSD_OSDWIN1OFST_O1LO (0x1ff << 0)
+#define OSD_OSDWIN1OFST_O1LO_SHIFT 0
+#define OSD_BASEPX_BPX (0x3ff << 0)
+#define OSD_BASEPX_BPX_SHIFT 0
+#define OSD_BASEPY_BPY (0x1ff << 0)
+#define OSD_BASEPY_BPY_SHIFT 0
+#define OSD_VIDWIN0XP_V0X (0x3ff << 0)
+#define OSD_VIDWIN0XP_V0X_SHIFT 0
+#define OSD_VIDWIN0YP_V0Y (0x1ff << 0)
+#define OSD_VIDWIN0YP_V0Y_SHIFT 0
+#define OSD_VIDWIN0XL_V0W (0xfff << 0)
+#define OSD_VIDWIN0XL_V0W_SHIFT 0
+#define OSD_VIDWIN0YL_V0H (0x7ff << 0)
+#define OSD_VIDWIN0YL_V0H_SHIFT 0
+#define OSD_VIDWIN1XP_V1X (0x3ff << 0)
+#define OSD_VIDWIN1XP_V1X_SHIFT 0
+#define OSD_VIDWIN1YP_V1Y (0x1ff << 0)
+#define OSD_VIDWIN1YP_V1Y_SHIFT 0
+#define OSD_VIDWIN1XL_V1W (0xfff << 0)
+#define OSD_VIDWIN1XL_V1W_SHIFT 0
+#define OSD_VIDWIN1YL_V1H (0x7ff << 0)
+#define OSD_VIDWIN1YL_V1H_SHIFT 0
+#define OSD_OSDWIN0XP_W0X (0x3ff << 0)
+#define OSD_OSDWIN0XP_W0X_SHIFT 0
+#define OSD_OSDWIN0YP_W0Y (0x1ff << 0)
+#define OSD_OSDWIN0YP_W0Y_SHIFT 0
+#define OSD_OSDWIN0XL_W0W (0xfff << 0)
+#define OSD_OSDWIN0XL_W0W_SHIFT 0
+#define OSD_OSDWIN0YL_W0H (0x7ff << 0)
+#define OSD_OSDWIN0YL_W0H_SHIFT 0
+#define OSD_OSDWIN1XP_W1X (0x3ff << 0)
+#define OSD_OSDWIN1XP_W1X_SHIFT 0
+#define OSD_OSDWIN1YP_W1Y (0x1ff << 0)
+#define OSD_OSDWIN1YP_W1Y_SHIFT 0
+#define OSD_OSDWIN1XL_W1W (0xfff << 0)
+#define OSD_OSDWIN1XL_W1W_SHIFT 0
+#define OSD_OSDWIN1YL_W1H (0x7ff << 0)
+#define OSD_OSDWIN1YL_W1H_SHIFT 0
+#define OSD_CURXP_RCSX (0x3ff << 0)
+#define OSD_CURXP_RCSX_SHIFT 0
+#define OSD_CURYP_RCSY (0x1ff << 0)
+#define OSD_CURYP_RCSY_SHIFT 0
+#define OSD_CURYL_RCSH (0x7ff << 0)
+#define OSD_CURYL_RCSH_SHIFT 0
+#define OSD_W0BMP01_PAL01 (0xff << 8)
+#define OSD_W0BMP01_PAL01_SHIFT 8
+#define OSD_W0BMP01_PAL00 (0xff << 0)
+#define OSD_W0BMP01_PAL00_SHIFT 0
+#define OSD_W0BMP23_PAL03 (0xff << 8)
+#define OSD_W0BMP23_PAL03_SHIFT 8
+#define OSD_W0BMP23_PAL02 (0xff << 0)
+#define OSD_W0BMP23_PAL02_SHIFT 0
+#define OSD_W0BMP45_PAL05 (0xff << 8)
+#define OSD_W0BMP45_PAL05_SHIFT 8
+#define OSD_W0BMP45_PAL04 (0xff << 0)
+#define OSD_W0BMP45_PAL04_SHIFT 0
+#define OSD_W0BMP67_PAL07 (0xff << 8)
+#define OSD_W0BMP67_PAL07_SHIFT 8
+#define OSD_W0BMP67_PAL06 (0xff << 0)
+#define OSD_W0BMP67_PAL06_SHIFT 0
+#define OSD_W0BMP89_PAL09 (0xff << 8)
+#define OSD_W0BMP89_PAL09_SHIFT 8
+#define OSD_W0BMP89_PAL08 (0xff << 0)
+#define OSD_W0BMP89_PAL08_SHIFT 0
+#define OSD_W0BMPAB_PAL11 (0xff << 8)
+#define OSD_W0BMPAB_PAL11_SHIFT 8
+#define OSD_W0BMPAB_PAL10 (0xff << 0)
+#define OSD_W0BMPAB_PAL10_SHIFT 0
+#define OSD_W0BMPCD_PAL13 (0xff << 8)
+#define OSD_W0BMPCD_PAL13_SHIFT 8
+#define OSD_W0BMPCD_PAL12 (0xff << 0)
+#define OSD_W0BMPCD_PAL12_SHIFT 0
+#define OSD_W0BMPEF_PAL15 (0xff << 8)
+#define OSD_W0BMPEF_PAL15_SHIFT 8
+#define OSD_W0BMPEF_PAL14 (0xff << 0)
+#define OSD_W0BMPEF_PAL14_SHIFT 0
+#define OSD_W1BMP0_PAL01 (0xff << 8)
+#define OSD_W1BMP0_PAL01_SHIFT 8
+#define OSD_W1BMP0_PAL00 (0xff << 0)
+#define OSD_W1BMP0_PAL00_SHIFT 0
+#define OSD_W1BMP2_PAL03 (0xff << 8)
+#define OSD_W1BMP2_PAL03_SHIFT 8
+#define OSD_W1BMP2_PAL02 (0xff << 0)
+#define OSD_W1BMP2_PAL02_SHIFT 0
+#define OSD_W1BMP4_PAL05 (0xff << 8)
+#define OSD_W1BMP4_PAL05_SHIFT 8
+#define OSD_W1BMP4_PAL04 (0xff << 0)
+#define OSD_W1BMP4_PAL04_SHIFT 0
+#define OSD_W1BMP6_PAL07 (0xff << 8)
+#define OSD_W1BMP6_PAL07_SHIFT 8
+#define OSD_W1BMP6_PAL06 (0xff << 0)
+#define OSD_W1BMP6_PAL06_SHIFT 0
+#define OSD_W1BMP8_PAL09 (0xff << 8)
+#define OSD_W1BMP8_PAL09_SHIFT 8
+#define OSD_W1BMP8_PAL08 (0xff << 0)
+#define OSD_W1BMP8_PAL08_SHIFT 0
+#define OSD_W1BMPA_PAL11 (0xff << 8)
+#define OSD_W1BMPA_PAL11_SHIFT 8
+#define OSD_W1BMPA_PAL10 (0xff << 0)
+#define OSD_W1BMPA_PAL10_SHIFT 0
+#define OSD_W1BMPC_PAL13 (0xff << 8)
+#define OSD_W1BMPC_PAL13_SHIFT 8
+#define OSD_W1BMPC_PAL12 (0xff << 0)
+#define OSD_W1BMPC_PAL12_SHIFT 0
+#define OSD_W1BMPE_PAL15 (0xff << 8)
+#define OSD_W1BMPE_PAL15_SHIFT 8
+#define OSD_W1BMPE_PAL14 (0xff << 0)
+#define OSD_W1BMPE_PAL14_SHIFT 0
+
+#define OSD_MISCCT_RGBEN (1 << 7)
+#define OSD_MISCCT_RGBWIN (1 << 6)
+#define OSD_MISCCT_TMON (1 << 5)
+#define OSD_MISCCT_RSEL (1 << 4)
+#define OSD_MISCCT_CPBSY (1 << 3)
+#define OSD_MISCCT_PPSW (1 << 2)
+#define OSD_MISCCT_PPRV (1 << 1)
+
+#define OSD_CLUTRAMY_Y (0xff << 8)
+#define OSD_CLUTRAMY_Y_SHIFT 8
+#define OSD_CLUTRAMY_CB (0xff << 0)
+#define OSD_CLUTRAMY_CB_SHIFT 0
+#define OSD_CLUTRAM_CR (0xff << 8)
+#define OSD_CLUTRAM_CR_SHIFT 8
+#define OSD_CLUTRAM_CADDR (0xff << 0)
+#define OSD_CLUTRAM_CADDR_SHIFT 0
+#define OSD_TRANSPVA_RGBTRANS (0xff << 0)
+#define OSD_TRANSPVA_RGBTRANS_SHIFT 0
+
+
+#define LCD 0
+#define NTSC 1
+#define PAL 2
+
+#define COMPOSITE 1
+#define SVIDEO 2
+#define COMPONENT 3
+#define RGB 4
+
+/* define the custom FBIO_WAITFORVSYNC ioctl */
+#define FBIO_WAITFORVSYNC _IOW('F', 0x20, u_int32_t)
+#define FBIO_SETATTRIBUTE _IOW('F', 0x21, struct fb_fillrect)
+#define FBIO_SETPOSX _IOW('F', 0x22, u_int32_t)
+#define FBIO_SETPOSY _IOW('F', 0x23, u_int32_t)
+struct zoom_params
+{
+ u_int32_t window_id;
+ u_int32_t zoom_h;
+ u_int32_t zoom_v;
+};
+#define FBIO_SETZOOM _IOW('F', 0x24, struct zoom_params)
+#define FBIO_GETSTD _IOR('F', 0x25, u_int32_t)
+#endif /* _DAVINCIFB_H_ */