* *
* Copyright (C) 2008 Georg Acher <acher@in.tum.de> *
* *
+ * Copyright (C) 2009 David Brownell *
+ * *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
CHECK_RETVAL(jtag_execute_queue());
- switch (device_id & 0x0FFFF000)
+ /* assume the manufacturer id is ok; check the part # */
+ switch ((device_id >> 12) & 0xFFFF)
{
- case 0x07B36000:
+ case 0x7B36:
type = "ARM1136";
break;
- case 0x07B56000:
+ case 0x7B37:
+ type = "ARM11 MPCore";
+ break;
+ case 0x7B56:
type = "ARM1156";
break;
- case 0x07B76000:
+ case 0x7B76:
arm11->arm.core_type = ARM_MODE_MON;
type = "ARM1176";
break;
default:
- LOG_ERROR("'target arm11' expects IDCODE 0x*7B*7****");
+ LOG_ERROR("unexpected ARM11 ID code");
return ERROR_FAIL;
}
LOG_INFO("found %s", type);
static const struct command_registration arm11_mw_command_handlers[] = {
{
.name = "burst",
- .handler = &arm11_handle_bool_memwrite_burst,
+ .handler = arm11_handle_bool_memwrite_burst,
.mode = COMMAND_ANY,
- .help = "Enable/Disable potentially risky fast burst mode"
- " (default: enabled)",
+ .help = "Display or modify flag controlling potentially "
+ "risky fast burst mode (default: enabled)",
+ .usage = "['enable'|'disable']",
},
{
.name = "error_fatal",
- .handler = &arm11_handle_bool_memwrite_error_fatal,
+ .handler = arm11_handle_bool_memwrite_error_fatal,
.mode = COMMAND_ANY,
- .help = "Terminate program if transfer error was found"
+ .help = "Display or modify flag controlling transfer "
+ "termination on transfer errors"
" (default: enabled)",
+ .usage = "['enable'|'disable']",
},
COMMAND_REGISTRATION_DONE
};
* simulate + breakpoint implementation is broken.
* TEMPORARY! NOT DOCUMENTED! */
.name = "hardware_step",
- .handler = &arm11_handle_bool_hardware_step,
+ .handler = arm11_handle_bool_hardware_step,
.mode = COMMAND_ANY,
.help = "DEBUG ONLY - Hardware single stepping"
" (default: disabled)",
- .usage = "(enable|disable)",
+ .usage = "['enable'|'disable']",
},
{
.name = "memwrite",
},
{
.name = "step_irq_enable",
- .handler = &arm11_handle_bool_step_irq_enable,
+ .handler = arm11_handle_bool_step_irq_enable,
.mode = COMMAND_ANY,
- .help = "Enable interrupts while stepping"
- " (default: disabled)",
+ .help = "Display or modify flag controlling interrupt "
+ "enable while stepping (default: disabled)",
+ .usage = "['enable'|'disable']",
},
{
.name = "vcr",
- .handler = &arm11_handle_vcr,
+ .handler = arm11_handle_vcr,
.mode = COMMAND_ANY,
- .help = "Control (Interrupt) Vector Catch Register",
+ .help = "Display or modify Vector Catch Register",
+ .usage = "[value]",
},
COMMAND_REGISTRATION_DONE
};