1 /* 2 * Copyright (c) 2024 Microchip Technology Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef _MEC5_TFDP_V1_H 7 #define _MEC5_TFDP_V1_H 8 9 /** @addtogroup Device_Peripheral_peripherals 10 * @{ 11 */ 12 13 /** 14 * @brief Trace FIFO Debug Port (MEC_TFDP) 15 */ 16 17 typedef struct mec_tfdp_regs { /*!< (@ 0x40008C00) MEC_TFDP Structure */ 18 __IOM uint8_t DATA; /*!< (@ 0x00000000) TFDP data */ 19 __IM uint8_t RESERVED[3]; 20 __IOM uint8_t CTRL; /*!< (@ 0x00000004) TFDP control */ 21 } MEC_TFDP_Type; /*!< Size = 5 (0x5) */ 22 23 /** @} */ /* End of group Device_Peripheral_peripherals */ 24 25 /** @addtogroup PosMask_peripherals 26 * @{ 27 */ 28 /* ========================================================= CTRL ========================================================== */ 29 #define MEC_TFDP_CTRL_ENABLE_Pos (0UL) /*!< ENABLE (Bit 0) */ 30 #define MEC_TFDP_CTRL_ENABLE_Msk (0x1UL) /*!< ENABLE (Bitfield-Mask: 0x01) */ 31 #define MEC_TFDP_CTRL_EDGE_SEL_Pos (1UL) /*!< EDGE_SEL (Bit 1) */ 32 #define MEC_TFDP_CTRL_EDGE_SEL_Msk (0x2UL) /*!< EDGE_SEL (Bitfield-Mask: 0x01) */ 33 #define MEC_TFDP_CTRL_CLKDIV_Pos (2UL) /*!< CLKDIV (Bit 2) */ 34 #define MEC_TFDP_CTRL_CLKDIV_Msk (0xcUL) /*!< CLKDIV (Bitfield-Mask: 0x03) */ 35 #define MEC_TFDP_CTRL_IPDLY_Pos (4UL) /*!< IPDLY (Bit 4) */ 36 #define MEC_TFDP_CTRL_IPDLY_Msk (0x70UL) /*!< IPDLY (Bitfield-Mask: 0x07) */ 37 38 /** @} */ /* End of group PosMask_peripherals */ 39 40 /** @addtogroup EnumValue_peripherals 41 * @{ 42 */ 43 /* ========================================================= CTRL ========================================================== */ 44 /* ============================================= MEC_TFDP CTRL ENABLE [0..0] ============================================== */ 45 typedef enum { /*!< MEC_TFDP_CTRL_ENABLE */ 46 MEC_TFDP_CTRL_ENABLE_ON = 1, /*!< ON : Enable */ 47 } MEC_TFDP_CTRL_ENABLE_Enum; 48 49 /* ============================================ MEC_TFDP CTRL EDGE_SEL [1..1] ============================================= */ 50 typedef enum { /*!< MEC_TFDP_CTRL_EDGE_SEL */ 51 MEC_TFDP_CTRL_EDGE_SEL_RISING = 0, /*!< RISING : Rising Edge */ 52 MEC_TFDP_CTRL_EDGE_SEL_FALLING = 1, /*!< FALLING : Falling Edge */ 53 } MEC_TFDP_CTRL_EDGE_SEL_Enum; 54 55 /* ============================================= MEC_TFDP CTRL CLKDIV [2..3] ============================================== */ 56 typedef enum { /*!< MEC_TFDP_CTRL_CLKDIV */ 57 MEC_TFDP_CTRL_CLKDIV_24M = 0, /*!< 24M : 24MHz */ 58 MEC_TFDP_CTRL_CLKDIV_12M = 1, /*!< 12M : 12MHz */ 59 MEC_TFDP_CTRL_CLKDIV_6M = 2, /*!< 6M : 6MHz */ 60 } MEC_TFDP_CTRL_CLKDIV_Enum; 61 62 /* ============================================== MEC_TFDP CTRL IPDLY [4..6] ============================================== */ 63 typedef enum { /*!< MEC_TFDP_CTRL_IPDLY */ 64 MEC_TFDP_CTRL_IPDLY_1CLK = 0, /*!< 1CLK : 1 TFDP clock1 delay */ 65 MEC_TFDP_CTRL_IPDLY_2CLK = 1, /*!< 2CLK : 2 TFDP clocks delay */ 66 MEC_TFDP_CTRL_IPDLY_3CLK = 2, /*!< 3CLK : 3 TFDP clocks delay */ 67 MEC_TFDP_CTRL_IPDLY_4CLK = 3, /*!< 4CLK : 4 TFDP clocks delay */ 68 MEC_TFDP_CTRL_IPDLY_5CLK = 4, /*!< 5CLK : 5 TFDP clocks delay */ 69 MEC_TFDP_CTRL_IPDLY_6CLK = 5, /*!< 6CLK : 6 TFDP clocks delay */ 70 MEC_TFDP_CTRL_IPDLY_7CLK = 6, /*!< 7CLK : 7 TFDP clocks delay */ 71 MEC_TFDP_CTRL_IPDLY_8CLK = 7, /*!< 8CLK : 8 TFDP clocks delay */ 72 } MEC_TFDP_CTRL_IPDLY_Enum; 73 74 /** @} */ /* End of group EnumValue_peripherals */ 75 76 #endif /* _MEC5_TFDP_V1_H */ 77