if (argc < 3)
{
- WARNING("incomplete 'lpc3180' nand flash configuration");
+ LOG_WARNING("incomplete 'lpc3180' nand flash configuration");
return ERROR_FLASH_BANK_INVALID;
}
lpc3180_info->target = get_target_by_num(strtoul(args[1], NULL, 0));
if (!lpc3180_info->target)
{
- ERROR("no target '%s' configured", args[1]);
+ LOG_ERROR("no target '%s' configured", args[1]);
return ERROR_NAND_DEVICE_INVALID;
}
lpc3180_info->osc_freq = strtoul(args[2], NULL, 0);
if ((lpc3180_info->osc_freq < 1000) || (lpc3180_info->osc_freq > 20000))
{
- WARNING("LPC3180 oscillator frequency should be between 1000 and 20000 kHz, was %i", lpc3180_info->osc_freq);
+ LOG_WARNING("LPC3180 oscillator frequency should be between 1000 and 20000 kHz, was %i", lpc3180_info->osc_freq);
}
lpc3180_info->selected_controller = LPC3180_NO_CONTROLLER;
lpc3180_info->sw_write_protection = 0;
int lock = (pll_ctrl & 0x1);
if (!lock)
- WARNING("PLL is not locked");
+ LOG_WARNING("PLL is not locked");
if (!bypass && direct) /* direct mode */
return (m * fclkin) / n;
}
}
- DEBUG("LPC3180 HCLK currently clocked at %i kHz", hclk);
+ LOG_DEBUG("LPC3180 HCLK currently clocked at %i kHz", hclk);
cycle = (1.0 / hclk) * 1000000.0;
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
/* sanitize arguments */
if ((bus_width != 8) && (bus_width != 16))
{
- ERROR("LPC3180 only supports 8 or 16 bit bus width, not %i", bus_width);
+ LOG_ERROR("LPC3180 only supports 8 or 16 bit bus width, not %i", bus_width);
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
*/
if (bus_width == 16)
{
- WARNING("LPC3180 only supports 8 bit bus width");
+ LOG_WARNING("LPC3180 only supports 8 bit bus width");
}
/* inform calling code about selected bus width */
if ((address_cycles != 3) && (address_cycles != 4))
{
- ERROR("LPC3180 only supports 3 or 4 address cycles, not %i", address_cycles);
+ LOG_ERROR("LPC3180 only supports 3 or 4 address cycles, not %i", address_cycles);
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
if ((page_size != 512) && (page_size != 2048))
{
- ERROR("LPC3180 only supports 512 or 2048 byte pages, not %i", page_size);
+ LOG_ERROR("LPC3180 only supports 512 or 2048 byte pages, not %i", page_size);
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
/* select MLC controller if none is currently selected */
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- DEBUG("no LPC3180 NAND flash controller selected, using default 'mlc'");
+ LOG_DEBUG("no LPC3180 NAND flash controller selected, using default 'mlc'");
lpc3180_info->selected_controller = LPC3180_MLC_CONTROLLER;
}
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
if (!lpc3180_controller_ready(device, 100))
{
- ERROR("LPC3180 NAND controller timed out after reset");
+ LOG_ERROR("LPC3180 NAND controller timed out after reset");
return ERROR_NAND_OPERATION_TIMEOUT;
}
}
if (!lpc3180_controller_ready(device, 100))
{
- ERROR("LPC3180 NAND controller timed out after reset");
+ LOG_ERROR("LPC3180 NAND controller timed out after reset");
return ERROR_NAND_OPERATION_TIMEOUT;
}
}
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
}
else
{
- ERROR("BUG: bus_width neither 8 nor 16 bit");
+ LOG_ERROR("BUG: bus_width neither 8 nor 16 bit");
return ERROR_NAND_OPERATION_FAILED;
}
}
}
else
{
- ERROR("BUG: bus_width neither 8 nor 16 bit");
+ LOG_ERROR("BUG: bus_width neither 8 nor 16 bit");
return ERROR_NAND_OPERATION_FAILED;
}
}
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
if (!data && oob)
{
- ERROR("LPC3180 MLC controller can't write OOB data only");
+ LOG_ERROR("LPC3180 MLC controller can't write OOB data only");
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
if (oob && (oob_size > 6))
{
- ERROR("LPC3180 MLC controller can't write more than 6 bytes of OOB data");
+ LOG_ERROR("LPC3180 MLC controller can't write more than 6 bytes of OOB data");
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
if (data_size > device->page_size)
{
- ERROR("data size exceeds page size");
+ LOG_ERROR("data size exceeds page size");
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
if (!lpc3180_controller_ready(device, 1000))
{
- ERROR("timeout while waiting for completion of auto encode cycle");
+ LOG_ERROR("timeout while waiting for completion of auto encode cycle");
return ERROR_NAND_OPERATION_FAILED;
}
}
if ((retval = nand_read_status(device, &status)) != ERROR_OK)
{
- ERROR("couldn't read status");
+ LOG_ERROR("couldn't read status");
return ERROR_NAND_OPERATION_FAILED;
}
if (status & NAND_STATUS_FAIL)
{
- ERROR("write operation didn't pass, status: 0x%2.2x", status);
+ LOG_ERROR("write operation didn't pass, status: 0x%2.2x", status);
return ERROR_NAND_OPERATION_FAILED;
}
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (lpc3180_info->selected_controller == LPC3180_NO_CONTROLLER)
{
- ERROR("BUG: no LPC3180 NAND flash controller selected");
+ LOG_ERROR("BUG: no LPC3180 NAND flash controller selected");
return ERROR_NAND_OPERATION_FAILED;
}
else if (lpc3180_info->selected_controller == LPC3180_MLC_CONTROLLER)
#if 0
if (oob && (oob_size > 6))
{
- ERROR("LPC3180 MLC controller can't read more than 6 bytes of OOB data");
+ LOG_ERROR("LPC3180 MLC controller can't read more than 6 bytes of OOB data");
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
#endif
if (data_size > device->page_size)
{
- ERROR("data size exceeds page size");
+ LOG_ERROR("data size exceeds page size");
return ERROR_NAND_OPERATION_NOT_SUPPORTED;
}
if (!lpc3180_controller_ready(device, 1000))
{
- ERROR("timeout while waiting for completion of auto decode cycle");
+ LOG_ERROR("timeout while waiting for completion of auto decode cycle");
return ERROR_NAND_OPERATION_FAILED;
}
{
if (mlc_isr & 0x40)
{
- ERROR("uncorrectable error detected: 0x%2.2x", mlc_isr);
+ LOG_ERROR("uncorrectable error detected: 0x%2.2x", mlc_isr);
return ERROR_NAND_OPERATION_FAILED;
}
- WARNING("%i symbol error detected and corrected", ((mlc_isr & 0x30) >> 4) + 1);
+ LOG_WARNING("%i symbol error detected and corrected", ((mlc_isr & 0x30) >> 4) + 1);
}
if (data)
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if (target->state != TARGET_HALTED)
{
- ERROR("target must be halted to use LPC3180 NAND flash controller");
+ LOG_ERROR("target must be halted to use LPC3180 NAND flash controller");
return ERROR_NAND_OPERATION_FAILED;
}
if ((argc < 1) || (argc > 2))
{
- command_print(cmd_ctx, "usage: lpc3180 select <num> <'mlc'|'slc'>");
- return ERROR_OK;
+ return ERROR_COMMAND_SYNTAX_ERROR;
}
device = get_nand_device_by_num(strtoul(args[0], NULL, 0));
}
else
{
- command_print(cmd_ctx, "usage: lpc3180 select <'mlc'|'slc'>");
+ return ERROR_COMMAND_SYNTAX_ERROR;
}
}