I can't receive any unicast packets through emac in my RM48L950 (HDK)
When I send broadcast packets to it everything is ok, when sending unicast RX interrupt doesn't get active.
I have emac initialisation routine similar to lwIP for RM48 HDK. I'm using channel 0. What I do:
mymac[] = {0xaa,0xbb,0xcc,0xcc,0xbb,0xaa}
EMACInit()
MDIOInit()
EMACRxUnicastSet()
EMACBroadCastEnable()
EMACMACSrcAddrSet() // set mymac
for all 8 channels {
EMACMACArrdSet() // set mymac and EMAC_MACADDR_MATCH
EMACRxHdrDescPtrWrite() // set null to HDP
EMACTxHdrDescPtrWrite() // set null to HDP
}
... link setup ...
EMACCoreIntAck() //rx interrupt
EMACCoreIntAck() //tx interrupt
EMACNumFreeBufSet()
EMACTxEnable()
EMACRxEnable()
EMACRxHdrDescPtrWrite() // set correct hdp in CPPI
EMACMIIEnable()
EMACTxIntPulseEnable()
EMACRxIntPulseEnable()
When I receive packet from RM4 on my PC (e.g. answer for arp-request) it contains correct mac (source mac is "mymac").
EMAC registers from debug:
MACSRCADDRLO = 0x0000AABB
MACSRCADDRHI = 0x00000000 // why not 0xCCCCBBAA ?
MACADDRLO and MACADDRHI have "unable to read" error