1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 3 #ifndef VGA_IO_H 4 #define VGA_IO_H 5 6 /* 7 * All IO necessary to poke VGA registers. 8 */ 9 10 /* VGA Enable */ 11 unsigned char vga_enable_read(void); 12 void vga_enable_write(unsigned char value); 13 void vga_enable_mask(unsigned char value, unsigned char mask); 14 15 /* Miscellaneous register */ 16 unsigned char vga_misc_read(void); 17 void vga_misc_write(unsigned char value); 18 void vga_misc_mask(unsigned char value, unsigned char mask); 19 20 /* Sequencer registers. */ 21 unsigned char vga_sr_read(unsigned char index); 22 void vga_sr_write(unsigned char index, unsigned char value); 23 void vga_sr_mask(unsigned char index, unsigned char value, unsigned char mask); 24 25 /* CR registers. */ 26 unsigned char vga_cr_read(unsigned char index); 27 void vga_cr_write(unsigned char index, unsigned char value); 28 void vga_cr_mask(unsigned char index, unsigned char value, unsigned char mask); 29 30 /* Attribute registers. */ 31 unsigned char vga_ar_read(unsigned char index); 32 void vga_ar_write(unsigned char index, unsigned char value); 33 void vga_ar_mask(unsigned char index, unsigned char value, unsigned char mask); 34 35 /* Graphics registers. */ 36 unsigned char vga_gr_read(unsigned char index); 37 void vga_gr_write(unsigned char index, unsigned char value); 38 void vga_gr_mask(unsigned char index, unsigned char value, unsigned char mask); 39 40 /* DAC functions. */ 41 void vga_palette_enable(void); 42 void vga_palette_disable(void); 43 unsigned char vga_dac_mask_read(void); 44 void vga_dac_mask_write(unsigned char mask); 45 void vga_dac_read_address(unsigned char address); 46 void vga_dac_write_address(unsigned char address); 47 unsigned char vga_dac_data_read(void); 48 void vga_dac_data_write(unsigned char data); 49 50 #endif /* VGA_IO_H */ 51