| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  linux/drivers/video/kyro/kryo.h | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Copyright (C) 2002 STMicroelectronics | 
					
						
							|  |  |  |  *  Copyright (C) 2004 Paul Mundt | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This file is subject to the terms and conditions of the GNU General Public | 
					
						
							|  |  |  |  * License.  See the file COPYING in the main directory of this archive | 
					
						
							|  |  |  |  * for more details. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef _KYRO_H
 | 
					
						
							|  |  |  | #define _KYRO_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct kyrofb_info { | 
					
						
							|  |  |  | 	void __iomem *regbase; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-01-09 20:53:08 -08:00
										 |  |  | 	u32 palette[16]; | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	u32 HTot;	/* Hor Total Time    */ | 
					
						
							|  |  |  | 	u32 HFP;	/* Hor Front Porch   */ | 
					
						
							|  |  |  | 	u32 HST;	/* Hor Sync Time     */ | 
					
						
							|  |  |  | 	u32 HBP;	/* Hor Back Porch    */ | 
					
						
							|  |  |  | 	s32 HSP;		/* Hor Sync Polarity */ | 
					
						
							|  |  |  | 	u32 VTot;	/* Ver Total Time    */ | 
					
						
							|  |  |  | 	u32 VFP;	/* Ver Front Porch   */ | 
					
						
							|  |  |  | 	u32 VST;	/* Ver Sync Time     */ | 
					
						
							|  |  |  | 	u32 VBP;	/* Ver Back Porch    */ | 
					
						
							|  |  |  | 	s32 VSP;		/* Ver Sync Polarity */ | 
					
						
							|  |  |  | 	u32 XRES;	/* X Resolution      */ | 
					
						
							|  |  |  | 	u32 YRES;	/* Y Resolution      */ | 
					
						
							|  |  |  | 	u32 VFREQ;	/* Ver Frequency     */ | 
					
						
							|  |  |  | 	u32 PIXCLK;	/* Pixel Clock       */ | 
					
						
							|  |  |  | 	u32 HCLK;	/* Hor Clock         */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-30 22:57:33 -03:00
										 |  |  | 	/* Useful to hold depth here for Linux */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	u8 PIXDEPTH; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_MTRR
 | 
					
						
							|  |  |  | 	int mtrr_handle; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern int kyro_dev_init(void); | 
					
						
							|  |  |  | extern void kyro_dev_reset(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern unsigned char *kyro_dev_physical_fb_ptr(void); | 
					
						
							|  |  |  | extern unsigned char *kyro_dev_virtual_fb_ptr(void); | 
					
						
							|  |  |  | extern void *kyro_dev_physical_regs_ptr(void); | 
					
						
							|  |  |  | extern void *kyro_dev_virtual_regs_ptr(void); | 
					
						
							|  |  |  | extern unsigned int kyro_dev_fb_size(void); | 
					
						
							|  |  |  | extern unsigned int kyro_dev_regs_size(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern u32 kyro_dev_overlay_offset(void); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * benedict.gaster@superh.com | 
					
						
							|  |  |  |  * Added the follow IOCTLS for the creation of overlay services... | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define KYRO_IOC_MAGIC 'k'
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define KYRO_IOCTL_OVERLAY_CREATE       _IO(KYRO_IOC_MAGIC, 0)
 | 
					
						
							|  |  |  | #define KYRO_IOCTL_OVERLAY_VIEWPORT_SET _IO(KYRO_IOC_MAGIC, 1)
 | 
					
						
							|  |  |  | #define KYRO_IOCTL_SET_VIDEO_MODE       _IO(KYRO_IOC_MAGIC, 2)
 | 
					
						
							|  |  |  | #define KYRO_IOCTL_UVSTRIDE             _IO(KYRO_IOC_MAGIC, 3)
 | 
					
						
							|  |  |  | #define KYRO_IOCTL_OVERLAY_OFFSET       _IO(KYRO_IOC_MAGIC, 4)
 | 
					
						
							|  |  |  | #define KYRO_IOCTL_STRIDE               _IO(KYRO_IOC_MAGIC, 5)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*
 | 
					
						
							|  |  |  |  * The follow 3 structures are used to pass data from user space into the kernel | 
					
						
							|  |  |  |  * for the creation of overlay surfaces and setting the video mode. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | typedef struct _OVERLAY_CREATE { | 
					
						
							|  |  |  | 	u32 ulWidth; | 
					
						
							|  |  |  | 	u32 ulHeight; | 
					
						
							|  |  |  | 	int bLinear; | 
					
						
							|  |  |  | } overlay_create; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct _OVERLAY_VIEWPORT_SET { | 
					
						
							|  |  |  | 	u32 xOrgin; | 
					
						
							|  |  |  | 	u32 yOrgin; | 
					
						
							|  |  |  | 	u32 xSize; | 
					
						
							|  |  |  | 	u32 ySize; | 
					
						
							|  |  |  | } overlay_viewport_set; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct _SET_VIDEO_MODE { | 
					
						
							|  |  |  | 	u32 ulWidth; | 
					
						
							|  |  |  | 	u32 ulHeight; | 
					
						
							|  |  |  | 	u32 ulScan; | 
					
						
							|  |  |  | 	u8 displayDepth; | 
					
						
							|  |  |  | 	int bLinear; | 
					
						
							|  |  |  | } set_video_mode; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* _KYRO_H */
 |