18 #ifndef OPENOCD_FLASH_MFLASH_H 19 #define OPENOCD_FLASH_MFLASH_H 140 #define MG_MFLASH_SECTOR_SIZE (0x200) 141 #define MG_MFLASH_SECTOR_SIZE_MASK (0x200-1) 142 #define MG_MFLASH_SECTOR_SIZE_SHIFT (9) 144 #define MG_BUFFER_OFFSET 0x8000 145 #define MG_REG_OFFSET 0xC000 146 #define MG_REG_FEATURE 0x2 147 #define MG_REG_ERROR 0x2 148 #define MG_REG_SECT_CNT 0x4 149 #define MG_REG_SECT_NUM 0x6 150 #define MG_REG_CYL_LOW 0x8 151 #define MG_REG_CYL_HIGH 0xA 152 #define MG_REG_DRV_HEAD 0xC 153 #define MG_REG_COMMAND 0xE 154 #define MG_REG_STATUS 0xE 155 #define MG_REG_DRV_CTRL 0x10 156 #define MG_REG_BURST_CTRL 0x12 158 #define MG_OEM_DISK_WAIT_TIME_LONG 15000 159 #define MG_OEM_DISK_WAIT_TIME_NORMAL 3000 160 #define MG_OEM_DISK_WAIT_TIME_SHORT 1000 162 #define MG_PLL_CLK_OUT 66000000.0 163 #define MG_PLL_MAX_FEEDBACKDIV_VAL 512 164 #define MG_PLL_MAX_INPUTDIV_VAL 32 165 #define MG_PLL_MAX_OUTPUTDIV_VAL 4 167 #define MG_PLL_STD_INPUTCLK 12000000.0 168 #define MG_PLL_STD_LOCKCYCLE 10000 170 #define MG_UNLOCK_OTP_AREA 0xFF 172 #define MG_FILEIO_CHUNK 1048576 174 #define ERROR_MG_IO (-1600) 175 #define ERROR_MG_TIMEOUT (-1601) 176 #define ERROR_MG_INVALID_PLL (-1603) 177 #define ERROR_MG_INTERFACE (-1604) 178 #define ERROR_MG_INVALID_OSC (-1605) 179 #define ERROR_MG_UNSUPPORTED_SOC (-1606) mg_io_uint16 total_user_addressable_sectors_hi
struct mg_drv_info * drv_info
unsigned char mg_io_uint8
enum _mg_io_type_rbit_error mg_io_type_rbit_error
mg_io_uint16 capabilities
mg_io_uint16 req_time_for_security_er_done
struct mflash_gpio_drv * gpio_drv
mg_io_uint8 maximum_block_transfer
mg_io_uint16 req_time_for_enhan_security_er_done
mg_io_uint8 vendor_unique2
mg_io_uint8 pio_cycle_timing_mode
struct _mg_io_type_drv_info mg_io_type_drv_info
mg_io_uint16 minor_ver_num
mg_io_uint16 unformatted_bytes_per_sector
mg_io_uint16 re_of_hw_rst
mg_io_uint16 feature_cmd_set_suprt2
mg_io_uint16 total_user_addressable_sectors_lo
mg_io_uint8 vendor_unique3
mg_io_uint16 current_sector_capacity_lo
mg_io_uint16 number_of_cylinders
enum _mg_opmode mg_opmode
mg_io_uint16 scts_per_secure_data_unit
mg_io_uint16 number_of_current_heads
mg_io_uint16 number_of_heads
enum _mg_io_type_rval_dev mg_io_type_rval_dev
mg_io_uint8 single_dma_transfer_active
mg_io_uint16 feature_cmd_set_suprt0
mg_io_uint16 unformatted_bytes_per_track
mg_io_uint16 feature_cmd_set_suprt1
mg_io_uint16 number_of_ecc_bytes
unsigned short mg_io_uint16
mg_io_uint16 adv_pio_mode
enum _mg_io_type_rbit_status mg_io_type_rbit_status
mg_io_uint16 major_ver_num
mg_io_type_drv_info drv_id
mg_io_uint16 recommend_dma_cyc
mg_io_uint16 general_configuration
mg_io_uint8 multi_dma_modes_supported
mg_io_uint16 cfa_pwr_mode
unsigned long mg_io_uint32
enum _mg_io_type_cmd mg_io_type_cmd
mg_io_uint16 sectors_per_track
mg_io_uint16 integrity_word
mg_io_uint8 single_dma_modes_supported
mg_io_uint8 dma_cycle_timing_mode
mg_io_uint16 translation_fields_valid
enum _mg_feature_val mg_feature_val
struct _mg_pll_t mg_pll_t
enum _mg_feature_id mg_feature_id
mg_io_uint8 multi_dma_transfer_active
mg_io_uint16 adv_pwr_mgm_lvl_val
enum _mg_io_type_wait mg_io_type_wait
mg_io_uint16 min_pio_cyc_no_iordy
mg_io_uint8 multi_sector_setting_valid
mg_io_uint16 security_stas
mg_io_uint16 number_of_current_cylinders
int mflash_register_commands(struct command_context *cmd_ctx)
mg_io_uint8 multi_sector_count
mg_io_uint16 feature_cmd_set_en1
mg_io_uint16 current_sector_capacity_hi
mg_io_uint16 feature_cmd_set_en0
enum _mg_io_type_rbit_devc mg_io_type_rbit_devc
mg_io_uint16 current_sectors_per_track
static uint32_t serial_number
mg_io_uint8 vendor_unique4
mg_io_uint16 feature_cmd_set_en2
mg_io_uint16 min_pio_cyc_with_iordy
mg_io_uint16 buffer_sector_size
unsigned short feedback_div