| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | *  linux/drivers/video/kyro/kryo.h | 
|  | 3 | * | 
|  | 4 | *  Copyright (C) 2002 STMicroelectronics | 
|  | 5 | *  Copyright (C) 2004 Paul Mundt | 
|  | 6 | * | 
|  | 7 | * This file is subject to the terms and conditions of the GNU General Public | 
|  | 8 | * License.  See the file COPYING in the main directory of this archive | 
|  | 9 | * for more details. | 
|  | 10 | */ | 
|  | 11 |  | 
|  | 12 | #ifndef _KYRO_H | 
|  | 13 | #define _KYRO_H | 
|  | 14 |  | 
|  | 15 | struct kyrofb_info { | 
|  | 16 | void __iomem *regbase; | 
|  | 17 |  | 
| Antonino A. Daplas | a26968d | 2006-01-09 20:53:08 -0800 | [diff] [blame] | 18 | u32 palette[16]; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | u32 HTot;	/* Hor Total Time    */ | 
|  | 20 | u32 HFP;	/* Hor Front Porch   */ | 
|  | 21 | u32 HST;	/* Hor Sync Time     */ | 
|  | 22 | u32 HBP;	/* Hor Back Porch    */ | 
|  | 23 | s32 HSP;		/* Hor Sync Polarity */ | 
|  | 24 | u32 VTot;	/* Ver Total Time    */ | 
|  | 25 | u32 VFP;	/* Ver Front Porch   */ | 
|  | 26 | u32 VST;	/* Ver Sync Time     */ | 
|  | 27 | u32 VBP;	/* Ver Back Porch    */ | 
|  | 28 | s32 VSP;		/* Ver Sync Polarity */ | 
|  | 29 | u32 XRES;	/* X Resolution      */ | 
|  | 30 | u32 YRES;	/* Y Resolution      */ | 
|  | 31 | u32 VFREQ;	/* Ver Frequency     */ | 
|  | 32 | u32 PIXCLK;	/* Pixel Clock       */ | 
|  | 33 | u32 HCLK;	/* Hor Clock         */ | 
|  | 34 |  | 
| Lucas De Marchi | 25985ed | 2011-03-30 22:57:33 -0300 | [diff] [blame] | 35 | /* Useful to hold depth here for Linux */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | u8 PIXDEPTH; | 
|  | 37 |  | 
|  | 38 | #ifdef CONFIG_MTRR | 
|  | 39 | int mtrr_handle; | 
|  | 40 | #endif | 
|  | 41 | }; | 
|  | 42 |  | 
|  | 43 | extern int kyro_dev_init(void); | 
|  | 44 | extern void kyro_dev_reset(void); | 
|  | 45 |  | 
|  | 46 | extern unsigned char *kyro_dev_physical_fb_ptr(void); | 
|  | 47 | extern unsigned char *kyro_dev_virtual_fb_ptr(void); | 
|  | 48 | extern void *kyro_dev_physical_regs_ptr(void); | 
|  | 49 | extern void *kyro_dev_virtual_regs_ptr(void); | 
|  | 50 | extern unsigned int kyro_dev_fb_size(void); | 
|  | 51 | extern unsigned int kyro_dev_regs_size(void); | 
|  | 52 |  | 
|  | 53 | extern u32 kyro_dev_overlay_offset(void); | 
|  | 54 |  | 
|  | 55 | /* | 
|  | 56 | * benedict.gaster@superh.com | 
|  | 57 | * Added the follow IOCTLS for the creation of overlay services... | 
|  | 58 | */ | 
|  | 59 | #define KYRO_IOC_MAGIC 'k' | 
|  | 60 |  | 
|  | 61 | #define KYRO_IOCTL_OVERLAY_CREATE       _IO(KYRO_IOC_MAGIC, 0) | 
|  | 62 | #define KYRO_IOCTL_OVERLAY_VIEWPORT_SET _IO(KYRO_IOC_MAGIC, 1) | 
|  | 63 | #define KYRO_IOCTL_SET_VIDEO_MODE       _IO(KYRO_IOC_MAGIC, 2) | 
|  | 64 | #define KYRO_IOCTL_UVSTRIDE             _IO(KYRO_IOC_MAGIC, 3) | 
|  | 65 | #define KYRO_IOCTL_OVERLAY_OFFSET       _IO(KYRO_IOC_MAGIC, 4) | 
|  | 66 | #define KYRO_IOCTL_STRIDE               _IO(KYRO_IOC_MAGIC, 5) | 
|  | 67 |  | 
|  | 68 | /* | 
|  | 69 | * The follow 3 structures are used to pass data from user space into the kernel | 
|  | 70 | * for the creation of overlay surfaces and setting the video mode. | 
|  | 71 | */ | 
|  | 72 | typedef struct _OVERLAY_CREATE { | 
|  | 73 | u32 ulWidth; | 
|  | 74 | u32 ulHeight; | 
|  | 75 | int bLinear; | 
|  | 76 | } overlay_create; | 
|  | 77 |  | 
|  | 78 | typedef struct _OVERLAY_VIEWPORT_SET { | 
|  | 79 | u32 xOrgin; | 
|  | 80 | u32 yOrgin; | 
|  | 81 | u32 xSize; | 
|  | 82 | u32 ySize; | 
|  | 83 | } overlay_viewport_set; | 
|  | 84 |  | 
|  | 85 | typedef struct _SET_VIDEO_MODE { | 
|  | 86 | u32 ulWidth; | 
|  | 87 | u32 ulHeight; | 
|  | 88 | u32 ulScan; | 
|  | 89 | u8 displayDepth; | 
|  | 90 | int bLinear; | 
|  | 91 | } set_video_mode; | 
|  | 92 |  | 
|  | 93 | #endif /* _KYRO_H */ |