1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2018-2023, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef SGI_VARIANT_H 8*91f16700Schasinglulu #define SGI_VARIANT_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu /* SSC_VERSION values for SGI575 */ 11*91f16700Schasinglulu #define SGI575_SSC_VER_PART_NUM 0x0783 12*91f16700Schasinglulu 13*91f16700Schasinglulu /* SID Version values for RD-N1E1-Edge */ 14*91f16700Schasinglulu #define RD_N1E1_EDGE_SID_VER_PART_NUM 0x0786 15*91f16700Schasinglulu #define RD_E1_EDGE_CONFIG_ID 0x2 16*91f16700Schasinglulu 17*91f16700Schasinglulu /* SID Version values for RD-V1 */ 18*91f16700Schasinglulu #define RD_V1_SID_VER_PART_NUM 0x078a 19*91f16700Schasinglulu 20*91f16700Schasinglulu /* SID Version values for RD-N2 */ 21*91f16700Schasinglulu #define RD_N2_SID_VER_PART_NUM 0x07B7 22*91f16700Schasinglulu 23*91f16700Schasinglulu /* SID Version values for RD-N2 variants */ 24*91f16700Schasinglulu #define RD_N2_CFG1_SID_VER_PART_NUM 0x07B6 25*91f16700Schasinglulu #define RD_N2_CFG3_SID_VER_PART_NUM 0x07F1 26*91f16700Schasinglulu 27*91f16700Schasinglulu /* SID Version values for RD-V2 */ 28*91f16700Schasinglulu #define RD_V2_SID_VER_PART_NUM 0x07F2 29*91f16700Schasinglulu #define RD_V2_CONFIG_ID 0x1 30*91f16700Schasinglulu 31*91f16700Schasinglulu /* Structure containing SGI platform variant information */ 32*91f16700Schasinglulu typedef struct sgi_platform_info { 33*91f16700Schasinglulu unsigned int platform_id; /* Part Number of the platform */ 34*91f16700Schasinglulu unsigned int config_id; /* Config Id of the platform */ 35*91f16700Schasinglulu unsigned int chip_id; /* Chip Id or Node number */ 36*91f16700Schasinglulu unsigned int multi_chip_mode; /* Multi-chip mode availability */ 37*91f16700Schasinglulu } sgi_platform_info_t; 38*91f16700Schasinglulu 39*91f16700Schasinglulu extern sgi_platform_info_t sgi_plat_info; 40*91f16700Schasinglulu 41*91f16700Schasinglulu /* returns the part number of the platform*/ 42*91f16700Schasinglulu unsigned int plat_arm_sgi_get_platform_id(void); 43*91f16700Schasinglulu 44*91f16700Schasinglulu /* returns the configuration id of the platform */ 45*91f16700Schasinglulu unsigned int plat_arm_sgi_get_config_id(void); 46*91f16700Schasinglulu 47*91f16700Schasinglulu /* returns true if operating in multi-chip configuration */ 48*91f16700Schasinglulu unsigned int plat_arm_sgi_get_multi_chip_mode(void); 49*91f16700Schasinglulu 50*91f16700Schasinglulu #endif /* SGI_VARIANT_H */ 51