linux/include/video/kyro.h
<<
>>
Prefs
   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
  15struct kyrofb_info {
  16        void __iomem *regbase;
  17
  18        u32 palette[16];
  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
  35        /* Useful to hold depth here for Linux */
  36        u8 PIXDEPTH;
  37
  38#ifdef CONFIG_MTRR
  39        int mtrr_handle;
  40#endif
  41};
  42
  43extern int kyro_dev_init(void);
  44extern void kyro_dev_reset(void);
  45
  46extern unsigned char *kyro_dev_physical_fb_ptr(void);
  47extern unsigned char *kyro_dev_virtual_fb_ptr(void);
  48extern void *kyro_dev_physical_regs_ptr(void);
  49extern void *kyro_dev_virtual_regs_ptr(void);
  50extern unsigned int kyro_dev_fb_size(void);
  51extern unsigned int kyro_dev_regs_size(void);
  52
  53extern 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 */
  72typedef struct _OVERLAY_CREATE {
  73        u32 ulWidth;
  74        u32 ulHeight;
  75        int bLinear;
  76} overlay_create;
  77
  78typedef struct _OVERLAY_VIEWPORT_SET {
  79        u32 xOrgin;
  80        u32 yOrgin;
  81        u32 xSize;
  82        u32 ySize;
  83} overlay_viewport_set;
  84
  85typedef 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 */
  94