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        int wc_cookie;
  39};
  40
  41extern int kyro_dev_init(void);
  42extern void kyro_dev_reset(void);
  43
  44extern unsigned char *kyro_dev_physical_fb_ptr(void);
  45extern unsigned char *kyro_dev_virtual_fb_ptr(void);
  46extern void *kyro_dev_physical_regs_ptr(void);
  47extern void *kyro_dev_virtual_regs_ptr(void);
  48extern unsigned int kyro_dev_fb_size(void);
  49extern unsigned int kyro_dev_regs_size(void);
  50
  51extern u32 kyro_dev_overlay_offset(void);
  52
  53/*
  54 * benedict.gaster@superh.com
  55 * Added the follow IOCTLS for the creation of overlay services...
  56 */
  57#define KYRO_IOC_MAGIC 'k'
  58
  59#define KYRO_IOCTL_OVERLAY_CREATE       _IO(KYRO_IOC_MAGIC, 0)
  60#define KYRO_IOCTL_OVERLAY_VIEWPORT_SET _IO(KYRO_IOC_MAGIC, 1)
  61#define KYRO_IOCTL_SET_VIDEO_MODE       _IO(KYRO_IOC_MAGIC, 2)
  62#define KYRO_IOCTL_UVSTRIDE             _IO(KYRO_IOC_MAGIC, 3)
  63#define KYRO_IOCTL_OVERLAY_OFFSET       _IO(KYRO_IOC_MAGIC, 4)
  64#define KYRO_IOCTL_STRIDE               _IO(KYRO_IOC_MAGIC, 5)
  65
  66/*
  67 * The follow 3 structures are used to pass data from user space into the kernel
  68 * for the creation of overlay surfaces and setting the video mode.
  69 */
  70typedef struct _OVERLAY_CREATE {
  71        u32 ulWidth;
  72        u32 ulHeight;
  73        int bLinear;
  74} overlay_create;
  75
  76typedef struct _OVERLAY_VIEWPORT_SET {
  77        u32 xOrgin;
  78        u32 yOrgin;
  79        u32 xSize;
  80        u32 ySize;
  81} overlay_viewport_set;
  82
  83typedef struct _SET_VIDEO_MODE {
  84        u32 ulWidth;
  85        u32 ulHeight;
  86        u32 ulScan;
  87        u8 displayDepth;
  88        int bLinear;
  89} set_video_mode;
  90
  91#endif /* _KYRO_H */
  92