Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
custom_targets/mbed-os/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407xE/TARGET_STM32F407VE/stm32f4_eth_conf.c@9:480495caa078, 2020-10-21 (annotated)
- Committer:
- hudakz
- Date:
- Wed Oct 21 07:01:25 2020 +0000
- Revision:
- 9:480495caa078
- Parent:
- 0:e5c84595673c
Mbed support for QtCreator IDE.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| hudakz | 0:e5c84595673c | 1 | /* mbed Microcontroller Library |
| hudakz | 0:e5c84595673c | 2 | * Copyright (c) 2017 ARM Limited |
| hudakz | 0:e5c84595673c | 3 | * |
| hudakz | 0:e5c84595673c | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| hudakz | 0:e5c84595673c | 5 | * you may not use this file except in compliance with the License. |
| hudakz | 0:e5c84595673c | 6 | * You may obtain a copy of the License at |
| hudakz | 0:e5c84595673c | 7 | * |
| hudakz | 0:e5c84595673c | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| hudakz | 0:e5c84595673c | 9 | * |
| hudakz | 0:e5c84595673c | 10 | * Unless required by applicable law or agreed to in writing, software |
| hudakz | 0:e5c84595673c | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| hudakz | 0:e5c84595673c | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| hudakz | 0:e5c84595673c | 13 | * See the License for the specific language governing permissions and |
| hudakz | 0:e5c84595673c | 14 | * limitations under the License. |
| hudakz | 0:e5c84595673c | 15 | */ |
| hudakz | 0:e5c84595673c | 16 | |
| hudakz | 0:e5c84595673c | 17 | #include "stm32f4xx_hal.h" |
| hudakz | 0:e5c84595673c | 18 | |
| hudakz | 0:e5c84595673c | 19 | void _eth_config_mac(ETH_HandleTypeDef *heth) |
| hudakz | 0:e5c84595673c | 20 | { |
| hudakz | 0:e5c84595673c | 21 | ETH_MACInitTypeDef macconf = { |
| hudakz | 0:e5c84595673c | 22 | .Watchdog = ETH_WATCHDOG_ENABLE, |
| hudakz | 0:e5c84595673c | 23 | .Jabber = ETH_JABBER_ENABLE, |
| hudakz | 0:e5c84595673c | 24 | .InterFrameGap = ETH_INTERFRAMEGAP_96BIT, |
| hudakz | 0:e5c84595673c | 25 | .CarrierSense = ETH_CARRIERSENCE_ENABLE, |
| hudakz | 0:e5c84595673c | 26 | .ReceiveOwn = ETH_RECEIVEOWN_ENABLE, |
| hudakz | 0:e5c84595673c | 27 | .LoopbackMode = ETH_LOOPBACKMODE_DISABLE, |
| hudakz | 0:e5c84595673c | 28 | .ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE, |
| hudakz | 0:e5c84595673c | 29 | .RetryTransmission = ETH_RETRYTRANSMISSION_DISABLE, |
| hudakz | 0:e5c84595673c | 30 | .AutomaticPadCRCStrip = ETH_AUTOMATICPADCRCSTRIP_DISABLE, |
| hudakz | 0:e5c84595673c | 31 | .BackOffLimit = ETH_BACKOFFLIMIT_10, |
| hudakz | 0:e5c84595673c | 32 | .DeferralCheck = ETH_DEFFERRALCHECK_DISABLE, |
| hudakz | 0:e5c84595673c | 33 | .ReceiveAll = ETH_RECEIVEAll_DISABLE, |
| hudakz | 0:e5c84595673c | 34 | .SourceAddrFilter = ETH_SOURCEADDRFILTER_DISABLE, |
| hudakz | 0:e5c84595673c | 35 | .PassControlFrames = ETH_PASSCONTROLFRAMES_BLOCKALL, |
| hudakz | 0:e5c84595673c | 36 | .BroadcastFramesReception = ETH_BROADCASTFRAMESRECEPTION_ENABLE, |
| hudakz | 0:e5c84595673c | 37 | .DestinationAddrFilter = ETH_DESTINATIONADDRFILTER_NORMAL, |
| hudakz | 0:e5c84595673c | 38 | .PromiscuousMode = ETH_PROMISCUOUS_MODE_DISABLE, |
| hudakz | 0:e5c84595673c | 39 | .MulticastFramesFilter = ETH_MULTICASTFRAMESFILTER_NONE, // Disable multicast filter |
| hudakz | 0:e5c84595673c | 40 | .UnicastFramesFilter = ETH_UNICASTFRAMESFILTER_PERFECT, |
| hudakz | 0:e5c84595673c | 41 | .HashTableHigh = 0x0U, |
| hudakz | 0:e5c84595673c | 42 | .HashTableLow = 0x0U, |
| hudakz | 0:e5c84595673c | 43 | .PauseTime = 0x0U, |
| hudakz | 0:e5c84595673c | 44 | .ZeroQuantaPause = ETH_ZEROQUANTAPAUSE_DISABLE, |
| hudakz | 0:e5c84595673c | 45 | .PauseLowThreshold = ETH_PAUSELOWTHRESHOLD_MINUS4, |
| hudakz | 0:e5c84595673c | 46 | .UnicastPauseFrameDetect = ETH_UNICASTPAUSEFRAMEDETECT_DISABLE, |
| hudakz | 0:e5c84595673c | 47 | .ReceiveFlowControl = ETH_RECEIVEFLOWCONTROL_DISABLE, |
| hudakz | 0:e5c84595673c | 48 | .TransmitFlowControl = ETH_TRANSMITFLOWCONTROL_DISABLE, |
| hudakz | 0:e5c84595673c | 49 | .VLANTagComparison = ETH_VLANTAGCOMPARISON_16BIT, |
| hudakz | 0:e5c84595673c | 50 | .VLANTagIdentifier = 0x0U, |
| hudakz | 0:e5c84595673c | 51 | }; |
| hudakz | 0:e5c84595673c | 52 | |
| hudakz | 0:e5c84595673c | 53 | if (heth->Init.ChecksumMode == ETH_CHECKSUM_BY_HARDWARE) { |
| hudakz | 0:e5c84595673c | 54 | macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE; |
| hudakz | 0:e5c84595673c | 55 | } else { |
| hudakz | 0:e5c84595673c | 56 | macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_DISABLE; |
| hudakz | 0:e5c84595673c | 57 | } |
| hudakz | 0:e5c84595673c | 58 | |
| hudakz | 0:e5c84595673c | 59 | (void) HAL_ETH_ConfigMAC(heth, &macconf); |
| hudakz | 0:e5c84595673c | 60 | } |
| hudakz | 0:e5c84595673c | 61 |