Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / drivers / video / kyro / STG4000Interface.h
blobb7c83d5dfb139fb8d80e17703d9a573cbcda33f9
1 /*
2 * linux/drivers/video/kyro/STG4000Interface.h
4 * Copyright (C) 2002 STMicroelectronics
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 */
11 #ifndef _STG4000INTERFACE_H
12 #define _STG4000INTERFACE_H
14 #include <linux/pci.h>
15 #include <video/kyro.h>
18 * Ramdac Setup
20 extern int InitialiseRamdac(volatile STG4000REG __iomem *pSTGReg, u32 displayDepth,
21 u32 displayWidth, u32 displayHeight,
22 s32 HSyncPolarity, s32 VSyncPolarity,
23 u32 *pixelClock);
25 extern void DisableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
26 extern void EnableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
29 * Timing generator setup
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);
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);
41 * Overlay setup
43 extern void ResetOverlayRegisters(volatile STG4000REG __iomem *pSTGReg);
45 extern int CreateOverlaySurface(volatile STG4000REG __iomem *pSTGReg,
46 u32 ulWidth, u32 ulHeight,
47 int bLinear,
48 u32 ulOverlayOffset,
49 u32 * retStride, u32 * retUVStride);
51 extern int SetOverlayBlendMode(volatile STG4000REG __iomem *pSTGReg,
52 OVRL_BLEND_MODE mode,
53 u32 ulAlpha, u32 ulColorKey);
55 extern int SetOverlayViewPort(volatile STG4000REG __iomem *pSTGReg,
56 u32 left, u32 top,
57 u32 right, u32 bottom);
59 extern void EnableOverlayPlane(volatile STG4000REG __iomem *pSTGReg);
61 #endif /* _STG4000INTERFACE_H */