Hi, I'm forwarding you a message from Joseph Yiu, see below.
Are you interested in adding those new IDs? If so, how do you suggest to proceed? Regards, Liviu > Begin forwarded message: > > From: Joseph Yiu <joseph....@arm.com> > Subject: CPU ID for Cortex-M52 > Date: 3 June 2024 at 17:08:55 EEST > To: Liviu Ionescu <i...@livius.net> > > Hi Liviu, > > I noticed that OpenOCD does not have CPU ID for Cortex-M52. Would you like to > add that to OpenOCD? > Here are the CPU ID details: > Cortex-M52 CPUID = 0x630FD242 > Implementor: Arm China = 0x63 (Cortex-M52 is a jointed project between Arm > China and Arm) > Part number: Cortex-M52 = 0xD24 > > In addition, Star-MC1 (Armv8.0-M processor from Arm China) ID details are as > follows: > > CPUID = 0x631F1320 > Implementor: Arm China = 0x63 > Part number: Star-MC1 = 0x132 > Technical Reference Manual : > https://www.armchina.com/download/Documents/Application-Notes/Technical-Reference-Manual?infoId=160 > > My proposal for code changes are as follows: > OpenOCD - Open On-Chip Debugger / Code / [437dde] /src/target/cortex_m.h > (sourceforge.net) > <https://sourceforge.net/p/openocd/code/ci/master/tree/src/target/cortex_m.h#l46> > > /** Known Arm Cortex masked CPU Ids > * This includes the implementor and part number, but _not_ the revision or > * patch fields. > */ > enum cortex_m_impl_part { > CORTEX_M_PARTNO_INVALID, > STAR_MC1_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM_CHINA, > 0x132), /* FIXME - confirm implementor! */ > CORTEX_M0_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xC20), > CORTEX_M1_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xC21), > CORTEX_M3_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xC23), > CORTEX_M4_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xC24), > CORTEX_M7_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xC27), > CORTEX_M0P_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xC60), > CORTEX_M23_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xD20), > CORTEX_M33_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xD21), > CORTEX_M35P_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xD31), > CORTEX_M52_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM_CHINA, > 0xD24), > CORTEX_M55_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xD22), > CORTEX_M85_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_ARM, 0xD23), > INFINEON_SLX2_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_INFINEON, 0xDB0), > REALTEK_M200_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_REALTEK, 0xd20), > REALTEK_M300_PARTNO = ARM_MAKE_CPUID(ARM_IMPLEMENTOR_REALTEK, 0xd22), > }; > > > OpenOCD - Open On-Chip Debugger / Code / [437dde] /src/target/cortex_m.c > (sourceforge.net) > <https://sourceforge.net/p/openocd/code/ci/master/tree/src/target/cortex_m.c#l108> > > { > .impl_part = CORTEX_M52_PARTNO, > .name = "Cortex-M52", > .arch = ARM_ARCH_V8M, > .flags = CORTEX_M_F_HAS_FPV5, > }, > > > > OpenOCD - Open On-Chip Debugger / Code / [437dde] /src/target/arm.h > (sourceforge.net) > <https://sourceforge.net/p/openocd/code/ci/master/tree/src/target/arm.h#l62> > > /** Known ARM implementor IDs */ > enum arm_implementor { > ARM_IMPLEMENTOR_ARM = 0x41, > ARM_IMPLEMENTOR_INFINEON = 0x49, > ARM_IMPLEMENTOR_REALTEK = 0x72, > ARM_IMPLEMENTOR_ARM_CHINA = 0x63, > }; > > > Regards, > Joseph > > > IMPORTANT NOTICE: The contents of this email and any attachments are > confidential and may also be privileged. If you are not the intended > recipient, please notify the sender immediately and do not disclose the > contents to any other person, use it for any purpose, or store or copy the > information in any medium. Thank you.