Имя модуля: NDFC , базовый адрес: 0x04011000 Руководство п. 5.2.5 Регистров: 33 Имя регистра | Смещение 1) NDFC_CTL | 0x0000 typedef union ndfc_ctl { struct { unsigned ndfc_en : 1; unsigned ndfc_reset : 1; unsigned ndfc_bus_width : 1; unsigned ndfc_rb_sel : 2; unsigned unused0 : 1; unsigned ndfc_ce_act : 1; unsigned unused1 : 1; unsigned ndfc_page_size : 4; unsigned unused2 : 2; unsigned ndfc_ram_method : 1; unsigned ndfc_dma_type : 1; unsigned ndfc_ale_pol : 1; unsigned ndfc_cle_pol : 1; unsigned nf_type : 2; unsigned ndfc_ddr_ren : 1; unsigned ndfc_ddr_rm : 1; unsigned unused3 : 2; unsigned ndfc_ce_sel : 4; unsigned ndfc_ddr_type : 1; unsigned unused4 : 3; } b; unsigned long w; } NDFC_CTL 2) NDFC_ST | 0x0004 typedef union ndfc_st { struct { unsigned ndfc_rb_b2r : 1; unsigned ndfc_cmd_int_flag : 1; unsigned ndfc_dma_int_flag : 1; unsigned ndfc_cmd_fifo_status : 1; unsigned ndfc_sta : 1; unsigned unused0 : 3; unsigned ndfc_rb_state0 : 1; unsigned ndfc_rb_state1 : 1; unsigned ndfc_rb_state2 : 1; unsigned ndfc_rb_state3 : 1; unsigned ndfc_rdata_sta_1 : 1; unsigned ndfc_rdata_sta_0 : 1; unsigned unused1 : 18; } b; unsigned long w; } NDFC_ST 3) NDFC_INT | 0x0008 typedef union ndfc_int { struct { unsigned ndfc_b2r_int_enable : 1; unsigned ndfc_cmd_int_enable : 1; unsigned ndfc_dma_int_enable : 1; unsigned unused0 : 29; } b; unsigned long w; } NDFC_INT 4) NDFC_TIMING_CTL | 0x000C typedef union ndfc_timing_ctl { struct { unsigned ndfc_dc_ctl : 6; unsigned unused0 : 2; unsigned ndfc_read_pipe : 4; unsigned unused1 : 20; } b; unsigned long w; } NDFC_TIMING_CTL 5) NDFC_TIMING_CFG | 0x0010 typedef union ndfc_timing_cfg { struct { unsigned t_wb : 2; unsigned t_adl : 2; unsigned t_whr : 2; unsigned t_rhw : 2; unsigned t_cad : 3; unsigned t_cdqss : 1; unsigned t_cs : 2; unsigned t_clhz : 2; unsigned t_ccs : 2; unsigned t_wc : 2; unsigned unused0 : 12; } b; unsigned long w; } NDFC_TIMING_CFG 6) NDFC_ADDR_LOW | 0x0014 typedef union ndfc_addr_low { struct { unsigned addr_data1 : 8; unsigned addr_data2 : 8; unsigned addr_data3 : 8; unsigned addr_data4 : 8; } b; unsigned long w; } NDFC_ADDR_LOW 7) NDFC_ADDR_HIGH | 0x0018 typedef union ndfc_addr_high { struct { unsigned addr_data5 : 8; unsigned addr_data6 : 8; unsigned addr_data7 : 8; unsigned addr_data8 : 8; } b; unsigned long w; } NDFC_ADDR_HIGH 8) NDFC_DATA_BLOCK_MASK | 0x001C typedef union ndfc_data_block_mask { struct { unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; unsigned ndfc_data_block_mask : 1; } b; unsigned long w; } NDFC_DATA_BLOCK_MASK 9) NDFC_CNT | 0x0020 typedef union ndfc_cnt { struct { unsigned ndfc_data_cnt : 10; unsigned unused0 : 22; } b; unsigned long w; } NDFC_CNT 10) NDFC_CMD | 0x0024 typedef union ndfc_cmd { struct { unsigned ndfc_cmd_low_byte : 8; unsigned ndfc_adr_num_in_page_cmd : 2; unsigned unused0 : 6; unsigned ndfc_adr_num : 3; unsigned ndfc_send_adr : 1; unsigned ndfc_access_dir : 1; unsigned ndfc_data_trans : 1; unsigned ndfc_send_first_cmd : 1; unsigned ndfc_wait_flag : 1; unsigned ndfc_send_second_cmd : 1; unsigned ndfc_seq : 1; unsigned ndfc_data_method : 1; unsigned ndfc_send_random_cmd2_ctl : 1; unsigned ndfc_send_third_cmd : 1; unsigned ndfc_send_fourth_cmd : 1; unsigned ndfc_cmd_type : 2; } b; unsigned long w; } NDFC_CMD 11) NDFC_CMD_SET0 | 0x0028 typedef union ndfc_cmd_set0 { struct { unsigned ndfc_read_cmd : 8; unsigned ndfc_random_read_cmd0 : 8; unsigned ndfc_random_read_cmd1 : 8; unsigned ndfc_random_cmd2 : 8; } b; unsigned long w; } NDFC_CMD_SET0 12) NDFC_CMD_SET1 | 0x002C typedef union ndfc_cmd_set1 { struct { unsigned ndfc_program_cmd : 8; unsigned ndfc_random_write_cmd : 8; unsigned ndfc_read_cmd1 : 8; unsigned ndfc_read_cmd0 : 8; } b; unsigned long w; } NDFC_CMD_SET1 13) NDFC_ECC_CTL | 0x0034 typedef union ndfc_ecc_ctl { struct { unsigned ndfc_ecc_en : 1; unsigned unused0 : 2; unsigned ndfc_ecc_pipeline : 1; unsigned ndfc_ecc_exception : 1; unsigned ndfc_random_en : 1; unsigned ndfc_random_direction : 1; unsigned ndfc_random_size : 1; unsigned ndfc_ecc_mode : 8; unsigned ndfc_random_seed : 15; unsigned unused1 : 1; } b; unsigned long w; } NDFC_ECC_CTL 14) NDFC_ECC_ST | 0x0038 typedef union ndfc_ecc_st { struct { unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; unsigned ndfc_ecc_err : 1; } b; unsigned long w; } NDFC_ECC_ST 15) NDFC_DATA_PAT_STA | 0x003C typedef union ndfc_data_pat_sta { struct { unsigned pattern0 : 1; unsigned pattern1 : 1; unsigned pattern2 : 1; unsigned pattern3 : 1; unsigned pattern4 : 1; unsigned pattern5 : 1; unsigned pattern6 : 1; unsigned pattern7 : 1; unsigned pattern8 : 1; unsigned pattern9 : 1; unsigned pattern10 : 1; unsigned pattern11 : 1; unsigned pattern12 : 1; unsigned pattern13 : 1; unsigned pattern14 : 1; unsigned pattern15 : 1; unsigned pattern16 : 1; unsigned pattern17 : 1; unsigned pattern18 : 1; unsigned pattern19 : 1; unsigned pattern20 : 1; unsigned pattern21 : 1; unsigned pattern22 : 1; unsigned pattern23 : 1; unsigned pattern24 : 1; unsigned pattern25 : 1; unsigned pattern26 : 1; unsigned pattern27 : 1; unsigned pattern28 : 1; unsigned pattern29 : 1; unsigned pattern30 : 1; unsigned pattern31 : 1; } b; unsigned long w; } NDFC_DATA_PAT_STA 16) NDFC_EFR | 0x0040 typedef union ndfc_efr { struct { unsigned ndfc_ecc_debug : 7; unsigned unused0 : 1; unsigned ndfc_wp_ctrl : 1; unsigned unused1 : 7; unsigned db_cnt : 8; unsigned db_cnt_en : 1; unsigned unused2 : 7; } b; unsigned long w; } NDFC_EFR 17) NDFC_RDATA_STA_CTL | 0x0044 typedef union ndfc_rdata_sta_ctl { struct { unsigned ndfc_rdata_sta_th : 19; unsigned unused0 : 5; unsigned ndfc_rdata_sta_en : 1; unsigned unused1 : 7; } b; unsigned long w; } NDFC_RDATA_STA_CTL 18) NDFC_RDATA_STA_0 | 0x0048 typedef union ndfc_rdata_sta_0 { struct { unsigned bit_cnt_1 : 32; } b; unsigned long w; } NDFC_RDATA_STA_0 19) NDFC_RDATA_STA_1 | 0x004C typedef union ndfc_rdata_sta_1 { struct { unsigned bit_cnt_0 : 32; } b; unsigned long w; } NDFC_RDATA_STA_1 20) NDFC_ERR_CNT_N | 0x0050+0x04*N typedef union ndfc_err_cnt_n { struct { unsigned ecc_cor_num0 : 8; unsigned ecc_cor_num1 : 8; unsigned ecc_cor_num2 : 8; unsigned ecc_cor_num2 : 8; } b; unsigned long w; } NDFC_ERR_CNT_N 21) NDFC_USER_DATA_LEN_N | 0x0070+0x04*N typedef union ndfc_user_data_len_n { struct { unsigned ecc_data_len0 : 4; unsigned ecc_data_len1 : 4; unsigned ecc_data_len2 : 4; unsigned ecc_data_len3 : 4; unsigned ecc_data_len4 : 4; unsigned ecc_data_len5 : 4; unsigned ecc_data_len6 : 4; unsigned ecc_data_len7 : 4; } b; unsigned long w; } NDFC_USER_DATA_LEN_N 22) NDFC_USER_DATA_N | 0x0080+0x04*N typedef union ndfc_user_data_n { struct { unsigned user_data : 32; } b; unsigned long w; } NDFC_USER_DATA_N 23) NDFC_EFNAND_STATUS | 0x0110 typedef union ndfc_efnand_status { struct { unsigned ef_nand_status : 8; unsigned unused0 : 24; } b; unsigned long w; } NDFC_EFNAND_STATUS 24) NDFC_PAT_ID | 0x0118 typedef union ndfc_pat_id { struct { unsigned pat_id : 32; } b; unsigned long w; } NDFC_PAT_ID 25) NDFC_DDR2_SPEC_CTL | 0x011C typedef union ndfc_ddr2_spec_ctl { struct { unsigned unused0 : 1; unsigned en_dqs_c : 1; unsigned en_re_c : 1; unsigned unused1 : 5; unsigned dlen_rd : 4; unsigned dlen_wr : 4; unsigned unused2 : 16; } b; unsigned long w; } NDFC_DDR2_SPEC_CTL 26) NDFC_NDMA_MODE_CTL | 0x0120 typedef union ndfc_ndma_mode_ctl { struct { unsigned delay_cycle : 5; unsigned dma_ack_en : 1; unsigned dma_act_sta : 2; unsigned unused0 : 24; } b; unsigned long w; } NDFC_NDMA_MODE_CTL 27) NDFC_MDMA_DLBA_REG | 0x0200 typedef union ndfc_mdma_dlba_reg { struct { unsigned nfc_mdma_desc_base_addr : 32; } b; unsigned long w; } NDFC_MDMA_DLBA_REG 28) NDFC_MDMA_STA | 0x0204 typedef union ndfc_mdma_sta { struct { unsigned nfc_mdma_trans_finish_int : 32; } b; unsigned long w; } NDFC_MDMA_STA 29) NDFC_DMA_INT_MASK | 0x0208 typedef union ndfc_dma_int_mask { struct { unsigned nfc_mdma_trans_int_enb : 32; } b; unsigned long w; } NDFC_DMA_INT_MASK 30) NDFC_MDMA_CUR_DESC_ADDR | 0x020C typedef union ndfc_mdma_cur_desc_addr { struct { unsigned cur_desc_addr : 32; } b; unsigned long w; } NDFC_MDMA_CUR_DESC_ADDR 31) NDFC_MDMA_CUR_BUF_ADDR | 0x0210 typedef union ndfc_mdma_cur_buf_addr { struct { unsigned cur_buff_addr : 32; } b; unsigned long w; } NDFC_MDMA_CUR_BUF_ADDR 32) NDFC_DMA_CNT | 0x0214 typedef union ndfc_dma_cnt { struct { unsigned dma_cnt : 16; unsigned unused0 : 16; } b; unsigned long w; } NDFC_DMA_CNT 33) NDFC_IO_DATA | 0x0300 typedef union ndfc_io_data { struct { unsigned ndfc_io_data : 32; } b; unsigned long w; } NDFC_IO_DATA |