2023-07-04 15:32:46 +03:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2023, Texas Instruments Incorporated
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
|
* are met:
|
|
|
|
|
*
|
|
|
|
|
* * Redistributions of source code must retain the above copyright
|
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
|
*
|
|
|
|
|
* * Redistributions in binary form must reproduce the above copyright
|
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
|
*
|
|
|
|
|
* * Neither the name of Texas Instruments Incorporated nor the names of
|
|
|
|
|
* its contributors may be used to endorse or promote products derived
|
|
|
|
|
* from this software without specific prior written permission.
|
|
|
|
|
*
|
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
|
|
|
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
|
|
|
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
|
|
|
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
|
|
|
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
|
|
|
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
|
|
|
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
|
|
|
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
|
|
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @file ti_uart_pruss_intc_mapping.h
|
|
|
|
|
*
|
|
|
|
|
* @brief Pruss interrupt mapping related macros
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef TI_UART_PRUSS_INTC_MAPPING_H
|
|
|
|
|
#define TI_UART_PRUSS_INTC_MAPPING_H
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define IEP_TIM_CAP_CMP_EVENT 7
|
|
|
|
|
#define SYNC1_OUT_EVENT 13
|
|
|
|
|
#define SYNC0_OUT_EVENT 14
|
|
|
|
|
|
|
|
|
|
/* SYS_EVT_16-31 can be used for generating interrupts for IPC with hosts/prus etc */
|
|
|
|
|
#define PRU_ARM_EVENT00 16
|
|
|
|
|
#define PRU_ARM_EVENT01 17
|
|
|
|
|
#define PRU_ARM_EVENT02 18
|
|
|
|
|
#define PRU_ARM_EVENT03 19
|
|
|
|
|
#define PRU_ARM_EVENT04 20
|
|
|
|
|
#define PRU_ARM_EVENT05 21
|
|
|
|
|
#define PRU_ARM_EVENT06 22
|
|
|
|
|
#define PRU_ARM_EVENT07 23
|
|
|
|
|
#define PRU_ARM_EVENT08 24
|
|
|
|
|
#define PRU_ARM_EVENT09 25
|
|
|
|
|
#define PRU_ARM_EVENT10 26
|
|
|
|
|
#define PRU_ARM_EVENT11 27
|
|
|
|
|
#define PRU_ARM_EVENT12 28
|
|
|
|
|
#define PRU_ARM_EVENT13 29
|
|
|
|
|
#define PRU_ARM_EVENT14 30
|
|
|
|
|
#define PRU_ARM_EVENT15 31
|
|
|
|
|
|
|
|
|
|
#define PRU0_RX_ERR32_EVENT 33
|
|
|
|
|
#define PORT1_TX_UNDERFLOW 39
|
|
|
|
|
#define PORT1_TX_OVERFLOW 40
|
|
|
|
|
#define MII_LINK0_EVENT 41
|
|
|
|
|
#define PORT1_RX_EOF_EVENT 42
|
|
|
|
|
#define PRU1_RX_ERR32_EVENT 45
|
|
|
|
|
#define PORT2_TX_UNDERFLOW 51
|
|
|
|
|
#define PORT2_TX_OVERFLOW 53
|
|
|
|
|
#define PORT2_RX_EOF_EVENT 54
|
|
|
|
|
#define MII_LINK1_EVENT 53
|
|
|
|
|
|
|
|
|
|
#define CHANNEL0 0
|
|
|
|
|
#define CHANNEL1 1
|
|
|
|
|
#define CHANNEL2 2
|
|
|
|
|
#define CHANNEL3 3
|
|
|
|
|
#define CHANNEL4 4
|
|
|
|
|
#define CHANNEL5 5
|
|
|
|
|
#define CHANNEL6 6
|
|
|
|
|
#define CHANNEL7 7
|
|
|
|
|
#define CHANNEL8 8
|
|
|
|
|
#define CHANNEL9 9
|
|
|
|
|
|
|
|
|
|
#define PRU0 0
|
|
|
|
|
#define PRU1 1
|
|
|
|
|
#define PRU_EVTOUT0 2
|
|
|
|
|
#define PRU_EVTOUT1 3
|
|
|
|
|
#define PRU_EVTOUT2 4
|
|
|
|
|
#define PRU_EVTOUT3 5
|
|
|
|
|
#define PRU_EVTOUT4 6
|
|
|
|
|
#define PRU_EVTOUT5 7
|
|
|
|
|
#define PRU_EVTOUT6 8
|
|
|
|
|
#define PRU_EVTOUT7 9
|
|
|
|
|
|
|
|
|
|
#define PRU0_HOSTEN_MASK ((uint32_t)0x0001)
|
|
|
|
|
#define PRU1_HOSTEN_MASK ((uint32_t)0x0002)
|
|
|
|
|
#define PRU_EVTOUT0_HOSTEN_MASK ((uint32_t)0x0004)
|
|
|
|
|
#define PRU_EVTOUT1_HOSTEN_MASK ((uint32_t)0x0008)
|
|
|
|
|
#define PRU_EVTOUT2_HOSTEN_MASK ((uint32_t)0x0010)
|
|
|
|
|
#define PRU_EVTOUT3_HOSTEN_MASK ((uint32_t)0x0020)
|
|
|
|
|
#define PRU_EVTOUT4_HOSTEN_MASK ((uint32_t)0x0040)
|
|
|
|
|
#define PRU_EVTOUT5_HOSTEN_MASK ((uint32_t)0x0080)
|
|
|
|
|
#define PRU_EVTOUT6_HOSTEN_MASK ((uint32_t)0x0100)
|
|
|
|
|
#define PRU_EVTOUT7_HOSTEN_MASK ((uint32_t)0x0200)
|
|
|
|
|
|
|
|
|
|
#define SYS_EVT_POLARITY_LOW 0
|
|
|
|
|
#define SYS_EVT_POLARITY_HIGH 1
|
|
|
|
|
|
|
|
|
|
#define SYS_EVT_TYPE_PULSE 0
|
|
|
|
|
#define SYS_EVT_TYPE_EDGE 1
|
|
|
|
|
|
|
|
|
|
#define PRUICSS_INTC_INITDATA { \
|
2023-11-24 16:35:34 +03:00
|
|
|
{ IEP_TIM_CAP_CMP_EVENT, PRU_ARM_EVENT02, PRU_ARM_EVENT03, PRU_ARM_EVENT04, PRU_ARM_EVENT05, PRU_ARM_EVENT06, PRU_ARM_EVENT07,\
|
|
|
|
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* initializing member [7-15] for Misra C standards */ \
|
2023-07-04 15:32:46 +03:00
|
|
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* initializing member [16-31] for Misra C standards */ \
|
|
|
|
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* initializing member [32-47] for Misra C standards */ \
|
|
|
|
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, /* initializing member [48-63] for Misra C standards */ \
|
|
|
|
|
{ {IEP_TIM_CAP_CMP_EVENT, CHANNEL1, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
|
|
|
|
{PRU_ARM_EVENT02, CHANNEL2, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
|
|
|
|
{PRU_ARM_EVENT03, CHANNEL3, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
2023-11-24 16:35:34 +03:00
|
|
|
{PRU_ARM_EVENT04, CHANNEL4, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
|
|
|
|
{PRU_ARM_EVENT05, CHANNEL5, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
|
|
|
|
{PRU_ARM_EVENT06, CHANNEL6, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
|
|
|
|
{PRU_ARM_EVENT07, CHANNEL7, SYS_EVT_POLARITY_HIGH, SYS_EVT_TYPE_PULSE},\
|
2023-07-04 15:32:46 +03:00
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [7] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [8] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [9] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [10] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [11] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [12] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [13] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [14] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [15] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [16] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [17] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [18] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [19] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [20] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [21] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [22] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [23] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [24] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [25] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [26] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [27] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [28] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [29] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [30] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [31] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [32] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [33] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [34] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [35] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [36] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [37] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [38] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [39] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [40] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [41] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [42] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [43] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [44] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [45] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [46] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [47] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [48] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [49] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [50] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [51] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [52] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [53] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [54] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [55] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [56] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [57] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [58] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [59] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [60] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [61] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}, /* initializing member [62] for Misra C standards */ \
|
|
|
|
|
{0xFF,0xFF,0xFF,0xFF}}, /* initializing member [63] for Misra C standards */ \
|
|
|
|
|
{ {CHANNEL1, PRU1}, {CHANNEL2, PRU_EVTOUT0}, {CHANNEL3, PRU_EVTOUT1},\
|
2023-11-24 16:35:34 +03:00
|
|
|
{CHANNEL4, PRU_EVTOUT2}, {CHANNEL5, PRU_EVTOUT3}, {CHANNEL6, PRU_EVTOUT4}, {CHANNEL7, PRU_EVTOUT5},\
|
|
|
|
|
{0xFF, 0xFF}, {0xFF, 0xFF}, {0xFF, 0xFF}, {0xFF, 0xFF} }, /* Initializing members [7,8,9] of array for Misra C standards */ \
|
|
|
|
|
(PRU1_HOSTEN_MASK | PRU_EVTOUT0_HOSTEN_MASK | PRU_EVTOUT1_HOSTEN_MASK | PRU_EVTOUT2_HOSTEN_MASK | PRU_EVTOUT3_HOSTEN_MASK | PRU_EVTOUT4_HOSTEN_MASK | PRU_EVTOUT5_HOSTEN_MASK) /* PRU_EVTOUT0 */ \
|
2023-07-04 15:32:46 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* TI_UART_PRUSS_INTC_MAPPING_H */
|