The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_NUCLEO_H743ZI/TOOLCHAIN_ARM_STD/stm32h7xx_hal_eth_ex.h@172:65be27845400, 2019-02-20 (annotated)
- Committer:
- AnnaBridge
- Date:
- Wed Feb 20 20:53:29 2019 +0000
- Revision:
- 172:65be27845400
mbed library release version 165
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AnnaBridge | 172:65be27845400 | 1 | /** |
AnnaBridge | 172:65be27845400 | 2 | ****************************************************************************** |
AnnaBridge | 172:65be27845400 | 3 | * @file stm32h7xx_hal_eth_ex.h |
AnnaBridge | 172:65be27845400 | 4 | * @author MCD Application Team |
AnnaBridge | 172:65be27845400 | 5 | * @brief Header file of ETH HAL Extended module. |
AnnaBridge | 172:65be27845400 | 6 | ****************************************************************************** |
AnnaBridge | 172:65be27845400 | 7 | * @attention |
AnnaBridge | 172:65be27845400 | 8 | * |
AnnaBridge | 172:65be27845400 | 9 | * <h2><center>© Copyright (c) 2017 STMicroelectronics. |
AnnaBridge | 172:65be27845400 | 10 | * All rights reserved.</center></h2> |
AnnaBridge | 172:65be27845400 | 11 | * |
AnnaBridge | 172:65be27845400 | 12 | * This software component is licensed by ST under BSD 3-Clause license, |
AnnaBridge | 172:65be27845400 | 13 | * the "License"; You may not use this file except in compliance with the |
AnnaBridge | 172:65be27845400 | 14 | * License. You may obtain a copy of the License at: |
AnnaBridge | 172:65be27845400 | 15 | * opensource.org/licenses/BSD-3-Clause |
AnnaBridge | 172:65be27845400 | 16 | * |
AnnaBridge | 172:65be27845400 | 17 | ****************************************************************************** |
AnnaBridge | 172:65be27845400 | 18 | */ |
AnnaBridge | 172:65be27845400 | 19 | |
AnnaBridge | 172:65be27845400 | 20 | /* Define to prevent recursive inclusion -------------------------------------*/ |
AnnaBridge | 172:65be27845400 | 21 | #ifndef STM32H7xx_HAL_ETH_EX_H |
AnnaBridge | 172:65be27845400 | 22 | #define STM32H7xx_HAL_ETH_EX_H |
AnnaBridge | 172:65be27845400 | 23 | |
AnnaBridge | 172:65be27845400 | 24 | #ifdef __cplusplus |
AnnaBridge | 172:65be27845400 | 25 | extern "C" { |
AnnaBridge | 172:65be27845400 | 26 | #endif |
AnnaBridge | 172:65be27845400 | 27 | |
AnnaBridge | 172:65be27845400 | 28 | /* Includes ------------------------------------------------------------------*/ |
AnnaBridge | 172:65be27845400 | 29 | #include "stm32h7xx_hal_def.h" |
AnnaBridge | 172:65be27845400 | 30 | |
AnnaBridge | 172:65be27845400 | 31 | /** @addtogroup STM32H7xx_HAL_Driver |
AnnaBridge | 172:65be27845400 | 32 | * @{ |
AnnaBridge | 172:65be27845400 | 33 | */ |
AnnaBridge | 172:65be27845400 | 34 | |
AnnaBridge | 172:65be27845400 | 35 | /** @addtogroup ETHEx |
AnnaBridge | 172:65be27845400 | 36 | * @{ |
AnnaBridge | 172:65be27845400 | 37 | */ |
AnnaBridge | 172:65be27845400 | 38 | |
AnnaBridge | 172:65be27845400 | 39 | /* Exported types ------------------------------------------------------------*/ |
AnnaBridge | 172:65be27845400 | 40 | /** @defgroup ETHEx_Exported_Types ETHEx Exported Types |
AnnaBridge | 172:65be27845400 | 41 | * @{ |
AnnaBridge | 172:65be27845400 | 42 | */ |
AnnaBridge | 172:65be27845400 | 43 | |
AnnaBridge | 172:65be27845400 | 44 | /** |
AnnaBridge | 172:65be27845400 | 45 | * @brief ETH RX VLAN structure definition |
AnnaBridge | 172:65be27845400 | 46 | */ |
AnnaBridge | 172:65be27845400 | 47 | typedef struct{ |
AnnaBridge | 172:65be27845400 | 48 | FunctionalState InnerVLANTagInStatus; /*!< Enables or disables Inner VLAN Tag in Rx Status */ |
AnnaBridge | 172:65be27845400 | 49 | |
AnnaBridge | 172:65be27845400 | 50 | uint32_t StripInnerVLANTag; /*!< Sets the Inner VLAN Tag Stripping on Receive |
AnnaBridge | 172:65be27845400 | 51 | This parameter can be a value of @ref ETHEx_Rx_Inner_VLAN_Tag_Stripping */ |
AnnaBridge | 172:65be27845400 | 52 | |
AnnaBridge | 172:65be27845400 | 53 | FunctionalState InnerVLANTag; /*!< Enables or disables Inner VLAN Tag */ |
AnnaBridge | 172:65be27845400 | 54 | |
AnnaBridge | 172:65be27845400 | 55 | FunctionalState DoubleVLANProcessing; /*!< Enable or Disable double VLAN processing */ |
AnnaBridge | 172:65be27845400 | 56 | |
AnnaBridge | 172:65be27845400 | 57 | FunctionalState VLANTagHashTableMatch; /*!< Enable or Disable VLAN Tag Hash Table Match */ |
AnnaBridge | 172:65be27845400 | 58 | |
AnnaBridge | 172:65be27845400 | 59 | FunctionalState VLANTagInStatus; /*!< Enable or Disable VLAN Tag in Rx status */ |
AnnaBridge | 172:65be27845400 | 60 | |
AnnaBridge | 172:65be27845400 | 61 | uint32_t StripVLANTag; /*!< Set the VLAN Tag Stripping on Receive |
AnnaBridge | 172:65be27845400 | 62 | This parameter can be a value of @ref ETHEx_Rx_VLAN_Tag_Stripping */ |
AnnaBridge | 172:65be27845400 | 63 | |
AnnaBridge | 172:65be27845400 | 64 | uint32_t VLANTypeCheck; /*!< Enable or Disable VLAN Type Check |
AnnaBridge | 172:65be27845400 | 65 | This parameter can be a value of @ref ETHEx_VLAN_Type_Check */ |
AnnaBridge | 172:65be27845400 | 66 | |
AnnaBridge | 172:65be27845400 | 67 | FunctionalState VLANTagInverceMatch; /*!< Enable or disable VLAN Tag Inverse Match */ |
AnnaBridge | 172:65be27845400 | 68 | }ETH_RxVLANConfigTypeDef; |
AnnaBridge | 172:65be27845400 | 69 | /** |
AnnaBridge | 172:65be27845400 | 70 | * |
AnnaBridge | 172:65be27845400 | 71 | */ |
AnnaBridge | 172:65be27845400 | 72 | |
AnnaBridge | 172:65be27845400 | 73 | /** |
AnnaBridge | 172:65be27845400 | 74 | * @brief ETH TX VLAN structure definition |
AnnaBridge | 172:65be27845400 | 75 | */ |
AnnaBridge | 172:65be27845400 | 76 | typedef struct{ |
AnnaBridge | 172:65be27845400 | 77 | FunctionalState SourceTxDesc; /*!< Enable or Disable VLAN tag source from DMA tx descriptors */ |
AnnaBridge | 172:65be27845400 | 78 | |
AnnaBridge | 172:65be27845400 | 79 | FunctionalState SVLANType; /*!< Enable or Disable insertion of SVLAN type */ |
AnnaBridge | 172:65be27845400 | 80 | |
AnnaBridge | 172:65be27845400 | 81 | uint32_t VLANTagControl; /*!< Sets the VLAN tag control in tx packets |
AnnaBridge | 172:65be27845400 | 82 | This parameter can be a value of @ref ETHEx_VLAN_Tag_Control */ |
AnnaBridge | 172:65be27845400 | 83 | }ETH_TxVLANConfigTypeDef; |
AnnaBridge | 172:65be27845400 | 84 | /** |
AnnaBridge | 172:65be27845400 | 85 | * |
AnnaBridge | 172:65be27845400 | 86 | */ |
AnnaBridge | 172:65be27845400 | 87 | |
AnnaBridge | 172:65be27845400 | 88 | /** |
AnnaBridge | 172:65be27845400 | 89 | * @brief ETH L3 filter structure definition |
AnnaBridge | 172:65be27845400 | 90 | */ |
AnnaBridge | 172:65be27845400 | 91 | typedef struct{ |
AnnaBridge | 172:65be27845400 | 92 | uint32_t Protocol; /*!< Sets the L3 filter protocol to IPv4 or IPv6 |
AnnaBridge | 172:65be27845400 | 93 | This parameter can be a value of @ref ETHEx_L3_Protocol */ |
AnnaBridge | 172:65be27845400 | 94 | |
AnnaBridge | 172:65be27845400 | 95 | uint32_t SrcAddrFilterMatch; /*!< Sets the L3 filter source address match |
AnnaBridge | 172:65be27845400 | 96 | This parameter can be a value of @ref ETHEx_L3_Source_Match */ |
AnnaBridge | 172:65be27845400 | 97 | |
AnnaBridge | 172:65be27845400 | 98 | uint32_t DestAddrFilterMatch; /*!< Sets the L3 filter destination address match |
AnnaBridge | 172:65be27845400 | 99 | This parameter can be a value of @ref ETHEx_L3_Destination_Match */ |
AnnaBridge | 172:65be27845400 | 100 | |
AnnaBridge | 172:65be27845400 | 101 | uint32_t SrcAddrHigherBitsMatch; /*!< Sets the L3 filter source address higher bits match |
AnnaBridge | 172:65be27845400 | 102 | This parameter can be a value from 0 to 31 */ |
AnnaBridge | 172:65be27845400 | 103 | |
AnnaBridge | 172:65be27845400 | 104 | uint32_t DestAddrHigherBitsMatch; /*!< Sets the L3 filter destination address higher bits match |
AnnaBridge | 172:65be27845400 | 105 | This parameter can be a value from 0 to 31 */ |
AnnaBridge | 172:65be27845400 | 106 | |
AnnaBridge | 172:65be27845400 | 107 | uint32_t Ip4SrcAddr; /*!< Sets the L3 filter IPv4 source address if IPv4 protocol is used |
AnnaBridge | 172:65be27845400 | 108 | This parameter can be a value from 0x0 to 0xFFFFFFFF */ |
AnnaBridge | 172:65be27845400 | 109 | |
AnnaBridge | 172:65be27845400 | 110 | uint32_t Ip4DestAddr; /*!< Sets the L3 filter IPv4 destination address if IPv4 protocol is used |
AnnaBridge | 172:65be27845400 | 111 | This parameter can be a value from 0 to 0xFFFFFFFF */ |
AnnaBridge | 172:65be27845400 | 112 | |
AnnaBridge | 172:65be27845400 | 113 | uint32_t Ip6Addr[4]; /*!< Sets the L3 filter IPv6 address if IPv6 protocol is used |
AnnaBridge | 172:65be27845400 | 114 | This parameter must be a table of 4 words (4* 32 bits) */ |
AnnaBridge | 172:65be27845400 | 115 | }ETH_L3FilterConfigTypeDef; |
AnnaBridge | 172:65be27845400 | 116 | /** |
AnnaBridge | 172:65be27845400 | 117 | * |
AnnaBridge | 172:65be27845400 | 118 | */ |
AnnaBridge | 172:65be27845400 | 119 | |
AnnaBridge | 172:65be27845400 | 120 | /** |
AnnaBridge | 172:65be27845400 | 121 | * @brief ETH L4 filter structure definition |
AnnaBridge | 172:65be27845400 | 122 | */ |
AnnaBridge | 172:65be27845400 | 123 | typedef struct{ |
AnnaBridge | 172:65be27845400 | 124 | uint32_t Protocol; /*!< Sets the L4 filter protocol to TCP or UDP |
AnnaBridge | 172:65be27845400 | 125 | This parameter can be a value of @ref ETHEx_L4_Protocol */ |
AnnaBridge | 172:65be27845400 | 126 | |
AnnaBridge | 172:65be27845400 | 127 | uint32_t SrcPortFilterMatch; /*!< Sets the L4 filter source port match |
AnnaBridge | 172:65be27845400 | 128 | This parameter can be a value of @ref ETHEx_L4_Source_Match */ |
AnnaBridge | 172:65be27845400 | 129 | |
AnnaBridge | 172:65be27845400 | 130 | uint32_t DestPortFilterMatch; /*!< Sets the L4 filter destination port match |
AnnaBridge | 172:65be27845400 | 131 | This parameter can be a value of @ref ETHEx_L4_Destination_Match */ |
AnnaBridge | 172:65be27845400 | 132 | |
AnnaBridge | 172:65be27845400 | 133 | uint32_t SourcePort; /*!< Sets the L4 filter source port |
AnnaBridge | 172:65be27845400 | 134 | This parameter must be a value from 0x0 to 0xFFFF */ |
AnnaBridge | 172:65be27845400 | 135 | |
AnnaBridge | 172:65be27845400 | 136 | uint32_t DestinationPort; /*!< Sets the L4 filter destination port |
AnnaBridge | 172:65be27845400 | 137 | This parameter must be a value from 0x0 to 0xFFFF */ |
AnnaBridge | 172:65be27845400 | 138 | }ETH_L4FilterConfigTypeDef; |
AnnaBridge | 172:65be27845400 | 139 | /** |
AnnaBridge | 172:65be27845400 | 140 | * |
AnnaBridge | 172:65be27845400 | 141 | */ |
AnnaBridge | 172:65be27845400 | 142 | |
AnnaBridge | 172:65be27845400 | 143 | /** |
AnnaBridge | 172:65be27845400 | 144 | * @} |
AnnaBridge | 172:65be27845400 | 145 | */ |
AnnaBridge | 172:65be27845400 | 146 | |
AnnaBridge | 172:65be27845400 | 147 | /* Exported constants --------------------------------------------------------*/ |
AnnaBridge | 172:65be27845400 | 148 | /** @defgroup ETHEx_Exported_Constants ETHEx Exported Constants |
AnnaBridge | 172:65be27845400 | 149 | * @{ |
AnnaBridge | 172:65be27845400 | 150 | */ |
AnnaBridge | 172:65be27845400 | 151 | |
AnnaBridge | 172:65be27845400 | 152 | /** @defgroup ETHEx_LPI_Event ETHEx LPI Event |
AnnaBridge | 172:65be27845400 | 153 | * @{ |
AnnaBridge | 172:65be27845400 | 154 | */ |
AnnaBridge | 172:65be27845400 | 155 | #define ETH_TX_LPI_ENTRY ETH_MACLCSR_TLPIEN |
AnnaBridge | 172:65be27845400 | 156 | #define ETH_TX_LPI_EXIT ETH_MACLCSR_TLPIEX |
AnnaBridge | 172:65be27845400 | 157 | #define ETH_RX_LPI_ENTRY ETH_MACLCSR_RLPIEN |
AnnaBridge | 172:65be27845400 | 158 | #define ETH_RX_LPI_EXIT ETH_MACLCSR_RLPIEX |
AnnaBridge | 172:65be27845400 | 159 | /** |
AnnaBridge | 172:65be27845400 | 160 | * @} |
AnnaBridge | 172:65be27845400 | 161 | */ |
AnnaBridge | 172:65be27845400 | 162 | |
AnnaBridge | 172:65be27845400 | 163 | /** @defgroup ETHEx_L3_Filter ETHEx L3 Filter |
AnnaBridge | 172:65be27845400 | 164 | * @{ |
AnnaBridge | 172:65be27845400 | 165 | */ |
AnnaBridge | 172:65be27845400 | 166 | #define ETH_L3_FILTER_0 ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 167 | #define ETH_L3_FILTER_1 ((uint32_t)0x0000000C) |
AnnaBridge | 172:65be27845400 | 168 | /** |
AnnaBridge | 172:65be27845400 | 169 | * @} |
AnnaBridge | 172:65be27845400 | 170 | */ |
AnnaBridge | 172:65be27845400 | 171 | |
AnnaBridge | 172:65be27845400 | 172 | /** @defgroup ETHEx_L4_Filter ETHEx L4 Filter |
AnnaBridge | 172:65be27845400 | 173 | * @{ |
AnnaBridge | 172:65be27845400 | 174 | */ |
AnnaBridge | 172:65be27845400 | 175 | #define ETH_L4_FILTER_0 ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 176 | #define ETH_L4_FILTER_1 ((uint32_t)0x0000000C) |
AnnaBridge | 172:65be27845400 | 177 | /** |
AnnaBridge | 172:65be27845400 | 178 | * @} |
AnnaBridge | 172:65be27845400 | 179 | */ |
AnnaBridge | 172:65be27845400 | 180 | |
AnnaBridge | 172:65be27845400 | 181 | /** @defgroup ETHEx_L3_Protocol ETHEx L3 Protocol |
AnnaBridge | 172:65be27845400 | 182 | * @{ |
AnnaBridge | 172:65be27845400 | 183 | */ |
AnnaBridge | 172:65be27845400 | 184 | #define ETH_L3_IPV6_MATCH ETH_MACL3L4CR_L3PEN |
AnnaBridge | 172:65be27845400 | 185 | #define ETH_L3_IPV4_MATCH ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 186 | /** |
AnnaBridge | 172:65be27845400 | 187 | * @} |
AnnaBridge | 172:65be27845400 | 188 | */ |
AnnaBridge | 172:65be27845400 | 189 | |
AnnaBridge | 172:65be27845400 | 190 | /** @defgroup ETHEx_L3_Source_Match ETHEx L3 Source Match |
AnnaBridge | 172:65be27845400 | 191 | * @{ |
AnnaBridge | 172:65be27845400 | 192 | */ |
AnnaBridge | 172:65be27845400 | 193 | #define ETH_L3_SRC_ADDR_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L3SAM |
AnnaBridge | 172:65be27845400 | 194 | #define ETH_L3_SRC_ADDR_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L3SAM | ETH_MACL3L4CR_L3SAIM) |
AnnaBridge | 172:65be27845400 | 195 | #define ETH_L3_SRC_ADDR_MATCH_DISABLE ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 196 | /** |
AnnaBridge | 172:65be27845400 | 197 | * @} |
AnnaBridge | 172:65be27845400 | 198 | */ |
AnnaBridge | 172:65be27845400 | 199 | |
AnnaBridge | 172:65be27845400 | 200 | /** @defgroup ETHEx_L3_Destination_Match ETHEx L3 Destination Match |
AnnaBridge | 172:65be27845400 | 201 | * @{ |
AnnaBridge | 172:65be27845400 | 202 | */ |
AnnaBridge | 172:65be27845400 | 203 | #define ETH_L3_DEST_ADDR_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L3DAM |
AnnaBridge | 172:65be27845400 | 204 | #define ETH_L3_DEST_ADDR_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L3DAM | ETH_MACL3L4CR_L3DAIM) |
AnnaBridge | 172:65be27845400 | 205 | #define ETH_L3_DEST_ADDR_MATCH_DISABLE ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 206 | /** |
AnnaBridge | 172:65be27845400 | 207 | * @} |
AnnaBridge | 172:65be27845400 | 208 | */ |
AnnaBridge | 172:65be27845400 | 209 | |
AnnaBridge | 172:65be27845400 | 210 | /** @defgroup ETHEx_L4_Protocol ETHEx L4 Protocol |
AnnaBridge | 172:65be27845400 | 211 | * @{ |
AnnaBridge | 172:65be27845400 | 212 | */ |
AnnaBridge | 172:65be27845400 | 213 | #define ETH_L4_UDP_MATCH ETH_MACL3L4CR_L4PEN |
AnnaBridge | 172:65be27845400 | 214 | #define ETH_L4_TCP_MATCH ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 215 | /** |
AnnaBridge | 172:65be27845400 | 216 | * @} |
AnnaBridge | 172:65be27845400 | 217 | */ |
AnnaBridge | 172:65be27845400 | 218 | |
AnnaBridge | 172:65be27845400 | 219 | /** @defgroup ETHEx_L4_Source_Match ETHEx L4 Source Match |
AnnaBridge | 172:65be27845400 | 220 | * @{ |
AnnaBridge | 172:65be27845400 | 221 | */ |
AnnaBridge | 172:65be27845400 | 222 | #define ETH_L4_SRC_PORT_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L4SPM |
AnnaBridge | 172:65be27845400 | 223 | #define ETH_L4_SRC_PORT_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L4SPM |ETH_MACL3L4CR_L4SPIM) |
AnnaBridge | 172:65be27845400 | 224 | #define ETH_L4_SRC_PORT_MATCH_DISABLE ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 225 | /** |
AnnaBridge | 172:65be27845400 | 226 | * @} |
AnnaBridge | 172:65be27845400 | 227 | */ |
AnnaBridge | 172:65be27845400 | 228 | |
AnnaBridge | 172:65be27845400 | 229 | /** @defgroup ETHEx_L4_Destination_Match ETHEx L4 Destination Match |
AnnaBridge | 172:65be27845400 | 230 | * @{ |
AnnaBridge | 172:65be27845400 | 231 | */ |
AnnaBridge | 172:65be27845400 | 232 | #define ETH_L4_DEST_PORT_PERFECT_MATCH_ENABLE ETH_MACL3L4CR_L4DPM |
AnnaBridge | 172:65be27845400 | 233 | #define ETH_L4_DEST_PORT_INVERSE_MATCH_ENABLE (ETH_MACL3L4CR_L4DPM | ETH_MACL3L4CR_L4DPIM) |
AnnaBridge | 172:65be27845400 | 234 | #define ETH_L4_DEST_PORT_MATCH_DISABLE ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 235 | /** |
AnnaBridge | 172:65be27845400 | 236 | * @} |
AnnaBridge | 172:65be27845400 | 237 | */ |
AnnaBridge | 172:65be27845400 | 238 | |
AnnaBridge | 172:65be27845400 | 239 | /** @defgroup ETHEx_Rx_Inner_VLAN_Tag_Stripping ETHEx Rx Inner VLAN Tag Stripping |
AnnaBridge | 172:65be27845400 | 240 | * @{ |
AnnaBridge | 172:65be27845400 | 241 | */ |
AnnaBridge | 172:65be27845400 | 242 | #define ETH_INNERVLANTAGRXSTRIPPING_NONE ETH_MACVTR_EIVLS_DONOTSTRIP |
AnnaBridge | 172:65be27845400 | 243 | #define ETH_INNERVLANTAGRXSTRIPPING_IFPASS ETH_MACVTR_EIVLS_STRIPIFPASS |
AnnaBridge | 172:65be27845400 | 244 | #define ETH_INNERVLANTAGRXSTRIPPING_IFFAILS ETH_MACVTR_EIVLS_STRIPIFFAILS |
AnnaBridge | 172:65be27845400 | 245 | #define ETH_INNERVLANTAGRXSTRIPPING_ALWAYS ETH_MACVTR_EIVLS_ALWAYSSTRIP |
AnnaBridge | 172:65be27845400 | 246 | /** |
AnnaBridge | 172:65be27845400 | 247 | * @} |
AnnaBridge | 172:65be27845400 | 248 | */ |
AnnaBridge | 172:65be27845400 | 249 | |
AnnaBridge | 172:65be27845400 | 250 | /** @defgroup ETHEx_Rx_VLAN_Tag_Stripping ETHEx Rx VLAN Tag Stripping |
AnnaBridge | 172:65be27845400 | 251 | * @{ |
AnnaBridge | 172:65be27845400 | 252 | */ |
AnnaBridge | 172:65be27845400 | 253 | #define ETH_VLANTAGRXSTRIPPING_NONE ETH_MACVTR_EVLS_DONOTSTRIP |
AnnaBridge | 172:65be27845400 | 254 | #define ETH_VLANTAGRXSTRIPPING_IFPASS ETH_MACVTR_EVLS_STRIPIFPASS |
AnnaBridge | 172:65be27845400 | 255 | #define ETH_VLANTAGRXSTRIPPING_IFFAILS ETH_MACVTR_EVLS_STRIPIFFAILS |
AnnaBridge | 172:65be27845400 | 256 | #define ETH_VLANTAGRXSTRIPPING_ALWAYS ETH_MACVTR_EVLS_ALWAYSSTRIP |
AnnaBridge | 172:65be27845400 | 257 | /** |
AnnaBridge | 172:65be27845400 | 258 | * @} |
AnnaBridge | 172:65be27845400 | 259 | */ |
AnnaBridge | 172:65be27845400 | 260 | |
AnnaBridge | 172:65be27845400 | 261 | /** @defgroup ETHEx_VLAN_Type_Check ETHEx VLAN Type Check |
AnnaBridge | 172:65be27845400 | 262 | * @{ |
AnnaBridge | 172:65be27845400 | 263 | */ |
AnnaBridge | 172:65be27845400 | 264 | #define ETH_VLANTYPECHECK_DISABLE ETH_MACVTR_DOVLTC |
AnnaBridge | 172:65be27845400 | 265 | #define ETH_VLANTYPECHECK_SVLAN (ETH_MACVTR_ERSVLM | ETH_MACVTR_ESVL) |
AnnaBridge | 172:65be27845400 | 266 | #define ETH_VLANTYPECHECK_CVLAN ((uint32_t)0x00000000) |
AnnaBridge | 172:65be27845400 | 267 | /** |
AnnaBridge | 172:65be27845400 | 268 | * @} |
AnnaBridge | 172:65be27845400 | 269 | */ |
AnnaBridge | 172:65be27845400 | 270 | |
AnnaBridge | 172:65be27845400 | 271 | /** @defgroup ETHEx_VLAN_Tag_Control ETHEx_VLAN_Tag_Control |
AnnaBridge | 172:65be27845400 | 272 | * @{ |
AnnaBridge | 172:65be27845400 | 273 | */ |
AnnaBridge | 172:65be27845400 | 274 | #define ETH_VLANTAGCONTROL_NONE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_NOVLANTAG) |
AnnaBridge | 172:65be27845400 | 275 | #define ETH_VLANTAGCONTROL_DELETE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_VLANTAGDELETE) |
AnnaBridge | 172:65be27845400 | 276 | #define ETH_VLANTAGCONTROL_INSERT (ETH_MACVIR_VLP | ETH_MACVIR_VLC_VLANTAGINSERT) |
AnnaBridge | 172:65be27845400 | 277 | #define ETH_VLANTAGCONTROL_REPLACE (ETH_MACVIR_VLP | ETH_MACVIR_VLC_VLANTAGREPLACE) |
AnnaBridge | 172:65be27845400 | 278 | /** |
AnnaBridge | 172:65be27845400 | 279 | * @} |
AnnaBridge | 172:65be27845400 | 280 | */ |
AnnaBridge | 172:65be27845400 | 281 | |
AnnaBridge | 172:65be27845400 | 282 | /** @defgroup ETHEx_Tx_VLAN_Tag ETHEx Tx VLAN Tag |
AnnaBridge | 172:65be27845400 | 283 | * @{ |
AnnaBridge | 172:65be27845400 | 284 | */ |
AnnaBridge | 172:65be27845400 | 285 | #define ETH_INNER_TX_VLANTAG ((uint32_t)0x00000001U) |
AnnaBridge | 172:65be27845400 | 286 | #define ETH_OUTER_TX_VLANTAG ((uint32_t)0x00000000U) |
AnnaBridge | 172:65be27845400 | 287 | /** |
AnnaBridge | 172:65be27845400 | 288 | * @} |
AnnaBridge | 172:65be27845400 | 289 | */ |
AnnaBridge | 172:65be27845400 | 290 | |
AnnaBridge | 172:65be27845400 | 291 | /** |
AnnaBridge | 172:65be27845400 | 292 | * @} |
AnnaBridge | 172:65be27845400 | 293 | */ |
AnnaBridge | 172:65be27845400 | 294 | |
AnnaBridge | 172:65be27845400 | 295 | /* Exported functions --------------------------------------------------------*/ |
AnnaBridge | 172:65be27845400 | 296 | /** @addtogroup ETHEx_Exported_Functions |
AnnaBridge | 172:65be27845400 | 297 | * @{ |
AnnaBridge | 172:65be27845400 | 298 | */ |
AnnaBridge | 172:65be27845400 | 299 | |
AnnaBridge | 172:65be27845400 | 300 | /** @addtogroup ETHEx_Exported_Functions_Group1 |
AnnaBridge | 172:65be27845400 | 301 | * @{ |
AnnaBridge | 172:65be27845400 | 302 | */ |
AnnaBridge | 172:65be27845400 | 303 | /* MAC ARP Offloading APIs ***************************************************/ |
AnnaBridge | 172:65be27845400 | 304 | void HAL_ETHEx_EnableARPOffload(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 305 | void HAL_ETHEx_DisableARPOffload(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 306 | void HAL_ETHEx_SetARPAddressMatch(ETH_HandleTypeDef *heth, uint32_t IpAddress); |
AnnaBridge | 172:65be27845400 | 307 | |
AnnaBridge | 172:65be27845400 | 308 | /* MAC L3 L4 Filtering APIs ***************************************************/ |
AnnaBridge | 172:65be27845400 | 309 | void HAL_ETHEx_EnableL3L4Filtering(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 310 | void HAL_ETHEx_DisableL3L4Filtering(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 311 | HAL_StatusTypeDef HAL_ETHEx_GetL3FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L3FilterConfigTypeDef *pL3FilterConfig); |
AnnaBridge | 172:65be27845400 | 312 | HAL_StatusTypeDef HAL_ETHEx_GetL4FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L4FilterConfigTypeDef *pL4FilterConfig); |
AnnaBridge | 172:65be27845400 | 313 | HAL_StatusTypeDef HAL_ETHEx_SetL3FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L3FilterConfigTypeDef *pL3FilterConfig); |
AnnaBridge | 172:65be27845400 | 314 | HAL_StatusTypeDef HAL_ETHEx_SetL4FilterConfig(ETH_HandleTypeDef *heth, uint32_t Filter, ETH_L4FilterConfigTypeDef *pL4FilterConfig); |
AnnaBridge | 172:65be27845400 | 315 | |
AnnaBridge | 172:65be27845400 | 316 | /* MAC VLAN Processing APIs ************************************************/ |
AnnaBridge | 172:65be27845400 | 317 | void HAL_ETHEx_EnableVLANProcessing(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 318 | void HAL_ETHEx_DisableVLANProcessing(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 319 | HAL_StatusTypeDef HAL_ETHEx_GetRxVLANConfig(ETH_HandleTypeDef *heth, ETH_RxVLANConfigTypeDef *pVlanConfig); |
AnnaBridge | 172:65be27845400 | 320 | HAL_StatusTypeDef HAL_ETHEx_SetRxVLANConfig(ETH_HandleTypeDef *heth, ETH_RxVLANConfigTypeDef *pVlanConfig); |
AnnaBridge | 172:65be27845400 | 321 | void HAL_ETHEx_SetVLANHashTable(ETH_HandleTypeDef *heth, uint32_t VLANHashTable); |
AnnaBridge | 172:65be27845400 | 322 | HAL_StatusTypeDef HAL_ETHEx_GetTxVLANConfig(ETH_HandleTypeDef *heth, uint32_t VLANTag ,ETH_TxVLANConfigTypeDef *pVlanConfig); |
AnnaBridge | 172:65be27845400 | 323 | HAL_StatusTypeDef HAL_ETHEx_SetTxVLANConfig(ETH_HandleTypeDef *heth, uint32_t VLANTag ,ETH_TxVLANConfigTypeDef *pVlanConfig); |
AnnaBridge | 172:65be27845400 | 324 | void HAL_ETHEx_SetTxVLANIdentifier(ETH_HandleTypeDef *heth, uint32_t VLANTag ,uint32_t VLANIdentifier); |
AnnaBridge | 172:65be27845400 | 325 | |
AnnaBridge | 172:65be27845400 | 326 | /* Energy Efficient Ethernet APIs *********************************************/ |
AnnaBridge | 172:65be27845400 | 327 | void HAL_ETHEx_EnterLPIMode(ETH_HandleTypeDef *heth, FunctionalState TxAutomate, FunctionalState TxClockStop); |
AnnaBridge | 172:65be27845400 | 328 | void HAL_ETHEx_ExitLPIMode(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 329 | uint32_t HAL_ETHEx_GetMACLPIEvent(ETH_HandleTypeDef *heth); |
AnnaBridge | 172:65be27845400 | 330 | |
AnnaBridge | 172:65be27845400 | 331 | /** |
AnnaBridge | 172:65be27845400 | 332 | * @} |
AnnaBridge | 172:65be27845400 | 333 | */ |
AnnaBridge | 172:65be27845400 | 334 | |
AnnaBridge | 172:65be27845400 | 335 | /** |
AnnaBridge | 172:65be27845400 | 336 | * @} |
AnnaBridge | 172:65be27845400 | 337 | */ |
AnnaBridge | 172:65be27845400 | 338 | |
AnnaBridge | 172:65be27845400 | 339 | /** |
AnnaBridge | 172:65be27845400 | 340 | * @} |
AnnaBridge | 172:65be27845400 | 341 | */ |
AnnaBridge | 172:65be27845400 | 342 | |
AnnaBridge | 172:65be27845400 | 343 | /** |
AnnaBridge | 172:65be27845400 | 344 | * @} |
AnnaBridge | 172:65be27845400 | 345 | */ |
AnnaBridge | 172:65be27845400 | 346 | |
AnnaBridge | 172:65be27845400 | 347 | #ifdef __cplusplus |
AnnaBridge | 172:65be27845400 | 348 | } |
AnnaBridge | 172:65be27845400 | 349 | #endif |
AnnaBridge | 172:65be27845400 | 350 | |
AnnaBridge | 172:65be27845400 | 351 | #endif /* STM32H7xx_HAL_ETH_EX_H */ |
AnnaBridge | 172:65be27845400 | 352 | |
AnnaBridge | 172:65be27845400 | 353 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |