xref: /openbmc/linux/include/video/kyro.h (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  *  linux/drivers/video/kyro/kryo.h
31da177e4SLinus Torvalds  *
41da177e4SLinus Torvalds  *  Copyright (C) 2002 STMicroelectronics
51da177e4SLinus Torvalds  *  Copyright (C) 2004 Paul Mundt
61da177e4SLinus Torvalds  *
71da177e4SLinus Torvalds  * This file is subject to the terms and conditions of the GNU General Public
81da177e4SLinus Torvalds  * License.  See the file COPYING in the main directory of this archive
91da177e4SLinus Torvalds  * for more details.
101da177e4SLinus Torvalds  */
111da177e4SLinus Torvalds 
121da177e4SLinus Torvalds #ifndef _KYRO_H
131da177e4SLinus Torvalds #define _KYRO_H
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds struct kyrofb_info {
161da177e4SLinus Torvalds 	void __iomem *regbase;
171da177e4SLinus Torvalds 
18a26968dfSAntonino A. Daplas 	u32 palette[16];
191da177e4SLinus Torvalds 	u32 HTot;	/* Hor Total Time    */
201da177e4SLinus Torvalds 	u32 HFP;	/* Hor Front Porch   */
211da177e4SLinus Torvalds 	u32 HST;	/* Hor Sync Time     */
221da177e4SLinus Torvalds 	u32 HBP;	/* Hor Back Porch    */
231da177e4SLinus Torvalds 	s32 HSP;		/* Hor Sync Polarity */
241da177e4SLinus Torvalds 	u32 VTot;	/* Ver Total Time    */
251da177e4SLinus Torvalds 	u32 VFP;	/* Ver Front Porch   */
261da177e4SLinus Torvalds 	u32 VST;	/* Ver Sync Time     */
271da177e4SLinus Torvalds 	u32 VBP;	/* Ver Back Porch    */
281da177e4SLinus Torvalds 	s32 VSP;		/* Ver Sync Polarity */
291da177e4SLinus Torvalds 	u32 XRES;	/* X Resolution      */
301da177e4SLinus Torvalds 	u32 YRES;	/* Y Resolution      */
311da177e4SLinus Torvalds 	u32 VFREQ;	/* Ver Frequency     */
321da177e4SLinus Torvalds 	u32 PIXCLK;	/* Pixel Clock       */
331da177e4SLinus Torvalds 	u32 HCLK;	/* Hor Clock         */
341da177e4SLinus Torvalds 
3525985edcSLucas De Marchi 	/* Useful to hold depth here for Linux */
361da177e4SLinus Torvalds 	u8 PIXDEPTH;
371da177e4SLinus Torvalds 
38*9e517ac8SLuis R. Rodriguez 	int wc_cookie;
391da177e4SLinus Torvalds };
401da177e4SLinus Torvalds 
411da177e4SLinus Torvalds /*
421da177e4SLinus Torvalds  * benedict.gaster@superh.com
431da177e4SLinus Torvalds  * Added the follow IOCTLS for the creation of overlay services...
441da177e4SLinus Torvalds  */
451da177e4SLinus Torvalds #define KYRO_IOC_MAGIC 'k'
461da177e4SLinus Torvalds 
471da177e4SLinus Torvalds #define KYRO_IOCTL_OVERLAY_CREATE       _IO(KYRO_IOC_MAGIC, 0)
481da177e4SLinus Torvalds #define KYRO_IOCTL_OVERLAY_VIEWPORT_SET _IO(KYRO_IOC_MAGIC, 1)
491da177e4SLinus Torvalds #define KYRO_IOCTL_SET_VIDEO_MODE       _IO(KYRO_IOC_MAGIC, 2)
501da177e4SLinus Torvalds #define KYRO_IOCTL_UVSTRIDE             _IO(KYRO_IOC_MAGIC, 3)
511da177e4SLinus Torvalds #define KYRO_IOCTL_OVERLAY_OFFSET       _IO(KYRO_IOC_MAGIC, 4)
521da177e4SLinus Torvalds #define KYRO_IOCTL_STRIDE               _IO(KYRO_IOC_MAGIC, 5)
531da177e4SLinus Torvalds 
541da177e4SLinus Torvalds /*
551da177e4SLinus Torvalds  * The follow 3 structures are used to pass data from user space into the kernel
561da177e4SLinus Torvalds  * for the creation of overlay surfaces and setting the video mode.
571da177e4SLinus Torvalds  */
581da177e4SLinus Torvalds typedef struct _OVERLAY_CREATE {
591da177e4SLinus Torvalds 	u32 ulWidth;
601da177e4SLinus Torvalds 	u32 ulHeight;
611da177e4SLinus Torvalds 	int bLinear;
621da177e4SLinus Torvalds } overlay_create;
631da177e4SLinus Torvalds 
641da177e4SLinus Torvalds typedef struct _OVERLAY_VIEWPORT_SET {
651da177e4SLinus Torvalds 	u32 xOrgin;
661da177e4SLinus Torvalds 	u32 yOrgin;
671da177e4SLinus Torvalds 	u32 xSize;
681da177e4SLinus Torvalds 	u32 ySize;
691da177e4SLinus Torvalds } overlay_viewport_set;
701da177e4SLinus Torvalds 
711da177e4SLinus Torvalds typedef struct _SET_VIDEO_MODE {
721da177e4SLinus Torvalds 	u32 ulWidth;
731da177e4SLinus Torvalds 	u32 ulHeight;
741da177e4SLinus Torvalds 	u32 ulScan;
751da177e4SLinus Torvalds 	u8 displayDepth;
761da177e4SLinus Torvalds 	int bLinear;
771da177e4SLinus Torvalds } set_video_mode;
781da177e4SLinus Torvalds 
791da177e4SLinus Torvalds #endif /* _KYRO_H */
80