diff options
Diffstat (limited to 'src/radeon.h')
-rw-r--r-- | src/radeon.h | 172 |
1 files changed, 82 insertions, 90 deletions
diff --git a/src/radeon.h b/src/radeon.h index 766c1743..7c326935 100644 --- a/src/radeon.h +++ b/src/radeon.h @@ -198,6 +198,70 @@ typedef struct { CARD16 rr4_offset; } RADEONBIOSInitTable; +struct avivo_pll_state { + CARD32 ref_div_src; + CARD32 ref_div; + CARD32 fb_div; + CARD32 post_div_src; + CARD32 post_div; + CARD32 ext_ppll_cntl; + CARD32 pll_cntl; + CARD32 int_ss_cntl; +}; + +struct avivo_crtc_state { + CARD32 pll_source; + CARD32 h_total; + CARD32 h_blank_start_end; + CARD32 h_sync_a; + CARD32 h_sync_a_cntl; + CARD32 h_sync_b; + CARD32 h_sync_b_cntl; + CARD32 v_total; + CARD32 v_blank_start_end; + CARD32 v_sync_a; + CARD32 v_sync_a_cntl; + CARD32 v_sync_b; + CARD32 v_sync_b_cntl; + CARD32 control; + CARD32 blank_control; + CARD32 interlace_control; + CARD32 stereo_control; +}; + +struct avivo_grph_state { + CARD32 enable; + CARD32 control; + CARD32 prim_surf_addr; + CARD32 sec_surf_addr; + CARD32 pitch; + CARD32 x_offset; + CARD32 y_offset; + CARD32 x_start; + CARD32 y_start; + CARD32 x_end; + CARD32 y_end; + + CARD32 viewport_start; + CARD32 viewport_size; + CARD32 scl_enable; +}; + +struct avivo_dac_state { + CARD32 enable; + CARD32 source_select; + CARD32 force_output_cntl; + CARD32 powerdown; +}; + +struct avivo_dig_state { + CARD32 cntl; + CARD32 bit_depth_cntl; + CARD32 data_sync; + CARD32 transmitter_enable; + CARD32 transmitter_cntl; +}; + struct avivo_state { CARD32 hdp_fb_location; @@ -208,96 +272,24 @@ struct avivo_state CARD32 vga1_cntl; CARD32 vga2_cntl; - CARD32 pll1_post_div_cntl; - CARD32 pll1_post_div; - CARD32 pll1_post_div_mystery; - CARD32 pll1_post_mul; - CARD32 pll1_divider_cntl; - CARD32 pll1_divider; - CARD32 pll1_mystery0; - CARD32 pll1_mystery1; - - CARD32 pll2_post_div_cntl; - CARD32 pll2_post_div; - CARD32 pll2_post_div_mystery; - CARD32 pll2_post_mul; - CARD32 pll2_divider_cntl; - CARD32 pll2_divider; - CARD32 pll2_mystery0; - CARD32 pll2_mystery1; - - CARD32 crtc_pll_source; - CARD32 crtc1_h_total; - CARD32 crtc1_h_blank; - CARD32 crtc1_h_sync_wid; - CARD32 crtc1_h_sync_pol; - CARD32 crtc1_v_total; - CARD32 crtc1_v_blank; - CARD32 crtc1_v_sync_wid; - CARD32 crtc1_v_sync_pol; - CARD32 crtc1_cntl; - CARD32 crtc1_blank_status; - CARD32 crtc1_stereo_status; - CARD32 crtc1_scan_enable; - CARD32 crtc1_fb_format; - CARD32 crtc1_fb_location; - CARD32 crtc1_fb_end; - CARD32 crtc1_pitch; - CARD32 crtc1_x_length; - CARD32 crtc1_y_length; - CARD32 crtc1_fb_height; - CARD32 crtc1_offset_start; - CARD32 crtc1_offset_end; - CARD32 crtc1_expn_size; - CARD32 crtc1_expn_cntl; - CARD32 crtc1_6594; - CARD32 crtc1_659c; - CARD32 crtc1_65a4; - CARD32 crtc1_65a8; - CARD32 crtc1_65ac; - CARD32 crtc1_65b0; - CARD32 crtc1_65b8; - CARD32 crtc1_65bc; - CARD32 crtc1_65c0; - CARD32 crtc1_65c8; - - CARD32 crtc2_h_total; - CARD32 crtc2_h_blank; - CARD32 crtc2_h_sync_wid; - CARD32 crtc2_h_sync_pol; - CARD32 crtc2_v_total; - CARD32 crtc2_v_blank; - CARD32 crtc2_v_sync_wid; - CARD32 crtc2_v_sync_pol; - CARD32 crtc2_cntl; - CARD32 crtc2_blank_status; - CARD32 crtc2_scan_enable; - CARD32 crtc2_fb_format; - CARD32 crtc2_fb_location; - CARD32 crtc2_fb_end; - CARD32 crtc2_pitch; - CARD32 crtc2_x_length; - CARD32 crtc2_y_length; - - CARD32 dac1_cntl; - CARD32 dac1_force_output_cntl; - CARD32 dac1_powerdown; - - CARD32 tmds1_cntl; - CARD32 tmds1_bit_depth_cntl; - CARD32 tmds1_data_sync; - CARD32 tmds1_transmitter_enable; - CARD32 tmds1_transmitter_cntl; - - CARD32 dac2_cntl; - CARD32 dac2_force_output_cntl; - CARD32 dac2_powerdown; - - CARD32 tmds2_cntl; - CARD32 tmds2_bit_depth_cntl; - CARD32 tmds2_data_sync; - CARD32 tmds2_transmitter_enable; - CARD32 tmds2_transmitter_cntl; + CARD32 crtc_master_en; + CARD32 crtc_tv_control; + + struct avivo_pll_state pll1; + struct avivo_pll_state pll2; + + struct avivo_crtc_state crtc1; + struct avivo_crtc_state crtc2; + + struct avivo_grph_state grph1; + struct avivo_grph_state grph2; + + struct avivo_dac_state daca; + struct avivo_dac_state dacb; + + struct avivo_dig_state tmds1; + struct avivo_dig_state tmds2; + }; typedef struct { |