1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2017-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef SID_REG_H
9 #define SID_REG_H
10 
11 #include <mod_pcid.h>
12 
13 #include <fwk_macros.h>
14 
15 #include <stdint.h>
16 
17 struct sid_reg {
18             uint8_t   RESERVED0[0x40 - 0];
19     FWK_R   uint32_t  SYSTEM_ID;
20             uint8_t   RESERVED1[0x50 - 0x44];
21     FWK_R   uint32_t  SOC_ID;
22             uint8_t   RESERVED2[0x60 - 0x54];
23     FWK_R   uint32_t  NODE_ID;
24             uint8_t   RESERVED3[0x70 - 0x64];
25     FWK_R   uint32_t  SYSTEM_CFG;
26             uint8_t   RESERVED4[0xFD0 - 0x74];
27     const struct mod_pcid_registers pcid;
28 };
29 
30 #define SID_SYS_SOC_ID_PART_NUMBER_MASK UINT32_C(0xFFF)
31 
32 #define SID_SYS_SOC_ID_DESIGNER_ID_MASK UINT32_C(0xFF000)
33 #define SID_SYS_SOC_ID_DESIGNER_ID_POS  UINT32_C(12)
34 
35 #define SID_SYS_SOC_ID_MINOR_REVISION_MASK UINT32_C(0xF00000)
36 #define SID_SYS_SOC_ID_MINOR_REVISION_POS  UINT32_C(20)
37 
38 #define SID_SYS_SOC_ID_MAJOR_REVISION_MASK UINT32_C(0xF000000)
39 #define SID_SYS_SOC_ID_MAJOR_REVISION_POS  UINT32_C(24)
40 
41 #define SID_SYS_NODE_NUMBER_MASK        UINT32_C(0xFF)
42 #define SID_SYS_MULTI_CHIP_MODE_MASK    UINT32_C(0x100)
43 #define SID_SYS_MULTI_CHIP_MODE_POS     UINT32_C(8)
44 
45 #endif /* SID_REG_H */
46