From: David Brownell Date: Sun, 20 Dec 2009 06:54:07 +0000 (-0800) Subject: ARM11: recognize ARM11 MPCore X-Git-Tag: v0.4.0-rc1~5 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=abf01895aea06b0e5c79687b68c424e62b205546;p=openocd 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 --- 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 * * * + * 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);