arch/arm/src/stm32h7/stm32_ethernet.c: Fix some errors in Ethernet MAC configuration.
This commit is contained in:
parent
316aafc04d
commit
1726f79a0f
@ -373,11 +373,11 @@
|
||||
(ETH_MACCR_BL_10 | ETH_MACCR_DR | ETH_MACCR_IPG(96))
|
||||
#endif
|
||||
|
||||
/* Clear the MACCR bits that will be setup during MAC initialization (or that
|
||||
/* Clear the MACPFR bits that will be setup during MAC initialization (or that
|
||||
* are cleared unconditionally). Per the reference manual, all reserved bits
|
||||
* must be retained at their reset value.
|
||||
*
|
||||
* ETH_MACPFR_PM Bit 0: Promiscuous mode
|
||||
* ETH_MACPFR_PR Bit 0: Promiscuous mode
|
||||
* ETH_MACPFR_HUC Bit 1: Hash unicast
|
||||
* ETH_MACPFR_HMC Bit 2: Hash multicast
|
||||
* ETH_MACPFR_DAIF Bit 3: Destination address inverse filtering
|
||||
@ -394,19 +394,19 @@
|
||||
*/
|
||||
|
||||
#define MACPFR_CLEAR_BITS \
|
||||
(ETH_MACPFR_PM | ETH_MACPFR_HUC | ETH_MACPFR_HMC | ETH_MACPFR_DAIF | \
|
||||
(ETH_MACPFR_PR | ETH_MACPFR_HUC | ETH_MACPFR_HMC | ETH_MACPFR_DAIF | \
|
||||
ETH_MACPFR_PM | ETH_MACPFR_DBF | ETH_MACPFR_PCF_MASK | ETH_MACPFR_SAIF | \
|
||||
ETH_MACPFR_SAF | ETH_MACPFR_HPF | ETH_MACPFR_VTFE | ETH_MACPFR_IPFE | \
|
||||
ETH_MACPFR_DNTU | ETH_MACPFR_RA)
|
||||
|
||||
/* The following bits are set or left zero unconditionally in all modes.
|
||||
*
|
||||
* ETH_MACPFR_PM Promiscuous mode 0 (disabled)
|
||||
* ETH_MACPFR_HU Hash unicast 0 (perfect dest filtering)
|
||||
* ETH_MACPFR_HM Hash multicast 0 (perfect dest filtering)
|
||||
* ETH_MACPFR_PR Promiscuous mode 0 (disabled)
|
||||
* ETH_MACPFR_HUC Hash unicast 0 (perfect dest filtering)
|
||||
* ETH_MACPFR_HMC Hash multicast 0 (perfect dest filtering)
|
||||
* ETH_MACPFR_DAIF Destination address inverse filtering 0 (normal)
|
||||
* ETH_MACPFR_PAM Pass all multicast 0 (Depends on HM bit)
|
||||
* ETH_MACPFR_BFD Broadcast frames disable 0 (enabled)
|
||||
* ETH_MACPFR_PM Pass all multicast 0 (Depends on HMC bit)
|
||||
* ETH_MACPFR_DBF Broadcast frames disable 0 (enabled)
|
||||
* ETH_MACPFR_PCF Pass control frames 1 (block all but PAUSE)
|
||||
* ETH_MACPFR_SAIF Source address inverse filtering 0 (not used)
|
||||
* ETH_MACPFR_SAF Source address filter 0 (disabled)
|
||||
@ -2788,7 +2788,7 @@ static int stm32_addmac(struct net_driver_s *dev, const uint8_t *mac)
|
||||
stm32_putreg(temp, registeraddress);
|
||||
|
||||
temp = stm32_getreg(STM32_ETH_MACPFR);
|
||||
temp |= (ETH_MACPFR_HM | ETH_MACPFR_HPF);
|
||||
temp |= (ETH_MACPFR_HMC | ETH_MACPFR_HPF);
|
||||
stm32_putreg(temp, STM32_ETH_MACPFR);
|
||||
|
||||
return OK;
|
||||
@ -2850,7 +2850,7 @@ static int stm32_rmmac(struct net_driver_s *dev, const uint8_t *mac)
|
||||
stm32_getreg(STM32_ETH_MACHT1R) == 0)
|
||||
{
|
||||
temp = stm32_getreg(STM32_ETH_MACPFR);
|
||||
temp &= ~(ETH_MACPFR_HM | ETH_MACPFR_HPF);
|
||||
temp &= ~(ETH_MACPFR_HMC | ETH_MACPFR_HPF);
|
||||
stm32_putreg(temp, STM32_ETH_MACPFR);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user