xref: /linux/drivers/video/fbdev/kyro/STG4000Interface.h (revision f01387d2693813eb5271a3448e6a082322c7d75d)
1 /*
2  *  linux/drivers/video/kyro/STG4000Interface.h
3  *
4  *  Copyright (C) 2002 STMicroelectronics
5  *
6  * This file is subject to the terms and conditions of the GNU General Public
7  * License.  See the file COPYING in the main directory of this archive
8  * for more details.
9  */
10 
11 #ifndef _STG4000INTERFACE_H
12 #define _STG4000INTERFACE_H
13 
14 #include <linux/pci.h>
15 #include <video/kyro.h>
16 
17 /*
18  * Ramdac Setup
19  */
20 extern int InitialiseRamdac(volatile STG4000REG __iomem *pSTGReg, u32 displayDepth,
21 			    u32 displayWidth, u32 displayHeight,
22 			    s32 HSyncPolarity, s32 VSyncPolarity,
23 			    u32 *pixelClock);
24 
25 extern void DisableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
26 extern void EnableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
27 
28 /*
29  * Timing generator setup
30  */
31 extern void DisableVGA(volatile STG4000REG __iomem *pSTGReg);
32 extern void StopVTG(volatile STG4000REG __iomem *pSTGReg);
33 extern void StartVTG(volatile STG4000REG __iomem *pSTGReg);
34 extern void SetupVTG(volatile STG4000REG __iomem *pSTGReg,
35 		     const struct kyrofb_info * pTiming);
36 
37 extern u32 ProgramClock(u32 refClock, u32 coreClock, u32 *FOut, u32 *ROut, u32 *POut);
38 extern int SetCoreClockPLL(volatile STG4000REG __iomem *pSTGReg, struct pci_dev *pDev);
39 
40 /*
41  * Overlay setup
42  */
43 extern void ResetOverlayRegisters(volatile STG4000REG __iomem *pSTGReg);
44 
45 extern int CreateOverlaySurface(volatile STG4000REG __iomem *pSTGReg,
46 				u32 ulWidth, u32 ulHeight,
47 				int bLinear,
48 				u32 ulOverlayOffset,
49 				u32 * retStride, u32 * retUVStride);
50 
51 extern int SetOverlayBlendMode(volatile STG4000REG __iomem *pSTGReg,
52 			       OVRL_BLEND_MODE mode,
53 			       u32 ulAlpha, u32 ulColorKey);
54 
55 extern int SetOverlayViewPort(volatile STG4000REG __iomem *pSTGReg,
56 			      u32 left, u32 top,
57 			      u32 right, u32 bottom);
58 
59 extern void EnableOverlayPlane(volatile STG4000REG __iomem *pSTGReg);
60 
61 #endif /* _STG4000INTERFACE_H */
62