Lines Matching refs:sect
198 unsigned long flash_sector_size(flash_info_t *info, flash_sect_t sect) in flash_sector_size() argument
200 if (sect != (info->sector_count - 1)) in flash_sector_size()
201 return info->start[sect + 1] - info->start[sect]; in flash_sector_size()
203 return info->start[0] + info->size - info->start[sect]; in flash_sector_size()
210 flash_map(flash_info_t *info, flash_sect_t sect, uint offset) in flash_map() argument
214 return (void *)(info->start[sect] + byte_offset); in flash_map()
217 static inline void flash_unmap(flash_info_t *info, flash_sect_t sect, in flash_unmap() argument
321 static ulong flash_read_long (flash_info_t *info, flash_sect_t sect, in flash_read_long() argument
330 addr = flash_map(info, sect, offset); in flash_read_long()
349 flash_unmap(info, sect, offset, addr); in flash_read_long()
357 static void flash_write_cmd(flash_info_t *info, flash_sect_t sect, in flash_write_cmd() argument
363 addr = flash_map(info, sect, offset); in flash_write_cmd()
402 flash_unmap(info, sect, offset, addr); in flash_write_cmd()
405 static void flash_unlock_seq(flash_info_t *info, flash_sect_t sect) in flash_unlock_seq() argument
407 flash_write_cmd(info, sect, info->addr_unlock1, AMD_CMD_UNLOCK_START); in flash_unlock_seq()
408 flash_write_cmd(info, sect, info->addr_unlock2, AMD_CMD_UNLOCK_ACK); in flash_unlock_seq()
413 static int flash_isequal(flash_info_t *info, flash_sect_t sect, uint offset, in flash_isequal() argument
420 addr = flash_map(info, sect, offset); in flash_isequal()
454 flash_unmap(info, sect, offset, addr); in flash_isequal()
461 static int flash_isset(flash_info_t *info, flash_sect_t sect, uint offset, in flash_isset() argument
468 addr = flash_map(info, sect, offset); in flash_isset()
487 flash_unmap(info, sect, offset, addr); in flash_isset()
494 static int flash_toggle(flash_info_t *info, flash_sect_t sect, uint offset, in flash_toggle() argument
501 addr = flash_map(info, sect, offset); in flash_toggle()
521 flash_unmap(info, sect, offset, addr); in flash_toggle()
532 static int flash_is_busy(flash_info_t *info, flash_sect_t sect) in flash_is_busy() argument
540 retval = !flash_isset(info, sect, 0, FLASH_STATUS_DONE); in flash_is_busy()
548 flash_write_cmd(info, sect, info->addr_unlock1, in flash_is_busy()
550 retval = !flash_isset(info, sect, 0, in flash_is_busy()
553 retval = flash_toggle(info, sect, 0, in flash_is_busy()
790 flash_sect_t sect = 0; in flash_write_cfiword() local
826 sect = find_sector(info, dest); in flash_write_cfiword()
827 flash_unlock_seq(info, sect); in flash_write_cfiword()
828 flash_write_cmd(info, sect, info->addr_unlock1, AMD_CMD_WRITE); in flash_write_cfiword()
833 sect = find_sector(info, dest); in flash_write_cfiword()
861 sect = find_sector(info, dest); in flash_write_cfiword()
867 return flash_full_status_check(info, sect, in flash_write_cfiword()
1060 flash_sect_t sect; in flash_erase() local
1073 for (sect = s_first; sect <= s_last; ++sect) in flash_erase()
1074 if (info->protect[sect]) in flash_erase()
1083 for (sect = s_first; sect <= s_last; sect++) { in flash_erase()
1089 if (info->protect[sect] == 0) { /* not protected */ in flash_erase()
1099 size = flash_sector_size(info, sect); in flash_erase()
1101 flash = (u32 *)info->start[sect]; in flash_erase()
1120 flash_write_cmd(info, sect, 0, in flash_erase()
1122 flash_write_cmd(info, sect, 0, in flash_erase()
1124 flash_write_cmd(info, sect, 0, in flash_erase()
1129 flash_unlock_seq(info, sect); in flash_erase()
1130 flash_write_cmd(info, sect, in flash_erase()
1133 flash_unlock_seq(info, sect); in flash_erase()
1134 flash_write_cmd(info, sect, 0, in flash_erase()
1143 flash_write_cmd(info, sect, 0, in flash_erase()
1158 dest = flash_map(info, sect, 0); in flash_erase()
1162 flash_unmap(info, sect, 0, dest); in flash_erase()
1164 st = flash_full_status_check(info, sect, in flash_erase()