12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /*
- * 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;
- u32 palette[16];
- 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 */
- /* Useful to hold depth here for Linux */
- 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 */
|