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