blob: e75b3b4a4aa1adf3c1c525464e37c89e1f70f844 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
14struct pci_dev;
15
16/*
17 * Ramdac Setup
18 */
19extern int InitialiseRamdac(volatile STG4000REG __iomem *pSTGReg, u32 displayDepth,
20 u32 displayWidth, u32 displayHeight,
21 s32 HSyncPolarity, s32 VSyncPolarity,
22 u32 *pixelClock);
23
24extern void DisableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
25extern void EnableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
26
27/*
28 * Timing generator setup
29 */
30extern void DisableVGA(volatile STG4000REG __iomem *pSTGReg);
31extern void StopVTG(volatile STG4000REG __iomem *pSTGReg);
32extern void StartVTG(volatile STG4000REG __iomem *pSTGReg);
33extern void SetupVTG(volatile STG4000REG __iomem *pSTGReg,
34 const struct kyrofb_info * pTiming);
35
36extern u32 ProgramClock(u32 refClock, u32 coreClock, u32 *FOut, u32 *ROut, u32 *POut);
37extern int SetCoreClockPLL(volatile STG4000REG __iomem *pSTGReg, struct pci_dev *pDev);
38
39/*
40 * Overlay setup
41 */
42extern void ResetOverlayRegisters(volatile STG4000REG __iomem *pSTGReg);
43
44extern int CreateOverlaySurface(volatile STG4000REG __iomem *pSTGReg,
45 u32 ulWidth, u32 ulHeight,
46 int bLinear,
47 u32 ulOverlayOffset,
48 u32 * retStride, u32 * retUVStride);
49
50extern int SetOverlayBlendMode(volatile STG4000REG __iomem *pSTGReg,
51 OVRL_BLEND_MODE mode,
52 u32 ulAlpha, u32 ulColorKey);
53
54extern int SetOverlayViewPort(volatile STG4000REG __iomem *pSTGReg,
55 u32 left, u32 top,
56 u32 right, u32 bottom);
57
58extern void EnableOverlayPlane(volatile STG4000REG __iomem *pSTGReg);
59
60#endif /* _STG4000INTERFACE_H */