mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-28 12:30:58 +00:00
Added MDNS and driver support for multicast
This commit is contained in:
1 parent
b44193780e
commit
6f697db49d
31 files changed
+766
-168
No files matched your search
+9
-3
@@ -160,7 +160,7 @@ static bool mg_tcpip_driver_tm4c_init(struct mg_tcpip_if *ifp) {
|
||||
// EMAC->EMACDMABUSMOD = MG_BIT(13) | MG_BIT(16) | MG_BIT(22) | MG_BIT(23) | MG_BIT(25);
|
||||
EMAC->EMACIM = MG_BIT(3) | MG_BIT(9); // Mask timestamp & PMT IT
|
||||
EMAC->EMACFLOWCTL = MG_BIT(7); // Disable zero-quanta pause
|
||||
// EMAC->EMACFRAMEFLTR = MG_BIT(31); // Receive all
|
||||
EMAC->EMACFRAMEFLTR = MG_BIT(10); // Perfect filtering
|
||||
// EMAC->EMACPC defaults to internal PHY (EPHY) in MMI mode
|
||||
emac_write_phy(EPHY_ADDR, EPHYBMCR, MG_BIT(15)); // Reset internal PHY (EPHY)
|
||||
emac_write_phy(EPHY_ADDR, EPHYBMCR, MG_BIT(12)); // Set autonegotiation
|
||||
@@ -174,8 +174,14 @@ static bool mg_tcpip_driver_tm4c_init(struct mg_tcpip_if *ifp) {
|
||||
EMAC->EMACADDR0L = (uint32_t) (ifp->mac[3] << 24) |
|
||||
((uint32_t) ifp->mac[2] << 16) |
|
||||
((uint32_t) ifp->mac[1] << 8) | ifp->mac[0];
|
||||
// NOTE(scaprile) There are 3 additional slots for filtering, disabled by
|
||||
// default. This also applies to the STM32 driver (at least for F7)
|
||||
#if MG_TCPIP_MCAST
|
||||
// add mDNS / DNS-SD multicast address
|
||||
EMAC->EMACADDR1L = (uint32_t) mcast_addr[3] << 24 |
|
||||
(uint32_t) mcast_addr[2] << 16 |
|
||||
(uint32_t) mcast_addr[1] << 8 | (uint32_t) mcast_addr[0];
|
||||
EMAC->EMACADDR1H = (uint32_t) mcast_addr[5] << 8 | (uint32_t) mcast_addr[4];
|
||||
EMAC->EMACADDR1H |= MG_BIT(31); // AE
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user