0001
0002
0003
0004
0005
0006
0007 #ifndef __FLEXCOP_IBI_VALUE_INCLUDED__
0008 #define __FLEXCOP_IBI_VALUE_INCLUDED__
0009
0010 typedef union {
0011 u32 raw;
0012
0013 struct {
0014 u32 dma_0start : 1;
0015 u32 dma_0No_update : 1;
0016 u32 dma_address0 :30;
0017 } dma_0x0;
0018
0019 struct {
0020 u32 DMA_maxpackets : 8;
0021 u32 dma_addr_size :24;
0022 } dma_0x4_remap;
0023
0024 struct {
0025 u32 dma1timer : 7;
0026 u32 unused : 1;
0027 u32 dma_addr_size :24;
0028 } dma_0x4_read;
0029
0030 struct {
0031 u32 unused : 1;
0032 u32 dmatimer : 7;
0033 u32 dma_addr_size :24;
0034 } dma_0x4_write;
0035
0036 struct {
0037 u32 unused : 2;
0038 u32 dma_cur_addr :30;
0039 } dma_0x8;
0040
0041 struct {
0042 u32 dma_1start : 1;
0043 u32 remap_enable : 1;
0044 u32 dma_address1 :30;
0045 } dma_0xc;
0046
0047 struct {
0048 u32 chipaddr : 7;
0049 u32 reserved1 : 1;
0050 u32 baseaddr : 8;
0051 u32 data1_reg : 8;
0052 u32 working_start : 1;
0053 u32 twoWS_rw : 1;
0054 u32 total_bytes : 2;
0055 u32 twoWS_port_reg : 2;
0056 u32 no_base_addr_ack_error : 1;
0057 u32 st_done : 1;
0058 } tw_sm_c_100;
0059
0060 struct {
0061 u32 data2_reg : 8;
0062 u32 data3_reg : 8;
0063 u32 data4_reg : 8;
0064 u32 exlicit_stops : 1;
0065 u32 force_stop : 1;
0066 u32 unused : 6;
0067 } tw_sm_c_104;
0068
0069 struct {
0070 u32 thi1 : 6;
0071 u32 reserved1 : 2;
0072 u32 tlo1 : 5;
0073 u32 reserved2 :19;
0074 } tw_sm_c_108;
0075
0076 struct {
0077 u32 thi1 : 6;
0078 u32 reserved1 : 2;
0079 u32 tlo1 : 5;
0080 u32 reserved2 :19;
0081 } tw_sm_c_10c;
0082
0083 struct {
0084 u32 thi1 : 6;
0085 u32 reserved1 : 2;
0086 u32 tlo1 : 5;
0087 u32 reserved2 :19;
0088 } tw_sm_c_110;
0089
0090 struct {
0091 u32 LNB_CTLHighCount_sig :15;
0092 u32 LNB_CTLLowCount_sig :15;
0093 u32 LNB_CTLPrescaler_sig : 2;
0094 } lnb_switch_freq_200;
0095
0096 struct {
0097 u32 ACPI1_sig : 1;
0098 u32 ACPI3_sig : 1;
0099 u32 LNB_L_H_sig : 1;
0100 u32 Per_reset_sig : 1;
0101 u32 reserved :20;
0102 u32 Rev_N_sig_revision_hi : 4;
0103 u32 Rev_N_sig_reserved1 : 2;
0104 u32 Rev_N_sig_caps : 1;
0105 u32 Rev_N_sig_reserved2 : 1;
0106 } misc_204;
0107
0108 struct {
0109 u32 Stream1_filter_sig : 1;
0110 u32 Stream2_filter_sig : 1;
0111 u32 PCR_filter_sig : 1;
0112 u32 PMT_filter_sig : 1;
0113 u32 EMM_filter_sig : 1;
0114 u32 ECM_filter_sig : 1;
0115 u32 Null_filter_sig : 1;
0116 u32 Mask_filter_sig : 1;
0117 u32 WAN_Enable_sig : 1;
0118 u32 WAN_CA_Enable_sig : 1;
0119 u32 CA_Enable_sig : 1;
0120 u32 SMC_Enable_sig : 1;
0121 u32 Per_CA_Enable_sig : 1;
0122 u32 Multi2_Enable_sig : 1;
0123 u32 MAC_filter_Mode_sig : 1;
0124 u32 Rcv_Data_sig : 1;
0125 u32 DMA1_IRQ_Enable_sig : 1;
0126 u32 DMA1_Timer_Enable_sig : 1;
0127 u32 DMA2_IRQ_Enable_sig : 1;
0128 u32 DMA2_Timer_Enable_sig : 1;
0129 u32 DMA1_Size_IRQ_Enable_sig : 1;
0130 u32 DMA2_Size_IRQ_Enable_sig : 1;
0131 u32 Mailbox_from_V8_Enable_sig : 1;
0132 u32 unused : 9;
0133 } ctrl_208;
0134
0135 struct {
0136 u32 DMA1_IRQ_Status : 1;
0137 u32 DMA1_Timer_Status : 1;
0138 u32 DMA2_IRQ_Status : 1;
0139 u32 DMA2_Timer_Status : 1;
0140 u32 DMA1_Size_IRQ_Status : 1;
0141 u32 DMA2_Size_IRQ_Status : 1;
0142 u32 Mailbox_from_V8_Status_sig : 1;
0143 u32 Data_receiver_error : 1;
0144 u32 Continuity_error_flag : 1;
0145 u32 LLC_SNAP_FLAG_set : 1;
0146 u32 Transport_Error : 1;
0147 u32 reserved :21;
0148 } irq_20c;
0149
0150 struct {
0151 u32 reset_block_000 : 1;
0152 u32 reset_block_100 : 1;
0153 u32 reset_block_200 : 1;
0154 u32 reset_block_300 : 1;
0155 u32 reset_block_400 : 1;
0156 u32 reset_block_500 : 1;
0157 u32 reset_block_600 : 1;
0158 u32 reset_block_700 : 1;
0159 u32 Block_reset_enable : 8;
0160 u32 Special_controls :16;
0161 } sw_reset_210;
0162
0163 struct {
0164 u32 vuart_oe_sig : 1;
0165 u32 v2WS_oe_sig : 1;
0166 u32 halt_V8_sig : 1;
0167 u32 section_pkg_enable_sig : 1;
0168 u32 s2p_sel_sig : 1;
0169 u32 unused1 : 3;
0170 u32 polarity_PS_CLK_sig : 1;
0171 u32 polarity_PS_VALID_sig : 1;
0172 u32 polarity_PS_SYNC_sig : 1;
0173 u32 polarity_PS_ERR_sig : 1;
0174 u32 unused2 :20;
0175 } misc_214;
0176
0177 struct {
0178 u32 Mailbox_from_V8 :32;
0179 } mbox_v8_to_host_218;
0180
0181 struct {
0182 u32 sysramaccess_data : 8;
0183 u32 sysramaccess_addr :15;
0184 u32 unused : 7;
0185 u32 sysramaccess_write : 1;
0186 u32 sysramaccess_busmuster : 1;
0187 } mbox_host_to_v8_21c;
0188
0189 struct {
0190 u32 Stream1_PID :13;
0191 u32 Stream1_trans : 1;
0192 u32 MAC_Multicast_filter : 1;
0193 u32 debug_flag_pid_saved : 1;
0194 u32 Stream2_PID :13;
0195 u32 Stream2_trans : 1;
0196 u32 debug_flag_write_status00 : 1;
0197 u32 debug_fifo_problem : 1;
0198 } pid_filter_300;
0199
0200 struct {
0201 u32 PCR_PID :13;
0202 u32 PCR_trans : 1;
0203 u32 debug_overrun3 : 1;
0204 u32 debug_overrun2 : 1;
0205 u32 PMT_PID :13;
0206 u32 PMT_trans : 1;
0207 u32 reserved : 2;
0208 } pid_filter_304;
0209
0210 struct {
0211 u32 EMM_PID :13;
0212 u32 EMM_trans : 1;
0213 u32 EMM_filter_4 : 1;
0214 u32 EMM_filter_6 : 1;
0215 u32 ECM_PID :13;
0216 u32 ECM_trans : 1;
0217 u32 reserved : 2;
0218 } pid_filter_308;
0219
0220 struct {
0221 u32 Group_PID :13;
0222 u32 Group_trans : 1;
0223 u32 unused1 : 2;
0224 u32 Group_mask :13;
0225 u32 unused2 : 3;
0226 } pid_filter_30c_ext_ind_0_7;
0227
0228 struct {
0229 u32 net_master_read :17;
0230 u32 unused :15;
0231 } pid_filter_30c_ext_ind_1;
0232
0233 struct {
0234 u32 net_master_write :17;
0235 u32 unused :15;
0236 } pid_filter_30c_ext_ind_2;
0237
0238 struct {
0239 u32 next_net_master_write :17;
0240 u32 unused :15;
0241 } pid_filter_30c_ext_ind_3;
0242
0243 struct {
0244 u32 unused1 : 1;
0245 u32 state_write :10;
0246 u32 reserved1 : 6;
0247 u32 stack_read :10;
0248 u32 reserved2 : 5;
0249 } pid_filter_30c_ext_ind_4;
0250
0251 struct {
0252 u32 stack_cnt :10;
0253 u32 unused :22;
0254 } pid_filter_30c_ext_ind_5;
0255
0256 struct {
0257 u32 pid_fsm_save_reg0 : 2;
0258 u32 pid_fsm_save_reg1 : 2;
0259 u32 pid_fsm_save_reg2 : 2;
0260 u32 pid_fsm_save_reg3 : 2;
0261 u32 pid_fsm_save_reg4 : 2;
0262 u32 pid_fsm_save_reg300 : 2;
0263 u32 write_status1 : 2;
0264 u32 write_status4 : 2;
0265 u32 data_size_reg :12;
0266 u32 unused : 4;
0267 } pid_filter_30c_ext_ind_6;
0268
0269 struct {
0270 u32 index_reg : 5;
0271 u32 extra_index_reg : 3;
0272 u32 AB_select : 1;
0273 u32 pass_alltables : 1;
0274 u32 unused :22;
0275 } index_reg_310;
0276
0277 struct {
0278 u32 PID :13;
0279 u32 PID_trans : 1;
0280 u32 PID_enable_bit : 1;
0281 u32 reserved :17;
0282 } pid_n_reg_314;
0283
0284 struct {
0285 u32 A4_byte : 8;
0286 u32 A5_byte : 8;
0287 u32 A6_byte : 8;
0288 u32 Enable_bit : 1;
0289 u32 HighAB_bit : 1;
0290 u32 reserved : 6;
0291 } mac_low_reg_318;
0292
0293 struct {
0294 u32 A1_byte : 8;
0295 u32 A2_byte : 8;
0296 u32 A3_byte : 8;
0297 u32 reserved : 8;
0298 } mac_high_reg_31c;
0299
0300 struct {
0301 u32 reserved :16;
0302 u32 data_Tag_ID :16;
0303 } data_tag_400;
0304
0305 struct {
0306 u32 Card_IDbyte6 : 8;
0307 u32 Card_IDbyte5 : 8;
0308 u32 Card_IDbyte4 : 8;
0309 u32 Card_IDbyte3 : 8;
0310 } card_id_408;
0311
0312 struct {
0313 u32 Card_IDbyte2 : 8;
0314 u32 Card_IDbyte1 : 8;
0315 } card_id_40c;
0316
0317 struct {
0318 u32 MAC1 : 8;
0319 u32 MAC2 : 8;
0320 u32 MAC3 : 8;
0321 u32 MAC6 : 8;
0322 } mac_address_418;
0323
0324 struct {
0325 u32 MAC7 : 8;
0326 u32 MAC8 : 8;
0327 u32 reserved :16;
0328 } mac_address_41c;
0329
0330 struct {
0331 u32 transmitter_data_byte : 8;
0332 u32 ReceiveDataReady : 1;
0333 u32 ReceiveByteFrameError : 1;
0334 u32 txbuffempty : 1;
0335 u32 reserved :21;
0336 } ci_600;
0337
0338 struct {
0339 u32 pi_d : 8;
0340 u32 pi_ha :20;
0341 u32 pi_rw : 1;
0342 u32 pi_component_reg : 3;
0343 } pi_604;
0344
0345 struct {
0346 u32 serialReset : 1;
0347 u32 oncecycle_read : 1;
0348 u32 Timer_Read_req : 1;
0349 u32 Timer_Load_req : 1;
0350 u32 timer_data : 7;
0351 u32 unused : 1;
0352 u32 Timer_addr : 5;
0353 u32 reserved : 3;
0354 u32 pcmcia_a_mod_pwr_n : 1;
0355 u32 pcmcia_b_mod_pwr_n : 1;
0356 u32 config_Done_stat : 1;
0357 u32 config_Init_stat : 1;
0358 u32 config_Prog_n : 1;
0359 u32 config_wr_n : 1;
0360 u32 config_cs_n : 1;
0361 u32 config_cclk : 1;
0362 u32 pi_CiMax_IRQ_n : 1;
0363 u32 pi_timeout_status : 1;
0364 u32 pi_wait_n : 1;
0365 u32 pi_busy_n : 1;
0366 } pi_608;
0367
0368 struct {
0369 u32 PID :13;
0370 u32 key_enable : 1;
0371 u32 key_code : 2;
0372 u32 key_array_col : 3;
0373 u32 key_array_row : 5;
0374 u32 dvb_en : 1;
0375 u32 rw_flag : 1;
0376 u32 reserved : 6;
0377 } dvb_reg_60c;
0378
0379 struct {
0380 u32 sram_addr :15;
0381 u32 sram_rw : 1;
0382 u32 sram_data : 8;
0383 u32 sc_xfer_bit : 1;
0384 u32 reserved1 : 3;
0385 u32 oe_pin_reg : 1;
0386 u32 ce_pin_reg : 1;
0387 u32 reserved2 : 1;
0388 u32 start_sram_ibi : 1;
0389 } sram_ctrl_reg_700;
0390
0391 struct {
0392 u32 net_addr_read :16;
0393 u32 net_addr_write :16;
0394 } net_buf_reg_704;
0395
0396 struct {
0397 u32 cai_read :11;
0398 u32 reserved1 : 5;
0399 u32 cai_write :11;
0400 u32 reserved2 : 6;
0401 u32 cai_cnt : 4;
0402 } cai_buf_reg_708;
0403
0404 struct {
0405 u32 cao_read :11;
0406 u32 reserved1 : 5;
0407 u32 cap_write :11;
0408 u32 reserved2 : 6;
0409 u32 cao_cnt : 4;
0410 } cao_buf_reg_70c;
0411
0412 struct {
0413 u32 media_read :11;
0414 u32 reserved1 : 5;
0415 u32 media_write :11;
0416 u32 reserved2 : 6;
0417 u32 media_cnt : 4;
0418 } media_buf_reg_710;
0419
0420 struct {
0421 u32 NET_Dest : 2;
0422 u32 CAI_Dest : 2;
0423 u32 CAO_Dest : 2;
0424 u32 MEDIA_Dest : 2;
0425 u32 net_ovflow_error : 1;
0426 u32 media_ovflow_error : 1;
0427 u32 cai_ovflow_error : 1;
0428 u32 cao_ovflow_error : 1;
0429 u32 ctrl_usb_wan : 1;
0430 u32 ctrl_sramdma : 1;
0431 u32 ctrl_maximumfill : 1;
0432 u32 reserved :17;
0433 } sram_dest_reg_714;
0434
0435 struct {
0436 u32 net_cnt :12;
0437 u32 reserved1 : 4;
0438 u32 net_addr_read : 1;
0439 u32 reserved2 : 3;
0440 u32 net_addr_write : 1;
0441 u32 reserved3 :11;
0442 } net_buf_reg_718;
0443
0444 struct {
0445 u32 wan_speed_sig : 2;
0446 u32 reserved1 : 6;
0447 u32 wan_wait_state : 8;
0448 u32 sram_chip : 2;
0449 u32 sram_memmap : 2;
0450 u32 reserved2 : 4;
0451 u32 wan_pkt_frame : 4;
0452 u32 reserved3 : 4;
0453 } wan_ctrl_reg_71c;
0454 } flexcop_ibi_value;
0455
0456 #endif