/* ======================================================================
*   Copyright (C) 2022 Texas Instruments Incorporated
*
*   All rights reserved. Property of Texas Instruments Incorporated.
*   Restricted rights to use, duplicate or disclose this code are
*   granted through contract.
*
*   The program may not be used without the written permission
*   of Texas Instruments Incorporated or against the terms and conditions
*   stipulated in the agreement under which this program has been
*   supplied.
* ==================================================================== */

/* ========================================================================== */
/*                             Include Files                                  */
/* ========================================================================== */

#include "Can.h"

#if (CAN_ISR_TYPE == CAN_ISR_CAT2)
#include "Os.h"
#endif

/* ========================================================================== */
/*                          ISR Definitions                                   */
/* ========================================================================== */

#define CAN_START_SEC_ISR_CODE
#include "Can_MemMap.h"
#if defined(CAN_CONTROLLER_MCAN1)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/

#if defined CLANG
void Can_0_Int0ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_0_Int0ISR, 32) 
#endif

void Can_0_Int0ISR(void)
#else
ISR(Can_0_Int0ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_0_Int0ISR_Fun();
}
#endif

#if defined (CAN_CONTROLLER_MCAN1)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/
/* CODE_STATE word allignment needed for R5  */

#if defined CLANG
void Can_0_Int1ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_0_Int1ISR, 32) 
#endif
void Can_0_Int1ISR(void)
#else
ISR(Can_0_Int1ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_0_Int1ISR_Fun();
}

#endif

#if defined (CAN_CONTROLLER_MCAN2)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)

/* Design :CAN_DesignId_005*/
/* CODE_STATE word allignment needed for R5  */

#if defined CLANG
void Can_1_Int0ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_1_Int0ISR, 32)
#endif
void Can_1_Int0ISR(void)
#else
ISR(Can_1_Int0ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_1_Int0ISR_Fun();
}

#endif

#if defined (CAN_CONTROLLER_MCAN2)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/
/* CODE_STATE word allignment needed for R5  */

#if defined CLANG
void Can_1_Int1ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_1_Int1ISR, 32) 
#endif
void Can_1_Int1ISR(void)
#else
ISR(Can_1_Int1ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_1_Int1ISR_Fun();
}

#endif

#if defined(CAN_CONTROLLER_MCAN3)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/

#if defined CLANG
void Can_2_Int0ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_2_Int0ISR, 32) 
#endif

void Can_2_Int0ISR(void)
#else
ISR(Can_2_Int0ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_2_Int0ISR_Fun();
}
#endif

#if defined (CAN_CONTROLLER_MCAN3)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/
/* CODE_STATE word allignment needed for R5  */

#if defined CLANG
void Can_2_Int1ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_2_Int1ISR, 32) 
#endif
void Can_2_Int1ISR(void)
#else
ISR(Can_2_Int1ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_2_Int1ISR_Fun();
}

#endif

#if defined(CAN_CONTROLLER_MCAN4)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/

#if defined CLANG
void Can_3_Int0ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_3_Int1ISR, 32) 
#endif

void Can_3_Int0ISR(void)
#else
ISR(Can_3_Int0ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_3_Int0ISR_Fun();
}
#endif

#if defined (CAN_CONTROLLER_MCAN4)
#if (CAN_ISR_TYPE == CAN_ISR_CAT1 || \
     CAN_ISR_TYPE == CAN_ISR_VOID)
/* Design :CAN_DesignId_005*/
/* CODE_STATE word allignment needed for R5  */

#if defined CLANG
void Can_3_Int1ISR(void) __attribute__((target("arm")));
#else
#pragma CODE_STATE(Can_3_Int0ISR, 32) 
#endif
void Can_3_Int1ISR(void)
#else
ISR(Can_3_Int1ISR)
#endif /* ((CAN_ISR_TYPE == CAN_ISR_CAT1).... */
{
    Can_3_Int1ISR_Fun();
}

#endif

#define CAN_STOP_SEC_ISR_CODE
#include "Can_MemMap.h"

/*******************************************************************************
 *  End of File: Can_Irq.c
 ******************************************************************************/
