Skip to content

Commit d0d7c6f

Browse files
committed
lwip: fix stm32f4 eth conf file
This file is moved to targets that support eth. It can't be common for any F4, as not all targets from this family support eth.
1 parent 4f5a199 commit d0d7c6f

File tree

5 files changed

+244
-0
lines changed

5 files changed

+244
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2017 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
#include "stm32f4xx_hal.h"
18+
19+
void _eth_config_mac(ETH_HandleTypeDef *heth)
20+
{
21+
ETH_MACInitTypeDef macconf =
22+
{
23+
.Watchdog = ETH_WATCHDOG_ENABLE,
24+
.Jabber = ETH_JABBER_ENABLE,
25+
.InterFrameGap = ETH_INTERFRAMEGAP_96BIT,
26+
.CarrierSense = ETH_CARRIERSENCE_ENABLE,
27+
.ReceiveOwn = ETH_RECEIVEOWN_ENABLE,
28+
.LoopbackMode = ETH_LOOPBACKMODE_DISABLE,
29+
.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE,
30+
.RetryTransmission = ETH_RETRYTRANSMISSION_DISABLE,
31+
.AutomaticPadCRCStrip = ETH_AUTOMATICPADCRCSTRIP_DISABLE,
32+
.BackOffLimit = ETH_BACKOFFLIMIT_10,
33+
.DeferralCheck = ETH_DEFFERRALCHECK_DISABLE,
34+
.ReceiveAll = ETH_RECEIVEAll_DISABLE,
35+
.SourceAddrFilter = ETH_SOURCEADDRFILTER_DISABLE,
36+
.PassControlFrames = ETH_PASSCONTROLFRAMES_BLOCKALL,
37+
.BroadcastFramesReception = ETH_BROADCASTFRAMESRECEPTION_ENABLE,
38+
.DestinationAddrFilter = ETH_DESTINATIONADDRFILTER_NORMAL,
39+
.PromiscuousMode = ETH_PROMISCUOUS_MODE_DISABLE,
40+
.MulticastFramesFilter = ETH_MULTICASTFRAMESFILTER_NONE, // Disable multicast filter
41+
.UnicastFramesFilter = ETH_UNICASTFRAMESFILTER_PERFECT,
42+
.HashTableHigh = 0x0U,
43+
.HashTableLow = 0x0U,
44+
.PauseTime = 0x0U,
45+
.ZeroQuantaPause = ETH_ZEROQUANTAPAUSE_DISABLE,
46+
.PauseLowThreshold = ETH_PAUSELOWTHRESHOLD_MINUS4,
47+
.UnicastPauseFrameDetect = ETH_UNICASTPAUSEFRAMEDETECT_DISABLE,
48+
.ReceiveFlowControl = ETH_RECEIVEFLOWCONTROL_DISABLE,
49+
.TransmitFlowControl = ETH_TRANSMITFLOWCONTROL_DISABLE,
50+
.VLANTagComparison = ETH_VLANTAGCOMPARISON_16BIT,
51+
.VLANTagIdentifier = 0x0U,
52+
};
53+
54+
if (heth->Init.ChecksumMode == ETH_CHECKSUM_BY_HARDWARE) {
55+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE;
56+
} else {
57+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_DISABLE;
58+
}
59+
60+
(void) HAL_ETH_ConfigMAC(heth, &macconf);
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2017 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
#include "stm32f4xx_hal.h"
18+
19+
void _eth_config_mac(ETH_HandleTypeDef *heth)
20+
{
21+
ETH_MACInitTypeDef macconf =
22+
{
23+
.Watchdog = ETH_WATCHDOG_ENABLE,
24+
.Jabber = ETH_JABBER_ENABLE,
25+
.InterFrameGap = ETH_INTERFRAMEGAP_96BIT,
26+
.CarrierSense = ETH_CARRIERSENCE_ENABLE,
27+
.ReceiveOwn = ETH_RECEIVEOWN_ENABLE,
28+
.LoopbackMode = ETH_LOOPBACKMODE_DISABLE,
29+
.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE,
30+
.RetryTransmission = ETH_RETRYTRANSMISSION_DISABLE,
31+
.AutomaticPadCRCStrip = ETH_AUTOMATICPADCRCSTRIP_DISABLE,
32+
.BackOffLimit = ETH_BACKOFFLIMIT_10,
33+
.DeferralCheck = ETH_DEFFERRALCHECK_DISABLE,
34+
.ReceiveAll = ETH_RECEIVEAll_DISABLE,
35+
.SourceAddrFilter = ETH_SOURCEADDRFILTER_DISABLE,
36+
.PassControlFrames = ETH_PASSCONTROLFRAMES_BLOCKALL,
37+
.BroadcastFramesReception = ETH_BROADCASTFRAMESRECEPTION_ENABLE,
38+
.DestinationAddrFilter = ETH_DESTINATIONADDRFILTER_NORMAL,
39+
.PromiscuousMode = ETH_PROMISCUOUS_MODE_DISABLE,
40+
.MulticastFramesFilter = ETH_MULTICASTFRAMESFILTER_NONE, // Disable multicast filter
41+
.UnicastFramesFilter = ETH_UNICASTFRAMESFILTER_PERFECT,
42+
.HashTableHigh = 0x0U,
43+
.HashTableLow = 0x0U,
44+
.PauseTime = 0x0U,
45+
.ZeroQuantaPause = ETH_ZEROQUANTAPAUSE_DISABLE,
46+
.PauseLowThreshold = ETH_PAUSELOWTHRESHOLD_MINUS4,
47+
.UnicastPauseFrameDetect = ETH_UNICASTPAUSEFRAMEDETECT_DISABLE,
48+
.ReceiveFlowControl = ETH_RECEIVEFLOWCONTROL_DISABLE,
49+
.TransmitFlowControl = ETH_TRANSMITFLOWCONTROL_DISABLE,
50+
.VLANTagComparison = ETH_VLANTAGCOMPARISON_16BIT,
51+
.VLANTagIdentifier = 0x0U,
52+
};
53+
54+
if (heth->Init.ChecksumMode == ETH_CHECKSUM_BY_HARDWARE) {
55+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE;
56+
} else {
57+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_DISABLE;
58+
}
59+
60+
(void) HAL_ETH_ConfigMAC(heth, &macconf);
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2017 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
#include "stm32f4xx_hal.h"
18+
19+
void _eth_config_mac(ETH_HandleTypeDef *heth)
20+
{
21+
ETH_MACInitTypeDef macconf =
22+
{
23+
.Watchdog = ETH_WATCHDOG_ENABLE,
24+
.Jabber = ETH_JABBER_ENABLE,
25+
.InterFrameGap = ETH_INTERFRAMEGAP_96BIT,
26+
.CarrierSense = ETH_CARRIERSENCE_ENABLE,
27+
.ReceiveOwn = ETH_RECEIVEOWN_ENABLE,
28+
.LoopbackMode = ETH_LOOPBACKMODE_DISABLE,
29+
.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE,
30+
.RetryTransmission = ETH_RETRYTRANSMISSION_DISABLE,
31+
.AutomaticPadCRCStrip = ETH_AUTOMATICPADCRCSTRIP_DISABLE,
32+
.BackOffLimit = ETH_BACKOFFLIMIT_10,
33+
.DeferralCheck = ETH_DEFFERRALCHECK_DISABLE,
34+
.ReceiveAll = ETH_RECEIVEAll_DISABLE,
35+
.SourceAddrFilter = ETH_SOURCEADDRFILTER_DISABLE,
36+
.PassControlFrames = ETH_PASSCONTROLFRAMES_BLOCKALL,
37+
.BroadcastFramesReception = ETH_BROADCASTFRAMESRECEPTION_ENABLE,
38+
.DestinationAddrFilter = ETH_DESTINATIONADDRFILTER_NORMAL,
39+
.PromiscuousMode = ETH_PROMISCUOUS_MODE_DISABLE,
40+
.MulticastFramesFilter = ETH_MULTICASTFRAMESFILTER_NONE, // Disable multicast filter
41+
.UnicastFramesFilter = ETH_UNICASTFRAMESFILTER_PERFECT,
42+
.HashTableHigh = 0x0U,
43+
.HashTableLow = 0x0U,
44+
.PauseTime = 0x0U,
45+
.ZeroQuantaPause = ETH_ZEROQUANTAPAUSE_DISABLE,
46+
.PauseLowThreshold = ETH_PAUSELOWTHRESHOLD_MINUS4,
47+
.UnicastPauseFrameDetect = ETH_UNICASTPAUSEFRAMEDETECT_DISABLE,
48+
.ReceiveFlowControl = ETH_RECEIVEFLOWCONTROL_DISABLE,
49+
.TransmitFlowControl = ETH_TRANSMITFLOWCONTROL_DISABLE,
50+
.VLANTagComparison = ETH_VLANTAGCOMPARISON_16BIT,
51+
.VLANTagIdentifier = 0x0U,
52+
};
53+
54+
if (heth->Init.ChecksumMode == ETH_CHECKSUM_BY_HARDWARE) {
55+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE;
56+
} else {
57+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_DISABLE;
58+
}
59+
60+
(void) HAL_ETH_ConfigMAC(heth, &macconf);
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2017 ARM Limited
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
#include "stm32f4xx_hal.h"
18+
19+
void _eth_config_mac(ETH_HandleTypeDef *heth)
20+
{
21+
ETH_MACInitTypeDef macconf =
22+
{
23+
.Watchdog = ETH_WATCHDOG_ENABLE,
24+
.Jabber = ETH_JABBER_ENABLE,
25+
.InterFrameGap = ETH_INTERFRAMEGAP_96BIT,
26+
.CarrierSense = ETH_CARRIERSENCE_ENABLE,
27+
.ReceiveOwn = ETH_RECEIVEOWN_ENABLE,
28+
.LoopbackMode = ETH_LOOPBACKMODE_DISABLE,
29+
.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE,
30+
.RetryTransmission = ETH_RETRYTRANSMISSION_DISABLE,
31+
.AutomaticPadCRCStrip = ETH_AUTOMATICPADCRCSTRIP_DISABLE,
32+
.BackOffLimit = ETH_BACKOFFLIMIT_10,
33+
.DeferralCheck = ETH_DEFFERRALCHECK_DISABLE,
34+
.ReceiveAll = ETH_RECEIVEAll_DISABLE,
35+
.SourceAddrFilter = ETH_SOURCEADDRFILTER_DISABLE,
36+
.PassControlFrames = ETH_PASSCONTROLFRAMES_BLOCKALL,
37+
.BroadcastFramesReception = ETH_BROADCASTFRAMESRECEPTION_ENABLE,
38+
.DestinationAddrFilter = ETH_DESTINATIONADDRFILTER_NORMAL,
39+
.PromiscuousMode = ETH_PROMISCUOUS_MODE_DISABLE,
40+
.MulticastFramesFilter = ETH_MULTICASTFRAMESFILTER_NONE, // Disable multicast filter
41+
.UnicastFramesFilter = ETH_UNICASTFRAMESFILTER_PERFECT,
42+
.HashTableHigh = 0x0U,
43+
.HashTableLow = 0x0U,
44+
.PauseTime = 0x0U,
45+
.ZeroQuantaPause = ETH_ZEROQUANTAPAUSE_DISABLE,
46+
.PauseLowThreshold = ETH_PAUSELOWTHRESHOLD_MINUS4,
47+
.UnicastPauseFrameDetect = ETH_UNICASTPAUSEFRAMEDETECT_DISABLE,
48+
.ReceiveFlowControl = ETH_RECEIVEFLOWCONTROL_DISABLE,
49+
.TransmitFlowControl = ETH_TRANSMITFLOWCONTROL_DISABLE,
50+
.VLANTagComparison = ETH_VLANTAGCOMPARISON_16BIT,
51+
.VLANTagIdentifier = 0x0U,
52+
};
53+
54+
if (heth->Init.ChecksumMode == ETH_CHECKSUM_BY_HARDWARE) {
55+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_ENABLE;
56+
} else {
57+
macconf.ChecksumOffload = ETH_CHECKSUMOFFLAOD_DISABLE;
58+
}
59+
60+
(void) HAL_ETH_ConfigMAC(heth, &macconf);
61+
}

0 commit comments

Comments
 (0)