1 /* 2 * Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef NRD_VARIANT_H 8 #define NRD_VARIANT_H 9 10 /* SID Version values for RD-N2 */ 11 #define RD_N2_SID_VER_PART_NUM 0x07B7 12 13 /* SID Version values for RD-N2 variants */ 14 #define RD_N2_CFG1_SID_VER_PART_NUM 0x07B6 15 #define RD_N2_CFG3_SID_VER_PART_NUM 0x07F1 16 17 /* SID Version values for RD-V2 */ 18 #define RD_V2_SID_VER_PART_NUM 0x07F2 19 #define RD_V2_CONFIG_ID 0x1 20 21 /* SID Version values for RD-V3 */ 22 #define RD_V3_SID_VER_PART_NUM 0x07EE 23 #define RD_V3_CONFIG_ID 0x0 24 25 /* SID Version values for RD-V3 variants */ 26 #define RD_V3_CFG1_SID_VER_PART_NUM 0x07F9 27 #define RD_V3_CFG2_SID_VER_PART_NUM 0x07EE 28 29 /* Structure containing Neoverse RD platform variant information */ 30 typedef struct nrd_platform_info { 31 unsigned int platform_id; /* Part Number of the platform */ 32 unsigned int config_id; /* Config Id of the platform */ 33 unsigned int chip_id; /* Chip Id or Node number */ 34 unsigned int multi_chip_mode; /* Multi-chip mode availability */ 35 } nrd_platform_info_t; 36 37 extern nrd_platform_info_t nrd_plat_info; 38 39 /* returns the part number of the platform*/ 40 unsigned int plat_arm_nrd_get_platform_id(void); 41 42 /* returns the configuration id of the platform */ 43 unsigned int plat_arm_nrd_get_config_id(void); 44 45 /* returns true if operating in multi-chip configuration */ 46 unsigned int plat_arm_nrd_get_multi_chip_mode(void); 47 48 #endif /* NRD_VARIANT_H */ 49