/*
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* 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
* Software.
*
* 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.
*/
#ifndef _MGA_H
#define _MGA_H
/* BEGIN CSTYLED */
/* 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 Memory */
/* MGA AGP PLL 0x1e4c */
/* 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 Reset 0x1e40 */
/* 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 Status 0x1e14 */
/* MGA Test 0 0x1e48 */
/* 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 Registers */
/* 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 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 SEQ0 Reset */
/* 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 */
/* MGA Indexes */
typedef struct mga_struct {
/* 144.0Mhz memory clock */
/* END CSTYLED */
#endif /* _MGA_H */