xref: /rk3399_ARM-atf/plat/arm/board/neoverse_rd/common/include/nrd_variant.h (revision e0c2b73694cca63d1ad41421ed2906b2fcc2ef19)
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