linux/drivers/video/fbdev/matrox/matroxfb_Ti3026.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *
 * Hardware accelerated Matrox Millennium I, II, Mystique, G100, G200 and G400
 *
 * (c) 1998-2002 Petr Vandrovec <[email protected]>
 *
 * Portions Copyright (c) 2001 Matrox Graphics Inc.
 *
 * Version: 1.65 2002/08/14
 *
 * MTRR stuff: 1998 Tom Rini <[email protected]>
 *
 * Contributors: "menion?" <[email protected]>
 *                     Betatesting, fixes, ideas
 *
 *               "Kurt Garloff" <[email protected]>
 *                     Betatesting, fixes, ideas, videomodes, videomodes timmings
 *
 *               "Tom Rini" <[email protected]>
 *                     MTRR stuff, PPC cleanups, betatesting, fixes, ideas
 *
 *               "Bibek Sahu" <[email protected]>
 *                     Access device through readb|w|l and write b|w|l
 *                     Extensive debugging stuff
 *
 *               "Daniel Haun" <[email protected]>
 *                     Testing, hardware cursor fixes
 *
 *               "Scott Wood" <[email protected]>
 *                     Fixes
 *
 *               "Gerd Knorr" <[email protected]>
 *                     Betatesting
 *
 *               "Kelly French" <[email protected]>
 *               "Fernando Herrera" <[email protected]>
 *                     Betatesting, bug reporting
 *
 *               "Pablo Bianucci" <[email protected]>
 *                     Fixes, ideas, betatesting
 *
 *               "Inaky Perez Gonzalez" <[email protected]>
 *                     Fixes, enhandcements, ideas, betatesting
 *
 *               "Ryuichi Oikawa" <[email protected]>
 *                     PPC betatesting, PPC support, backward compatibility
 *
 *               "Paul Womar" <[email protected]>
 *               "Owen Waller" <[email protected]>
 *                     PPC betatesting
 *
 *               "Thomas Pornin" <[email protected]>
 *                     Alpha betatesting
 *
 *               "Pieter van Leuven" <[email protected]>
 *               "Ulf Jaenicke-Roessler" <[email protected]>
 *                     G100 testing
 *
 *               "H. Peter Arvin" <[email protected]>
 *                     Ideas
 *
 *               "Cort Dougan" <[email protected]>
 *                     CHRP fixes and PReP cleanup
 *
 *               "Mark Vojkovich" <[email protected]>
 *                     G400 support
 *
 * (following author is not in any relation with this code, but his code
 *  is included in this driver)
 *
 * Based on framebuffer driver for VBE 2.0 compliant graphic boards
 *     (c) 1998 Gerd Knorr <[email protected]>
 *
 * (following author is not in any relation with this code, but his ideas
 *  were used when writing this driver)
 *
 *		 FreeVBE/AF (Matrox), "Shawn Hargreaves" <[email protected]>
 *
 */


#include "matroxfb_Ti3026.h"
#include "matroxfb_misc.h"
#include "matroxfb_accel.h"
#include <linux/matroxfb.h>

#ifdef CONFIG_FB_MATROX_MILLENIUM
#define outTi3026
#define inTi3026

#define TVP3026_INDEX
#define TVP3026_PALWRADD
#define TVP3026_PALDATA
#define TVP3026_PIXRDMSK
#define TVP3026_PALRDADD
#define TVP3026_CURCOLWRADD
#define TVP3026_CLOVERSCAN
#define TVP3026_CLCOLOR0
#define TVP3026_CLCOLOR1
#define TVP3026_CLCOLOR2
#define TVP3026_CURCOLDATA
#define TVP3026_CURCOLRDADD
#define TVP3026_CURCTRL
#define TVP3026_X_DATAREG
#define TVP3026_CURRAMDATA
#define TVP3026_CURPOSXL
#define TVP3026_CURPOSXH
#define TVP3026_CURPOSYL
#define TVP3026_CURPOSYH

#define TVP3026_XSILICONREV
#define TVP3026_XCURCTRL
#define TVP3026_XCURCTRL_DIS
#define TVP3026_XCURCTRL_3COLOR
#define TVP3026_XCURCTRL_XGA
#define TVP3026_XCURCTRL_XWIN
#define TVP3026_XCURCTRL_BLANK2048
#define TVP3026_XCURCTRL_BLANK4096
#define TVP3026_XCURCTRL_INTERLACED
#define TVP3026_XCURCTRL_ODD
#define TVP3026_XCURCTRL_EVEN
#define TVP3026_XCURCTRL_INDIRECT
#define TVP3026_XCURCTRL_DIRECT
#define TVP3026_XLATCHCTRL
#define TVP3026_XLATCHCTRL_1_1
#define TVP3026_XLATCHCTRL_2_1
#define TVP3026_XLATCHCTRL_4_1
#define TVP3026_XLATCHCTRL_8_1
#define TVP3026_XLATCHCTRL_16_1
#define TVP3026A_XLATCHCTRL_4_3
#define TVP3026A_XLATCHCTRL_8_3
#define TVP3026B_XLATCHCTRL_4_3
#define TVP3026B_XLATCHCTRL_8_3
#define TVP3026_XTRUECOLORCTRL
#define TVP3026_XTRUECOLORCTRL_VRAM_SHIFT_ACCEL
#define TVP3026_XTRUECOLORCTRL_VRAM_SHIFT_TVP
#define TVP3026_XTRUECOLORCTRL_PSEUDOCOLOR
#define TVP3026_XTRUECOLORCTRL_TRUECOLOR
#define TVP3026_XTRUECOLORCTRL_DIRECTCOLOR
#define TVP3026_XTRUECOLORCTRL_24_ALTERNATE
#define TVP3026_XTRUECOLORCTRL_RGB_888
#define TVP3026_XTRUECOLORCTRL_BGR_888
#define TVP3026_XTRUECOLORCTRL_ORGB_8888
#define TVP3026_XTRUECOLORCTRL_BGRO_8888
#define TVP3026_XTRUECOLORCTRL_RGB_565
#define TVP3026_XTRUECOLORCTRL_ORGB_1555
#define TVP3026_XTRUECOLORCTRL_RGB_664
#define TVP3026_XTRUECOLORCTRL_RGBO_4444
#define TVP3026_XMUXCTRL
#define TVP3026_XMUXCTRL_MEMORY_8BIT
#define TVP3026_XMUXCTRL_MEMORY_16BIT
#define TVP3026_XMUXCTRL_MEMORY_32BIT
#define TVP3026_XMUXCTRL_MEMORY_64BIT
#define TVP3026_XMUXCTRL_PIXEL_4BIT
#define TVP3026_XMUXCTRL_PIXEL_4BIT_SWAPPED
#define TVP3026_XMUXCTRL_PIXEL_8BIT
#define TVP3026_XMUXCTRL_PIXEL_16BIT
#define TVP3026_XMUXCTRL_PIXEL_32BIT
#define TVP3026_XMUXCTRL_VGA
#define TVP3026_XCLKCTRL
#define TVP3026_XCLKCTRL_DIV1
#define TVP3026_XCLKCTRL_DIV2
#define TVP3026_XCLKCTRL_DIV4
#define TVP3026_XCLKCTRL_DIV8
#define TVP3026_XCLKCTRL_DIV16
#define TVP3026_XCLKCTRL_DIV32
#define TVP3026_XCLKCTRL_DIV64
#define TVP3026_XCLKCTRL_CLKSTOPPED
#define TVP3026_XCLKCTRL_SRC_CLK0
#define TVP3026_XCLKCTRL_SRC_CLK1
#define TVP3026_XCLKCTRL_SRC_CLK2
#define TVP3026_XCLKCTRL_SRC_NCLK2
#define TVP3026_XCLKCTRL_SRC_ECLK2
#define TVP3026_XCLKCTRL_SRC_PLL
#define TVP3026_XCLKCTRL_SRC_DIS
#define TVP3026_XCLKCTRL_SRC_CLK0VGA
#define TVP3026_XPALETTEPAGE
#define TVP3026_XGENCTRL
#define TVP3026_XGENCTRL_HSYNC_POS
#define TVP3026_XGENCTRL_HSYNC_NEG
#define TVP3026_XGENCTRL_VSYNC_POS
#define TVP3026_XGENCTRL_VSYNC_NEG
#define TVP3026_XGENCTRL_LITTLE_ENDIAN
#define TVP3026_XGENCTRL_BIG_ENDIAN
#define TVP3026_XGENCTRL_BLACK_0IRE
#define TVP3026_XGENCTRL_BLACK_75IRE
#define TVP3026_XGENCTRL_NO_SYNC_ON_GREEN
#define TVP3026_XGENCTRL_SYNC_ON_GREEN
#define TVP3026_XGENCTRL_OVERSCAN_DIS
#define TVP3026_XGENCTRL_OVERSCAN_EN
#define TVP3026_XMISCCTRL
#define TVP3026_XMISCCTRL_DAC_PUP
#define TVP3026_XMISCCTRL_DAC_PDOWN
#define TVP3026_XMISCCTRL_DAC_EXT
#define TVP3026_XMISCCTRL_DAC_6BIT
#define TVP3026_XMISCCTRL_DAC_8BIT
#define TVP3026_XMISCCTRL_PSEL_DIS
#define TVP3026_XMISCCTRL_PSEL_EN
#define TVP3026_XMISCCTRL_PSEL_LOW
#define TVP3026_XMISCCTRL_PSEL_HIGH
#define TVP3026_XGENIOCTRL
#define TVP3026_XGENIODATA
#define TVP3026_XPLLADDR
#define TVP3026_XPLLADDR_X(LOOP,MCLK,PIX)
#define TVP3026_XPLLDATA_N
#define TVP3026_XPLLDATA_M
#define TVP3026_XPLLDATA_P
#define TVP3026_XPLLDATA_STAT
#define TVP3026_XPIXPLLDATA
#define TVP3026_XMEMPLLDATA
#define TVP3026_XLOOPPLLDATA
#define TVP3026_XCOLKEYOVRMIN
#define TVP3026_XCOLKEYOVRMAX
#define TVP3026_XCOLKEYREDMIN
#define TVP3026_XCOLKEYREDMAX
#define TVP3026_XCOLKEYGREENMIN
#define TVP3026_XCOLKEYGREENMAX
#define TVP3026_XCOLKEYBLUEMIN
#define TVP3026_XCOLKEYBLUEMAX
#define TVP3026_XCOLKEYCTRL
#define TVP3026_XCOLKEYCTRL_OVR_EN
#define TVP3026_XCOLKEYCTRL_RED_EN
#define TVP3026_XCOLKEYCTRL_GREEN_EN
#define TVP3026_XCOLKEYCTRL_BLUE_EN
#define TVP3026_XCOLKEYCTRL_NEGATE
#define TVP3026_XCOLKEYCTRL_ZOOM1
#define TVP3026_XCOLKEYCTRL_ZOOM2
#define TVP3026_XCOLKEYCTRL_ZOOM4
#define TVP3026_XCOLKEYCTRL_ZOOM8
#define TVP3026_XCOLKEYCTRL_ZOOM16
#define TVP3026_XCOLKEYCTRL_ZOOM32
#define TVP3026_XMEMPLLCTRL
#define TVP3026_XMEMPLLCTRL_DIV(X)
#define TVP3026_XMEMPLLCTRL_STROBEMKC4
#define TVP3026_XMEMPLLCTRL_MCLK_DOTCLOCK
#define TVP3026_XMEMPLLCTRL_MCLK_MCLKPLL
#define TVP3026_XMEMPLLCTRL_RCLK_PIXPLL
#define TVP3026_XMEMPLLCTRL_RCLK_LOOPPLL
#define TVP3026_XMEMPLLCTRL_RCLK_DOTDIVN
#define TVP3026_XSENSETEST
#define TVP3026_XTESTMODEDATA
#define TVP3026_XCRCREML
#define TVP3026_XCRCREMH
#define TVP3026_XCRCBITSEL
#define TVP3026_XID

static const unsigned char DACseq[] =;

#define POS3026_XLATCHCTRL
#define POS3026_XTRUECOLORCTRL
#define POS3026_XMUXCTRL
#define POS3026_XCLKCTRL
#define POS3026_XGENCTRL
#define POS3026_XMISCCTRL
#define POS3026_XMEMPLLCTRL
#define POS3026_XCURCTRL

static const unsigned char MGADACbpp32[] =;

static int Ti3026_calcclock(const struct matrox_fb_info *minfo,
			    unsigned int freq, unsigned int fmax, int *in,
			    int *feed, int *post)
{}

static int Ti3026_setpclk(struct matrox_fb_info *minfo, int clk)
{}

static int Ti3026_init(struct matrox_fb_info *minfo, struct my_timming *m)
{}

static void ti3026_setMCLK(struct matrox_fb_info *minfo, int fout)
{}

static void ti3026_ramdac_init(struct matrox_fb_info *minfo)
{}

static void Ti3026_restore(struct matrox_fb_info *minfo)
{}

static void Ti3026_reset(struct matrox_fb_info *minfo)
{}

static struct matrox_altout ti3026_output =;

static int Ti3026_preinit(struct matrox_fb_info *minfo)
{}

struct matrox_switch matrox_millennium =;
EXPORT_SYMBOL();
#endif
MODULE_DESCRIPTION();
MODULE_LICENSE();