diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-12-19 22:54:07 -0800 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-12-20 11:11:54 -0800 |
commit | abf01895aea06b0e5c79687b68c424e62b205546 (patch) | |
tree | 09ce789463e77b5f570a0d8caeacfbd491197543 /src | |
parent | 0df5d1eb3c3a640c34de52787c4a70c07b53535f (diff) | |
download | openocd_libswd-abf01895aea06b0e5c79687b68c424e62b205546.tar.gz openocd_libswd-abf01895aea06b0e5c79687b68c424e62b205546.tar.bz2 openocd_libswd-abf01895aea06b0e5c79687b68c424e62b205546.tar.xz openocd_libswd-abf01895aea06b0e5c79687b68c424e62b205546.zip |
ARM11: recognize ARM11 MPCore
And add my copyright. MPCore is untested, but it's the
only other ARM11 core to care about.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/target/arm11.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/target/arm11.c b/src/target/arm11.c index 970738c9..67a84095 100644 --- a/src/target/arm11.c +++ b/src/target/arm11.c @@ -6,6 +6,8 @@ * * * 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 * @@ -1209,20 +1211,24 @@ static int arm11_examine(struct target *target) 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); |