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.



Reply via email to