MCUSW
Eth_Irq.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) 2024 Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
75 #ifndef ETH_IRQ_H_
76 #define ETH_IRQ_H_
77 
78 /* ========================================================================== */
79 /* Include Files */
80 /* ========================================================================== */
81 /* None */
82 
83 #ifdef __cplusplus
84 extern "C" {
85 #endif
86 
87 /* ========================================================================== */
88 /* Macros & Typedefs */
89 /* ========================================================================== */
90 
98 #define ETH_ISR_VOID (0x00U)
100 #define ETH_ISR_CAT1 (0x01U)
102 #define ETH_ISR_CAT2 (0x02U)
105 /* ========================================================================== */
106 /* Structures and Enums */
107 /* ========================================================================== */
108 
109 /* None */
110 
111 /* ========================================================================== */
112 /* Function Declarations */
113 /* ========================================================================== */
114 
115 #define ETH_START_SEC_ISR_CODE
116 #include "Eth_MemMap.h"
117 
137 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
138 FUNC(void, ETH_CODE_FAST) Eth_RxIrqHdlr_0(void);
139 #elif (ETH_ISR_TYPE == ETH_ISR_CAT2)
140 ISR(Eth_RxIrqHdlr_0);
141 #endif
142 
162 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
163 FUNC(void, ETH_CODE_FAST) Eth_TxIrqHdlr_0(void);
164 #elif (ETH_ISR_TYPE == ETH_ISR_CAT2)
165 ISR(Eth_TxIrqHdlr_0);
166 #endif
167 
187 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
188 FUNC(void, ETH_CODE_FAST) Eth_RxIrqPacingHdlr_0(void);
189 #else
191 #endif
192 
212 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
213 FUNC(void, ETH_CODE_FAST) Eth_TxIrqPacingHdlr_0(void);
214 #else
216 #endif
217 
218 #if (ETH_CTRL_ID_MAX > 0)
238 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
239 FUNC(void, ETH_CODE_FAST) Eth_RxIrqHdlr_1(void);
240 #else
241 ISR(Eth_RxIrqHdlr_1);
242 #endif
243 
264 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
265 FUNC(void, ETH_CODE_FAST) Eth_TxIrqHdlr_1(void);
266 #else
267 ISR(Eth_TxIrqHdlr_1);
268 #endif
269 
289 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
290 FUNC(void, ETH_CODE_FAST) Eth_RxIrqPacingHdlr_1(void);
291 #else
292 ISR(Eth_RxIrqPacingHdlr_1);
293 #endif
294 
314 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
315 FUNC(void, ETH_CODE_FAST) Eth_TxIrqPacingHdlr_1(void);
316 #else
317 ISR(Eth_TxIrqPacingHdlr_1);
318 #endif
319 #endif /* (ETH_CTRL_ID_MAX > 0) */
320 
339 #if (STD_ON == ETH_ENABLE_MII_API)
340 #if (ETH_ISR_TYPE == ETH_ISR_CAT1 || ETH_ISR_TYPE == ETH_ISR_VOID)
341 FUNC(void, ETH_CODE_FAST) Eth_MdioIrqHdlr(void);
342 #elif (ETH_ISR_TYPE == ETH_ISR_CAT2)
343 ISR(Eth_MdioIrqHdlr);
344 #endif
345 #endif
346 
347 #define ETH_STOP_SEC_ISR_CODE
348 #include "Eth_MemMap.h"
349 
350 #ifdef __cplusplus
351 }
352 #endif
353 
354 #endif /* ETH_IRQ_H_ */
355 
void Eth_MdioIrqHdlr(void)
ISR for MDIO interrupts of all controllers.
void Eth_RxIrqPacingHdlr_0(void)
ISR for RX pacing interrupts of the indexed controller 0.
void Eth_TxIrqPacingHdlr_0(void)
ISR for TX pacing interrupts of the indexed controller 0.
void Eth_TxIrqHdlr_0(void)
ISR for frame transmission interrupts of the indexed controller 0.
void Eth_RxIrqHdlr_0(void)
ISR for frame reception interrupts of the indexed controller 0.