1 /*
2  * Copyright (c) 2024 Microchip Technology Inc.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef _MEC5_ECIA_V1_5_H
7 #define _MEC5_ECIA_V1_5_H
8 
9 /** @addtogroup Device_Peripheral_clusters
10   * @{
11   */
12 
13 /**
14   * @brief MEC_GIRQS [GIRQ] (ECIA GIRQ)
15   */
16 typedef struct mec_girqs_regs {
17   __IOM uint32_t  SOURCE;                       /*!< (@ 0x00000000) Individual latched interrupt source bits(R/W1C)            */
18   __IOM uint32_t  EN_SET;                       /*!< (@ 0x00000004) Individual interrupt enable set bits(R/W1S)                */
19   __IM  uint32_t  RESULT;                       /*!< (@ 0x00000008) Individual interrupt result(RO) = Source AND
20                                                                     EN_SET                                                     */
21   __IOM uint32_t  EN_CLR;                       /*!< (@ 0x0000000C) Individual interrupt enable clear bits(R/W1C)              */
22   __IM  uint32_t  RSVD;                         /*!< (@ 0x00000010) Not implemented                                            */
23 } MEC_GIRQS_Type;                               /*!< Size = 20 (0x14)                                                          */
24 
25 /** @} */ /* End of group Device_Peripheral_clusters */
26 
27 /** @addtogroup Device_Peripheral_peripherals
28   * @{
29   */
30 
31 /**
32   * @brief EC Interrupt Aggregator(ECIA) (MEC_ECIA0)
33   */
34 
35 typedef struct mec_ecia_regs {                  /*!< (@ 0x4000E000) MEC_ECIA0 Structure                                        */
36   __IOM MEC_GIRQS_Type GIRQ[19];                /*!< (@ 0x00000000) ECIA GIRQ                                                  */
37   __IM  uint32_t  RESERVED[33];
38   __IOM uint32_t  BLK_EN_SET;                   /*!< (@ 0x00000200) Bit map to enable aggregated GIRQ outputs                  */
39   __IOM uint32_t  BLK_EN_CLR;                   /*!< (@ 0x00000204) Bit map to disable aggregated GIRQ outputs                 */
40   __IM  uint32_t  BLK_ACTIVE;                   /*!< (@ 0x00000208) Read only bit map of active aggregated GIRQ outputs        */
41 } MEC_ECIA_Type;                                /*!< Size = 524 (0x20c)                                                        */
42 /** @} */ /* End of group Device_Peripheral_peripherals */
43 
44 /** @addtogroup EnumValue_clusters
45   * @{
46   */
47 /* =========================================================  GIRQ   ========================================================= */
48 typedef enum {                                  /*!< MEC_ECIA0_GIRQ                                                            */
49   MEC_GIRQ_IDX_GIRQ8                   = 0,     /*!< GIRQ8 : GIRQ08 array index                                                */
50   MEC_GIRQ_IDX_GIRQ9                   = 1,     /*!< GIRQ9 : GIRQ09 array index                                                */
51   MEC_GIRQ_IDX_GIRQ10                  = 2,     /*!< GIRQ10 : GIRQ10 array index                                               */
52   MEC_GIRQ_IDX_GIRQ11                  = 3,     /*!< GIRQ11 : GIRQ11 array index                                               */
53   MEC_GIRQ_IDX_GIRQ12                  = 4,     /*!< GIRQ12 : GIRQ12 array index                                               */
54   MEC_GIRQ_IDX_GIRQ13                  = 5,     /*!< GIRQ13 : GIRQ13 array index                                               */
55   MEC_GIRQ_IDX_GIRQ14                  = 6,     /*!< GIRQ14 : GIRQ14 array index                                               */
56   MEC_GIRQ_IDX_GIRQ15                  = 7,     /*!< GIRQ15 : GIRQ15 array index                                               */
57   MEC_GIRQ_IDX_GIRQ16                  = 8,     /*!< GIRQ16 : GIRQ16 array index                                               */
58   MEC_GIRQ_IDX_GIRQ17                  = 9,     /*!< GIRQ17 : GIRQ17 array index                                               */
59   MEC_GIRQ_IDX_GIRQ18                  = 10,    /*!< GIRQ18 : GIRQ18 array index                                               */
60   MEC_GIRQ_IDX_GIRQ19                  = 11,    /*!< GIRQ19 : GIRQ19 array index                                               */
61   MEC_GIRQ_IDX_GIRQ20                  = 12,    /*!< GIRQ20 : GIRQ20 array index                                               */
62   MEC_GIRQ_IDX_GIRQ21                  = 13,    /*!< GIRQ21 : GIRQ21 array index                                               */
63   MEC_GIRQ_IDX_GIRQ22                  = 14,    /*!< GIRQ22 : GIRQ22 array index                                               */
64   MEC_GIRQ_IDX_GIRQ23                  = 15,    /*!< GIRQ23 : GIRQ23 array index                                               */
65   MEC_GIRQ_IDX_GIRQ24                  = 16,    /*!< GIRQ24 : GIRQ24 array index                                               */
66   MEC_GIRQ_IDX_GIRQ25                  = 17,    /*!< GIRQ25 : GIRQ25 array index                                               */
67   MEC_GIRQ_IDX_GIRQ26                  = 18,    /*!< GIRQ26 : GIRQ26 array index                                               */
68 } MEC_GIRQ_IDX_Enum;
69 
70 /* GIRQ8 - GIRQ26 numerical value */
71 typedef enum {                            /*!< MEC_GIRQ                                              */
72   MEC_GIRQ08_ID                  = 8,     /*!< GIRQ8 ID data sheet number                            */
73   MEC_GIRQ09_ID                  = 9,     /*!< GIRQ9                                                 */
74   MEC_GIRQ10_ID                  = 10,    /*!< GIRQ10                                                */
75   MEC_GIRQ11_ID                  = 11,    /*!< GIRQ11                                                */
76   MEC_GIRQ12_ID                  = 12,    /*!< GIRQ12                                                */
77   MEC_GIRQ13_ID                  = 13,    /*!< GIRQ13                                                */
78   MEC_GIRQ14_ID                  = 14,    /*!< GIRQ14                                                */
79   MEC_GIRQ15_ID                  = 15,    /*!< GIRQ15                                                */
80   MEC_GIRQ16_ID                  = 16,    /*!< GIRQ16                                                */
81   MEC_GIRQ17_ID                  = 17,    /*!< GIRQ17                                                */
82   MEC_GIRQ18_ID                  = 18,    /*!< GIRQ18                                                */
83   MEC_GIRQ19_ID                  = 19,    /*!< GIRQ19                                                */
84   MEC_GIRQ20_ID                  = 20,    /*!< GIRQ20                                                */
85   MEC_GIRQ21_ID                  = 21,    /*!< GIRQ21                                                */
86   MEC_GIRQ22_ID                  = 22,    /*!< GIRQ22                                                */
87   MEC_GIRQ23_ID                  = 23,    /*!< GIRQ23                                                */
88   MEC_GIRQ24_ID                  = 24,    /*!< GIRQ24                                                */
89   MEC_GIRQ25_ID                  = 25,    /*!< GIRQ25                                                */
90   MEC_GIRQ26_ID                  = 26,    /*!< GIRQ26                                                */
91 } MEC_GIRQ_Enum;
92 
93 /** @} */ /* End of group EnumValue_clusters */
94 
95 #endif /* _MEC5_ECIA_V1_5_H */
96