Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *
0004  *  Cloned from drivers/media/video/s5p-tv/regs-vp.h
0005  *
0006  * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
0007  *      http://www.samsung.com/
0008  *
0009  * Video processor register header file for Samsung Mixer driver
0010  */
0011 
0012 #ifndef SAMSUNG_REGS_VP_H
0013 #define SAMSUNG_REGS_VP_H
0014 
0015 /*
0016  * Register part
0017  */
0018 
0019 #define VP_ENABLE           0x0000
0020 #define VP_SRESET           0x0004
0021 #define VP_SHADOW_UPDATE        0x0008
0022 #define VP_FIELD_ID         0x000C
0023 #define VP_MODE             0x0010
0024 #define VP_IMG_SIZE_Y           0x0014
0025 #define VP_IMG_SIZE_C           0x0018
0026 #define VP_PER_RATE_CTRL        0x001C
0027 #define VP_TOP_Y_PTR            0x0028
0028 #define VP_BOT_Y_PTR            0x002C
0029 #define VP_TOP_C_PTR            0x0030
0030 #define VP_BOT_C_PTR            0x0034
0031 #define VP_ENDIAN_MODE          0x03CC
0032 #define VP_SRC_H_POSITION       0x0044
0033 #define VP_SRC_V_POSITION       0x0048
0034 #define VP_SRC_WIDTH            0x004C
0035 #define VP_SRC_HEIGHT           0x0050
0036 #define VP_DST_H_POSITION       0x0054
0037 #define VP_DST_V_POSITION       0x0058
0038 #define VP_DST_WIDTH            0x005C
0039 #define VP_DST_HEIGHT           0x0060
0040 #define VP_H_RATIO          0x0064
0041 #define VP_V_RATIO          0x0068
0042 #define VP_POLY8_Y0_LL          0x006C
0043 #define VP_POLY4_Y0_LL          0x00EC
0044 #define VP_POLY4_C0_LL          0x012C
0045 
0046 /*
0047  * Bit definition part
0048  */
0049 
0050 /* generates mask for range of bits */
0051 
0052 #define VP_MASK(high_bit, low_bit) \
0053     (((2 << ((high_bit) - (low_bit))) - 1) << (low_bit))
0054 
0055 #define VP_MASK_VAL(val, high_bit, low_bit) \
0056     (((val) << (low_bit)) & VP_MASK(high_bit, low_bit))
0057 
0058  /* VP_ENABLE */
0059 #define VP_ENABLE_ON            (1 << 0)
0060 
0061 /* VP_SRESET */
0062 #define VP_SRESET_PROCESSING        (1 << 0)
0063 
0064 /* VP_SHADOW_UPDATE */
0065 #define VP_SHADOW_UPDATE_ENABLE     (1 << 0)
0066 
0067 /* VP_MODE */
0068 #define VP_MODE_NV12            (0 << 6)
0069 #define VP_MODE_NV21            (1 << 6)
0070 #define VP_MODE_LINE_SKIP       (1 << 5)
0071 #define VP_MODE_MEM_LINEAR      (0 << 4)
0072 #define VP_MODE_MEM_TILED       (1 << 4)
0073 #define VP_MODE_FMT_MASK        (5 << 4)
0074 #define VP_MODE_FIELD_ID_AUTO_TOGGLING  (1 << 2)
0075 #define VP_MODE_2D_IPC          (1 << 1)
0076 
0077 /* VP_IMG_SIZE_Y */
0078 /* VP_IMG_SIZE_C */
0079 #define VP_IMG_HSIZE(x)         VP_MASK_VAL(x, 29, 16)
0080 #define VP_IMG_VSIZE(x)         VP_MASK_VAL(x, 13, 0)
0081 
0082 /* VP_SRC_H_POSITION */
0083 #define VP_SRC_H_POSITION_VAL(x)    VP_MASK_VAL(x, 14, 4)
0084 
0085 /* VP_ENDIAN_MODE */
0086 #define VP_ENDIAN_MODE_LITTLE       (1 << 0)
0087 
0088 #endif /* SAMSUNG_REGS_VP_H */