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

source code of linux/drivers/video/fbdev/kyro/STG4000Interface.h