Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eth_nxp_enet_qos_mac: enable pass through of multicasts #83416

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion drivers/ethernet/eth_nxp_enet_qos/eth_nxp_enet_qos_mac.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ static void tx_dma_done(struct k_work *work)

static enum ethernet_hw_caps eth_nxp_enet_qos_get_capabilities(const struct device *dev)
{
return ETHERNET_LINK_100BASE_T | ETHERNET_LINK_10BASE_T;
return ETHERNET_LINK_100BASE_T | ETHERNET_LINK_10BASE_T | ENET_MAC_PACKET_FILTER_PM_MASK;
}

static void eth_nxp_enet_qos_rx(struct k_work *work)
Expand Down Expand Up @@ -375,6 +375,11 @@ static inline void enet_qos_mac_config_init(enet_qos_t *base,
data->mac_addr.addr[1] << 8 |
data->mac_addr.addr[0]);

/* permit multicast packets if there is no space in hash table for mac addresses */
if ((base->MAC_HW_FEAT[1] & ENET_MAC_HW_FEAT_HASHTBLSZ_MASK) == 0) {
base->MAC_PACKET_FILTER |= ENET_MAC_PACKET_FILTER_PM_MASK;
}

/* Set the reference for 1 microsecond of ENET QOS CSR clock cycles */
base->MAC_ONEUS_TIC_COUNTER =
ENET_QOS_REG_PREP(MAC_ONEUS_TIC_COUNTER, TIC_1US_CNTR,
Expand Down
Loading