debug(" ");
for (y = 0; y < 16; y++) {
unsigned char c = p[x + y];
+
if (c >= 0x20 && c <= 0x7e)
debug("%c", c);
else
}
#endif
-
/*-----------------------------------------------------------------------
* read a character at a port width address
*/
return retval;
}
-
/*-----------------------------------------------------------------------
* read a long word by picking the least significant byte of each maximum
* port size word. Swap for ppc format.
#ifdef DEBUG
debug("long addr is at %p info->portwidth = %d\n", addr,
info->portwidth);
- for (x = 0; x < 4 * info->portwidth; x++) {
+ for (x = 0; x < 4 * info->portwidth; x++)
debug("addr[%x] = 0x%x\n", x, flash_read8(addr + x));
- }
#endif
#if defined(__LITTLE_ENDIAN) || defined(CONFIG_SYS_WRITE_SWAPPED_DATA)
retval = ((flash_read8(addr) << 16) |
static void flash_write_cmd(flash_info_t *info, flash_sect_t sect,
uint offset, u32 cmd)
{
-
void *addr;
cfiword_t cword;
}
#endif /* CONFIG_SYS_FLASH_USE_BUFFER_WRITE */
-
/*-----------------------------------------------------------------------
*/
int flash_erase(flash_info_t *info, int s_first, int s_last)
}
prot = 0;
- for (sect = s_first; sect <= s_last; ++sect) {
- if (info->protect[sect]) {
+ for (sect = s_first; sect <= s_last; ++sect)
+ if (info->protect[sect])
prot++;
- }
- }
if (prot) {
printf("- Warning: %d protected sectors will not be erased!\n",
prot);
putc('\n');
}
-
for (sect = s_first; sect <= s_last; sect++) {
if (ctrlc()) {
printf("\n");
if (use_flash_status_poll(info)) {
cfiword_t cword;
void *dest;
+
cword.w64 = 0xffffffffffffffffULL;
dest = flash_map(info, sect, 0);
st = flash_status_poll(info, &cword, dest,
#else
while (cnt >= info->portwidth) {
cword.w32 = 0;
- for (i = 0; i < info->portwidth; i++) {
+ for (i = 0; i < info->portwidth; i++)
flash_add_byte(info, &cword, *src++);
- }
if ((rc = flash_write_cfiword(info, wp, cword)) != 0)
return rc;
wp += info->portwidth;
}
#endif /* CONFIG_SYS_FLASH_USE_BUFFER_WRITE */
- if (cnt == 0) {
+ if (cnt == 0)
return (0);
- }
/*
* handle unaligned tail bytes
else
flash_write_cmd(info, sector, 0,
FLASH_CMD_PROTECT_CLEAR);
-
}
break;
case CFI_CMDSET_AMD_EXTENDED:
if ((retcode =
flash_full_status_check(info, sector, info->erase_blk_tout,
prot ? "protect" : "unprotect")) == 0) {
-
info->protect[sector] = prot;
/*
udelay(1);
flash_write_cmd(info, 0, 0, FLASH_CMD_RESET);
}
+
void flash_cmd_reset(flash_info_t *info)
__attribute__((weak, alias("__flash_cmd_reset")));
#ifdef CONFIG_SYS_FLASH_PROTECTION
/* read environment from EEPROM */
char s[64];
+
env_get_f("unlock", s, sizeof(s));
#endif