blob: 2aa0d3703e30ee0492e7ca764b0b5944e5a0225b [file] [log] [blame]
#ifndef _NFC_REG_
#define _NFC_REG_
#define RA__CMD_REG0 0x0000
#define BA__CMD_REG0__cmd0 0x0000
#define MSK__CMD_REG0__cmd0 0xFFFFFFFF
#define LSb__CMD_REG0__cmd0 0
#define RA__CMD_REG1 0x0004
#define BA__CMD_REG1__cmd1 0x0004
#define MSK__CMD_REG1__cmd1 0xFFFFFFFF
#define LSb__CMD_REG1__cmd1 0
#define RA__CMD_REG2 0x0008
#define BA__CMD_REG2__cmd2 0x0008
#define MSK__CMD_REG2__cmd2 0xFFFFFFFF
#define LSb__CMD_REG2__cmd2 0
#define RA__CMD_REG3 0x000c
#define BA__CMD_REG3__cmd3 0x000c
#define MSK__CMD_REG3__cmd3 0xFFFFFFFF
#define LSb__CMD_REG3__cmd3 0
#define RA__CMD_STATUS_PTR 0x0010
#define BA__CMD_STATUS_PTR__thrd_status_sel 0x0010
#define MSK__CMD_STATUS_PTR__thrd_status_sel 0x7
#define LSb__CMD_STATUS_PTR__thrd_status_sel 0
#define RA__CMD_STATUS 0x0014
#define BA__CMD_STATUS__cmd_status 0x0014
#define MSK__CMD_STATUS__cmd_status 0xFFFFFFFF
#define LSb__CMD_STATUS__cmd_status 0
#define RA__INTR_STATUS 0x0110
#define BA__INTR_STATUS__sdma_err 0x0110
#define MSK__INTR_STATUS__sdma_err 0x1
#define LSb__INTR_STATUS__sdma_err 22
#define BA__INTR_STATUS__sdma_trigg 0x0110
#define MSK__INTR_STATUS__sdma_trigg 0x1
#define LSb__INTR_STATUS__sdma_trigg 21
#define BA__INTR_STATUS__cmd_ignored 0x0110
#define MSK__INTR_STATUS__cmd_ignored 0x1
#define LSb__INTR_STATUS__cmd_ignored 20
#define BA__INTR_STATUS__ddma_terr 0x0110
#define MSK__INTR_STATUS__ddma_terr 0x1
#define LSb__INTR_STATUS__ddma_terr 18
#define BA__INTR_STATUS__cdma_terr 0x0110
#define MSK__INTR_STATUS__cdma_terr 0x1
#define LSb__INTR_STATUS__cdma_terr 17
#define BA__INTR_STATUS__cdma_idle 0x0110
#define MSK__INTR_STATUS__cdma_idle 0x1
#define LSb__INTR_STATUS__cdma_idle 16
#define RA__INTR_ENABLE 0x0114
#define BA__INTR_ENABLE__intr_en 0x0114
#define MSK__INTR_ENABLE__intr_en 0x1
#define LSb__INTR_ENABLE__intr_en 31
#define BA__INTR_ENABLE__sdma_err_en 0x0114
#define MSK__INTR_ENABLE__sdma_err_en 0x1
#define LSb__INTR_ENABLE__sdma_err_en 22
#define BA__INTR_ENABLE__sdma_trigg_en 0x0114
#define MSK__INTR_ENABLE__sdma_trigg_en 0x1
#define LSb__INTR_ENABLE__sdma_trigg_en 21
#define BA__INTR_ENABLE__cmd_ignored_en 0x0114
#define MSK__INTR_ENABLE__cmd_ignored_en 0x1
#define LSb__INTR_ENABLE__cmd_ignored_en 20
#define BA__INTR_ENABLE__ddma_terr_en 0x0114
#define MSK__INTR_ENABLE__ddma_terr_en 0x1
#define LSb__INTR_ENABLE__ddma_terr_en 18
#define BA__INTR_ENABLE__cdma_terr_en 0x0114
#define MSK__INTR_ENABLE__cdma_terr_en 0x1
#define LSb__INTR_ENABLE__cdma_terr_en 17
#define BA__INTR_ENABLE__cdma_idle_en 0x0114
#define MSK__INTR_ENABLE__cdma_idle_en 0x1
#define LSb__INTR_ENABLE__cdma_idle_en 16
#define RA__CTRL_STATUS 0x0118
#define BA__CTRL_STATUS__sdma_paused 0x0118
#define MSK__CTRL_STATUS__sdma_paused 0x1
#define LSb__CTRL_STATUS__sdma_paused 16
#define BA__CTRL_STATUS__init_fail 0x0118
#define MSK__CTRL_STATUS__init_fail 0x1
#define LSb__CTRL_STATUS__init_fail 10
#define BA__CTRL_STATUS__init_comp 0x0118
#define MSK__CTRL_STATUS__init_comp 0x1
#define LSb__CTRL_STATUS__init_comp 9
#define BA__CTRL_STATUS__ctrl_busy 0x0118
#define MSK__CTRL_STATUS__ctrl_busy 0x1
#define LSb__CTRL_STATUS__ctrl_busy 8
#define BA__CTRL_STATUS__mc_busy 0x0118
#define MSK__CTRL_STATUS__mc_busy 0x1
#define LSb__CTRL_STATUS__mc_busy 3
#define BA__CTRL_STATUS__cmd_eng_busy 0x0118
#define MSK__CTRL_STATUS__cmd_eng_busy 0x1
#define LSb__CTRL_STATUS__cmd_eng_busy 2
#define BA__CTRL_STATUS__mdma_busy 0x0118
#define MSK__CTRL_STATUS__mdma_busy 0x1
#define LSb__CTRL_STATUS__mdma_busy 1
#define BA__CTRL_STATUS__sdma_busy 0x0118
#define MSK__CTRL_STATUS__sdma_busy 0x1
#define LSb__CTRL_STATUS__sdma_busy 0
#define RA__TRD_STATUS 0x0120
#define BA__TRD_STATUS__trd_busy 0x0120
#define MSK__TRD_STATUS__trd_busy 0xFF
#define LSb__TRD_STATUS__trd_busy 0
#define RA__TRD_ERROR_INTR_STATUS 0x0128
#define BA__TRD_ERROR_INTR_STATUS__trd7_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd7_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd7_error_stat 7
#define BA__TRD_ERROR_INTR_STATUS__trd6_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd6_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd6_error_stat 6
#define BA__TRD_ERROR_INTR_STATUS__trd5_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd5_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd5_error_stat 5
#define BA__TRD_ERROR_INTR_STATUS__trd4_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd4_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd4_error_stat 4
#define BA__TRD_ERROR_INTR_STATUS__trd3_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd3_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd3_error_stat 3
#define BA__TRD_ERROR_INTR_STATUS__trd2_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd2_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd2_error_stat 2
#define BA__TRD_ERROR_INTR_STATUS__trd1_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd1_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd1_error_stat 1
#define BA__TRD_ERROR_INTR_STATUS__trd0_error_stat 0x0128
#define MSK__TRD_ERROR_INTR_STATUS__trd0_error_stat 0x1
#define LSb__TRD_ERROR_INTR_STATUS__trd0_error_stat 0
#define RA__TRD_ERROR_INTR_EN 0x0130
#define BA__TRD_ERROR_INTR_EN__trd_error_intr_en 0x0130
#define MSK__TRD_ERROR_INTR_EN__trd_error_intr_en 0xFF
#define LSb__TRD_ERROR_INTR_EN__trd_error_intr_en 0
#define RA__TRD_COMP_INTR_STATUS 0x0138
#define BA__TRD_COMP_INTR_STATUS__trd7_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd7_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd7_comp 7
#define BA__TRD_COMP_INTR_STATUS__trd6_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd6_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd6_comp 6
#define BA__TRD_COMP_INTR_STATUS__trd5_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd5_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd5_comp 5
#define BA__TRD_COMP_INTR_STATUS__trd4_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd4_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd4_comp 4
#define BA__TRD_COMP_INTR_STATUS__trd3_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd3_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd3_comp 3
#define BA__TRD_COMP_INTR_STATUS__trd2_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd2_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd2_comp 2
#define BA__TRD_COMP_INTR_STATUS__trd1_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd1_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd1_comp 1
#define BA__TRD_COMP_INTR_STATUS__trd0_comp 0x0138
#define MSK__TRD_COMP_INTR_STATUS__trd0_comp 0x1
#define LSb__TRD_COMP_INTR_STATUS__trd0_comp 0
#define RA__DMA_TARGET_ERROR_L 0x0140
#define BA__DMA_TARGET_ERROR_L__target_err_l 0x0140
#define MSK__DMA_TARGET_ERROR_L__target_err_l 0xFFFFFFFF
#define LSb__DMA_TARGET_ERROR_L__target_err_l 0
#define RA__TRD_TIMEOUT_INTR_STATUS 0x014c
#define BA__TRD_TIMEOUT_INTR_STATUS__trd7_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd7_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd7_timeout_stat 7
#define BA__TRD_TIMEOUT_INTR_STATUS__trd6_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd6_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd6_timeout_stat 6
#define BA__TRD_TIMEOUT_INTR_STATUS__trd5_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd5_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd5_timeout_stat 5
#define BA__TRD_TIMEOUT_INTR_STATUS__trd4_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd4_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd4_timeout_stat 4
#define BA__TRD_TIMEOUT_INTR_STATUS__trd3_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd3_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd3_timeout_stat 3
#define BA__TRD_TIMEOUT_INTR_STATUS__trd2_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd2_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd2_timeout_stat 2
#define BA__TRD_TIMEOUT_INTR_STATUS__trd1_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd1_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd1_timeout_stat 1
#define BA__TRD_TIMEOUT_INTR_STATUS__trd0_timeout_stat 0x014c
#define MSK__TRD_TIMEOUT_INTR_STATUS__trd0_timeout_stat 0x1
#define LSb__TRD_TIMEOUT_INTR_STATUS__trd0_timeout_stat 0
#define RA__TRD_TIMEOUT_INTR_EN 0x0154
#define BA__TRD_TIMEOUT_INTR_EN__trd_timeout_intr_en 0x0154
#define MSK__TRD_TIMEOUT_INTR_EN__trd_timeout_intr_en 0xFF
#define LSb__TRD_TIMEOUT_INTR_EN__trd_timeout_intr_en 0
#define RA__TRANSFER_CFG_0 0x0400
#define BA__TRANSFER_CFG_0__offset 0x0400
#define MSK__TRANSFER_CFG_0__offset 0xFFFF
#define LSb__TRANSFER_CFG_0__offset 16
#define BA__TRANSFER_CFG_0__sector_cnt 0x0400
#define MSK__TRANSFER_CFG_0__sector_cnt 0xFF
#define LSb__TRANSFER_CFG_0__sector_cnt 0
#define RA__TRANSFER_CFG_1 0x0404
#define BA__TRANSFER_CFG_1__last_sector_size 0x0404
#define MSK__TRANSFER_CFG_1__last_sector_size 0xFFFF
#define LSb__TRANSFER_CFG_1__last_sector_size 16
#define BA__TRANSFER_CFG_1__sector_size 0x0404
#define MSK__TRANSFER_CFG_1__sector_size 0xFFFF
#define LSb__TRANSFER_CFG_1__sector_size 0
#define RA__LONG_POLLING 0x0408
#define BA__LONG_POLLING__long_polling 0x0408
#define MSK__LONG_POLLING__long_polling 0xFFFF
#define LSb__LONG_POLLING__long_polling 0
#define RA__SHORT_POLLING 0x040c
#define BA__SHORT_POLLING__short_polling 0x040c
#define MSK__SHORT_POLLING__short_polling 0xFFFF
#define LSb__SHORT_POLLING__short_polling 0
#define RA__RDST_CTRL_0 0x0410
#define BA__RDST_CTRL_0__ready_mask 0x0410
#define MSK__RDST_CTRL_0__ready_mask 0xFF
#define LSb__RDST_CTRL_0__ready_mask 24
#define BA__RDST_CTRL_0__ready_value 0x0410
#define MSK__RDST_CTRL_0__ready_value 0xFF
#define LSb__RDST_CTRL_0__ready_value 16
#define BA__RDST_CTRL_0__rb_enable 0x0410
#define MSK__RDST_CTRL_0__rb_enable 0x1
#define LSb__RDST_CTRL_0__rb_enable 0
#define RA__RDST_CTRL_1 0x0414
#define BA__RDST_CTRL_1__error_mask 0x0414
#define MSK__RDST_CTRL_1__error_mask 0xFF
#define LSb__RDST_CTRL_1__error_mask 24
#define BA__RDST_CTRL_1__error_value 0x0414
#define MSK__RDST_CTRL_1__error_value 0xFF
#define LSb__RDST_CTRL_1__error_value 16
#define RA__LUN_STATUS_CMD 0x0418
#define BA__LUN_STATUS_CMD__lun_stat_sel 0x0418
#define MSK__LUN_STATUS_CMD__lun_stat_sel 0x1
#define LSb__LUN_STATUS_CMD__lun_stat_sel 0
#define RA__LUN_INTERLEAVED_CMD 0x041c
#define BA__LUN_INTERLEAVED_CMD__program_after_read 0x041c
#define MSK__LUN_INTERLEAVED_CMD__program_after_read 0x1
#define LSb__LUN_INTERLEAVED_CMD__program_after_read 6
#define BA__LUN_INTERLEAVED_CMD__lun_col_cmd 0x041c
#define MSK__LUN_INTERLEAVED_CMD__lun_col_cmd 0x3
#define LSb__LUN_INTERLEAVED_CMD__lun_col_cmd 0
#define RA__LUN_ADDR_OFFSET 0x0420
#define BA__LUN_ADDR_OFFSET__lun_addr_offset 0x0420
#define MSK__LUN_ADDR_OFFSET__lun_addr_offset 0x1F
#define LSb__LUN_ADDR_OFFSET__lun_addr_offset 0
#define RA__NF_DEV_LAYOUT 0x0424
#define BA__NF_DEV_LAYOUT__blk_addr_idx 0x0424
#define MSK__NF_DEV_LAYOUT__blk_addr_idx 0x1F
#define LSb__NF_DEV_LAYOUT__blk_addr_idx 27
#define BA__NF_DEV_LAYOUT__LN 0x0424
#define MSK__NF_DEV_LAYOUT__LN 0xF
#define LSb__NF_DEV_LAYOUT__LN 20
#define BA__NF_DEV_LAYOUT__lun_en 0x0424
#define MSK__NF_DEV_LAYOUT__lun_en 0x1
#define LSb__NF_DEV_LAYOUT__lun_en 16
#define BA__NF_DEV_LAYOUT__PPB 0x0424
#define MSK__NF_DEV_LAYOUT__PPB 0xFFFF
#define LSb__NF_DEV_LAYOUT__PPB 0
#define RA__ECC_CONFIG_0 0x0428
#define BA__ECC_CONFIG_0__corr_str 0x0428
#define MSK__ECC_CONFIG_0__corr_str 0x7
#define LSb__ECC_CONFIG_0__corr_str 8
#define BA__ECC_CONFIG_0__scrambler_en 0x0428
#define MSK__ECC_CONFIG_0__scrambler_en 0x1
#define LSb__ECC_CONFIG_0__scrambler_en 4
#define BA__ECC_CONFIG_0__erase_det_en 0x0428
#define MSK__ECC_CONFIG_0__erase_det_en 0x1
#define LSb__ECC_CONFIG_0__erase_det_en 1
#define BA__ECC_CONFIG_0__ecc_enable 0x0428
#define MSK__ECC_CONFIG_0__ecc_enable 0x1
#define LSb__ECC_CONFIG_0__ecc_enable 0
#define RA__ECC_CONFIG_1 0x042c
#define BA__ECC_CONFIG_1__erase_det_lvl 0x042c
#define MSK__ECC_CONFIG_1__erase_det_lvl 0xFF
#define LSb__ECC_CONFIG_1__erase_det_lvl 0
#define RA__DEVICE_CTRL 0x0430
#define BA__DEVICE_CTRL__four_addr_seq_en 0x0430
#define MSK__DEVICE_CTRL__four_addr_seq_en 0x1
#define LSb__DEVICE_CTRL__four_addr_seq_en 7
#define BA__DEVICE_CTRL__chrc_wdth 0x0430
#define MSK__DEVICE_CTRL__chrc_wdth 0x1
#define LSb__DEVICE_CTRL__chrc_wdth 5
#define BA__DEVICE_CTRL__time_out_en 0x0430
#define MSK__DEVICE_CTRL__time_out_en 0x1
#define LSb__DEVICE_CTRL__time_out_en 4
#define BA__DEVICE_CTRL__cont_on_err 0x0430
#define MSK__DEVICE_CTRL__cont_on_err 0x1
#define LSb__DEVICE_CTRL__cont_on_err 3
#define BA__DEVICE_CTRL__ce_pin_reduct 0x0430
#define MSK__DEVICE_CTRL__ce_pin_reduct 0x1
#define LSb__DEVICE_CTRL__ce_pin_reduct 1
#define BA__DEVICE_CTRL__ce_hold 0x0430
#define MSK__DEVICE_CTRL__ce_hold 0x1
#define LSb__DEVICE_CTRL__ce_hold 0
#define RA__MULTIPLANE_CONFIG 0x0434
#define BA__MULTIPLANE_CONFIG__pl_status_en 0x0434
#define MSK__MULTIPLANE_CONFIG__pl_status_en 0x1
#define LSb__MULTIPLANE_CONFIG__pl_status_en 26
#define BA__MULTIPLANE_CONFIG__last_wr_cmd 0x0434
#define MSK__MULTIPLANE_CONFIG__last_wr_cmd 0x1
#define LSb__MULTIPLANE_CONFIG__last_wr_cmd 25
#define BA__MULTIPLANE_CONFIG__mpl_erase_seq 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_erase_seq 0x1
#define LSb__MULTIPLANE_CONFIG__mpl_erase_seq 24
#define BA__MULTIPLANE_CONFIG__mpl_rd_seq 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_rd_seq 0x7
#define LSb__MULTIPLANE_CONFIG__mpl_rd_seq 21
#define BA__MULTIPLANE_CONFIG__mpl_prg_seq 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_prg_seq 0x3
#define LSb__MULTIPLANE_CONFIG__mpl_prg_seq 16
#define BA__MULTIPLANE_CONFIG__mpl_pl_num 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_pl_num 0x3
#define LSb__MULTIPLANE_CONFIG__mpl_pl_num 8
#define BA__MULTIPLANE_CONFIG__mpl_cpbk_rd_seq 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_cpbk_rd_seq 0x1
#define LSb__MULTIPLANE_CONFIG__mpl_cpbk_rd_seq 4
#define BA__MULTIPLANE_CONFIG__mpl_wr_en 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_wr_en 0x1
#define LSb__MULTIPLANE_CONFIG__mpl_wr_en 1
#define BA__MULTIPLANE_CONFIG__mpl_rd_en 0x0434
#define MSK__MULTIPLANE_CONFIG__mpl_rd_en 0x1
#define LSb__MULTIPLANE_CONFIG__mpl_rd_en 0
#define RA__CACHE_CONFIG 0x0438
#define BA__CACHE_CONFIG__cache_wr_en 0x0438
#define MSK__CACHE_CONFIG__cache_wr_en 0x1
#define LSb__CACHE_CONFIG__cache_wr_en 1
#define BA__CACHE_CONFIG__cache_rd_en 0x0438
#define MSK__CACHE_CONFIG__cache_rd_en 0x1
#define LSb__CACHE_CONFIG__cache_rd_en 0
#define RA__DMA_SETTINGS 0x043c
#define BA__DMA_SETTINGS__sdma_err_rsp 0x043c
#define MSK__DMA_SETTINGS__sdma_err_rsp 0x1
#define LSb__DMA_SETTINGS__sdma_err_rsp 17
#define BA__DMA_SETTINGS__OTE 0x043c
#define MSK__DMA_SETTINGS__OTE 0x1
#define LSb__DMA_SETTINGS__OTE 16
#define BA__DMA_SETTINGS__burst_sel 0x043c
#define MSK__DMA_SETTINGS__burst_sel 0xFF
#define LSb__DMA_SETTINGS__burst_sel 0
#define RA__SDMA_SIZE 0x0440
#define BA__SDMA_SIZE__sdma_size 0x0440
#define MSK__SDMA_SIZE__sdma_size 0xFFFFFFFF
#define LSb__SDMA_SIZE__sdma_size 0
#define RA__SDMA_TRD_NUM 0x0444
#define BA__SDMA_TRD_NUM__sdma_trd 0x0444
#define MSK__SDMA_TRD_NUM__sdma_trd 0x7
#define LSb__SDMA_TRD_NUM__sdma_trd 0
#define RA__TIME_OUT 0x0448
#define BA__TIME_OUT__time_out_val 0x0448
#define MSK__TIME_OUT__time_out_val 0xFFFFFFFF
#define LSb__TIME_OUT__time_out_val 0
#define RA__SDMA_ADDR0 0x044c
#define BA__SDMA_ADDR0__sdma_addr_l 0x044c
#define MSK__SDMA_ADDR0__sdma_addr_l 0xFFFFFFFF
#define LSb__SDMA_ADDR0__sdma_addr_l 0
#define RA__CTRL_VERSION 0x0800
#define BA__CTRL_VERSION__ctrl_fix 0x0800
#define MSK__CTRL_VERSION__ctrl_fix 0xFF
#define LSb__CTRL_VERSION__ctrl_fix 8
#define BA__CTRL_VERSION__ctrl_rev 0x0800
#define MSK__CTRL_VERSION__ctrl_rev 0xFF
#define LSb__CTRL_VERSION__ctrl_rev 0
#define RA__CTRL_FEATURES_REG 0x0804
#define BA__CTRL_FEATURES_REG__nf_16b_supp 0x0804
#define MSK__CTRL_FEATURES_REG__nf_16b_supp 0x1
#define LSb__CTRL_FEATURES_REG__nf_16b_supp 29
#define BA__CTRL_FEATURES_REG__nvddr2_3 0x0804
#define MSK__CTRL_FEATURES_REG__nvddr2_3 0x1
#define LSb__CTRL_FEATURES_REG__nvddr2_3 28
#define BA__CTRL_FEATURES_REG__nvddr 0x0804
#define MSK__CTRL_FEATURES_REG__nvddr 0x1
#define LSb__CTRL_FEATURES_REG__nvddr 27
#define BA__CTRL_FEATURES_REG__async_supp 0x0804
#define MSK__CTRL_FEATURES_REG__async_supp 0x1
#define LSb__CTRL_FEATURES_REG__async_supp 26
#define BA__CTRL_FEATURES_REG__n_banks 0x0804
#define MSK__CTRL_FEATURES_REG__n_banks 0x3
#define LSb__CTRL_FEATURES_REG__n_banks 24
#define BA__CTRL_FEATURES_REG__sfr_intf 0x0804
#define MSK__CTRL_FEATURES_REG__sfr_intf 0x3
#define LSb__CTRL_FEATURES_REG__sfr_intf 22
#define BA__CTRL_FEATURES_REG__dma_data_width 0x0804
#define MSK__CTRL_FEATURES_REG__dma_data_width 0x1
#define LSb__CTRL_FEATURES_REG__dma_data_width 21
#define BA__CTRL_FEATURES_REG__dma_addr_width 0x0804
#define MSK__CTRL_FEATURES_REG__dma_addr_width 0x1
#define LSb__CTRL_FEATURES_REG__dma_addr_width 20
#define BA__CTRL_FEATURES_REG__dma_intf 0x0804
#define MSK__CTRL_FEATURES_REG__dma_intf 0x3
#define LSb__CTRL_FEATURES_REG__dma_intf 18
#define BA__CTRL_FEATURES_REG__ecc_available 0x0804
#define MSK__CTRL_FEATURES_REG__ecc_available 0x1
#define LSb__CTRL_FEATURES_REG__ecc_available 17
#define BA__CTRL_FEATURES_REG__boot_available 0x0804
#define MSK__CTRL_FEATURES_REG__boot_available 0x1
#define LSb__CTRL_FEATURES_REG__boot_available 16
#define BA__CTRL_FEATURES_REG__pre_fetch_available 0x0804
#define MSK__CTRL_FEATURES_REG__pre_fetch_available 0x1
#define LSb__CTRL_FEATURES_REG__pre_fetch_available 15
#define BA__CTRL_FEATURES_REG__di_par_available 0x0804
#define MSK__CTRL_FEATURES_REG__di_par_available 0x1
#define LSb__CTRL_FEATURES_REG__di_par_available 14
#define BA__CTRL_FEATURES_REG__ext_cmd_cnt 0x0804
#define MSK__CTRL_FEATURES_REG__ext_cmd_cnt 0x1
#define LSb__CTRL_FEATURES_REG__ext_cmd_cnt 13
#define BA__CTRL_FEATURES_REG__rmp_available 0x0804
#define MSK__CTRL_FEATURES_REG__rmp_available 0x1
#define LSb__CTRL_FEATURES_REG__rmp_available 12
#define BA__CTRL_FEATURES_REG__ext_status 0x0804
#define MSK__CTRL_FEATURES_REG__ext_status 0x1
#define LSb__CTRL_FEATURES_REG__ext_status 11
#define BA__CTRL_FEATURES_REG__control_data 0x0804
#define MSK__CTRL_FEATURES_REG__control_data 0x1
#define LSb__CTRL_FEATURES_REG__control_data 10
#define BA__CTRL_FEATURES_REG__write_protect 0x0804
#define MSK__CTRL_FEATURES_REG__write_protect 0x1
#define LSb__CTRL_FEATURES_REG__write_protect 9
#define BA__CTRL_FEATURES_REG__di_crc_available 0x0804
#define MSK__CTRL_FEATURES_REG__di_crc_available 0x1
#define LSb__CTRL_FEATURES_REG__di_crc_available 8
#define BA__CTRL_FEATURES_REG__n_threads 0x0804
#define MSK__CTRL_FEATURES_REG__n_threads 0xF
#define LSb__CTRL_FEATURES_REG__n_threads 0
#define RA__MANUFACTURER_ID 0x0808
#define BA__MANUFACTURER_ID__dId 0x0808
#define MSK__MANUFACTURER_ID__dId 0xFF
#define LSb__MANUFACTURER_ID__dId 16
#define BA__MANUFACTURER_ID__mId 0x0808
#define MSK__MANUFACTURER_ID__mId 0xFF
#define LSb__MANUFACTURER_ID__mId 0
#define RA__NF_DEVICE_AREAS 0x080c
#define BA__NF_DEVICE_AREAS__spare_area_size 0x080c
#define MSK__NF_DEVICE_AREAS__spare_area_size 0xFFFF
#define LSb__NF_DEVICE_AREAS__spare_area_size 16
#define BA__NF_DEVICE_AREAS__main_area_size 0x080c
#define MSK__NF_DEVICE_AREAS__main_area_size 0xFFFF
#define LSb__NF_DEVICE_AREAS__main_area_size 0
#define RA__DEVICE_PARAMS_0 0x0810
#define BA__DEVICE_PARAMS_0__device_type 0x0810
#define MSK__DEVICE_PARAMS_0__device_type 0x3
#define LSb__DEVICE_PARAMS_0__device_type 30
#define BA__DEVICE_PARAMS_0__bits_per_cell 0x0810
#define MSK__DEVICE_PARAMS_0__bits_per_cell 0xFF
#define LSb__DEVICE_PARAMS_0__bits_per_cell 16
#define BA__DEVICE_PARAMS_0__plane_addr_bits 0x0810
#define MSK__DEVICE_PARAMS_0__plane_addr_bits 0xFF
#define LSb__DEVICE_PARAMS_0__plane_addr_bits 8
#define BA__DEVICE_PARAMS_0__no_of_luns 0x0810
#define MSK__DEVICE_PARAMS_0__no_of_luns 0xFF
#define LSb__DEVICE_PARAMS_0__no_of_luns 0
#define RA__DEVICE_PARAMS_1 0x0814
#define BA__DEVICE_PARAMS_1__ReadId_4 0x0814
#define MSK__DEVICE_PARAMS_1__ReadId_4 0xFF
#define LSb__DEVICE_PARAMS_1__ReadId_4 8
#define BA__DEVICE_PARAMS_1__ReadId_3 0x0814
#define MSK__DEVICE_PARAMS_1__ReadId_3 0xFF
#define LSb__DEVICE_PARAMS_1__ReadId_3 0
#define RA__DEVICE_FEATURES 0x0818
#define BA__DEVICE_FEATURES__optional_commands 0x0818
#define MSK__DEVICE_FEATURES__optional_commands 0xFFFF
#define LSb__DEVICE_FEATURES__optional_commands 16
#define BA__DEVICE_FEATURES__device_features 0x0818
#define MSK__DEVICE_FEATURES__device_features 0xFFFF
#define LSb__DEVICE_FEATURES__device_features 0
#define RA__DEVICE_BLOCKS_PER_LUN 0x081c
#define BA__DEVICE_BLOCKS_PER_LUN__no_of_blocks 0x081c
#define MSK__DEVICE_BLOCKS_PER_LUN__no_of_blocks 0xFFFFFFFF
#define LSb__DEVICE_BLOCKS_PER_LUN__no_of_blocks 0
#define RA__DEVICE_REVISION 0x0820
#define BA__DEVICE_REVISION__revisions 0x0820
#define MSK__DEVICE_REVISION__revisions 0xFFFF
#define LSb__DEVICE_REVISION__revisions 0
#define RA__ONFI_TIMING_MODES_0 0x0824
#define BA__ONFI_TIMING_MODES_0__nv_ddr_modes 0x0824
#define MSK__ONFI_TIMING_MODES_0__nv_ddr_modes 0xFF
#define LSb__ONFI_TIMING_MODES_0__nv_ddr_modes 16
#define BA__ONFI_TIMING_MODES_0__sdr_modes 0x0824
#define MSK__ONFI_TIMING_MODES_0__sdr_modes 0xFFFF
#define LSb__ONFI_TIMING_MODES_0__sdr_modes 0
#define RA__ONFI_TIMING_MODES_1 0x0828
#define BA__ONFI_TIMING_MODES_1__nv_ddr3_modes 0x0828
#define MSK__ONFI_TIMING_MODES_1__nv_ddr3_modes 0xFFFF
#define LSb__ONFI_TIMING_MODES_1__nv_ddr3_modes 16
#define BA__ONFI_TIMING_MODES_1__nv_ddr2_modes 0x0828
#define MSK__ONFI_TIMING_MODES_1__nv_ddr2_modes 0xFFFF
#define LSb__ONFI_TIMING_MODES_1__nv_ddr2_modes 0
#define RA__ONFI_ITERLV_OP_ATTR 0x082c
#define BA__ONFI_ITERLV_OP_ATTR__iterlv_op 0x082c
#define MSK__ONFI_ITERLV_OP_ATTR__iterlv_op 0xFF
#define LSb__ONFI_ITERLV_OP_ATTR__iterlv_op 0
#define RA__ONFI_SYNC_OPT_0 0x0830
#define BA__ONFI_SYNC_OPT_0__onfi_tccs_min 0x0830
#define MSK__ONFI_SYNC_OPT_0__onfi_tccs_min 0xFFFF
#define LSb__ONFI_SYNC_OPT_0__onfi_tccs_min 16
#define BA__ONFI_SYNC_OPT_0__nvddr_supp_ft 0x0830
#define MSK__ONFI_SYNC_OPT_0__nvddr_supp_ft 0xFF
#define LSb__ONFI_SYNC_OPT_0__nvddr_supp_ft 0
#define RA__ONFI_SYNC_OPT_1 0x0834
#define BA__ONFI_SYNC_OPT_1__warmup_cycles 0x0834
#define MSK__ONFI_SYNC_OPT_1__warmup_cycles 0xFF
#define LSb__ONFI_SYNC_OPT_1__warmup_cycles 24
#define BA__ONFI_SYNC_OPT_1__nvddr2_3_features 0x0834
#define MSK__ONFI_SYNC_OPT_1__nvddr2_3_features 0xFF
#define LSb__ONFI_SYNC_OPT_1__nvddr2_3_features 16
#define BA__ONFI_SYNC_OPT_1__adv_cmd_supp 0x0834
#define MSK__ONFI_SYNC_OPT_1__adv_cmd_supp 0xFF
#define LSb__ONFI_SYNC_OPT_1__adv_cmd_supp 0
#define RA__BCH_CFG_0 0x0838
#define BA__BCH_CFG_0__bch_corr_3 0x0838
#define MSK__BCH_CFG_0__bch_corr_3 0xFF
#define LSb__BCH_CFG_0__bch_corr_3 24
#define BA__BCH_CFG_0__bch_corr_2 0x0838
#define MSK__BCH_CFG_0__bch_corr_2 0xFF
#define LSb__BCH_CFG_0__bch_corr_2 16
#define BA__BCH_CFG_0__bch_corr_1 0x0838
#define MSK__BCH_CFG_0__bch_corr_1 0xFF
#define LSb__BCH_CFG_0__bch_corr_1 8
#define BA__BCH_CFG_0__bch_corr_0 0x0838
#define MSK__BCH_CFG_0__bch_corr_0 0xFF
#define LSb__BCH_CFG_0__bch_corr_0 0
#define RA__BCH_CFG_1 0x083c
#define BA__BCH_CFG_1__bch_corr_7 0x083c
#define MSK__BCH_CFG_1__bch_corr_7 0xFF
#define LSb__BCH_CFG_1__bch_corr_7 24
#define BA__BCH_CFG_1__bch_corr_6 0x083c
#define MSK__BCH_CFG_1__bch_corr_6 0xFF
#define LSb__BCH_CFG_1__bch_corr_6 16
#define BA__BCH_CFG_1__bch_corr_5 0x083c
#define MSK__BCH_CFG_1__bch_corr_5 0xFF
#define LSb__BCH_CFG_1__bch_corr_5 8
#define BA__BCH_CFG_1__bch_corr_4 0x083c
#define MSK__BCH_CFG_1__bch_corr_4 0xFF
#define LSb__BCH_CFG_1__bch_corr_4 0
#define RA__BCH_CFG_2 0x0840
#define BA__BCH_CFG_2__bch_sect_1 0x0840
#define MSK__BCH_CFG_2__bch_sect_1 0xFFFF
#define LSb__BCH_CFG_2__bch_sect_1 16
#define BA__BCH_CFG_2__bch_sect_0 0x0840
#define MSK__BCH_CFG_2__bch_sect_0 0xFFFF
#define LSb__BCH_CFG_2__bch_sect_0 0
#define RA__BCH_CFG_3 0x0844
#define BA__BCH_CFG_3__bch_syndrome_factor 0x0844
#define MSK__BCH_CFG_3__bch_syndrome_factor 0xFF
#define LSb__BCH_CFG_3__bch_syndrome_factor 24
#define BA__BCH_CFG_3__bch_metadata_size 0x0844
#define MSK__BCH_CFG_3__bch_metadata_size 0xFF
#define LSb__BCH_CFG_3__bch_metadata_size 16
#define BA__BCH_CFG_3__bch_chien_factor 0x0844
#define MSK__BCH_CFG_3__bch_chien_factor 0xFF
#define LSb__BCH_CFG_3__bch_chien_factor 8
#define BA__BCH_CFG_3__bch_brlk_factor 0x0844
#define MSK__BCH_CFG_3__bch_brlk_factor 0xFF
#define LSb__BCH_CFG_3__bch_brlk_factor 0
#define RA__WP_SETTINGS 0x1000
#define BA__WP_SETTINGS__WP 0x1000
#define MSK__WP_SETTINGS__WP 0x1
#define LSb__WP_SETTINGS__WP 0
#define RA__RBN_SETTINGS 0x1004
#define BA__RBN_SETTINGS__Rbn 0x1004
#define MSK__RBN_SETTINGS__Rbn 0x1
#define LSb__RBN_SETTINGS__Rbn 0
#define RA__SKIP_BYTES_CONF 0x100c
#define BA__SKIP_BYTES_CONF__marker 0x100c
#define MSK__SKIP_BYTES_CONF__marker 0xFFFF
#define LSb__SKIP_BYTES_CONF__marker 16
#define BA__SKIP_BYTES_CONF__skip_bytes 0x100c
#define MSK__SKIP_BYTES_CONF__skip_bytes 0xFF
#define LSb__SKIP_BYTES_CONF__skip_bytes 0
#define RA__SKIP_BYTES_OFFSET 0x1010
#define BA__SKIP_BYTES_OFFSET__skip_bytes_offset 0x1010
#define MSK__SKIP_BYTES_OFFSET__skip_bytes_offset 0xFFFFFF
#define LSb__SKIP_BYTES_OFFSET__skip_bytes_offset 0
#define RA__ASYNC_TOGGLE_TIMINGS 0x101c
#define BA__ASYNC_TOGGLE_TIMINGS__tRH 0x101c
#define MSK__ASYNC_TOGGLE_TIMINGS__tRH 0x1F
#define LSb__ASYNC_TOGGLE_TIMINGS__tRH 24
#define BA__ASYNC_TOGGLE_TIMINGS__tRP 0x101c
#define MSK__ASYNC_TOGGLE_TIMINGS__tRP 0x1F
#define LSb__ASYNC_TOGGLE_TIMINGS__tRP 16
#define BA__ASYNC_TOGGLE_TIMINGS__tWH 0x101c
#define MSK__ASYNC_TOGGLE_TIMINGS__tWH 0x1F
#define LSb__ASYNC_TOGGLE_TIMINGS__tWH 8
#define BA__ASYNC_TOGGLE_TIMINGS__tWP 0x101c
#define MSK__ASYNC_TOGGLE_TIMINGS__tWP 0x1F
#define LSb__ASYNC_TOGGLE_TIMINGS__tWP 0
#define RA__TIMINGS0 0x1024
#define BA__TIMINGS0__tADL 0x1024
#define MSK__TIMINGS0__tADL 0xFF
#define LSb__TIMINGS0__tADL 24
#define BA__TIMINGS0__tCCS 0x1024
#define MSK__TIMINGS0__tCCS 0xFF
#define LSb__TIMINGS0__tCCS 16
#define BA__TIMINGS0__tWHR 0x1024
#define MSK__TIMINGS0__tWHR 0xFF
#define LSb__TIMINGS0__tWHR 8
#define BA__TIMINGS0__tRHW 0x1024
#define MSK__TIMINGS0__tRHW 0xFF
#define LSb__TIMINGS0__tRHW 0
#define RA__TIMINGS1 0x1028
#define BA__TIMINGS1__tRHZ 0x1028
#define MSK__TIMINGS1__tRHZ 0xFF
#define LSb__TIMINGS1__tRHZ 24
#define BA__TIMINGS1__tWB 0x1028
#define MSK__TIMINGS1__tWB 0xFF
#define LSb__TIMINGS1__tWB 16
#define BA__TIMINGS1__tCWAW 0x1028
#define MSK__TIMINGS1__tCWAW 0xFF
#define LSb__TIMINGS1__tCWAW 8
#define BA__TIMINGS1__tVDLY 0x1028
#define MSK__TIMINGS1__tVDLY 0xFF
#define LSb__TIMINGS1__tVDLY 0
#define RA__TIMINGS2 0x102c
#define BA__TIMINGS2__tFEAT 0x102c
#define MSK__TIMINGS2__tFEAT 0x3FF
#define LSb__TIMINGS2__tFEAT 16
#define BA__TIMINGS2__CS_hold_time 0x102c
#define MSK__TIMINGS2__CS_hold_time 0x3F
#define LSb__TIMINGS2__CS_hold_time 8
#define BA__TIMINGS2__CS_setup_time 0x102c
#define MSK__TIMINGS2__CS_setup_time 0x3F
#define LSb__TIMINGS2__CS_setup_time 0
#define RA__PHY_CTRL_REG 0x2080
#define BA__PHY_CTRL_REG__phony_dqs_timing 0x2080
#define MSK__PHY_CTRL_REG__phony_dqs_timing 0x1F
#define LSb__PHY_CTRL_REG__phony_dqs_timing 4
/************************************************************/
typedef union
{
unsigned int u[1];
struct
{
unsigned int cmd0 :32;
};
} nfc_reg_cmd_reg0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int cmd1 :32;
};
} nfc_reg_cmd_reg1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int cmd2 :32;
};
} nfc_reg_cmd_reg2_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int cmd3 :32;
};
} nfc_reg_cmd_reg3_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int thrd_status_sel :3;
unsigned int :29;
};
} nfc_reg_cmd_status_ptr_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int cmd_status :32;
};
} nfc_reg_cmd_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int :16;
unsigned int cdma_idle :1;
unsigned int cdma_terr :1;
unsigned int ddma_terr :1;
unsigned int :1;
unsigned int cmd_ignored :1;
unsigned int sdma_trigg :1;
unsigned int sdma_err :1;
unsigned int :9;
};
} nfc_reg_intr_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int :16;
unsigned int cdma_idle_en :1;
unsigned int cdma_terr_en :1;
unsigned int ddma_terr_en :1;
unsigned int :1;
unsigned int cmd_ignored_en :1;
unsigned int sdma_trigg_en :1;
unsigned int sdma_err_en :1;
unsigned int :8;
unsigned int intr_en :1;
};
} nfc_reg_intr_enable_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sdma_busy :1;
unsigned int mdma_busy :1;
unsigned int cmd_eng_busy :1;
unsigned int mc_busy :1;
unsigned int :4;
unsigned int ctrl_busy :1;
unsigned int init_comp :1;
unsigned int init_fail :1;
unsigned int :5;
unsigned int sdma_paused :1;
unsigned int :15;
};
} nfc_reg_ctrl_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int trd_busy :8;
unsigned int :24;
};
} nfc_reg_trd_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int trd0_error_stat :1;
unsigned int trd1_error_stat :1;
unsigned int trd2_error_stat :1;
unsigned int trd3_error_stat :1;
unsigned int trd4_error_stat :1;
unsigned int trd5_error_stat :1;
unsigned int trd6_error_stat :1;
unsigned int trd7_error_stat :1;
unsigned int :24;
};
} nfc_reg_trd_error_intr_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int trd_error_intr_en :8;
unsigned int :24;
};
} nfc_reg_trd_error_intr_en_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int trd0_comp :1;
unsigned int trd1_comp :1;
unsigned int trd2_comp :1;
unsigned int trd3_comp :1;
unsigned int trd4_comp :1;
unsigned int trd5_comp :1;
unsigned int trd6_comp :1;
unsigned int trd7_comp :1;
unsigned int :24;
};
} nfc_reg_trd_comp_intr_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int target_err_l :32;
};
} nfc_reg_dma_target_error_l_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int trd0_timeout_stat :1;
unsigned int trd1_timeout_stat :1;
unsigned int trd2_timeout_stat :1;
unsigned int trd3_timeout_stat :1;
unsigned int trd4_timeout_stat :1;
unsigned int trd5_timeout_stat :1;
unsigned int trd6_timeout_stat :1;
unsigned int trd7_timeout_stat :1;
unsigned int :24;
};
} nfc_reg_trd_timeout_intr_status_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int trd_timeout_intr_en :8;
unsigned int :24;
};
} nfc_reg_trd_timeout_intr_en_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sector_cnt :8;
unsigned int :8;
unsigned int offset :16;
};
} nfc_reg_transfer_cfg_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sector_size :16;
unsigned int last_sector_size :16;
};
} nfc_reg_transfer_cfg_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int long_polling :16;
unsigned int :16;
};
} nfc_reg_long_polling_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int short_polling :16;
unsigned int :16;
};
} nfc_reg_short_polling_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int rb_enable :1;
unsigned int :15;
unsigned int ready_value :8;
unsigned int ready_mask :8;
};
} nfc_reg_rdst_ctrl_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int :16;
unsigned int error_value :8;
unsigned int error_mask :8;
};
} nfc_reg_rdst_ctrl_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int lun_stat_sel :1;
unsigned int :31;
};
} nfc_reg_lun_status_cmd_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int lun_col_cmd :2;
unsigned int :4;
unsigned int program_after_read :1;
unsigned int :25;
};
} nfc_reg_lun_interleaved_cmd_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int lun_addr_offset :5;
unsigned int :27;
};
} nfc_reg_lun_addr_offset_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int PPB :16;
unsigned int lun_en :1;
unsigned int :3;
unsigned int LN :4;
unsigned int :3;
unsigned int blk_addr_idx :5;
};
} nfc_reg_nf_dev_layout_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int ecc_enable :1;
unsigned int erase_det_en :1;
unsigned int :2;
unsigned int scrambler_en :1;
unsigned int :3;
unsigned int corr_str :3;
unsigned int :21;
};
} nfc_reg_ecc_config_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int erase_det_lvl :8;
unsigned int :24;
};
} nfc_reg_ecc_config_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int ce_hold :1;
unsigned int ce_pin_reduct :1;
unsigned int :1;
unsigned int cont_on_err :1;
unsigned int time_out_en :1;
unsigned int chrc_wdth :1;
unsigned int :1;
unsigned int four_addr_seq_en :1;
unsigned int :24;
};
} nfc_reg_device_ctrl_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int mpl_rd_en :1;
unsigned int mpl_wr_en :1;
unsigned int :2;
unsigned int mpl_cpbk_rd_seq :1;
unsigned int :3;
unsigned int mpl_pl_num :2;
unsigned int :6;
unsigned int mpl_prg_seq :2;
unsigned int :3;
unsigned int mpl_rd_seq :3;
unsigned int mpl_erase_seq :1;
unsigned int last_wr_cmd :1;
unsigned int pl_status_en :1;
unsigned int :5;
};
} nfc_reg_multiplane_config_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int cache_rd_en :1;
unsigned int cache_wr_en :1;
unsigned int :30;
};
} nfc_reg_cache_config_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int burst_sel :8;
unsigned int :8;
unsigned int OTE :1;
unsigned int sdma_err_rsp :1;
unsigned int :14;
};
} nfc_reg_dma_settings_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sdma_size :32;
};
} nfc_reg_sdma_size_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sdma_trd :3;
unsigned int :29;
};
} nfc_reg_sdma_trd_num_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int time_out_val :32;
};
} nfc_reg_time_out_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sdma_addr_l :32;
};
} nfc_reg_sdma_addr0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int ctrl_rev :8;
unsigned int ctrl_fix :8;
unsigned int :16;
};
} nfc_reg_ctrl_version_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int n_threads :4;
unsigned int :4;
unsigned int di_crc_available :1;
unsigned int write_protect :1;
unsigned int control_data :1;
unsigned int ext_status :1;
unsigned int rmp_available :1;
unsigned int ext_cmd_cnt :1;
unsigned int di_par_available :1;
unsigned int pre_fetch_available :1;
unsigned int boot_available :1;
unsigned int ecc_available :1;
unsigned int dma_intf :2;
unsigned int dma_addr_width :1;
unsigned int dma_data_width :1;
unsigned int sfr_intf :2;
unsigned int n_banks :2;
unsigned int async_supp :1;
unsigned int nvddr :1;
unsigned int nvddr2_3 :1;
unsigned int nf_16b_supp :1;
unsigned int :2;
};
} nfc_reg_ctrl_features_reg_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int mId :8;
unsigned int :8;
unsigned int dId :8;
unsigned int :8;
};
} nfc_reg_manufacturer_id_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int main_area_size :16;
unsigned int spare_area_size :16;
};
} nfc_reg_nf_device_areas_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int no_of_luns :8;
unsigned int plane_addr_bits :8;
unsigned int bits_per_cell :8;
unsigned int :6;
unsigned int device_type :2;
};
} nfc_reg_device_params_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int ReadId_3 :8;
unsigned int ReadId_4 :8;
unsigned int :16;
};
} nfc_reg_device_params_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int device_features :16;
unsigned int optional_commands :16;
};
} nfc_reg_device_features_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int no_of_blocks :32;
};
} nfc_reg_device_blocks_per_lun_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int revisions :16;
unsigned int :16;
};
} nfc_reg_device_revision_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int sdr_modes :16;
unsigned int nv_ddr_modes :8;
unsigned int :8;
};
} nfc_reg_onfi_timing_modes_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int nv_ddr2_modes :16;
unsigned int nv_ddr3_modes :16;
};
} nfc_reg_onfi_timing_modes_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int iterlv_op :8;
unsigned int :24;
};
} nfc_reg_onfi_iterlv_op_attr_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int nvddr_supp_ft :8;
unsigned int :8;
unsigned int onfi_tccs_min :16;
};
} nfc_reg_onfi_sync_opt_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int adv_cmd_supp :8;
unsigned int :8;
unsigned int nvddr2_3_features :8;
unsigned int warmup_cycles :8;
};
} nfc_reg_onfi_sync_opt_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int bch_corr_0 :8;
unsigned int bch_corr_1 :8;
unsigned int bch_corr_2 :8;
unsigned int bch_corr_3 :8;
};
} nfc_reg_bch_cfg_0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int bch_corr_4 :8;
unsigned int bch_corr_5 :8;
unsigned int bch_corr_6 :8;
unsigned int bch_corr_7 :8;
};
} nfc_reg_bch_cfg_1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int bch_sect_0 :16;
unsigned int bch_sect_1 :16;
};
} nfc_reg_bch_cfg_2_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int bch_brlk_factor :8;
unsigned int bch_chien_factor :8;
unsigned int bch_metadata_size :8;
unsigned int bch_syndrome_factor :8;
};
} nfc_reg_bch_cfg_3_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int WP :1;
unsigned int :31;
};
} nfc_reg_wp_settings_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int Rbn :1;
unsigned int :31;
};
} nfc_reg_rbn_settings_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int skip_bytes :8;
unsigned int :8;
unsigned int marker :16;
};
} nfc_reg_skip_bytes_conf_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int skip_bytes_offset :24;
unsigned int :8;
};
} nfc_reg_skip_bytes_offset_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int tWP :5;
unsigned int :3;
unsigned int tWH :5;
unsigned int :3;
unsigned int tRP :5;
unsigned int :3;
unsigned int tRH :5;
unsigned int :3;
};
} nfc_reg_async_toggle_timings_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int tRHW :8;
unsigned int tWHR :8;
unsigned int tCCS :8;
unsigned int tADL :8;
};
} nfc_reg_timings0_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int tVDLY :8;
unsigned int tCWAW :8;
unsigned int tWB :8;
unsigned int tRHZ :8;
};
} nfc_reg_timings1_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int CS_setup_time :6;
unsigned int :2;
unsigned int CS_hold_time :6;
unsigned int :2;
unsigned int tFEAT :10;
unsigned int :6;
};
} nfc_reg_timings2_t;
typedef union
{
unsigned int u[1];
struct
{
unsigned int :4;
unsigned int phony_dqs_timing :5;
unsigned int :23;
};
} nfc_reg_phy_ctrl_reg_t;
#endif