static void cfi_fixup_atmel_reversed_erase_regions(flash_bank_t *flash, void *param);
/* fixup after reading cmdset 0002 primary query table */
-static const cfi_fixup_t cfi_0002_fixups[] = {
+static const struct cfi_fixup cfi_0002_fixups[] = {
{CFI_MFR_SST, 0x00D4, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
{CFI_MFR_SST, 0x00D5, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
{CFI_MFR_SST, 0x00D6, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
};
/* fixup after reading cmdset 0001 primary query table */
-static const cfi_fixup_t cfi_0001_fixups[] = {
+static const struct cfi_fixup cfi_0001_fixups[] = {
{0, 0, NULL, NULL}
};
-static void cfi_fixup(flash_bank_t *bank, const cfi_fixup_t *fixups)
+static void cfi_fixup(flash_bank_t *bank, const struct cfi_fixup *fixups)
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- const cfi_fixup_t *f;
+ const struct cfi_fixup *f;
for (f = fixups; f->fixup; f++)
{
*/
static uint8_t cfi_query_u8(flash_bank_t *bank, int sector, uint32_t offset)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t data[CFI_MAX_BUS_WIDTH];
target_read_memory(target, flash_address(bank, sector, offset), bank->bus_width, 1, data);
*/
static uint8_t cfi_get_u8(flash_bank_t *bank, int sector, uint32_t offset)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t data[CFI_MAX_BUS_WIDTH];
int i;
static uint16_t cfi_query_u16(flash_bank_t *bank, int sector, uint32_t offset)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
uint8_t data[CFI_MAX_BUS_WIDTH * 2];
static uint32_t cfi_query_u32(flash_bank_t *bank, int sector, uint32_t offset)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
uint8_t data[CFI_MAX_BUS_WIDTH * 4];
static void cfi_intel_clear_status_register(flash_bank_t *bank)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
if (target->state != TARGET_HALTED)
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_intel_pri_ext *pri_ext = malloc(sizeof(struct cfi_intel_pri_ext));
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
cfi_info->pri_ext = pri_ext;
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
cfi_info->pri_ext = pri_ext;
struct cfi_atmel_pri_ext atmel_pri_ext;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
/* ATMEL devices use the same CFI primary command set (0x2) as AMD/Spansion,
{
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
int i;
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
int i;
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_intel_pri_ext *pri_ext = cfi_info->pri_ext;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
int retry = 0;
int i;
/* FIXME Replace this by a simple memcpy() - still unsure about sideeffects */
static void cfi_add_byte(struct flash_bank_s *bank, uint8_t *word, uint8_t byte)
{
- /* target_t *target = bank->target; */
+ /* struct target *target = bank->target; */
int i;
/* Convert code image to target endian */
/* FIXME create general block conversion fcts in target.c?) */
-static void cfi_fix_code_endian(target_t *target, uint8_t *dest, const uint32_t *src, uint32_t count)
+static void cfi_fix_code_endian(struct target *target, uint8_t *dest, const uint32_t *src, uint32_t count)
{
uint32_t i;
for (i = 0; i< count; i++)
static uint32_t cfi_command_val(flash_bank_t *bank, uint8_t cmd)
{
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t buf[CFI_MAX_BUS_WIDTH];
cfi_command(bank, cmd, buf);
static int cfi_intel_write_block(struct flash_bank_s *bank, uint8_t *buffer, uint32_t address, uint32_t count)
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
- reg_param_t reg_params[7];
- armv4_5_algorithm_t armv4_5_info;
- working_area_t *source;
+ struct target *target = bank->target;
+ struct reg_param reg_params[7];
+ struct armv4_5_algorithm armv4_5_info;
+ struct working_area *source;
uint32_t buffer_size = 32768;
uint32_t write_command_val, busy_pattern_val, error_pattern_val;
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
- target_t *target = bank->target;
- reg_param_t reg_params[10];
- armv4_5_algorithm_t armv4_5_info;
- working_area_t *source;
+ struct target *target = bank->target;
+ struct reg_param reg_params[10];
+ struct armv4_5_algorithm armv4_5_info;
+ struct working_area *source;
uint32_t buffer_size = 32768;
uint32_t status;
int retval, retvaltemp;
{
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
cfi_intel_clear_status_register(bank);
{
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
/* Calculate buffer size and boundary mask */
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
cfi_command(bank, 0xaa, command);
{
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
int cfi_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint32_t address = bank->base + offset; /* address of first byte to be programmed */
uint32_t write_p, copy_p;
int align; /* number of unaligned bytes */
static int cfi_query_string(struct flash_bank_s *bank, int address)
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
int retval;
uint8_t command[8];
static int cfi_probe(struct flash_bank_s *bank)
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
int num_sectors = 0;
int i;
{
/* a device might have only one erase block, spanning the whole device */
bank->num_sectors = 1;
- bank->sectors = malloc(sizeof(flash_sector_t));
+ bank->sectors = malloc(sizeof(struct flash_sector));
bank->sectors[sector].offset = 0x0;
bank->sectors[sector].size = bank->size;
}
bank->num_sectors = num_sectors;
- bank->sectors = malloc(sizeof(flash_sector_t) * num_sectors);
+ bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
for (i = 0; i < cfi_info->num_erase_regions; i++)
{
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_intel_pri_ext *pri_ext = cfi_info->pri_ext;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[CFI_MAX_BUS_WIDTH];
int i;
int retval;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
- target_t *target = bank->target;
+ struct target *target = bank->target;
uint8_t command[8];
int i;
return ERROR_OK;
}
-flash_driver_t cfi_flash = {
+struct flash_driver cfi_flash = {
.name = "cfi",
.register_commands = &cfi_register_commands,
.flash_bank_command = &cfi_flash_bank_command,