MCUSW
Loading...
Searching...
No Matches
Eth_VirtMac.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
85#ifndef ETH_VIRTMAC_H__
86#define ETH_VIRTMAC_H__
87
88/* ========================================================================== */
89/* Include Files */
90/* ========================================================================== */
91
92#include "Eth_Types.h"
93#include "Eth_Cfg.h"
94
95#ifdef __cplusplus
96extern "C"
97{
98#endif
99
100/* ========================================================================== */
101/* Macros & Typedefs */
102/* ========================================================================== */
103
104/* None */
105
106/* ========================================================================== */
107/* Function Declarations */
108/* ========================================================================== */
109
110#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
147FUNC(Std_ReturnType, ETH_CODE)
148Eth_VirtMacRpcInit(P2CONST(Eth_ConfigType, AUTOMATIC, ETH_PBCFG) CfgPtr);
149#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
150
151#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
189FUNC(Std_ReturnType, ETH_CODE)
191#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
192
193#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
221FUNC(Std_ReturnType, ETH_CODE)
223#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
224
225#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_NOTIFYMSGRECEIVED_API))
261FUNC(Std_ReturnType, ETH_CODE)
263#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_NOTIFYMSGRECEIVED_API)) */
264
265#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEALLTRAFFIC_API))
313FUNC(Std_ReturnType, ETH_CODE)
315#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEALLTRAFFIC_API)) */
316
317#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEALLTRAFFIC_API))
368FUNC(Std_ReturnType, ETH_CODE)
370#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEALLTRAFFIC_API)) */
371
372#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEDSTMAC_API))
428FUNC(Std_ReturnType, ETH_CODE)
429Eth_DispatchVirtmacSubscribeDstMac(uint8 CtrlIdx, uint8 *macAddress);
430#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEDSTMAC_API)) */
431
432#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEDSTMAC_API))
488FUNC(Std_ReturnType, ETH_CODE)
489Eth_DispatchVirtmacUnsubscribeDstMac(uint8 CtrlIdx, uint8 *macAddress);
490#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEDSTMAC_API)) */
491
492#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ASSOCIATEIPV4MACADDR_API))
543FUNC(Std_ReturnType, ETH_CODE)
544Eth_DispatchVirtmacAssociateIPv4Macaddr(uint8 CtrlIdx, uint8 *ipv4Address, uint8 *macAddress);
545#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ASSOCIATEIPV4MACADDR_API)) */
546
547
548#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DISASSOCIATEIPV4MACADDR_API))
596FUNC(Std_ReturnType, ETH_CODE)
597Eth_DispatchVirtmacDisassociateIPv4Macaddr(uint8 CtrlIdx, uint8 *ipv4Address);
598#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DISASSOCIATEIPV4MACADDR_API)) */
599
600#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_MCAST_MACADDR_API))
651FUNC(Std_ReturnType, ETH_CODE)
652Eth_DispatchVirtmacAddMcastAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId);
653#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_MCAST_MACADDR_API)) */
654
655#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_MACADDR_API))
702FUNC(Std_ReturnType, ETH_CODE)
703Eth_DispatchVirtmacDelAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId);
704#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_MACADDR_API)) */
705
706#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_VLAN_API))
749FUNC(Std_ReturnType, ETH_CODE)
750Eth_DispatchVirtmacAddVlan(uint8 CtrlIdx, uint32 vlanId);
751#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_VLAN_API)) */
752
753#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_VLAN_API))
794FUNC(Std_ReturnType, ETH_CODE)
795Eth_DispatchVirtmacDelVlan(uint8 CtrlIdx, uint32 vlanId);
796#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_VLAN_API)) */
797
798#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
821FUNC(Std_ReturnType, ETH_CODE)
823#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
824
825#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
847FUNC(void, ETH_CODE)
849#endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) */
850
851#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
873FUNC(Std_ReturnType, ETH_CODE)
874Eth_VirtmacGetLinkStatus(uint8 ctrlIdx, boolean *linkStatusPtr);
875#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
876
877#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
900FUNC(Std_ReturnType, ETH_CODE)
901Eth_VirtmacGetLinkSpeed(uint8 ctrlIdx, uint32 *linkSpeedPtr);
902#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
903
904#if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
927FUNC(Std_ReturnType, ETH_CODE)
928Eth_VirtmacGetLinkDuplexity(uint8 ctrlIdx, uint32 *linkDuplexityPtr);
929#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
930
931
932#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_INTERCORE_ENABLE))
967FUNC(BufReq_ReturnType, ETH_CODE)
969 uint8 Priority,
970 P2VAR(Eth_BufIdxType, AUTOMATIC, ETH_APPL_DAT) BufIdxPtr,
971 P2VAR(uint8, AUTOMATIC, ETH_APPL_DAT) *BufPtr,
972 P2VAR(uint16, AUTOMATIC, ETH_APPL_DAT) LenBytePtr);
973#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
974
975#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_INTERCORE_ENABLE))
1010FUNC(Std_ReturnType, ETH_CODE)
1012 Eth_BufIdxType BufIdx,
1013 Eth_FrameType FrameType,
1014 boolean TxConfirmation,
1015 uint16 LenByte,
1016 P2CONST(uint8, AUTOMATIC, ETH_APPL_DAT) PhysAddrPtr);
1017#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
1018
1019#if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_INTERCORE_ENABLE))
1045FUNC(void, ETH_CODE)
1047 uint8 FifoIdx,
1048 P2VAR(Eth_RxStatusType, AUTOMATIC, ETH_APPL_DAT) RxStatusPtr);
1049#endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
1050
1051
1052#ifdef __cplusplus
1053}
1054#endif
1055
1056#endif
1057
This file contains generated configuration for ETH MCAL driver.
struct Eth_ConfigType_s Eth_ConfigType
Eth configuration type Configuration data of all controller.
Definition Eth_Cfg.h:720
Std_ReturnType Eth_VirtmacGetLinkDuplexity(uint8 ctrlIdx, uint32 *linkDuplexityPtr)
Std_ReturnType Eth_DispatchVirtmacUnsubscribeDstMac(uint8 CtrlIdx, uint8 *macAddress)
Dispatch virtual mac destination traffic unsubscription request to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacUnsubscribeAllTraffic(uint8 CtrlIdx)
Dispatch virtual mac all traffic unsubscription request to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacSubscribeAllTraffic(uint8 CtrlIdx)
Dispatch virtual mac all traffic subscription request to ethernet firmware.
BufReq_ReturnType Eth_VirtMacInterCoreProvideTxBuffer(uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType *BufIdxPtr, uint8 **BufPtr, uint16 *LenBytePtr)
This function provides access to a transmit buffer of the specified controller.
Std_ReturnType Eth_DispatchVirtmacDelVlan(uint8 CtrlIdx, uint32 vlanId)
Dispatch virtual VLAN leave command to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacAssociateIPv4Macaddr(uint8 CtrlIdx, uint8 *ipv4Address, uint8 *macAddress)
Dispatch virtual mac IPV4 address:destination mac association request to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacLinkStatus(uint8 CtrlIdx)
Dispatch virtual mac port link status.
Std_ReturnType Eth_VirtmacGetLinkSpeed(uint8 ctrlIdx, uint32 *linkSpeedPtr)
Std_ReturnType Eth_DispatchVirtmacDelAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId)
Dispatch virtual mac removal of given mac address from switch address resolution table request to eth...
Std_ReturnType Eth_DispatchVirtmacDisassociateIPv4Macaddr(uint8 CtrlIdx, uint8 *ipv4Address)
Dispatch virtual mac IPV4 address:destination mac disassociation request to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacSubscribeDstMac(uint8 CtrlIdx, uint8 *macAddress)
Dispatch virtual mac destination mac traffic subscription request to ethernet firmware.
Std_ReturnType Eth_VirtMacRpcInit(const Eth_ConfigType *CfgPtr)
This function initializes Eth Virtual MAC driver's Remote Procedure Call.
Std_ReturnType Eth_VirtmacGetLinkStatus(uint8 ctrlIdx, boolean *linkStatusPtr)
void Eth_VirtMac_MainFunction(uint8 ctrlIdx)
Std_ReturnType Eth_DispatchVirtmacInit(uint8 CtrlIdx)
Dispatch virtual mac initialization request to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacAddVlan(uint8 CtrlIdx, uint32 vlanId)
Dispatch virtual VLAN join request to ethernet firmware.
Std_ReturnType Eth_VirtMacInterCoreTransmit(uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8 *PhysAddrPtr)
This function triggers transmission of a previously filled transmit buffer.
Std_ReturnType Eth_DispatchVirtmacDeinit(uint8 CtrlIdx)
Dispatch virtual mac deinit request to ethernet firmware.
Std_ReturnType Eth_DispatchVirtmacAddMcastAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId)
Dispatch virtual mac addition of given multicast address to switch address resolution table request t...
Std_ReturnType Eth_NotifyVirtmacMsgReceived(uint8 CtrlIdx)
Notify Ethernet driver that a RPC msg has been received from ethernet firmware.
void Eth_VirtMacInterCoreReceive(uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType *RxStatusPtr)
This function triggers frame reception.