IDF_BUILD_V2 does not have BUILD_COMPONENTS build property. Therefore,
when IDF_BUILD_V2 is defined, use a generator expressions instead.
The inclusion of esp_eth_netif_glue.c, which relies on the presence of
the esp_netif component, should ideally be managed by a configuration
option. The same applies to the requirements for esp_eth. Currently,
only a basic adjustment has been made to enable the inclusion of esp_eth
in cmakev2.
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
When parsing ND-JSON streams, this is needed to indicate the
point when the ND-JSON stream is considered open, which
occurs just after the last HTTP_EVENT_ON_HEADER.
ND-JSON stream clients cannot rely on the first HTTP_EVENT_ON_DATA,
since that is only triggered by an event, which are optional and
may never be sent, or only sent well after the last HTTP_EVENT_ON_HEADER.
Closes#15952
Openeth driver did not consider the possibility that the MAC address
was specified when launching QEMU, and would always overwrite that
address with the address obtained from esp_read_mac.
When running QEMU, setting the MAC address via QEMU arguments is more
convenient than crafting an eFuse file with the correct MAC address.
This change modifies openeth driver to first check if an address has
been set in QEMU and uses it if so. Otherwise it falls back to the
address obtained from esp_read_mac.
As part of this change, also removed the unnecessary variable
emac_opencores_t::addr, the address is only kept in the registers of
the emulated peripheral now.
For full effect this also requires changes in QEMU, see
https://github.com/espressif/qemu/issues/107 for background. Without
changes in QEMU, this commit keeps the same behavior.
Fixed memory leak in emac_esp_new_dma function.
Polished ESP EMAC cache management.
Added emac_periph definitions based on SoC features and improved(generalized) ESP EMAC GPIO
initialization.
Added ESP EMAC GPIO reservation.
Added check for frame error condition indicated by EMAC DMA and created a target test.
Reading the link state via PHYSTS was incorrect, as it only reflects the
link state bit from BMSR. BMSR latches link down events, and are not
cleared without being read. (See 802.3-2008 section 2, section 22.2.4.2.13)
This leads to the original DP828xx code only supporting link up, then a
single link down event.
Switch to reading the link state via BMSR, but continuing to read the
negotiation results via PHYSTS and ANLPAR. This is inline with
LAN8720x, RTL8201, KSZ80xx phy drivers, and other opensource drivers for
the DP838xx family of devices.
Tested on a private board with a DP83825i PHY. No publically available
boards using the original DP83848 are known of for testing.
Signed-off-by: Karl Palsson <karl.palsson@marel.com>