STG4000Interface.h 1.9 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
/*
 *  linux/drivers/video/kyro/STG4000Interface.h
 *
 *  Copyright (C) 2002 STMicroelectronics
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 */

#ifndef _STG4000INTERFACE_H
#define _STG4000INTERFACE_H

14 15
#include <linux/pci.h>
#include <video/kyro.h>
L
Linus Torvalds 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

/*
 * Ramdac Setup
 */
extern int InitialiseRamdac(volatile STG4000REG __iomem *pSTGReg, u32 displayDepth,
			    u32 displayWidth, u32 displayHeight,
			    s32 HSyncPolarity, s32 VSyncPolarity,
			    u32 *pixelClock);

extern void DisableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);
extern void EnableRamdacOutput(volatile STG4000REG __iomem *pSTGReg);

/*
 * Timing generator setup
 */
extern void DisableVGA(volatile STG4000REG __iomem *pSTGReg);
extern void StopVTG(volatile STG4000REG __iomem *pSTGReg);
extern void StartVTG(volatile STG4000REG __iomem *pSTGReg);
extern void SetupVTG(volatile STG4000REG __iomem *pSTGReg,
		     const struct kyrofb_info * pTiming);

extern u32 ProgramClock(u32 refClock, u32 coreClock, u32 *FOut, u32 *ROut, u32 *POut);
extern int SetCoreClockPLL(volatile STG4000REG __iomem *pSTGReg, struct pci_dev *pDev);

/*
 * Overlay setup
 */
extern void ResetOverlayRegisters(volatile STG4000REG __iomem *pSTGReg);

extern int CreateOverlaySurface(volatile STG4000REG __iomem *pSTGReg,
				u32 ulWidth, u32 ulHeight,
				int bLinear,
				u32 ulOverlayOffset,
				u32 * retStride, u32 * retUVStride);

extern int SetOverlayBlendMode(volatile STG4000REG __iomem *pSTGReg,
			       OVRL_BLEND_MODE mode,
			       u32 ulAlpha, u32 ulColorKey);

extern int SetOverlayViewPort(volatile STG4000REG __iomem *pSTGReg,
			      u32 left, u32 top,
			      u32 right, u32 bottom);

extern void EnableOverlayPlane(volatile STG4000REG __iomem *pSTGReg);

#endif /* _STG4000INTERFACE_H */