Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* Linux driver for digital TV devices equipped with B2C2 FlexcopII(b)/III
0003  * register descriptions
0004  * see flexcop.c for copyright information
0005  */
0006 /* This file is automatically generated, do not edit things here. */
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