120c516838913956e6f86347b305fe29506e2b491Jiho Chang/* 220c516838913956e6f86347b305fe29506e2b491Jiho Chang * Copyright@ Samsung Electronics Co. LTD 320c516838913956e6f86347b305fe29506e2b491Jiho Chang * 420c516838913956e6f86347b305fe29506e2b491Jiho Chang * Licensed under the Apache License, Version 2.0 (the "License"); 520c516838913956e6f86347b305fe29506e2b491Jiho Chang * you may not use this file except in compliance with the License. 620c516838913956e6f86347b305fe29506e2b491Jiho Chang * You may obtain a copy of the License at 720c516838913956e6f86347b305fe29506e2b491Jiho Chang * 820c516838913956e6f86347b305fe29506e2b491Jiho Chang * http://www.apache.org/licenses/LICENSE-2.0 920c516838913956e6f86347b305fe29506e2b491Jiho Chang * 1020c516838913956e6f86347b305fe29506e2b491Jiho Chang * Unless required by applicable law or agreed to in writing, software 1120c516838913956e6f86347b305fe29506e2b491Jiho Chang * distributed under the License is distributed on an "AS IS" BASIS, 1220c516838913956e6f86347b305fe29506e2b491Jiho Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1320c516838913956e6f86347b305fe29506e2b491Jiho Chang * See the License for the specific language governing permissions and 1420c516838913956e6f86347b305fe29506e2b491Jiho Chang * limitations under the License. 1520c516838913956e6f86347b305fe29506e2b491Jiho Chang */ 1620c516838913956e6f86347b305fe29506e2b491Jiho Chang 1720c516838913956e6f86347b305fe29506e2b491Jiho Chang#ifndef _SEC_G2D_DRIVER_H_ 1820c516838913956e6f86347b305fe29506e2b491Jiho Chang#define _SEC_G2D_DRIVER_H_ 1920c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef unsigned char u8; 2020c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef unsigned short u16; 2120c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef unsigned long u32; 2220c516838913956e6f86347b305fe29506e2b491Jiho Chang 2320c516838913956e6f86347b305fe29506e2b491Jiho Chang#define SEC_G2D_DEV_NAME "/dev/fimg2d" 2420c516838913956e6f86347b305fe29506e2b491Jiho Chang 2520c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_IOCTL_MAGIC 'G' 2620c516838913956e6f86347b305fe29506e2b491Jiho Chang 2720c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_BLIT _IO(G2D_IOCTL_MAGIC,0) 2820c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_GET_VERSION _IO(G2D_IOCTL_MAGIC,1) 2920c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_GET_MEMORY _IOR(G2D_IOCTL_MAGIC,2, unsigned int) 3020c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_GET_MEMORY_SIZE _IOR(G2D_IOCTL_MAGIC,3, unsigned int) 3120c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_DMA_CACHE_CLEAN _IOWR(G2D_IOCTL_MAGIC,4, struct g2d_dma_info) 3220c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_DMA_CACHE_FLUSH _IOWR(G2D_IOCTL_MAGIC,5, struct g2d_dma_info) 3320c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_SYNC _IO(G2D_IOCTL_MAGIC,6) 3420c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_RESET _IO(G2D_IOCTL_MAGIC,7) 3520c516838913956e6f86347b305fe29506e2b491Jiho Chang 3620c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_MAX_WIDTH (2048) 3720c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_MAX_HEIGHT (2048) 3820c516838913956e6f86347b305fe29506e2b491Jiho Chang 3920c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_ALPHA_VALUE_MAX (255) 4020c516838913956e6f86347b305fe29506e2b491Jiho Chang 4120c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_POLLING (1<<0) 4220c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_INTERRUPT (0<<0) 4320c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_CACHE_OP (1<<1) 4420c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_NONE_INVALIDATE (0<<1) 4520c516838913956e6f86347b305fe29506e2b491Jiho Chang#define G2D_HYBRID_MODE (1<<2) 4620c516838913956e6f86347b305fe29506e2b491Jiho Chang 4720c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 4820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROT_0 = 0, 4920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROT_90, 5020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROT_180, 5120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROT_270, 5220c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROT_X_FLIP, 5320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROT_Y_FLIP 5420c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_ROT_DEG; 5520c516838913956e6f86347b305fe29506e2b491Jiho Chang 5620c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 5720c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ALPHA_BLENDING_MIN = 0, // wholly transparent 5820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ALPHA_BLENDING_MAX = 255, // 255 5920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ALPHA_BLENDING_OPAQUE = 256, // opaque 6020c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_ALPHA_BLENDING_MODE; 6120c516838913956e6f86347b305fe29506e2b491Jiho Chang 6220c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 6320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_COLORKEY_NONE = 0, 6420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_COLORKEY_SRC_ON, 6520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_COLORKEY_DST_ON, 6620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_COLORKEY_SRC_DST_ON, 6720c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_COLORKEY_MODE; 6820c516838913956e6f86347b305fe29506e2b491Jiho Chang 6920c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 7020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BLUE_SCREEN_NONE = 0, 7120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BLUE_SCREEN_TRANSPARENT, 7220c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BLUE_SCREEN_WITH_COLOR, 7320c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_BLUE_SCREEN_MODE; 7420c516838913956e6f86347b305fe29506e2b491Jiho Chang 7520c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 7620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_SRC = 0, 7720c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_DST, 7820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_SRC_AND_DST, 7920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_SRC_OR_DST, 8020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_3RD_OPRND, 8120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_SRC_AND_3RD_OPRND, 8220c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_SRC_OR_3RD_OPRND, 8320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_SRC_XOR_3RD_OPRND, 8420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ROP_DST_OR_3RD, 8520c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_ROP_TYPE; 8620c516838913956e6f86347b305fe29506e2b491Jiho Chang 8720c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 8820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_THIRD_OP_NONE = 0, 8920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_THIRD_OP_PATTERN, 9020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_THIRD_OP_FG, 9120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_THIRD_OP_BG 9220c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_THIRD_OP_MODE; 9320c516838913956e6f86347b305fe29506e2b491Jiho Chang 9420c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 9520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BLACK = 0, 9620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RED, 9720c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_GREEN, 9820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BLUE, 9920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_WHITE, 10020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_YELLOW, 10120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_CYAN, 10220c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_MAGENTA 10320c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_COLOR; 10420c516838913956e6f86347b305fe29506e2b491Jiho Chang 10520c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 10620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGB_565 = ((0<<4)|2), 10720c516838913956e6f86347b305fe29506e2b491Jiho Chang 10820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ABGR_8888 = ((2<<4)|1), 10920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BGRA_8888 = ((3<<4)|1), 11020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ARGB_8888 = ((0<<4)|1), 11120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGBA_8888 = ((1<<4)|1), 11220c516838913956e6f86347b305fe29506e2b491Jiho Chang 11320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_XBGR_8888 = ((2<<4)|0), 11420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BGRX_8888 = ((3<<4)|0), 11520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_XRGB_8888 = ((0<<4)|0), 11620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGBX_8888 = ((1<<4)|0), 11720c516838913956e6f86347b305fe29506e2b491Jiho Chang 11820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ABGR_1555 = ((2<<4)|4), 11920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BGRA_5551 = ((3<<4)|4), 12020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ARGB_1555 = ((0<<4)|4), 12120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGBA_5551 = ((1<<4)|4), 12220c516838913956e6f86347b305fe29506e2b491Jiho Chang 12320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_XBGR_1555 = ((2<<4)|3), 12420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BGRX_5551 = ((3<<4)|3), 12520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_XRGB_1555 = ((0<<4)|3), 12620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGBX_5551 = ((1<<4)|3), 12720c516838913956e6f86347b305fe29506e2b491Jiho Chang 12820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ABGR_4444 = ((2<<4)|6), 12920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BGRA_4444 = ((3<<4)|6), 13020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ARGB_4444 = ((0<<4)|6), 13120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGBA_4444 = ((1<<4)|6), 13220c516838913956e6f86347b305fe29506e2b491Jiho Chang 13320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_XBGR_4444 = ((2<<4)|5), 13420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_BGRX_4444 = ((3<<4)|5), 13520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_XRGB_4444 = ((0<<4)|5), 13620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_RGBX_4444 = ((1<<4)|5), 13720c516838913956e6f86347b305fe29506e2b491Jiho Chang 13820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_PACKED_BGR_888 = ((2<<4)|7), 13920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_PACKED_RGB_888 = ((0<<4)|7), 14020c516838913956e6f86347b305fe29506e2b491Jiho Chang 14120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_MAX_COLOR_SPACE 14220c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_COLOR_SPACE; 14320c516838913956e6f86347b305fe29506e2b491Jiho Chang 14420c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 14520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Clear_Mode, //!< [0, 0] 14620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Src_Mode, //!< [Sa, Sc] 14720c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Dst_Mode, //!< [Da, Dc] 14820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_SrcOver_Mode, //!< [Sa + Da - Sa*Da, Rc = Sc + (1 - Sa)*Dc] 14920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_DstOver_Mode, //!< [Sa + Da - Sa*Da, Rc = Dc + (1 - Da)*Sc] 15020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_SrcIn_Mode, //!< [Sa * Da, Sc * Da] 15120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_DstIn_Mode, //!< [Sa * Da, Sa * Dc] 15220c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_SrcOut_Mode, //!< [Sa * (1 - Da), Sc * (1 - Da)] 15320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_DstOut_Mode, //!< [Da * (1 - Sa), Dc * (1 - Sa)] 15420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_SrcATop_Mode, //!< [Da, Sc * Da + (1 - Sa) * Dc] 15520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_DstATop_Mode, //!< [Sa, Sa * Dc + Sc * (1 - Da)] 15620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Xor_Mode, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + (1 - Sa) * Dc] 15720c516838913956e6f86347b305fe29506e2b491Jiho Chang 15820c516838913956e6f86347b305fe29506e2b491Jiho Chang // these modes are defined in the SVG Compositing standard 15920c516838913956e6f86347b305fe29506e2b491Jiho Chang // http://www.w3.org/TR/2009/WD-SVGCompositing-20090430/ 16020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Plus_Mode, 16120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Multiply_Mode, 16220c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Screen_Mode, 16320c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Overlay_Mode, 16420c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Darken_Mode, 16520c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Lighten_Mode, 16620c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ColorDodge_Mode, 16720c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_ColorBurn_Mode, 16820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_HardLight_Mode, 16920c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_SoftLight_Mode, 17020c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Difference_Mode, 17120c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_Exclusion_Mode, 17220c516838913956e6f86347b305fe29506e2b491Jiho Chang 17320c516838913956e6f86347b305fe29506e2b491Jiho Chang kLastMode = G2D_Exclusion_Mode 17420c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_PORTTERDUFF_MODE; 17520c516838913956e6f86347b305fe29506e2b491Jiho Chang 17620c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef enum { 17720c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_MEMORY_KERNEL, 17820c516838913956e6f86347b305fe29506e2b491Jiho Chang G2D_MEMORY_USER 17920c516838913956e6f86347b305fe29506e2b491Jiho Chang} G2D_MEMORY_TYPE; 18020c516838913956e6f86347b305fe29506e2b491Jiho Chang 18120c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct { 18220c516838913956e6f86347b305fe29506e2b491Jiho Chang int x; 18320c516838913956e6f86347b305fe29506e2b491Jiho Chang int y; 18420c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int w; 18520c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int h; 18620c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int full_w; 18720c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int full_h; 18820c516838913956e6f86347b305fe29506e2b491Jiho Chang int color_format; 18920c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int bytes_per_pixel; 19020c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned char * addr; 19120c516838913956e6f86347b305fe29506e2b491Jiho Chang} g2d_rect; 19220c516838913956e6f86347b305fe29506e2b491Jiho Chang 19320c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct { 19420c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int rotate_val; 19520c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int alpha_val; 19620c516838913956e6f86347b305fe29506e2b491Jiho Chang 19720c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int blue_screen_mode; //true : enable, false : disable 19820c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int color_key_val; //screen color value 19920c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int color_switch_val; //one color 20020c516838913956e6f86347b305fe29506e2b491Jiho Chang 20120c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int src_color; // when set one color on SRC 20220c516838913956e6f86347b305fe29506e2b491Jiho Chang 20320c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int third_op_mode; 20420c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int rop_mode; 20520c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int mask_mode; 20620c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int render_mode; 20720c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int potterduff_mode; 20820c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int memory_type; 20920c516838913956e6f86347b305fe29506e2b491Jiho Chang} g2d_flag; 21020c516838913956e6f86347b305fe29506e2b491Jiho Chang 21120c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct { 21220c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int t; 21320c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int b; 21420c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int l; 21520c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int r; 21620c516838913956e6f86347b305fe29506e2b491Jiho Chang} g2d_clip; 21720c516838913956e6f86347b305fe29506e2b491Jiho Chang 21820c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct { 21920c516838913956e6f86347b305fe29506e2b491Jiho Chang g2d_rect src_rect; 22020c516838913956e6f86347b305fe29506e2b491Jiho Chang g2d_rect dst_rect; 22120c516838913956e6f86347b305fe29506e2b491Jiho Chang g2d_clip clip; 22220c516838913956e6f86347b305fe29506e2b491Jiho Chang g2d_flag flag; 22320c516838913956e6f86347b305fe29506e2b491Jiho Chang} g2d_params; 22420c516838913956e6f86347b305fe29506e2b491Jiho Chang 22520c516838913956e6f86347b305fe29506e2b491Jiho Changstruct g2d_dma_info { 22620c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned long addr; 22720c516838913956e6f86347b305fe29506e2b491Jiho Chang unsigned int size; 22820c516838913956e6f86347b305fe29506e2b491Jiho Chang}; 22920c516838913956e6f86347b305fe29506e2b491Jiho Chang 23020c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct _sec_g2d_t { 23120c516838913956e6f86347b305fe29506e2b491Jiho Chang int dev_fd; 23220c516838913956e6f86347b305fe29506e2b491Jiho Chang g2d_params params; 23320c516838913956e6f86347b305fe29506e2b491Jiho Chang}sec_g2d_t; 23420c516838913956e6f86347b305fe29506e2b491Jiho Chang 23520c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct __s5p_rect { 23620c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t x; 23720c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t y; 23820c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t w; 23920c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t h; 24020c516838913956e6f86347b305fe29506e2b491Jiho Chang} __s5p_rect; 24120c516838913956e6f86347b305fe29506e2b491Jiho Chang 24220c516838913956e6f86347b305fe29506e2b491Jiho Changtypedef struct __s5p_img { 24320c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t width; 24420c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t height; 24520c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t format; 24620c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t offset; 24720c516838913956e6f86347b305fe29506e2b491Jiho Chang uint32_t base; 24820c516838913956e6f86347b305fe29506e2b491Jiho Chang int memory_id; 24920c516838913956e6f86347b305fe29506e2b491Jiho Chang} __s5p_img; 25020c516838913956e6f86347b305fe29506e2b491Jiho Chang 25120c516838913956e6f86347b305fe29506e2b491Jiho Chang#endif /*_SEC_G2D_DRIVER_H_*/ 252