summaryrefslogtreecommitdiff
path: root/drivers/media/sprd_scale/scale_reg.h
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
committerYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
commit8e4bff4cab0ddac6060645b0715210484d02ff40 (patch)
tree3a5c3024371a04692a3a6d9974d001cdff8ebf84 /drivers/media/sprd_scale/scale_reg.h
Initial file dump from open source releaseHEADmaster
Diffstat (limited to 'drivers/media/sprd_scale/scale_reg.h')
-rwxr-xr-xdrivers/media/sprd_scale/scale_reg.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/drivers/media/sprd_scale/scale_reg.h b/drivers/media/sprd_scale/scale_reg.h
new file mode 100755
index 00000000..851e38d9
--- /dev/null
+++ b/drivers/media/sprd_scale/scale_reg.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2012 Spreadtrum Communications Inc.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+#ifndef _REG_SCALE_TIGER_H_
+#define _REG_SCALE_TIGER_H_
+
+#ifndef CONFIG_64BIT
+#include <soc/sprd/globalregs.h>
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+#define SCALE_BASE DCAM_BASE
+#define SCALE_CTRL (SCALE_BASE + 0x0004UL)
+#define SCALE_CFG (SCALE_BASE + 0x0024UL)
+#define SCALE_SRC_SIZE (SCALE_BASE + 0x0028UL)
+#define SCALE_DST_SIZE (SCALE_BASE + 0x002CUL)
+#define SCALE_TRIM_START (SCALE_BASE + 0x0030UL)
+#define SCALE_TRIM_SIZE (SCALE_BASE + 0x0034UL)
+#define SCALE_INT_STS (SCALE_BASE + 0x003CUL)
+#define SCALE_INT_MASK (SCALE_BASE + 0x0040UL)
+#define SCALE_INT_CLR (SCALE_BASE + 0x0044UL)
+#define SCALE_INT_RAW (SCALE_BASE + 0x0048UL)
+#define SCALE_FRM_OUT_Y (SCALE_BASE + 0x005CUL)
+#define SCALE_FRM_OUT_U (SCALE_BASE + 0x0060UL)
+#define SCALE_FRM_OUT_V (SCALE_BASE + 0x0064UL)
+#define SCALE_BURST_GAP (SCALE_BASE + 0x0068UL)
+#define SCALE_ENDIAN_SEL (SCALE_BASE + 0x006CUL)
+#define SCALE_FRM_IN_Y (SCALE_BASE + 0x0074UL)
+#define SCALE_FRM_IN_U (SCALE_BASE + 0x0078UL)
+#define SCALE_FRM_IN_V (SCALE_BASE + 0x007CUL)
+#define SCALE_REV_BURST_IN_CFG (SCALE_BASE + 0x0098UL)
+#define SCALE_REV_BURST_IN_TRIM_START (SCALE_BASE + 0x009CUL)
+#define SCALE_REV_BURST_IN_TRIM_SIZE (SCALE_BASE + 0x00A0UL)
+#define SCALE_REV_SLICE_CFG (SCALE_BASE + 0x00A4UL)
+#define SCALE_REV_SLICE_O_VCNT (SCALE_BASE + 0x00ACUL)
+#define SCALE_REG_START (SCALE_BASE + 0x0000UL)
+#define SCALE_REG_END (SCALE_BASE + 0x0100UL)
+
+#define SCALE_FRAME_WIDTH_MAX 8192
+#define SCALE_FRAME_HEIGHT_MAX 8192
+#define SCALE_SC_COEFF_MAX 4
+#define SCALE_DECI_FAC_MAX 4
+#define SCALE_LINE_BUF_LENGTH 4096
+
+#define SCALE_IRQ_SLICE_BIT (1 << 17)
+#define SCALE_IRQ_BIT (1 << 8)
+#define SCALE_PATH_MASK (3 << 13)
+#define SCALE_PATH_SELECT (2 << 13)
+#define SCALE_PATH_EB_BIT (1 << 2)
+#define SCALE_FRC_COPY_BIT (1 << 12)
+#define SCALE_COEFF_FRC_COPY_BIT (1 << 16)
+#define SCALE_START_BIT (1 << 18)
+#define SCALE_IS_LAST_SLICE_BIT (1 << 14)
+#define SCALE_INPUT_SLICE_HEIGHT_MASK (0x1FFF)
+#define SCALE_OUTPUT_SLICE_HEIGHT_MASK (0x1FFF)
+#define SCALE_BURST_SUB_EB_BIT (1 << 15)
+#define SCALE_BURST_SUB_SAMPLE_MASK (3 << 13)
+#define SCALE_BURST_SRC_WIDTH_MASK (0x1FFF)
+#define SCALE_BURST_INPUT_MODE_MASK (3 << 16)
+#define SCALE_AXI_RD_ENDIAN_BIT (1 << 19)
+#define SCALE_AXI_WR_ENDIAN_BIT (1 << 18)
+#define SCALE_INPUT_Y_ENDIAN_MASK (3 << 0)
+#define SCALE_INPUT_UV_ENDIAN_MASK (3 << 2)
+#define SCALE_OUTPUT_Y_ENDIAN_MASK (3 << 10)
+#define SCALE_OUTPUT_UV_ENDIAN_MASK (3 << 12)
+#define SCALE_OUTPUT_MODE_MASK (3 << 6)
+#define SCALE_MODE_MASK (3 << 21)
+#define SCALE_MODE_NORMAL_TYPE (0 << 21)
+#define SCALE_MODE_SLICE_TYPE (1 << 21)
+#define SCALE_SLICE_TYPE_BIT (1 << 13)
+#define SCALE_BYPASS_BIT (1 << 20)
+#define SCALE_DEC_X_MASK (3 << 0)
+#define SCALE_DEC_X_EB_BIT (1 << 2)
+#define SCALE_DEC_Y_MASK (3 << 3)
+#define SCALE_DEC_Y_EB_BIT (1 << 5)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif