14ced5956SRohit Mathew /* 2*a0232015SRohit Mathew * Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved. 34ced5956SRohit Mathew * 44ced5956SRohit Mathew * SPDX-License-Identifier: BSD-3-Clause 54ced5956SRohit Mathew */ 64ced5956SRohit Mathew 74ced5956SRohit Mathew #ifndef NRD_VARIANT_H 84ced5956SRohit Mathew #define NRD_VARIANT_H 94ced5956SRohit Mathew 104ced5956SRohit Mathew /* SID Version values for RD-N2 */ 114ced5956SRohit Mathew #define RD_N2_SID_VER_PART_NUM 0x07B7 124ced5956SRohit Mathew 134ced5956SRohit Mathew /* SID Version values for RD-N2 variants */ 144ced5956SRohit Mathew #define RD_N2_CFG1_SID_VER_PART_NUM 0x07B6 154ced5956SRohit Mathew #define RD_N2_CFG3_SID_VER_PART_NUM 0x07F1 164ced5956SRohit Mathew 174ced5956SRohit Mathew /* SID Version values for RD-V2 */ 184ced5956SRohit Mathew #define RD_V2_SID_VER_PART_NUM 0x07F2 194ced5956SRohit Mathew #define RD_V2_CONFIG_ID 0x1 204ced5956SRohit Mathew 21137ab5cbSJerry Wang /* SID Version values for RD-V3 */ 22137ab5cbSJerry Wang #define RD_V3_SID_VER_PART_NUM 0x07EE 23137ab5cbSJerry Wang #define RD_V3_CONFIG_ID 0x0 24c0513e0fSRohit Mathew 25137ab5cbSJerry Wang /* SID Version values for RD-V3 variants */ 26137ab5cbSJerry Wang #define RD_V3_CFG1_SID_VER_PART_NUM 0x07F9 27137ab5cbSJerry Wang #define RD_V3_CFG2_SID_VER_PART_NUM 0x07EE 286a0cb487SRohit Mathew 2975414f71SRohit Mathew /* Structure containing Neoverse RD platform variant information */ 3040ea4208SRohit Mathew typedef struct nrd_platform_info { 314ced5956SRohit Mathew unsigned int platform_id; /* Part Number of the platform */ 324ced5956SRohit Mathew unsigned int config_id; /* Config Id of the platform */ 334ced5956SRohit Mathew unsigned int chip_id; /* Chip Id or Node number */ 344ced5956SRohit Mathew unsigned int multi_chip_mode; /* Multi-chip mode availability */ 3540ea4208SRohit Mathew } nrd_platform_info_t; 364ced5956SRohit Mathew 3740ea4208SRohit Mathew extern nrd_platform_info_t nrd_plat_info; 384ced5956SRohit Mathew 394ced5956SRohit Mathew /* returns the part number of the platform*/ 4040ea4208SRohit Mathew unsigned int plat_arm_nrd_get_platform_id(void); 414ced5956SRohit Mathew 424ced5956SRohit Mathew /* returns the configuration id of the platform */ 4340ea4208SRohit Mathew unsigned int plat_arm_nrd_get_config_id(void); 444ced5956SRohit Mathew 454ced5956SRohit Mathew /* returns true if operating in multi-chip configuration */ 4640ea4208SRohit Mathew unsigned int plat_arm_nrd_get_multi_chip_mode(void); 474ced5956SRohit Mathew 484ced5956SRohit Mathew #endif /* NRD_VARIANT_H */ 49