2005-04-16 16:20:36 -06: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 21:53:08 -07:00
|
|
|
u32 palette[16];
|
2005-04-16 16:20:36 -06: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 19:57:33 -06:00
|
|
|
/* Useful to hold depth here for Linux */
|
2005-04-16 16:20:36 -06: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 */
|