Commit Graph

65 Commits

Author SHA1 Message Date
Henry Gilbert
eda07acc81 Add ENC28J60 Ethernet Driver
Merges https://github.com/espressif/esp-idf/pull/4435
2020-02-10 12:56:14 +08:00
morris
5ad0bdd8db ethernet: work with cache disabled
add ETH_MAC_FLAG_WORK_WITH_CACHE_DISABLE flag, make ethenret driver
possible to work when cache disabled

Closes https://github.com/espressif/esp-idf/issues/4406
2020-01-19 16:25:24 +08:00
morris
197d5d7378 ethernet: support phy addr auto detect 2019-12-24 11:18:30 +08:00
morris
ac11545e0a ethernet: warning when double start/stop 2019-12-03 16:10:20 +08:00
morris
c3ee156df0 ethernet: move netif glue && add ref counter
1. move netif glue into single file
2. add reference counter for Ethernet driver
2019-11-27 10:36:32 +08:00
suda-morris
05d71319de ethernet: add gpio number into config structure 2019-11-20 10:36:45 +08:00
suda-morris
f3d0429a9e ethernet: add reference counter for mac and phy 2019-11-20 10:36:45 +08:00
David Cermak
3f60837de2 esp_eth: make esp_eth_driver_start public API so application could start ethernet when used without esp-netif 2019-11-13 12:36:25 +01:00
David Cermak
ba13275c6b esp_netif: update default DHCP IP addresses to be in line with old interface, added loopback implementation, explicit esp-netif init, sanity checks for parameters added 2019-11-13 12:36:25 +01:00
David Cermak
ffe043b1a8 esp_netif: Introduction of esp-netif component as a replacement of tcpip_adpter
- provides object oriented access to network intefaces
- not limited to default netifs
- more generic abstraction to network input output functions
- event handler registration removed from component responsibility
- backward compatibility layer for legacy tcpip_apapter APIs

Closes IDF-39
2019-11-13 12:36:25 +01:00
Ivan Grokhotkov
31dac92e5f ethernet: support OpenCores ethernet MAC
OpenCores Ethernet MAC has a relatively simple interface, and is
already supported in QEMU. This makes it a good candidate for enabling
network support when running IDF apps in QEMU, compared to the
relatively more complex task of writing a QEMU model of ESP32 EMAC.

This driver is written with QEMU in mind: it does not implement or
handle things that aren't implemented or handled in the QEMU model:
error flags, error interrupts. The transmit part of the driver also
assumes that the TX operation is done immediately when the TX
descriptor is written (which is the case with QEMU), hence waiting for
the TX operation to complete is not necessary.

For simplicity, the driver assumes that the peripheral register
occupy the same memory range as the ESP32 EMAC registers, and the
same interrupt source number is used.
2019-10-13 17:05:26 +02:00
suda-morris
13c128fd31 Ethernet: optimize and bugfix
1. simplify deallocate in esp_eth_mac_new_esp32, esp_eth_mac_new_dm9051
2. remove blocking operation in os timer callback
3. check buffer size in ethernet receive function
2019-10-11 12:15:17 +08:00
suda-morris
546ac64a9e ethernet: update spi-ethernet api 2019-09-19 09:41:21 +00:00
suda-morris
cb42c29252 ethernet: support dm9051
1. move resource allocation from xxx_init to xxx_new
2. fix enabling tx checksum insertion by mistake
3. iperf example: enlarge max arguments
4. add examples for spi-ethernet

Closes https://github.com/espressif/esp-idf/issues/3715
Closes https://github.com/espressif/esp-idf/issues/3711
2019-07-04 19:38:13 +08:00
suda-morris
90c4827bd2 add esp_eth component 2019-06-26 10:19:23 +08:00