1 /* 2 * Copyright (c) 2024 Microchip Technology Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef _MEC5_BCL_V1_H 7 #define _MEC5_BCL_V1_H 8 9 /** @addtogroup Device_Peripheral_peripherals 10 * @{ 11 */ 12 13 /** 14 * @brief BC-Link controller (MEC_BCL0) 15 */ 16 17 typedef struct mec_bcl_regs { /*!< (@ 0x4000CD00) MEC_BCL0 Structure */ 18 __IOM uint32_t STATUS; /*!< (@ 0x00000000) BC-Link status */ 19 __IOM uint32_t DESTA; /*!< (@ 0x00000004) BC-Link destination address */ 20 __IOM uint32_t DATA; /*!< (@ 0x00000008) BC-Link data */ 21 __IOM uint32_t CLKSEL; /*!< (@ 0x0000000C) BC-Link clock select */ 22 } MEC_BCL_Type; /*!< Size = 16 (0x10) */ 23 24 /** @} */ /* End of group Device_Peripheral_peripherals */ 25 26 /** @addtogroup PosMask_peripherals 27 * @{ 28 */ 29 /* ======================================================== STATUS ========================================================= */ 30 #define MEC_BCL_STATUS_BUSY_Pos (0UL) /*!< BUSY (Bit 0) */ 31 #define MEC_BCL_STATUS_BUSY_Msk (0x1UL) /*!< BUSY (Bitfield-Mask: 0x01) */ 32 #define MEC_BCL_STATUS_BCLR_IEN_Pos (4UL) /*!< BCLR_IEN (Bit 4) */ 33 #define MEC_BCL_STATUS_BCLR_IEN_Msk (0x10UL) /*!< BCLR_IEN (Bitfield-Mask: 0x01) */ 34 #define MEC_BCL_STATUS_BERR_IEN_Pos (5UL) /*!< BERR_IEN (Bit 5) */ 35 #define MEC_BCL_STATUS_BERR_IEN_Msk (0x20UL) /*!< BERR_IEN (Bitfield-Mask: 0x01) */ 36 #define MEC_BCL_STATUS_BCERR_Pos (6UL) /*!< BCERR (Bit 6) */ 37 #define MEC_BCL_STATUS_BCERR_Msk (0x40UL) /*!< BCERR (Bitfield-Mask: 0x01) */ 38 #define MEC_BCL_STATUS_SRST_Pos (7UL) /*!< SRST (Bit 7) */ 39 #define MEC_BCL_STATUS_SRST_Msk (0x80UL) /*!< SRST (Bitfield-Mask: 0x01) */ 40 /** @} */ /* End of group PosMask_peripherals */ 41 42 /** @addtogroup EnumValue_peripherals 43 * @{ 44 */ 45 /* ======================================================== STATUS ========================================================= */ 46 /* ============================================== MEC_BCL STATUS BUSY [0..0] ============================================== */ 47 typedef enum { /*!< MEC_BCL_STATUS_BUSY */ 48 MEC_BCL_STATUS_BUSY_ACTIVE = 1, /*!< ACTIVE : Active */ 49 } MEC_BCL_STATUS_BUSY_Enum; 50 51 /* ============================================ MEC_BCL STATUS BCLR_IEN [4..4] ============================================ */ 52 typedef enum { /*!< MEC_BCL_STATUS_BCLR_IEN */ 53 MEC_BCL_STATUS_BCLR_IEN_EN = 1, /*!< EN : Enable */ 54 } MEC_BCL_STATUS_BCLR_IEN_Enum; 55 56 /* ============================================ MEC_BCL STATUS BERR_IEN [5..5] ============================================ */ 57 typedef enum { /*!< MEC_BCL_STATUS_BERR_IEN */ 58 MEC_BCL_STATUS_BERR_IEN_EN = 1, /*!< EN : Enable */ 59 } MEC_BCL_STATUS_BERR_IEN_Enum; 60 61 /* ============================================= MEC_BCL STATUS BCERR [6..6] ============================================== */ 62 typedef enum { /*!< MEC_BCL_STATUS_BCERR */ 63 MEC_BCL_STATUS_BCERR_ACTIVE = 1, /*!< ACTIVE : Active */ 64 } MEC_BCL_STATUS_BCERR_Enum; 65 66 /* ============================================== MEC_BCL STATUS SRST [7..7] ============================================== */ 67 typedef enum { /*!< MEC_BCL_STATUS_SRST */ 68 MEC_BCL_STATUS_SRST_EN = 1, /*!< EN : Enable */ 69 } MEC_BCL_STATUS_SRST_Enum; 70 71 /** @} */ /* End of group EnumValue_peripherals */ 72 73 #endif /* _MEC5_BCL_V1_H */ 74