📄 regmap_8200.h
字号:
#ifndef __REGMAP_8200_H
#define __REGMAP_8200_H
/*
** FILE
** regmap.h
**
** DESCRIPTION
** define register-file structure.
**
** NOTE:
** specific for sphe8200
*/
#include "types.h"
#include "dmabuf.h"
/*
** TYPE
** RegisterFile
*/
typedef struct
{
// GROUP 0: Chip Information
UINT32 stamp; // 00 0 (0000) $bffe8000
UINT32 emulation; // 01 1 (0004)
UINT32 reset; // 02 2 (0008)
UINT32 reset2; // 03 3 (000c)
UINT32 pad_ctrl; // 04 4 (0010)
UINT32 sdram_clko_cfg; // 05 5 (0014)
UINT32 sdram_clki_cfg; // 06 6 (0018)
UINT32 sdram_clki_dly_cfg; // 07 7 (001c)
UINT32 clk_mon_sel; // 08 8 (0020)
UINT32 clk_mon_result; // 09 9 (0024)
UINT32 clken0; // 0a 10 (0028)
UINT32 clken1; // 0b 11 (002c)
UINT32 gclken0; // 0c 12 (0030)
UINT32 gclken1; // 0d 13 (0034)
UINT32 sysclk_div_sel; // 0e 14 (0038)
UINT32 sysclk_sel; // 0f 15 (003c)
UINT32 pllv_cfg; // 10 16 (0040)
UINT32 sft_cfg0; // 11 17 (0044)
UINT32 sft_cfg1; // 12 18 (0048)
UINT32 sft_cfg2; // 13 19 (004c)
UINT32 sft_cfg3; // 14 20 (0050)
UINT32 sft_cfg4; // 15 21 (0054)
UINT32 sft_cfg5; // 16 22 (0058)
UINT32 sft_cfg6; // 17 23 (005c)
UINT32 sft_cfg7; // 18 24 (0060)
UINT32 sft_cfg8; // 19 25 (0064)
UINT32 hw_bo; // 1a 26 (0068)
UINT32 hw_cfg; // 1b 27 (006c)
UINT32 hw_cfg_chg; // 1c 28 (0070)
UINT32 sft_cfg9; // 1d 29 (0074)
UINT32 sft_cfga; // 1e 30 (0078)
UINT32 g0_reserved_1[1]; // 1f 31~ 31 (007c)
// GROUP 1: Timers
UINT32 stc_15_0; // 00 32 (0080) $bffe8080
UINT32 stc_31_16; // 01 33 (0084)
UINT32 stc_32; // 02 34 (0088)
UINT32 stc_divisor; // 03 35 (008c)
UINT32 rtc_15_0; // 04 36 (0090)
UINT32 rtc_31_16; // 05 37 (0094)
UINT32 rtc_divisor; // 06 38 (0098)
UINT32 stc_config; // 07 39 (009c)
UINT32 timer0_ctrl; // 08 40 (00a0)
UINT32 timer0_cnt; // 09 41 (00a4)
UINT32 timer1_ctrl; // 0a 42 (00a8)
UINT32 timer1_cnt; // 0b 43 (00ac)
UINT32 timerw_ctrl; // 0c 44 (00b0)
UINT32 timerw_cnt; // 0d 45 (00b4)
UINT32 g1_unused_1[2]; // 0e 46~ 47 (00b8)
UINT32 timer2_ctrl; // 10 48 (00c0)
UINT32 timer2_divisor; // 11 49 (00c4)
UINT32 timer2_reload; // 12 50 (00c8)
UINT32 timer2_cnt; // 13 51 (00cc)
UINT32 timer3_ctrl; // 14 52 (00d0)
UINT32 timer3_divisor; // 15 53 (00d4)
UINT32 timer3_reload; // 16 54 (00d8)
UINT32 timer3_cnt; // 17 55 (00dc)
UINT32 stcl_0; // 18 56 (00e0)
UINT32 stcl_1; // 19 57 (00e4)
UINT32 stcl_2; // 1a 58 (00e8)
UINT32 atc_0; // 1b 59 (00ec)
UINT32 atc_1; // 1c 60 (00f0)
UINT32 atc_2; // 1d 61 (00f4)
UINT32 g1_reserved[2]; // 1e 62~ 63 (00f8)
// GROUP 2: RISC interface
UINT32 intr_mask; // 00 64 (0100) $bffe8100
UINT32 intr_flag; // 01 65 (0104)
UINT32 intr_masked_flag; // 02 66 (0108)
UINT32 intr_clear; // 03 67 (010c)
UINT32 intr_polarity; // 04 68 (0110)
UINT32 intr_edge; // 05 69 (0114)
UINT32 intr1_mask; // 06 70 (0118)
UINT32 intr1_flag; // 07 71 (011c)
UINT32 intr1_masked_flag; // 08 72 (0120)
UINT32 intr1_clear; // 09 73 (0124)
UINT32 intr1_polarity; // 0a 74 (0128)
UINT32 intr1_edge; // 0b 75 (012c)
UINT32 lbc_control; // 0c 76 (0130)
UINT32 lbc_watchdog; // 0d 77 (0134)
UINT32 rec_start; // 0e 78 (0138)
UINT32 rec_end; // 0f 79 (013c)
UINT32 rec_l_m; // 10 80 (0140)
UINT32 g2_reserved[13]; // 11 81~ 93 (0144)
UINT32 ri_misc_b0; // 1e 94 (0178)
UINT32 ri_misc_b1; // 1f 95 (017c)
// GROUP 3: Video bitstream parameters
UINT32 seq_ext; // 00 96 (0180) $bffe8180
UINT32 h_size; // 01 97 (0184)
UINT32 v_size; // 02 98 (0188)
UINT32 g3_unused; // 03 99 (018c)
UINT32 pic_coding_type; // 04 100 (0190)
UINT32 pic_f_code; // 05 101 (0194)
UINT32 pic_coding_ext0; // 06 102 (0198)
UINT32 pic_coding_ext1; // 07 103 (019c)
UINT32 pic_start; // 08 104 (01a0)
UINT32 dis_pic_id; // 09 105 (01a4)
UINT32 dis_seq_tag; // 0a 106 (01a8)
UINT32 g3_reserved[21]; // 0b 107~ 127 (01ac)
// GROUP 4: VLD parameters
UINT32 vld_ctrl; // 00 128 (0200) $bffe8200
UINT32 vld_status; // 01 129 (0204)
UINT32 vld_decode_time; // 02 130 (0208)
UINT32 g4_unused; // 03 131 (020c)
UINT32 vld_mon0; // 04 132 (0210)
UINT32 vld_mon1; // 05 133 (0214)
UINT32 vld_mon2; // 06 134 (0218)
UINT32 vld_mon3; // 07 135 (021c)
UINT32 jpeg_control; // 08 136 (0220)
UINT32 jpeg_write_addr; // 09 137 (0224)
UINT32 jpeg_write_data; // 0a 138 (0228)
UINT32 jpeg_read_addr; // 0b 139 (022c)
UINT32 jpeg_read_data; // 0c 140 (0230)
UINT32 error_mb_threshold; // 0d 141 (0234)
UINT32 vld_config; // 0e 142 (0238)
UINT32 g4_reserved[17]; // 0f 143~ 159 (023c)
// GROUP 5: MC configuration zero registers
UINT32 mc_config; // 00 160 (0280) $bffe8280
UINT32 ref0_luma; // 01 161 (0284)
UINT32 ref0_chroma; // 02 162 (0288)
UINT32 ref1_luma; // 03 163 (028c)
UINT32 ref1_chroma; // 04 164 (0290)
UINT32 bidir_luma; // 05 165 (0294)
UINT32 bidir_chroma; // 06 166 (0298)
UINT32 g5_reserved[17]; // 07 167~ 183 (029c)
UINT32 mc_spare_0; // 18 184 (02e0)
UINT32 mc_compress; // 19 185 (02e4)
UINT32 mc_pardec_start; // 1a 186 (02e8)
UINT32 mc_pardec_end; // 1b 187 (02ec)
UINT32 mc_mbwidth; // 1c 188 (02f0)
UINT32 mc_pardec_en; // 1d 189 (02f4)
UINT32 mc_spare_6; // 1e 190 (02f8)
UINT32 mc_spare_7; // 1f 191 (02fc)
// GROUP 6: SDRAM control
UINT32 sdctrl_cfg0; // 00 192 (0300) $bffe8300
UINT32 sdctrl_cfg1; // 01 193 (0304)
UINT32 sdctrl_cfg2; // 02 194 (0308)
UINT32 sdctrl_mrs; // 03 195 (030c)
UINT32 sdctrl_sref_cfg; // 04 196 (0310)
UINT32 sdctrl_cfg3; // 05 197 (0314)
UINT32 sdctrl_data_mon_st; // 06 198 (0318)
UINT32 sdctrl_data_cyc_l; // 07 199 (031c)
UINT32 sdctrl_data_cyc_h; // 08 200 (0320)
UINT32 sdctrl_data_cnt_l; // 09 201 (0324)
UINT32 sdctrl_data_cnt_h; // 0a 202 (0328)
UINT32 sdctrl_gclk_dis; // 0b 203 (032c)
UINT32 sdctrl_aref1_cfg; // 0c 204 (0330)
UINT32 sdctrl_int; // 0d 205 (0334)
UINT32 sdctrl_int_mask; // 0e 206 (0338)
UINT32 sdctrl_int_status; // 0f 207 (033c)
UINT32 sdctrl_lmem_base; // 10 208 (0340)
UINT32 sdctrl_lmem_row_st; // 11 209 (0344)
UINT32 g6_unused_0; // 12 210 (0348)
UINT32 sdctrl_cfg4; // 13 211 (034c)
UINT32 g6_reserved[10]; // 14 212~ 221 (0350)
UINT32 sdctrl_misc_b0; // 1e 222 (0378)
UINT32 sdctrl_misc_b1; // 1f 223 (037c)
// GROUP 7: VPP Control
UINT32 dis_x_start; // 00 224 (0380) $bffe8380
UINT32 dis_y_start; // 01 225 (0384)
UINT32 dis_x_size; // 02 226 (0388)
UINT32 dis_y_size; // 03 227 (038c)
UINT32 v_offset; // 04 228 (0390)
UINT32 h_offset; // 05 229 (0394)
UINT32 vpp_bg_y; // 06 230 (0398)
UINT32 vpp_bg_cb_cr; // 07 231 (039c)
UINT32 v_filter0_setup; // 08 232 (03a0)
UINT32 v_filter1_setup; // 09 233 (03a4)
UINT32 h_filter_setup; // 0a 234 (03a8)
UINT32 vpp_config; // 0b 235 (03ac)
UINT32 vpp_config1; // 0c 236 (03b0)
UINT32 ds_field_config; // 0d 237 (03b4)
UINT32 dip_config; // 0e 238 (03b8)
UINT32 dip_param; // 0f 239 (03bc)
UINT32 dip_mv_ptr; // 10 240 (03c0)
UINT32 vppref0_luma; // 11 241 (03c4)
UINT32 vppref0_chroma; // 12 242 (03c8)
UINT32 vppref1_luma; // 13 243 (03cc)
UINT32 vppref1_chroma; // 14 244 (03d0)
UINT32 vppbidir_luma; // 15 245 (03d4)
UINT32 vppbidir_chroma; // 16 246 (03d8)
UINT32 dip_ref_base; // 17 247 (03dc)
UINT32 dip_param_threshold; // 18 248 (03e0)
UINT32 dip_param_fading; // 19 249 (03e4)
UINT32 vpp_act_region_top; // 1a 250 (03e8)
UINT32 vpp_act_region_bottom; // 1b 251 (03ec)
UINT32 vpp_spare_0; // 1c 252 (03f0)
UINT32 vpp_clut_ay; // 1d 253 (03f4)
UINT32 vpp_clut_uv; // 1e 254 (03f8)
UINT32 vpp_spare_1; // 1f 255 (03fc)
// GROUP 8: TV0
UINT32 tv_mode[6]; // 00 256~ 261 (0400) $bffe8400
UINT32 tv_subc_f[2]; // 06 262~ 263 (0418)
UINT32 tv_subc_p; // 08 264 (0420)
UINT32 tv_line_t[2]; // 09 265~ 266 (0424)
UINT32 tv_line_b[2]; // 0b 267~ 268 (042c)
UINT32 tv_cc_t; // 0d 269 (0434)
UINT32 tv_cc_b; // 0e 270 (0438)
UINT32 tv_cgms[2]; // 0f 271~ 272 (043c)
UINT32 tv_id_status; // 11 273 (0444)
UINT32 tv_dac[2]; // 12 274~ 275 (0448)
UINT32 tv_misc[12]; // 14 276~ 287 (0450)
// GROUP 9: DSP24
UINT32 dsp24_control; // 00 288 (0480) $bffe8480
UINT32 dsp3dbg_mode; // 01 289 (0484)
UINT32 dsp3dbg_break; // 02 290 (0488)
UINT32 dsp3dbg_addr; // 03 291 (048c)
UINT32 dsp3dbg_step; // 04 292 (0490)
UINT32 dsp3dbg_rd_l; // 05 293 (0494)
UINT32 dsp3dbg_rd_h; // 06 294 (0498)
UINT32 dsp3dbg_wr_l; // 07 295 (049c)
UINT32 dsp3dbg_wr_h; // 08 296 (04a0)
UINT32 dsp3dbg_pc; // 09 297 (04a4)
UINT32 rom_l; // 0a 298 (04a8)
UINT32 rom_h; // 0b 299 (04ac)
UINT32 dsp24ya; // 0c 300 (04b0)
UINT32 pcmya; // 0d 301 (04b4)
UINT32 audya; // 0e 302 (04b8)
UINT32 g9_reserved; // 0f 303 (04bc)
UINT32 dsp24_port[16]; // 10 304~ 319 (04c0)
// GROUP 10: OSD control
UINT32 osd_tv_std; // 00 320 (0500) $bffe8500
UINT32 osd_tv_out; // 01 321 (0504)
UINT32 osd_mixer; // 02 322 (0508)
UINT32 osd_display_status; // 03 323 (050c)
UINT32 osd_en; // 04 324 (0510)
UINT32 osd_tlink_addr; // 05 325 (0514)
UINT32 osd_blink_addr; // 06 326 (0518)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -