blob: c3141acff3679fa9ed18d78af6a0c6edf00be945 [file] [log] [blame]
Luc Verhaegen5c5beb72009-05-29 03:04:16 +00001/*
Uwe Hermannc70e9fc2010-02-15 23:10:19 +00002 * This file is part of the coreboot project.
Luc Verhaegen5c5beb72009-05-29 03:04:16 +00003 *
Uwe Hermannc70e9fc2010-02-15 23:10:19 +00004 * Copyright (C) 2007 Luc Verhaegen <libv@skynet.be>
Luc Verhaegen5c5beb72009-05-29 03:04:16 +00005 *
Uwe Hermannc70e9fc2010-02-15 23:10:19 +00006 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
Luc Verhaegen5c5beb72009-05-29 03:04:16 +000010 *
Uwe Hermannc70e9fc2010-02-15 23:10:19 +000011 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
Luc Verhaegen5c5beb72009-05-29 03:04:16 +000015 */
16
17#ifndef VGA_IO_H
18#define VGA_IO_H
19
20/*
21 * All IO necessary to poke VGA registers.
22 */
23
24/* VGA Enable */
25unsigned char vga_enable_read(void);
26void vga_enable_write(unsigned char value);
27void vga_enable_mask(unsigned char value, unsigned char mask);
28
29/* Miscellaneous register */
30unsigned char vga_misc_read(void);
31void vga_misc_write(unsigned char value);
32void vga_misc_mask(unsigned char value, unsigned char mask);
33
34/* Sequencer registers. */
35unsigned char vga_sr_read(unsigned char index);
36void vga_sr_write(unsigned char index, unsigned char value);
37void vga_sr_mask(unsigned char index, unsigned char value, unsigned char mask);
38
39/* CR registers. */
40unsigned char vga_cr_read(unsigned char index);
41void vga_cr_write(unsigned char index, unsigned char value);
42void vga_cr_mask(unsigned char index, unsigned char value, unsigned char mask);
43
44/* Attribute registers. */
45unsigned char vga_ar_read(unsigned char index);
46void vga_ar_write(unsigned char index, unsigned char value);
47void vga_ar_mask(unsigned char index, unsigned char value, unsigned char mask);
48
49/* Graphics registers. */
50unsigned char vga_gr_read(unsigned char index);
51void vga_gr_write(unsigned char index, unsigned char value);
52void vga_gr_mask(unsigned char index, unsigned char value, unsigned char mask);
53
54/* DAC functions. */
55void vga_palette_enable(void);
56void vga_palette_disable(void);
57unsigned char vga_dac_mask_read(void);
58void vga_dac_mask_write(unsigned char mask);
59void vga_dac_read_address(unsigned char address);
60void vga_dac_write_address(unsigned char address);
61unsigned char vga_dac_data_read(void);
62void vga_dac_data_write(unsigned char data);
63
64#endif /* VGA_IO_H */