Part Number:AM1808
Hi,
I wanted to confirm that the only way to recover from a HOSTPEND interrupt, which are triggered by errors in packet buffer descriptors, is to do a HW WARM RESET of the chip. Is this correct?
The TRM states:
18.2.14.2 Hardware Reset Considerations
When a hardware reset occurs, the EMAC peripheral has its register values reset and all the components
return to their default state. After the hardware reset, the EMAC needs to be initialized before being able
to resume its data transmission, as described in Section 29.2.19.
A hardware reset is the only means of recovering from the error interrupts (HOSTPEND), which are
triggered by errors in packet buffer descriptors. Before doing a hardware reset, you should inspect the
error codes in the MAC status register (MACSTATUS) that gives information about the type of software
error that needs to be corrected. For detailed information on error interrupts, see Section 18.2.16.1.4.
But I have seen some other threads where folks have tried to recover by having HOSTPEND masked and poll for the interrupt status. Then if HOSTPEND occurred, the approach was to reboot the network stack, which in turn executed the EMAC deinit() functions and then the init() functions. Has this been tested? Or is the only way to recover to do the HW WARM RESET?
Thanks,
--Gunter