1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _MEC5_CHIP_CFG_V1_2_H
7 #define _MEC5_CHIP_CFG_V1_2_H
8 
9 /** @addtogroup Device_Peripheral_peripherals
10   * @{
11   */
12 
13 /**
14   * @brief Chip configuration (MEC_CHIP_CFG)
15   */
16 
17 typedef struct mec_chip_cfg_regs {              /*!< (@ 0x400FFF00) MEC_CHIP_CFG Structure                                     */
18   __IM  uint32_t  RESERVED;
19   __IM  uint16_t  RESERVED1;
20   __IM  uint8_t   RESERVED2;
21   __IOM uint8_t   LDSEL;                        /*!< (@ 0x00000007) Chip config logical device select                          */
22   __IM  uint32_t  RESERVED3[5];
23   __IM  uint32_t  DEVID;                        /*!< (@ 0x0000001C) Chip config device ID and revision                         */
24   __IM  uint8_t   LEGID;                        /*!< (@ 0x00000020) Chip config legacy ID                                      */
25   __IM  uint8_t   RESERVED4;
26   __IM  uint16_t  RESERVED5;
27   __IM  uint8_t   OTPID;                        /*!< (@ 0x00000024) Chip config OTP ID                                         */
28   __IM  uint8_t   VDID;                         /*!< (@ 0x00000025) Chip config validation ID                                  */
29   __IM  uint16_t  BRID;                         /*!< (@ 0x00000026) Chip config Boot-ROM ID                                    */
30 } MEC_CHIP_CFG_Type;                            /*!< Size = 40 (0x28)                                                          */
31 
32 /** @} */ /* End of group Device_Peripheral_peripherals */
33 
34 /** @addtogroup PosMask_peripherals
35   * @{
36   */
37 /* =========================================================  LDSEL  ========================================================= */
38 /* =========================================================  DEVID  ========================================================= */
39 #define MEC_CHIP_CFG_DEVID_REV_Pos        (0UL)                     /*!< REV (Bit 0)                                           */
40 #define MEC_CHIP_CFG_DEVID_REV_Msk        (0xffUL)                  /*!< REV (Bitfield-Mask: 0xff)                             */
41 #define MEC_CHIP_CFG_DEVID_PKG_Pos        (8UL)                     /*!< PKG (Bit 8)                                           */
42 #define MEC_CHIP_CFG_DEVID_PKG_Msk        (0xf00UL)                 /*!< PKG (Bitfield-Mask: 0x0f)                             */
43 #define MEC_CHIP_CFG_DEVID_FAM_Pos        (12UL)                    /*!< FAM (Bit 12)                                          */
44 #define MEC_CHIP_CFG_DEVID_FAM_Msk        (0xf000UL)                /*!< FAM (Bitfield-Mask: 0x0f)                             */
45 #define MEC_CHIP_CFG_DEVID_DID_Pos        (16UL)                    /*!< DID (Bit 16)                                          */
46 #define MEC_CHIP_CFG_DEVID_DID_Msk        (0xffff0000UL)            /*!< DID (Bitfield-Mask: 0xffff)                           */
47 /* =========================================================  LEGID  ========================================================= */
48 /* =========================================================  OTPID  ========================================================= */
49 /* =========================================================  VDID  ========================================================== */
50 /* =========================================================  BRID  ========================================================== */
51 /** @} */ /* End of group PosMask_peripherals */
52 
53 /** @addtogroup EnumValue_peripherals
54   * @{
55   */
56 /* =========================================================  LDSEL  ========================================================= */
57 /* =========================================================  DEVID  ========================================================= */
58 /* ============================================  MEC_CHIP_CFG DEVID PKG [8..11]  ============================================= */
59 typedef enum {                                  /*!< MEC_CHIP_CFG_DEVID_PKG                                                    */
60   MEC_CHIP_CFG_DEVID_PKG_UNDEF         = 0,     /*!< UNDEF : Undefined                                                         */
61   MEC_CHIP_CFG_DEVID_PKG_64PIN         = 1,     /*!< 64PIN : 64-pin                                                            */
62   MEC_CHIP_CFG_DEVID_PKG_84PIN         = 2,     /*!< 84PIN : 84-pin                                                            */
63   MEC_CHIP_CFG_DEVID_PKG_128PIN        = 3,     /*!< 128PIN : 128-pin                                                          */
64   MEC_CHIP_CFG_DEVID_PKG_144PIN        = 4,     /*!< 144PIN : 144-pin                                                          */
65   MEC_CHIP_CFG_DEVID_PKG_176PIN        = 7,     /*!< 176PIN : 176-pin                                                          */
66 } MEC_CHIP_CFG_DEVID_PKG_Enum;
67 
68 /* ============================================  MEC_CHIP_CFG DEVID FAM [12..15]  ============================================ */
69 typedef enum {                                  /*!< MEC_CHIP_CFG_DEVID_FAM                                                    */
70   MEC_CHIP_CFG_DEVID_FAM_UNDEF         = 0,     /*!< UNDEF : Undefined                                                         */
71   MEC_CHIP_CFG_DEVID_FAM_F1            = 1,     /*!< F1 : Family                                                               */
72   MEC_CHIP_CFG_DEVID_FAM_F2            = 2,     /*!< F2 : Family                                                               */
73   MEC_CHIP_CFG_DEVID_FAM_F3            = 3,     /*!< F3 : Family                                                               */
74   MEC_CHIP_CFG_DEVID_FAM_F4            = 4,     /*!< F4 : Family                                                               */
75   MEC_CHIP_CFG_DEVID_FAM_F5            = 5,     /*!< F5 : Family                                                               */
76   MEC_CHIP_CFG_DEVID_FAM_F6            = 6,     /*!< F6 : Family                                                               */
77   MEC_CHIP_CFG_DEVID_FAM_F7            = 7,     /*!< F7 : Family                                                               */
78 } MEC_CHIP_CFG_DEVID_FAM_Enum;
79 
80 /* ============================================  MEC_CHIP_CFG DEVID DID [16..31]  ============================================ */
81 typedef enum {                                  /*!< MEC_CHIP_CFG_DEVID_DID                                                    */
82   MEC_CHIP_CFG_DEVID_DID_MEC15XX       = 32,    /*!< MEC15XX : MEC15XX ID                                                      */
83   MEC_CHIP_CFG_DEVID_DID_MEC172X       = 34,    /*!< MEC172X : MEC172X ID                                                      */
84   MEC_CHIP_CFG_DEVID_DID_MEC174X       = 38,    /*!< MEC174X : MEC174X ID                                                      */
85   MEC_CHIP_CFG_DEVID_DID_MEC175X       = 41,    /*!< MEC175X : MEC175X ID                                                      */
86 } MEC_CHIP_CFG_DEVID_DID_Enum;
87 
88 /** @} */ /* End of group EnumValue_peripherals */
89 
90 #endif /* _MEC5_CHIP_CFG_V1_2_H */
91