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.

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?

UserRevisionLine numberNew 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>&copy; 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****/