162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#ifndef TRIDENTFB_DEBUG 462306a36Sopenharmony_ci#define TRIDENTFB_DEBUG 0 562306a36Sopenharmony_ci#endif 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#if TRIDENTFB_DEBUG 862306a36Sopenharmony_ci#define debug(f, a...) printk("%s:" f, __func__ , ## a); 962306a36Sopenharmony_ci#else 1062306a36Sopenharmony_ci#define debug(f, a...) 1162306a36Sopenharmony_ci#endif 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#define output(f, a...) pr_info("tridentfb: " f, ## a) 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define Kb (1024) 1662306a36Sopenharmony_ci#define Mb (Kb*Kb) 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci/* PCI IDS of supported cards temporarily here */ 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci#define CYBER9320 0x9320 2162306a36Sopenharmony_ci#define CYBER9388 0x9388 2262306a36Sopenharmony_ci#define CYBER9382 0x9382 /* the real PCI id for this is 9660 */ 2362306a36Sopenharmony_ci#define CYBER9385 0x9385 /* ditto */ 2462306a36Sopenharmony_ci#define CYBER9397 0x9397 2562306a36Sopenharmony_ci#define CYBER9397DVD 0x939A 2662306a36Sopenharmony_ci#define CYBER9520 0x9520 2762306a36Sopenharmony_ci#define CYBER9525DVD 0x9525 2862306a36Sopenharmony_ci#define TGUI9440 0x9440 2962306a36Sopenharmony_ci#define TGUI9660 0x9660 3062306a36Sopenharmony_ci#define PROVIDIA9685 0x9685 3162306a36Sopenharmony_ci#define IMAGE975 0x9750 3262306a36Sopenharmony_ci#define IMAGE985 0x9850 3362306a36Sopenharmony_ci#define BLADE3D 0x9880 3462306a36Sopenharmony_ci#define CYBERBLADEE4 0x9540 3562306a36Sopenharmony_ci#define CYBERBLADEi7 0x8400 3662306a36Sopenharmony_ci#define CYBERBLADEi7D 0x8420 3762306a36Sopenharmony_ci#define CYBERBLADEi1 0x8500 3862306a36Sopenharmony_ci#define CYBERBLADEi1D 0x8520 3962306a36Sopenharmony_ci#define CYBERBLADEAi1 0x8600 4062306a36Sopenharmony_ci#define CYBERBLADEAi1D 0x8620 4162306a36Sopenharmony_ci#define CYBERBLADEXPAi1 0x8820 4262306a36Sopenharmony_ci#define CYBERBLADEXPm8 0x9910 4362306a36Sopenharmony_ci#define CYBERBLADEXPm16 0x9930 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci/* these defines are for 'lcd' variable */ 4662306a36Sopenharmony_ci#define LCD_STRETCH 0 4762306a36Sopenharmony_ci#define LCD_CENTER 1 4862306a36Sopenharmony_ci#define LCD_BIOS 2 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci/* General Registers */ 5162306a36Sopenharmony_ci#define SPR 0x1F /* Software Programming Register (videoram) */ 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci/* 3C4 */ 5462306a36Sopenharmony_ci#define RevisionID 0x09 5562306a36Sopenharmony_ci#define OldOrNew 0x0B 5662306a36Sopenharmony_ci#define ConfPort1 0x0C 5762306a36Sopenharmony_ci#define ConfPort2 0x0C 5862306a36Sopenharmony_ci#define NewMode2 0x0D 5962306a36Sopenharmony_ci#define NewMode1 0x0E 6062306a36Sopenharmony_ci#define Protection 0x11 6162306a36Sopenharmony_ci#define MCLKLow 0x16 6262306a36Sopenharmony_ci#define MCLKHigh 0x17 6362306a36Sopenharmony_ci#define ClockLow 0x18 6462306a36Sopenharmony_ci#define ClockHigh 0x19 6562306a36Sopenharmony_ci#define SSetup 0x20 6662306a36Sopenharmony_ci#define SKey 0x37 6762306a36Sopenharmony_ci#define SPKey 0x57 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci/* 3x4 */ 7062306a36Sopenharmony_ci#define CRTCModuleTest 0x1E 7162306a36Sopenharmony_ci#define FIFOControl 0x20 7262306a36Sopenharmony_ci#define LinearAddReg 0x21 7362306a36Sopenharmony_ci#define DRAMTiming 0x23 7462306a36Sopenharmony_ci#define New32 0x23 7562306a36Sopenharmony_ci#define RAMDACTiming 0x25 7662306a36Sopenharmony_ci#define CRTHiOrd 0x27 7762306a36Sopenharmony_ci#define AddColReg 0x29 7862306a36Sopenharmony_ci#define InterfaceSel 0x2A 7962306a36Sopenharmony_ci#define HorizOverflow 0x2B 8062306a36Sopenharmony_ci#define GETest 0x2D 8162306a36Sopenharmony_ci#define Performance 0x2F 8262306a36Sopenharmony_ci#define GraphEngReg 0x36 8362306a36Sopenharmony_ci#define I2C 0x37 8462306a36Sopenharmony_ci#define PixelBusReg 0x38 8562306a36Sopenharmony_ci#define PCIReg 0x39 8662306a36Sopenharmony_ci#define DRAMControl 0x3A 8762306a36Sopenharmony_ci#define MiscContReg 0x3C 8862306a36Sopenharmony_ci#define CursorXLow 0x40 8962306a36Sopenharmony_ci#define CursorXHigh 0x41 9062306a36Sopenharmony_ci#define CursorYLow 0x42 9162306a36Sopenharmony_ci#define CursorYHigh 0x43 9262306a36Sopenharmony_ci#define CursorLocLow 0x44 9362306a36Sopenharmony_ci#define CursorLocHigh 0x45 9462306a36Sopenharmony_ci#define CursorXOffset 0x46 9562306a36Sopenharmony_ci#define CursorYOffset 0x47 9662306a36Sopenharmony_ci#define CursorFG1 0x48 9762306a36Sopenharmony_ci#define CursorFG2 0x49 9862306a36Sopenharmony_ci#define CursorFG3 0x4A 9962306a36Sopenharmony_ci#define CursorFG4 0x4B 10062306a36Sopenharmony_ci#define CursorBG1 0x4C 10162306a36Sopenharmony_ci#define CursorBG2 0x4D 10262306a36Sopenharmony_ci#define CursorBG3 0x4E 10362306a36Sopenharmony_ci#define CursorBG4 0x4F 10462306a36Sopenharmony_ci#define CursorControl 0x50 10562306a36Sopenharmony_ci#define PCIRetry 0x55 10662306a36Sopenharmony_ci#define PreEndControl 0x56 10762306a36Sopenharmony_ci#define PreEndFetch 0x57 10862306a36Sopenharmony_ci#define PCIMaster 0x60 10962306a36Sopenharmony_ci#define Enhancement0 0x62 11062306a36Sopenharmony_ci#define NewEDO 0x64 11162306a36Sopenharmony_ci#define TVinterface 0xC0 11262306a36Sopenharmony_ci#define TVMode 0xC1 11362306a36Sopenharmony_ci#define ClockControl 0xCF 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci/* 3CE */ 11762306a36Sopenharmony_ci#define MiscExtFunc 0x0F 11862306a36Sopenharmony_ci#define PowerStatus 0x23 11962306a36Sopenharmony_ci#define MiscIntContReg 0x2F 12062306a36Sopenharmony_ci#define CyberControl 0x30 12162306a36Sopenharmony_ci#define CyberEnhance 0x31 12262306a36Sopenharmony_ci#define FPConfig 0x33 12362306a36Sopenharmony_ci#define VertStretch 0x52 12462306a36Sopenharmony_ci#define HorStretch 0x53 12562306a36Sopenharmony_ci#define BiosMode 0x5c 12662306a36Sopenharmony_ci#define BiosReg 0x5d 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci/* Graphics Engine */ 12962306a36Sopenharmony_ci#define STATUS 0x2120 13062306a36Sopenharmony_ci#define OLDCMD 0x2124 13162306a36Sopenharmony_ci#define DRAWFL 0x2128 13262306a36Sopenharmony_ci#define OLDCLR 0x212C 13362306a36Sopenharmony_ci#define OLDDST 0x2138 13462306a36Sopenharmony_ci#define OLDSRC 0x213C 13562306a36Sopenharmony_ci#define OLDDIM 0x2140 13662306a36Sopenharmony_ci#define CMD 0x2144 13762306a36Sopenharmony_ci#define ROP 0x2148 13862306a36Sopenharmony_ci#define COLOR 0x2160 13962306a36Sopenharmony_ci#define BGCOLOR 0x2164 14062306a36Sopenharmony_ci#define SRC1 0x2100 14162306a36Sopenharmony_ci#define SRC2 0x2104 14262306a36Sopenharmony_ci#define DST1 0x2108 14362306a36Sopenharmony_ci#define DST2 0x210C 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci#define ROP_S 0xCC 14662306a36Sopenharmony_ci#define ROP_P 0xF0 14762306a36Sopenharmony_ci#define ROP_X 0x66 148