xref: /haiku/headers/private/graphics/radeon/radeon_bios.h (revision 4f00613311d0bd6b70fa82ce19931c41f071ea4e)
1 /*
2 	Copyright (c) 2002, Thomas Kurschel
3 
4 
5 	Part of Radeon kernel driver
6 
7 	BIOS data structures
8 */
9 
10 #ifndef _RADEON_BIOS_H
11 #define _RADEON_BIOS_H
12 
13 typedef struct {
14 	uint8 clock_chip_type;
15 	uint8 struct_size;
16 	uint8 accelerator_entry;
17 	uint8 VGA_entry;
18 	uint16 VGA_table_offset;
19 	uint16 POST_table_offset;
20 	uint16 XCLK;
21 	uint16 MCLK;
22 	uint8 num_PLL_blocks;
23 	uint8 size_PLL_blocks;
24 	uint16 PCLK_ref_freq;
25 	uint16 PCLK_ref_divider;
26 	uint32 PCLK_min_freq;
27 	uint32 PCLK_max_freq;
28 	uint16 MCLK_ref_freq;
29 	uint16 MCLK_ref_divider;
30 	uint32 MCLK_min_freq;
31 	uint32 MCLK_max_freq;
32 	uint16 XCLK_ref_freq;
33 	uint16 XCLK_ref_divider;
34 	uint32 XCLK_min_freq;
35 	uint32 XCLK_max_freq;
36 } __attribute__ ((packed)) PLL_BLOCK;
37 
38 typedef struct {
39 	uint8 dummy0;
40 	char name[24];				// 1
41 	uint16 panel_xres;			// 25
42 	uint16 panel_yres;			// 27
43 
44 	uint8 dummy[15];
45 
46 	uint16 panel_pwr_delay;		// 44
47 
48 	uint8 dummy2[18];
49 
50 	uint16 fpi_timing_ofs[20];	// 64
51 } __attribute__ ((packed)) FPI_BLOCK;
52 
53 typedef struct {
54 	uint16 panel_xres;			// 0
55 	uint16 panel_yres;			// 2
56 	uint8 dummy4[5];
57 
58 	uint16 dot_clock;			// 9
59 	uint8 dummy11[6];
60 
61 	uint16 h_total;				// 17
62 	uint16 h_display;			// 19
63 	uint16 h_sync_start;		// 21
64 	uint8 h_sync_width;			// 23
65 
66 	uint16 v_total;				// 24
67 	uint16 v_display;			// 26
68 	uint16 v_sync;				// 28
69 } __attribute__ ((packed)) FPI_TIMING_BLOCK;
70 
71 #endif
72