| Mike Rapoport | 22caf04 | 2006-07-14 00:24:34 -0700 | [diff] [blame] | 1 | #ifndef __MBX_FB_H | 
|  | 2 | #define __MBX_FB_H | 
|  | 3 |  | 
| Raphael Assenat | ea46525 | 2006-12-08 02:40:36 -0800 | [diff] [blame] | 4 | #include <asm/ioctl.h> | 
|  | 5 | #include <asm/types.h> | 
|  | 6 |  | 
| Mike Rapoport | 22caf04 | 2006-07-14 00:24:34 -0700 | [diff] [blame] | 7 | struct mbxfb_val { | 
|  | 8 | unsigned int	defval; | 
|  | 9 | unsigned int	min; | 
|  | 10 | unsigned int	max; | 
|  | 11 | }; | 
|  | 12 |  | 
|  | 13 | struct fb_info; | 
|  | 14 |  | 
|  | 15 | struct mbxfb_platform_data { | 
|  | 16 | /* Screen info */ | 
|  | 17 | struct mbxfb_val xres; | 
|  | 18 | struct mbxfb_val yres; | 
|  | 19 | struct mbxfb_val bpp; | 
|  | 20 |  | 
|  | 21 | /* Memory info */ | 
|  | 22 | unsigned long memsize; /* if 0 use ODFB? */ | 
|  | 23 | unsigned long timings1; | 
|  | 24 | unsigned long timings2; | 
|  | 25 | unsigned long timings3; | 
|  | 26 |  | 
|  | 27 | int (*probe)(struct fb_info *fb); | 
|  | 28 | int (*remove)(struct fb_info *fb); | 
|  | 29 | }; | 
|  | 30 |  | 
| Raphael Assenat | ea46525 | 2006-12-08 02:40:36 -0800 | [diff] [blame] | 31 | /* planar */ | 
| Raphael Assenat | ba282da | 2007-10-16 01:28:40 -0700 | [diff] [blame] | 32 | #define MBXFB_FMT_YUV16		0 | 
|  | 33 | #define MBXFB_FMT_YUV12		1 | 
| Raphael Assenat | ea46525 | 2006-12-08 02:40:36 -0800 | [diff] [blame] | 34 |  | 
|  | 35 | /* packed */ | 
| Raphael Assenat | ba282da | 2007-10-16 01:28:40 -0700 | [diff] [blame] | 36 | #define MBXFB_FMT_UY0VY1	2 | 
|  | 37 | #define MBXFB_FMT_VY0UY1	3 | 
|  | 38 | #define MBXFB_FMT_Y0UY1V	4 | 
|  | 39 | #define MBXFB_FMT_Y0VY1U	5 | 
| Raphael Assenat | ea46525 | 2006-12-08 02:40:36 -0800 | [diff] [blame] | 40 | struct mbxfb_overlaySetup { | 
|  | 41 | __u32 enable; | 
|  | 42 | __u32 x, y; | 
|  | 43 | __u32 width, height; | 
| Raphael Assenat | ea46525 | 2006-12-08 02:40:36 -0800 | [diff] [blame] | 44 | __u32 fmt; | 
|  | 45 | __u32 mem_offset; | 
|  | 46 | __u32 scaled_width; | 
|  | 47 | __u32 scaled_height; | 
|  | 48 |  | 
|  | 49 | /* Filled by the driver */ | 
|  | 50 | __u32 U_offset; | 
|  | 51 | __u32 V_offset; | 
|  | 52 |  | 
|  | 53 | __u16 Y_stride; | 
|  | 54 | __u16 UV_stride; | 
|  | 55 | }; | 
|  | 56 |  | 
| Raphael Assenat | ba282da | 2007-10-16 01:28:40 -0700 | [diff] [blame] | 57 | #define MBXFB_ALPHABLEND_NONE		0 | 
|  | 58 | #define MBXFB_ALPHABLEND_GLOBAL		1 | 
|  | 59 | #define MBXFB_ALPHABLEND_PIXEL		2 | 
|  | 60 |  | 
|  | 61 | #define MBXFB_COLORKEY_DISABLED		0 | 
|  | 62 | #define MBXFB_COLORKEY_PREVIOUS		1 | 
|  | 63 | #define MBXFB_COLORKEY_CURRENT		2 | 
|  | 64 | struct mbxfb_alphaCtl { | 
|  | 65 | __u8 overlay_blend_mode; | 
|  | 66 | __u8 overlay_colorkey_mode; | 
|  | 67 | __u8 overlay_global_alpha; | 
|  | 68 | __u32 overlay_colorkey; | 
|  | 69 | __u32 overlay_colorkey_mask; | 
|  | 70 |  | 
|  | 71 | __u8 graphics_blend_mode; | 
|  | 72 | __u8 graphics_colorkey_mode; | 
|  | 73 | __u8 graphics_global_alpha; | 
|  | 74 | __u32 graphics_colorkey; | 
|  | 75 | __u32 graphics_colorkey_mask; | 
|  | 76 | }; | 
|  | 77 |  | 
|  | 78 | #define MBXFB_PLANE_GRAPHICS	0 | 
|  | 79 | #define MBXFB_PLANE_VIDEO	1 | 
|  | 80 | struct mbxfb_planeorder { | 
|  | 81 | __u8 bottom; | 
|  | 82 | __u8 top; | 
|  | 83 | }; | 
|  | 84 |  | 
|  | 85 | struct mbxfb_reg { | 
|  | 86 | __u32 addr; 	/* offset from 0x03fe 0000 */ | 
|  | 87 | __u32 val;		/* value */ | 
|  | 88 | __u32 mask;		/* which bits to touch (for write) */ | 
|  | 89 | }; | 
|  | 90 |  | 
|  | 91 | #define MBXFB_IOCX_OVERLAY		_IOWR(0xF4, 0x00,struct mbxfb_overlaySetup) | 
|  | 92 | #define MBXFB_IOCG_ALPHA		_IOR(0xF4, 0x01,struct mbxfb_alphaCtl) | 
|  | 93 | #define MBXFB_IOCS_ALPHA		_IOW(0xF4, 0x02,struct mbxfb_alphaCtl) | 
|  | 94 | #define MBXFB_IOCS_PLANEORDER	_IOR(0xF4, 0x03,struct mbxfb_planeorder) | 
|  | 95 | #define MBXFB_IOCS_REG			_IOW(0xF4, 0x04,struct mbxfb_reg) | 
|  | 96 | #define MBXFB_IOCX_REG			_IOWR(0xF4, 0x05,struct mbxfb_reg) | 
| Raphael Assenat | ea46525 | 2006-12-08 02:40:36 -0800 | [diff] [blame] | 97 |  | 
| Mike Rapoport | 22caf04 | 2006-07-14 00:24:34 -0700 | [diff] [blame] | 98 | #endif /* __MBX_FB_H */ |