]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/PIC32MEC14xx_MPLAB/src/include/MEC14xx/mec14xx_tfdp.h
Add PIC32MEC14xx port and demo application.
[freertos] / FreeRTOS / Demo / PIC32MEC14xx_MPLAB / src / include / MEC14xx / mec14xx_tfdp.h
1 /*****************************************************************************\r
2 * Copyright 2014 Microchip Technology Inc. and its subsidiaries.\r
3 * You may use this software and any derivatives exclusively with\r
4 * Microchip products.\r
5 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS".\r
6 * NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,\r
7 * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,\r
8 * AND FITNESS FOR A PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP\r
9 * PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.\r
10 * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,\r
11 * INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND\r
12 * WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS\r
13 * BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE.\r
14 * TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL\r
15 * CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF\r
16 * FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.\r
17 * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE\r
18 * OF THESE TERMS.\r
19 *****************************************************************************/\r
20 \r
21 \r
22 /** @file mec14xx_tfdp.h\r
23  *MEC14xx TRACE FIFO Data Port definitions\r
24  */\r
25 /** @defgroup MEC14xx Peripherals TFDP\r
26  */\r
27 \r
28 #ifndef _MEC14XX_TFDP_H\r
29 #define _MEC14XX_TFDP_H\r
30 \r
31 #include <stdint.h>\r
32 \r
33 #ifdef __cplusplus\r
34 extern "C" {\r
35 #endif\r
36 \r
37 #define TFDP_NUM_INSTANCES  (1u)\r
38 \r
39 #define TFDP_FRAME_START   (0xFD)\r
40     \r
41     \r
42 //\r
43 // Offset +00h TFDP Data Register: 8-bit R/W\r
44 //     \r
45 #define TFDP_DATA_REG_OFS       (0ul)\r
46 #define TFDP_DATA_REG_MASK      (0xFFul)\r
47 \r
48 //\r
49 // Offset +04h TFDP Control Register 8-bit R/W\r
50 //\r
51 #define TFDP_CTRL_REG_OFS           (0x04ul)\r
52 #define TFDP_CTRL_REG_MASK          (0x7Ful)\r
53 //\r
54 #define TFDP_CTRL_ENABLE_BITPOS     (0u)\r
55 #define TFDP_CTRL_EDGE_SEL_BITPOS   (1u)\r
56 #define TFDP_CTRL_DIVSEL_BITPOS     (2ul)\r
57 #define TFDP_CTRL_IP_DELAY_BITPOS   (4ul)\r
58 // Enable/disable\r
59 #define TFDP_CTRL_ENABLE            (1u << (TFDP_CTRL_ENABLE_BITPOS))\r
60 // Select clock edge data on which data is shifted out\r
61 #define TFDP_CTRL_RISING_EDGE       (0u << (TFDP_CTRL_EDGE_SEL_BITPOS))\r
62 #define TFDP_CTRL_FALLING_EDGE      (1u << (TFDP_CTRL_EDGE_SEL_BITPOS))\r
63 // TFDP Clock divisor\r
64 #define TFDP_CTRL_CLK_DIV2          (0u << (TFDP_CTRL_DIVSEL_BITPOS))\r
65 #define TFDP_CTRL_CLK_DIV4          (1u << (TFDP_CTRL_DIVSEL_BITPOS))\r
66 #define TFDP_CTRL_CLK_DIV8          (2u << (TFDP_CTRL_DIVSEL_BITPOS))\r
67 #define TFDP_CTRL_CLK_DIV2_RSVD     (3u << (TFDP_CTRL_DIVSEL_BITPOS))\r
68 // Number of clocks to delay between each byte\r
69 // Note: this will affect time TFDP block holds off CPU on next \r
70 // write to TFDP data register.\r
71 #define TFDP_CTRL_IP_1CLKS          (0u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
72 #define TFDP_CTRL_IP_2CLKS          (1u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
73 #define TFDP_CTRL_IP_3CLKS          (2u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
74 #define TFDP_CTRL_IP_4CLKS          (3u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
75 #define TFDP_CTRL_IP_5CLKS          (4u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
76 #define TFDP_CTRL_IP_6CLKS          (5u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
77 #define TFDP_CTRL_IP_7CLKS          (6u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
78 #define TFDP_CTRL_IP_8CLKS          (7u << (TFDP_CTRL_IP_DELAY_BITPOS))\r
79 \r
80 \r
81 #ifdef __cplusplus\r
82 }\r
83 #endif\r
84 \r
85 #endif // #ifndef _MEC14XX_TFDP_H\r
86 /* end mec14xx_tfdp.h */\r
87 /**   @}\r
88  */\r
89 \r