mga.h revision 1247
* Software is furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. /* MGA PCI Specific Registers */ /* MGA PCI AGP Command 0xf8 */ /* MGA PCI AGP Capability Identifier 0xf0 */ /* MGA PCI AGP Status 0xf4 */ /* MGA PCI Vendor and Device 0x00 */ /* MGA PCI Indirect Access Data 0x48 */ /* MGA PCI Indirect Access Index 0x44 */ /* MGA PCI Option 0x40 */ /* MGA PCI Option2 0x50 */ /* MGA PCI Power Management Control Status 0xe0 */ /* MGA PCI Power Management Identifier 0xdc */ /* MGA PCI Subsysid 0x4c */ /* MGA Alpha Control 0x2c7c (wo) */ /* MGA Alpha Start 0x2c70 (wo) */ /* MGA Alpha Xinc 0x2c74 (wo) */ /* MGA Alpha Yinc 0x2c78 (wo) */ /* MGA Address 0 0x1c60 (wo), 0x1d60 (wo) */ /* MGA Address 1 0x1c64 (wo), 0x1d64 (wo) */ /* MGA Address 2 0x1c68 (wo), 0x1d68 (wo) */ /* MGA Address 3 0x1c6c (wo), 0x1d6c (wo) */ /* MGA Address 4 0x1c70 (wo), 0x1d70 (wo) */ /* MGA Address 5 0x1c74 (wo), 0x1d74 (wo) */ /* MGA Address 6 0x1c78 (wo), 0x1d78 (wo) */ /* MGA Background Color 0x1c20 (wo), 0x1d20 (wo) */ /* MGA Backend Scaler Buffer A Field 1 Chroma Origin 0x3d10 (wo) */ /* MGA Backend Scaler Buffer A Field 1 Origin 0x3d00 (wo) */ /* MGA Backend Scaler Buffer A Field 2 Chroma Origin 0x3d14 (wo) */ /* MGA Backend Scaler Buffer A Field 2 Origin 0x3d04 (wo) */ /* MGA Backend Scaler Buffer B Field 1 Chroma Origin 0x3d18 (wo) */ /* MGA Backend Scaler Buffer B Field 1 Origin 0x3d08 (wo) */ /* MGA Backend Scaler Buffer B Field 2 Chroma Origin 0x3d1c (wo) */ /* MGA Backend Scaler Buffer B Field 2 Origin 0x3d0c (wo) */ /* MGA Backend Scaler Control 0x3d20 */ /* MGA Backend Scaler Global Control 0x3dc0 */ /* MGA Backend Scaler Horiz Coordinates 0x3d28 */ /* MGA Backend Scaler Horiz Inv Scaling Factor 0x3d30 (wo) */ /* MGA Backend Scaler Horiz Source Ending 0x3d3c (wo) */ /* MGA Backend Scaler Horiz Source Last 0x3d50 (wo) */ /* MGA Backend Scaler Horiz Source Start 0x3d38 (wo) */ /* MGA Backend Scaler Pitch 0x3d24 (wo) */ /* MGA Backend Scaler Status 0x3dc4 (ro) */ /* MGA Backend Scaler Field 1 Vert Source Last Pos 0x3d54 (wo) */ /* MGA Backend Scaler Field 2 Vert Source Last Pos 0x3d58 (wo) */ /* MGA Backend Scaler Field 1 Vert Weight Start 0x3d48 (wo) */ /* MGA Backend Scaler Field 2 Vert Weight Start 0x3d4c (wo) */ /* MGA Backend Scaler Vertical Coordinates 0x3d2c (wo) */ /* MGA Backend Scaler Vertical Inverse Scaling Factor 0x3d34 (wo) */ /* MGA Codec Buffer Start Address 0x3e44 (wo) */ /* MGA Codec Control 0x3e40 (wo) */ /* MGA Codec Hard Pointer 0x3e4c (ro) */ /* MGA Codec Host Pointer 0x3e48 (wo) */ /* MGA Codec Lcode Pointer 0x3e50 (ro) */ /* MGA Clipper X Boundary 0x1c80 (wo), 0x1d80 (wo) */ /* MGA Clipper X Minimum Boundary 0x1ca0 (wo), 0x1da0 (wo) */ /* MGA Clipper X Maximum Boundary 0x1ca4 (wo), 0x1da4 (wo) */ /* MGA DMA Map 3 to 0 0x1e30 */ /* MGA DMA Map 7 to 4 0x1e34 */ /* MGA DMA Map B to 8 0x1e38 */ /* MGA DMA Map F to C 0x1e3c */ /* MGA DMA Padding 0x1c54 (wo), 0x1d54 (wo) */ /* MGA Extended Data ALU 0 Low 0x2c50 (wo) */ /* MGA Extended Data ALU 0 High 0x2c54 (wo) */ /* MGA Extended Data ALU 2 Low 0x2c60 (wo) */ /* MGA Extended Data ALU 2 High 0x2c64 (wo) */ /* MGA Extended Data ALU 3 Low 0x2c68 (wo) */ /* MGA Extended Data ALU 3 High 0x2c6c (wo) */ /* MGA Data ALU 0 0x1cc0 (wo) */ /* MGA Data ALU 2 0x1cc8 (wo) */ /* MGA Data ALU 3 0x1ccc (wo) */ /* MGA Data ALU 4 0x1cd0 (wo) */ /* MGA Data ALU 6 0x1cd8 (wo) */ /* MGA Data ALU 7 0x1cdc (wo) */ /* MGA Data ALU 8 0x1ce0 (wo) */ /* MGA Data ALU 10 0x1ce8 (wo) */ /* MGA Data ALU 11 0x1cec (wo) */ /* MGA Data ALU 12 0x1cf0 (wo) */ /* MGA Data ALU 14 0x1cf8 (wo) */ /* MGA Data ALU 15 0x1cfc (wo) */ /* MGA Destination Origin 0x2cb8 (wo) */ /* MGA Drawing Register Indirect Write 0 0x1e80 (wo) */ /* MGA Drawing Register Indirect Write 1 0x1e84 (wo) */ /* MGA Drawing Register Indirect Write 2 0x1e88 (wo) */ /* MGA Drawing Register Indirect Write 3 0x1e8c (wo) */ /* MGA Drawing Register Indirect Write 4 0x1e90 (wo) */ /* MGA Drawing Register Indirect Write 5 0x1e94 (wo) */ /* MGA Drawing Register Indirect Write 6 0x1e98 (wo) */ /* MGA Drawing Register Indirect Write 7 0x1e9c (wo) */ /* MGA Drawing Register Indirect Write 8 0x1ea0 (wo) */ /* MGA Drawing Register Indirect Write 9 0x1ea4 (wo) */ /* MGA Drawing Register Indirect Write A 0x1ea8 (wo) */ /* MGA Drawing Register Indirect Write B 0x1eac (wo) */ /* MGA Drawing Register Indirect Write C 0x1eb0 (wo) */ /* MGA Drawing Register Indirect Write D 0x1eb4 (wo) */ /* MGA Drawing Register Indirect Write E 0x1eb8 (wo) */ /* MGA Drawing Register Indirect Write F 0x1ebc (wo) */ /* MGA Drawing Control 0x1c00 (wo), 0x1d00 (wo) */ /* MGA Drawing Synchronization 0x2c4c */ /* MGA Foreground Color 0x1c24 (wo), 0x1d24 (wo) */ /* MGA Fifo Status 0x1e10 (ro) */ /* MGA Fog Color 0x1cf4 (wo) */ /* MGA Fog Startr 0x1cc4 (wo) */ /* MGA Fog X Increment 0x1cd4 (wo) */ /* MGA Fog Y Increment 0x1ce4 (wo) */ /* MGA Fog X Address Boundary 0x1c84 (wo), 0x1d84 (wo) */ /* MGA Fox X Address Left 0x1ca8 (wo), 0x1da8 (wo) */ /* MGA Fox X Address Right 0x1cac (wo), 0x1dac (wo) */ /* MGA Interrupt Clear 0x1e18 (wo) */ /* MGA Interrupt Enable 0x1e1c */ /* MGA Length 0x1c5c (wo), 0x1d5c (wo) */ /* MGA Memory Access 0x1c04 (wo), 0x1d04 (wo) */ /* MGA Memory Control Wait State 0x1c08 (wo) */ /* MGA Memory Read Back 0x1e44 */ /* MGA Operating Mode 0x1e54 */ /* MGA Pattern 0 0x1c10 (wo), 0x1d10 (wo) */ /* MGA Pattern 1 0x1c14 (wo), 0x1d14 (wo) */ /* MGA Plane Write Mask 0x1c1c (wo), 0x1d1c (wo) */ /* MGA Primary DMA Current Address 0x1e58 */ /* MGA Primary DMA End Address 0x1e5c */ /* MGA Primary List Status Fetch Pointer 0x1e50 */ /* MGA Secondary DMA Current Address 0x2c40 */ /* MGA Secondary DMA End Address 0x2c44 */ /* MGA Setup DMA Current Address 0x2cd0 */ /* MGA Setup DMA End Address 0x2cd4 */ /* MGA Sign 0x1c58 (wo), 0x1d58 (wo) */ /* MGA Shifter Control 0x1c50 (wo), 0x1d50 (wo) */ /* MGA Soft Trap Handle 0x2c48 */ /* MGA Specular Lighting Blue Start 0x2c98 */ /* MGA Specular Lighting Blue X Increment 0x2c9c */ /* MGA Specular Lighting Blue Y Increment 0x2ca0 */ /* MGA Specular Lighting Green Start 0x2c8c */ /* MGA Specular Lighting Green X Increment 0x2c90 */ /* MGA Specular Lighting Green Y Increment 0x2c94 */ /* MGA Specular Lighting Red Start 0x2c80 */ /* MGA Specular Lighting Red X Increment 0x2c84 */ /* MGA Specular Lighting Red Y Increment 0x2c88 */ /* MGA Source 0 0x1c30 (wo), 0x1d30 (wo) */ /* MGA Source 1 0x1c34 (wo), 0x1d34 (wo) */ /* MGA Source 2 0x1c38 (wo), 0x1d38 (wo) */ /* MGA Source 3 0x1c3c (wo), 0x1d3c (wo) */ /* MGA Source Origin 0x2cb4 (wo) */ /* MGA Texture Border Color 0x2c5c (wo) */ /* MGA Texture Map Control 0x2c30 (wo) */ /* MGA Texture Map Control 2 0x2c3c (wo) */ /* MGA Texture Filtering 0x2c58 (wo) */ /* MGA Texture Height 0x2c2c (wo) */ /* MGA Texture Origin 0x2c24 (wo) */ /* MGA Texture Origin 1 0x2ca4 (wo) */ /* MGA Texture Origin 2 0x2ca8 (wo) */ /* MGA Texture Origin 3 0x2cac (wo) */ /* MGA Texture Origin 4 0x2cb0 (wo) */ /* MGA Texture Transparency 0x2c34 (wo) */ /* MGA Texture Transparency High 0x2c38 (wo) */ /* MGA Texture Width 0x2c28 (wo) */ /* MGA Texture Mapping ALU 0 0x2c00 (wo) */ /* MGA Texture Mapping ALU 1 0x2c04 (wo) */ /* MGA Texture Mapping ALU 2 0x2c08 (wo) */ /* MGA Texture Mapping ALU 3 0x2c0c (wo) */ /* MGA Texture Mapping ALU 4 0x2c10 (wo) */ /* MGA Texture Mapping ALU 5 0x2c14 (wo) */ /* MGA Texture Mapping ALU 6 0x2c18 (wo) */ /* MGA Texture Mapping ALU 7 0x2c1c (wo) */ /* MGA Texture Mapping ALU 8 0x2c20 (wo) */ /* MGA VBI Address Window 0 0x3e08 (wo) */ /* MGA VBI Address Window 1 0x3e0c (wo) */ /* MGA Vertical Count 0x1e20 (ro) */ /* MGA Video Interrupt Clear 0x3e34 (wo) */ /* MGA Video Interrupt Enable 0x3e38 */ /* MGA Video Input Address Window 0 0x3e10 (wo) */ /* MGA Video Input Address Window 1 0x3e14 (wo) */ /* MGA Video Input Control 0x3e1c (wo) */ /* MGA Video Input Control Window 0 0x3e00 (wo) */ /* MGA Video Input Control Window 1 0x3e04 (wo) */ /* MGA Video Input Next Window 0x3e18 (wo) */ /* MGA Video Status 0x3e30 (ro) */ /* MGA WARP Microcode Address 0x1e6c (ro) */ /* MGA WARP Flags 0x1dc4 (wo), 0x1e64 (wo) */ /* MGA WARP GetMSB Value */ /* MGA WARP Instruction Address 0x1dc0, 0x1e60 */ /* MGA WARP Instruction Memory Address 0x1e68 (wo) */ /* MGA WARP Miscellaneous 0x1e70 */ /* MGA WARP Vertex Size 0x1dcc (wo) */ /* MGA X Destination Address 0x1cb0 (wo), 0x1db0 (wo) */ /* MGA XY End Address 0x1c44 (wo), 0x1d44 (wo) */ /* MGA XY Start Address 0x1c40 (wo), 0x1d40 (wo) */ /* MGA Y Bottom Boundary 0x1c9c (wo), 0x1d9c (wo) */ /* MGA Y Destination 0x1c90 (wo), 0x1d90 (wo) */ /* MGA Y Destination and Length 0x1c88 (wo), 0x1d88 (wo) */ /* MGA Y Destination Origin 0x1c94 (wo), 0x1d94 (wo) */ /* MGA Y Top Boundary 0x1c98 (wo), 0x1d98 (wo) */ /* MGA Z-Depth Origin 0x1c0c (wo), 0x1d0c (wo) */ /* MGA DAC Cursor position 0x3c0c */ /* MGA DAC Palette Ram Data 0x3c01 */ /* MGA DAC Palette Ram Read Address 0x3c03 */ /* MGA DAC Palette Ram Write Address 0x3c00 */ /* MGA DAC Pixel Read Mask 0x3c02 */ /* MGA DAC Indexed Data 0x3c0a */ /* MGA I/O Attribute Controller Index 0x03c0 */ /* MGA I/O ATTR00 - ATTR0F Attribute Palette */ /* MGA I/O ATTR10 Attribute Mode Control */ /* MGA I/O ATTR11 Overscan Color */ /* MGA I/O ATTR12 Color Plane Enable */ /* MGA I/O ATTR13 Horizontal Pel Panning */ /* MGA I/O ATTR14 Color Select */ /* MGA I/O CRTC Registers 0x03[bd]4 */ /* MGA I/O CRTC0 Horizontal Total */ /* MGA I/O CRTC1 Horizontal Display Enable End */ /* MGA I/O CRTC2 Start Horizontal Blanking */ /* MGA I/O CRTC3 End Horizontal Blanking */ /* MGA I/I CRTC4 Start Horizontal Retrace Pulse */ /* MGA I/O CRTC5 End Horizontal Retrace */ /* MGA I/O CRTC6 Vertical Total */ /* MGA I/O CRTC7 Overflow */ /* MGA I/O CRTC8 Preset Row Scan */ /* MGA I/O CRTC9 Maximum Scan Line */ /* MGA I/O CRTCA Cursor Start */ /* MGA I/O CRTCB Cursor End */ /* MGA I/O CRTCC Start Address High */ /* MGA I/O CRTCD Start Address Low */ /* MGA I/O CRTCE Cursor Location High */ /* MGA I/O CRTCF Cursor Location Low */ /* MGA I/O CRTC10 Vertical Retrace Start */ /* MGA I/O CRTC11 Vertical Retrace End */ /* MGA I/O CRTC12 Vertical Display Enable End */ /* MGA I/O CRTC13 Offset */ /* MGA I/O CRTC14 Underline Location */ /* MGA I/O CRTC15 Start Vertical Blank */ /* MGA I/O CRTC16 End Vertical Blank */ /* MGA I/O CRTC17 CRTC Mode Control */ /* MGA I/O CRTC18 Line Compare */ /* MGA I/O CRTC22 Cpu Read Latch */ /* MGA I/O CRTC26 Attributes Address */ /* MGA I/O CRTCEXT Registers 0x03de */ /* MGA I/O CRTCEXT0 Address Generator Extensions */ /* MGA I/O CRTCEXT1 Horizontal Counter Extensions */ /* MGA I/O CRTCEXT2 Vertical Counter Extensions */ /* MGA I/O CRTCEXT3 Miscellaneous */ /* MGA I/O CRTCEXT4 Memory Page */ /* MGA I/O CRTCEXT5 Horizontal Video Half Count */ /* MGA I/O CRTCEXT6 Priority Request Control */ /* MGA I/O CRTCEXT7 Request Control */ /* MGA I/O DAC Status 0x03c7 */ /* MGA I/O Feature Control 0x03ca (read), 0x03[bd]a (write) */ /* MGA I/O Graphics Controller 0x03ce */ /* MGA I/O GCTL0 Graphics Controller Set/Reset */ /* MGA I/O GCTL1 Graphics Controller Enable Set/Reset */ /* MGA I/O GCTL2 Color Compare */ /* MGA I/O GCTL3 Data Rotate */ /* MGA I/O GCTL4 Read Map Select */ /* MGA I/O GCTL5 Graphics Mode */ /* MGA I/O GCTRL6 Miscellaneous */ /* MGA I/O GCTRL7 Color Don't Care */ /* MGA I/O GCRTL8 Bit Mask */ /* MGA I/O Input Status 0 0x03c2 (Read) */ /* MGA I/O Input Status 1 0x03[bd]a */ /* MGA I/O Miscellaneous Output 0x03c2 (Write), 0x03cc (Read) */ /* MGA I/O Sequencer Registers 0x03c4 */ /* MGA I/O SEQ1 Clocking Mode */ /* MGA I/O SEQ2 Map Mask */ /* MGA I/O SEQ3 Character Map Select */ /* MGA I/O SEQ4 Memory Mode */ /* MGA DAC Color Key 0x42 */ /* MGA DAC Color Key 0 r/g/b 0x55, 0x56, 0x57 */ /* MGA DAC Color Key Mask 0x40 */ /* MGA DAC Color Mask 0 r/g/b 0x52, 0x53, 0x54 */ /* MGA DAC CRC Bit Select 0x3e */ /* MGA DAC CRC Remainder High 0x3d */ /* MGA DAC CRC Remainder Low 0x3c */ /* MGA DAC Cursor Base Address High 0x05 */ /* MGA DAC Cursor Base Address Low 0x04 */ /* MGA DAC Cursor Color 0 r/g/b 0x08, 0x09, 0x0a */ /* MGA DAC Cursor Color 1 r/g/b 0x0c, 0x0d, 0x0e */ /* MGA DAC Cursor Color 2 r/g/b 0x10, 0x11, 0x12 */ /* MGA DAC Cursor Color 3 r/g/b 0x60, 0x61, 0x62 */ /* MGA DAC Cursor Color 4 r/g/b 0x63, 0x64, 0x65 */ /* MGA DAC Cursor Color 5 r/g/b 0x66, 0x67, 0x68 */ /* MGA DAC Cursor Color 6 r/g/b 0x69, 0x6a, 0x6b */ /* MGA DAC Cursor Color 7 r/g/b 0x6c, 0x6d, 0x6e */ /* MGA DAC Cursor Color 8 r/g/b 0x6f, 0x70, 0x71 */ /* MGA DAC Cursor Color 9 r/g/b 0x72, 0x73, 0x74 */ /* MGA DAC Cursor Color 10 r/g/b 0x75, 0x76, 0x77 */ /* MGA DAC Cursor Color 11 r/g/b 0x78, 0x79, 0x7a */ /* MGA DAC Cursor Color 12 r/g/b 0x7b, 0x7c, 0x7d */ /* MGA DAC Cursor Color 13 r/g/b 0x7e, 0x7f, 0x80 */ /* MGA DAC Cursor Color 14 r/g/b 0x81, 0x82, 0x83 */ /* MGA DAC Cursor Color 15 r/g/b 0x84, 0x85, 0x86 */ /* MGA DAC Cursor Control 0x06 */ /* MGA DAC General Control 0x1d */ /* MGA DAC General Purpose I/O Control 0x2a */ /* MGA DAC General Purpose I/O Data 0x2b */ /* MGA DAC Keying Operating Mode 0x51 */ /* MGA DAC Miscellaneous Control 0x1e */ /* MGA DAC Multiplex Control 0x19 */ /* MGA DAC Pixel Clock Control 0x1a */ /* MGA DAC Pixel PLL M Value 0x44, 0x48, 0x4c */ /* MGA Dac Pixel PLL N Value 0x45, 0x49, 0x4d */ /* MGA DAC Pixel PLL P Value 0x46, 0x4a, 0x4e */ /* MGA DAC Pixel PLL Status 0x4f (ro) */ /* MGA DAC Sense Test 0x3a */ /* MGA DAC SYSPLL M Value 0x2c */ /* MGA DAC SYSPLL N Value 0x2d */ /* MGA DAC SYSPLL P Value 0x2e */ /* MGA DAC SYSPLL Status 0x2f (ro) */ /* MGA DAC Voltage Reference Control 0x18 */ /* MGA Dac Zoom Control 0x38 */ /* 144.0Mhz memory clock */