aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/include/mach/regs-mixer.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos/include/mach/regs-mixer.h')
-rw-r--r--arch/arm/mach-exynos/include/mach/regs-mixer.h216
1 files changed, 216 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/include/mach/regs-mixer.h b/arch/arm/mach-exynos/include/mach/regs-mixer.h
new file mode 100644
index 0000000..a9e905e
--- /dev/null
+++ b/arch/arm/mach-exynos/include/mach/regs-mixer.h
@@ -0,0 +1,216 @@
+/* linux/arch/arm/mach-exynos/include/mach/regs-mixer.h
+ *
+ * Copyright (c) 2010 Samsung Electronics
+ * http://www.samsung.com/
+ *
+ * Mixer register header file for Samsung TVOUT driver
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef __ARCH_ARM_REGS_MIXER_H
+#define __ARCH_ARM_REGS_MIXER_H
+
+/*
+ * Register part
+ */
+#define S5P_MXR_STATUS (0x0000)
+#define S5P_MXR_CFG (0x0004)
+#define S5P_MXR_INT_EN (0x0008)
+#define S5P_MXR_INT_STATUS (0x000C)
+#define S5P_MXR_LAYER_CFG (0x0010)
+#define S5P_MXR_VIDEO_CFG (0x0014)
+#define S5P_MXR_VIDEO_LIMITER_PARA_CFG (0x0018)
+#define S5P_MXR_GRAPHIC0_CFG (0x0020)
+#define S5P_MXR_GRAPHIC0_BASE (0x0024)
+#define S5P_MXR_GRAPHIC0_SPAN (0x0028)
+#define S5P_MXR_GRAPHIC0_SXY (0x002C)
+#define S5P_MXR_GRAPHIC0_WH (0x0030)
+#define S5P_MXR_GRAPHIC0_DXY (0x0034)
+#define S5P_MXR_GRAPHIC0_BLANK (0x0038)
+#define S5P_MXR_GRAPHIC1_CFG (0x0040)
+#define S5P_MXR_GRAPHIC1_BASE (0x0044)
+#define S5P_MXR_GRAPHIC1_SPAN (0x0048)
+#define S5P_MXR_GRAPHIC1_SXY (0x004C)
+#define S5P_MXR_GRAPHIC1_WH (0x0050)
+#define S5P_MXR_GRAPHIC1_DXY (0x0054)
+#define S5P_MXR_GRAPHIC1_BLANK (0x0058)
+#define S5P_MXR_BG_CFG (0x0060)
+#define S5P_MXR_BG_COLOR0 (0x0064)
+#define S5P_MXR_BG_COLOR1 (0x0068)
+#define S5P_MXR_BG_COLOR2 (0x006C)
+#define S5P_MXR_CM_COEFF_Y (0x0080)
+#define S5P_MXR_CM_COEFF_CB (0x0084)
+#define S5P_MXR_CM_COEFF_CR (0x0088)
+#define S5P_MXR_VER (0x0100)
+
+#define S5P_MXR_STATUS_S (0x2000)
+#define S5P_MXR_CFG_S (0x2004)
+#define S5P_MXR_LAYER_CFG_S (0x2010)
+#define S5P_MXR_VIDEO_CFG_S (0x2014)
+#define S5P_MXR_VIDEO_LIMITER_PARA_CFG_S (0x2018)
+#define S5P_MXR_GRAPHIC0_CFG_S (0x2020)
+#define S5P_MXR_GRAPHIC0_BASE_S (0x2024)
+#define S5P_MXR_GRAPHIC0_SPAN_S (0x2028)
+#define S5P_MXR_GRAPHIC0_SXY_S (0x202C)
+#define S5P_MXR_GRAPHIC0_WH_S (0x2030)
+#define S5P_MXR_GRAPHIC0_DXY_S (0x2034)
+#define S5P_MXR_GRAPHIC0_BLANK_PIXEL_S (0x2038)
+#define S5P_MXR_GRAPHIC1_CFG_S (0x2040)
+#define S5P_MXR_GRAPHIC1_BASE_S (0x2044)
+#define S5P_MXR_GRAPHIC1_SPAN_S (0x2048)
+#define S5P_MXR_GRAPHIC1_SXY_S (0x204C)
+#define S5P_MXR_GRAPHIC1_WH_S (0x2050)
+#define S5P_MXR_GRAPHIC1_DXY_S (0x2054)
+#define S5P_MXR_GRAPHIC1_BLANK_PIXEL_S (0x2058)
+#define S5P_MXR_BG_COLOR0_S (0x2064)
+#define S5P_MXR_BG_COLOR1_S (0x2068)
+#define S5P_MXR_BG_COLOR2_S (0x206C)
+
+/*
+ * Bit definition part
+ */
+/* MIXER_STATUS */
+#define S5P_MXR_STATUS_16_BURST (1 << 7)
+#define S5P_MXR_STATUS_8_BURST (0 << 7)
+#define S5P_MXR_STATUS_LITTLE_ENDIAN (0 << 3)
+#define S5P_MXR_STATUS_BIG_ENDIAN (1 << 3)
+#define S5P_MXR_STATUS_SYNC_DISABLE (0 << 2)
+#define S5P_MXR_STATUS_SYNC_ENABLE (1 << 2)
+#define S5P_MXR_STATUS_OPERATING (0 << 1)
+#define S5P_MXR_STATUS_IDLE_MODE (1 << 1)
+#define S5P_MXR_STATUS_STOP (0 << 0)
+#define S5P_MXR_STATUS_RUN (1 << 0)
+
+/* MIXER_CGF */
+#define S5P_MXR_CFG_TV_OUT (~(1 << 7))
+#define S5P_MXR_CFG_HDMI_OUT (1 << 7)
+#define S5P_MXR_CFG_HD_720P (0 << 6)
+#define S5P_MXR_CFG_HD_1080I (1 << 6)
+#define S5P_MXR_CFG_HD_1080P (1 << 6)
+#define S5P_MXR_CFG_GRAPHIC1_DISABLE (0 << 5)
+#define S5P_MXR_CFG_GRAPHIC1_ENABLE (1 << 5)
+#define S5P_MXR_CFG_GRAPHIC0_DISABLE (0 << 4)
+#define S5P_MXR_CFG_GRAPHIC0_ENABLE (1 << 4)
+#define S5P_MXR_CFG_VIDEO_DISABLE (0 << 3)
+#define S5P_MXR_CFG_VIDEO_ENABLE (1 << 3)
+#define S5P_MXR_CFG_INTERLACE (~(1 << 2))
+#define S5P_MXR_CFG_PROGRASSIVE (1 << 2)
+#define S5P_MXR_CFG_NTSC (0 << 1)
+#define S5P_MXR_CFG_PAL (1 << 1)
+#define S5P_MXR_CFG_SD (0 << 0)
+#define S5P_MXR_CFG_HD (1 << 0)
+#define S5P_MXR_CFG_RGB_FORMAT_MASK (0xFF << 9)
+
+/* MIXER_INT_EN */
+#define S5P_MXR_INT_EN_VSYNC_ENABLE (1 << 11)
+#define S5P_MXR_INT_EN_VP_DISABLE (0 << 10)
+#define S5P_MXR_INT_EN_VP_ENABLE (1 << 10)
+#define S5P_MXR_INT_EN_GRP1_DISABLE (0 << 9)
+#define S5P_MXR_INT_EN_GRP1_ENABLE (1 << 9)
+#define S5P_MXR_INT_EN_GRP0_DISABLE (0 << 8)
+#define S5P_MXR_INT_EN_GRP0_ENABLE (1 << 8)
+
+/* MIXER_INT_STATUS */
+#define S5P_MXR_INT_STATUS_VSYNC_CLEARED (1 << 11)
+#define S5P_MXR_INT_STATUS_VP_N_FIRED (0 << 10)
+#define S5P_MXR_INT_STATUS_VP_FIRED (1 << 10)
+#define S5P_MXR_INT_STATUS_GRP1_N_FIRED (0 << 9)
+#define S5P_MXR_INT_STATUS_GRP1_FIRED (1 << 9)
+#define S5P_MXR_INT_STATUS_GRP0_N_FIRED (0 << 8)
+#define S5P_MXR_INT_STATUS_GRP0_FIRED (1 << 8)
+#define S5P_MXR_INT_STATUS_INT_FIRED (1 << 0)
+
+/* MIXER_LAYER_CFG */
+#define S5P_MXR_LAYER_CFG_GRP1_HIDE (0 << 8)
+#define S5P_MXR_LAYER_CFG_GRP1_PRIORITY(x) (((x) & 0xF) << 8)
+#define S5P_MXR_LAYER_CFG_GRP1_PRIORITY_CLR(x) ((x) & (~(0xF << 8)))
+#define S5P_MXR_LAYER_CFG_GRP1_PRIORITY_INFO(x) ((x) & (0xF << 8))
+#define S5P_MXR_LAYER_CFG_GRP0_HIDE (0 << 4)
+#define S5P_MXR_LAYER_CFG_GRP0_PRIORITY(x) (((x) & 0xF) << 4)
+#define S5P_MXR_LAYER_CFG_GRP0_PRIORITY_CLR(x) ((x) & (~(0xF << 4)))
+#define S5P_MXR_LAYER_CFG_GRP0_PRIORITY_INFO(x) ((x) & (0xF << 4))
+#define S5P_MXR_LAYER_CFG_VID_HIDE (0 << 0)
+#define S5P_MXR_LAYER_CFG_VID_PRIORITY(x) (((x) & 0xF) << 0)
+#define S5P_MXR_LAYER_CFG_VID_PRIORITY_CLR(x) ((x) & (~(0xF << 0)))
+#define S5P_MXR_LAYER_CFG_VID_PRIORITY_INFO(x) ((x) & (0xF << 0))
+
+/* MIXER_VIDEO_CFG */
+#define S5P_MXR_VIDEO_CFG_LIMITER_DIS (0 << 17)
+#define S5P_MXR_VIDEO_CFG_LIMITER_EN (1 << 17)
+#define S5P_MXR_VIDEO_CFG_BLEND_DIS (0 << 16)
+#define S5P_MXR_VIDEO_CFG_BLEND_EN (1 << 16)
+#define S5P_MXR_VIDEO_CFG_ALPHA_MASK (0xFF)
+#define S5P_MXR_VIDEO_CFG_ALPHA_VALUE(x) (((x) & 0xFF) << 0)
+#define S5P_MXR_VIDEO_CFG_ALPHA_VALUE_CLR(x) ((x) & (~(0xFF << 0)))
+
+/* MIXER_VIDEO_LIMITER_PARA_CFG */
+#define S5P_MXR_VIDEO_LIMITER_PARA_Y_UPPER(x) (((x) & 0xFF) << 24)
+#define S5P_MXR_VIDEO_LIMITER_PARA_Y_LOWER(x) (((x) & 0xFF) << 16)
+#define S5P_MXR_VIDEO_LIMITER_PARA_C_UPPER(x) (((x) & 0xFF) << 8)
+#define S5P_MXR_VIDEO_LIMITER_PARA_C_LOWER(x) (((x) & 0xFF) << 0)
+
+/* MIXER_GRAPHIC0_CFG */
+/* MIXER_GRAPHIC1_CFG */
+#define S5P_MXR_BLANK_CHANGE_NEW_PIXEL (1 << 21)
+#define S5P_MXR_BLANK_NOT_CHANGE_NEW_PIXEL (0 << 21)
+#define S5P_MXR_PRE_MUL_MODE (1 << 20)
+#define S5P_MXR_NORMAL_MODE (0 << 20)
+#define S5P_MXR_WIN_BLEND_ENABLE (1 << 17)
+#define S5P_MXR_WIN_BLEND_DISABLE (0 << 17)
+#define S5P_MXR_PIXEL_BLEND_ENABLE (1 << 16)
+#define S5P_MXR_PIXEL_BLEND_DISABLE (0 << 16)
+#define S5P_MXR_EG_COLOR_FORMAT(x) (((x) & 0xF) << 8)
+#define S5P_MXR_EG_COLOR_FORMAT_CLEAR(x) ((x) & (~(0xF << 8)))
+#define S5P_MXR_GRP_ALPHA_VALUE(x) (((x) & 0xFF) << 0)
+#define S5P_MXR_GRP_ALPHA_VALUE_CLEAR(x) ((x) & (~(0xFF << 0)))
+
+/* MIXER_GRAPHIC0_BASE */
+/* MIXER_GRAPHIC1_BASE */
+#define S5P_MXR_GPR_BASE(x) ((x) & 0xFFFFFFFF)
+#define S5P_MXR_GRP_ADDR_ILLEGAL(x) ((x) & 0x3)
+
+/* MIXER_GRAPHIC0_SPAN */
+#define S5P_MXR_GRP_SPAN(x) ((x) & 0x7FFF)
+
+/* MIXER_GRAPHIC0_WH */
+#define S5P_MXR_GRP_H_SCALE(x) (((x) & 0x1) << 28)
+#define S5P_MXR_GRP_V_SCALE(x) (((x) & 0x1) << 12)
+#define S5P_MXR_GRP_WIDTH(x) (((x) & 0x7FF) << 16)
+#define S5P_MXR_GRP_HEIGHT(x) (((x) & 0x7FF) << 0)
+
+/* MIXER_GRAPHIC0_XY */
+#define S5P_MXR_GRP_STARTX(x) (((x) & 0x7FF) << 16)
+#define S5P_MXR_GRP_STARTY(x) (((x) & 0x7FF) << 0)
+
+/* MIXER_GRAPHIC0_DXY */
+#define S5P_MXR_GRP_DESTX(x) (((x) & 0x7FF) << 16)
+#define S5P_MXR_GRP_DESTY(x) (((x) & 0x7FF) << 0)
+
+/* MIXER_GRAPHIC0_BLANK */
+#define S5P_MXR_GPR_BLANK_COLOR(x) ((x) & 0xFFFFFFFF)
+
+/* MIXER_BG_CFG */
+#define S5P_MXR_BG_CR_DIHER_EN (1 << 19) /* Not support in S5PV210 */
+#define S5P_MXR_BG_CB_DIHER_EN (1 << 18) /* Not support in S5PV210 */
+#define S5P_MXR_BG_Y_DIHER_EN (1 << 17) /* Not support in S5PV210 */
+
+/* MIXER_BG_COLOR0/1/2 */
+#define S5P_MXR_BG_COEFF_0(x) (((x) & 0x3F) << 20)
+#define S5P_MXR_BG_COEFF_1(x) (((x) & 0x3F) << 10)
+#define S5P_MXR_BG_COEFF_2(x) (((x) & 0x3F) << 0)
+
+/* MIXER_CM_COEFF_Y */
+#define S5P_MXR_BG_COLOR_WIDE (1 << 30)
+#define S5P_MXR_BG_COLOR_NARROW (0 << 30)
+#define S5P_MXR_BG_COLOR_Y(x) (((x) & 0xFF) << 16)
+
+/* MIXER_CM_COEFF_CB */
+#define S5P_MXR_BG_COLOR_CB(x) (((x) & 0xFF) << 8)
+
+/* MIXER_CM_COEFF_Cr */
+#define S5P_MXR_BG_COLOR_CR(x) (((x) & 0xFF) << 0)
+#endif /* __ARCH_ARM_REGS_MIXER_H */
+