Ondrej Kosta
4051b80b4d
esp_netif: remove dependency of L2 TAP Interface from netif_lwip
...
esp_eth: extended infrastructure to optionally provide more advanced access to MAC/PHY layers
2022-04-08 16:40:29 +02:00
David Cermak
8da2e4088c
esp_eth: Update esp32's EMAC API to decouple driver and vendor config
2022-02-14 16:17:29 +00:00
David Cermak
1dc60730ee
esp_eth: ESP32 EMAC to use common DMA busrt size for both Tx and Rx
2022-02-14 16:17:29 +00:00
David Cermak
2553fb5845
esp_eth: Make EMAC DMA burst size configurable
...
Merges https://github.com/espressif/esp-idf/pull/7874
Closes https://github.com/espressif/esp-idf/issues/7380
2022-02-14 16:17:29 +00:00
Ondrej Kosta
7e864d6856
netif_glue: Removed deprecated esp_eth_set_default_handlers and esp_eth_clear_default_handlers
2021-12-08 09:21:30 +01:00
Ondrej Kosta
914eafe2db
Merge branch 'feature/ksz80xx_support_extension' into 'master'
...
esp_eth: rework KSZ80xx implementation and add more KSZ80xx PHYs
Closes IDFGH-6203 and IDF-3522
See merge request espressif/esp-idf!16024
2021-12-06 08:54:33 +00:00
Ondrej Kosta
970986e5b6
Added KSZ8041/81 and LAN8720 Driver IDF v5.0 migration description
...
LAN8720 function call clean up
2021-12-03 14:28:52 +01:00
Fischerauer Christian
3fb83f2866
esp_eth: rework KSZ80xx implementation and add more KSZ80xx PHYs
...
* add support for KSZ8001, KSZ8021, KSZ8031, KSZ8051 and KSZ8061
* remove duplicate code
* simplify architecture to make the code base extensible (for future work)
2021-12-02 11:56:08 +01:00
Ondrej Kosta
fcd634faec
Merge branch 'contrib/github_pr_7958' into 'master'
...
fix: missing initializer waring in esp_eth
Closes IDFGH-6293
See merge request espressif/esp-idf!16178
2021-11-29 13:24:58 +00:00
Vladimir Chistyakov
2b944ca056
fix: missing initializer warning in esp_eth
...
remove auto_nego_en member from esp_eth_config_t as it is not used
anywhere
2021-11-26 17:42:38 +07:00
Ondrej Kosta
3a7a67f174
netif: added ESP-NETIF L2 TAP interface
2021-11-23 11:17:22 +01:00
Ondrej Kosta
d1f2a3dfcc
esp_eth: added ioctl options to set Ethernet speed and duplex mode
...
esp_eth_ioctl third argument always acts as untyped pointer to memory now
2021-11-16 08:34:07 +01:00
ma-lalonde
0f754551dd
Add support for Eth PHY KSZ8091
2021-11-01 11:11:18 -04:00
Ondrej Kosta
76326e8268
esp_eth: add PHY loopback control via esp_eth_ioctl
...
Fixed esp_eth_ioctl command's data argument non-standard handling
2021-09-14 09:13:54 +02:00
laokaiyao
8d18a9c614
emac: optimise iperf performane
2021-09-01 19:11:28 +08:00
Ondrej Kosta
ef30384902
esp_eth: add support for multiple Ethernets modules at a time
...
Ethernet driver events properly bounded with ESP NETIF actions to support multiple Ethernet modules used at a time.
Components using Ethernet updated to conform with new API.
Closes https://github.com/espressif/esp-idf/issues/7318
2021-08-24 17:10:36 +02:00
Ondrej Kosta
404905d5f1
esp_eth: Add support to LAN87xx family
...
Merges/Related-to https://github.com/espressif/esp-idf/pull/7097
2021-07-28 19:34:05 +08:00
Ondrej Kosta
02a432b8d3
Fix invalid ETH_MAC_DEFAULT_CONFIG macro in C++
2021-07-19 09:56:07 +02:00
Ondrej Kosta
a6db3a5e77
esp_eth: Change clock mode setting
...
RMII clock mode is made to be run-time configurable.
Closes https://github.com/espressif/esp-idf/issues/6564
Closes https://github.com/espressif/esp-idf/issues/7107
2021-07-08 14:27:31 +02:00
laokaiyao
fe354f1c50
hal/emac_hal: refactord emac_hal
2021-06-16 09:48:21 +08:00
Vladimir Chistyakov
c4f131e6ee
esp_eth: Add a KSZ8851SNL SPI Ethernet driver
...
Implement the PHY and MAC layers in the driver similar to
the W5500 driver.
Update Kconfig, CMakeLists.txt, and component.mk to incorporate
the changes.
Resolves : #6542
Merges https://github.com/espressif/esp-idf/pull/6636
Closes https://github.com/espressif/esp-idf/issues/6542
2021-04-22 13:55:51 +00:00
morris
537617aec7
esp_eth: support user customized PHY io function
...
Closes https://www.github.com/espressif/esp-idf/issues/6745
2021-04-21 13:08:07 +08:00
Patrick Wieder
98a4c70af9
Added support for Ethernet PHY KSZ8081
...
Merges https://github.com/espressif/esp-idf/pull/6578
2021-03-30 08:53:15 +00:00
morris
c010f24d8b
esp_eth: deprecate esp_eth_receive
...
Ethernet driver is interrupt driven only, don't support polling mode.
So deprecate esp_eth_receive API.
2021-01-27 23:48:01 +08:00
Axel Lin
2049aa9f68
esp_eth: Add ioctl command for getting duplex mode
...
Similar to ETH_CMD_G_SPEED, add ETH_CMD_G_DUPLEX_MODE for getting duplex mode.
Merges https://github.com/espressif/esp-idf/pull/6436
2021-01-25 08:40:47 +00:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
morris
1e905acacf
eth: support W5500 MAC RAW mode
...
W5500 features an Ethernet MAC+PHY, plus a HW SOCKET implementation.
But in IDF, we only use software TCP/IP stack, which means we have
to bypass the HW TCP/IP stack in W5500.
So we enables the MAC RAW mode in W5500.
2020-11-16 13:30:49 +08:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Yorick van Pelt
65707cfb41
esp_eth_mac_esp32: optionally setup SMI GPIO's
...
This enables passing smi_mdio_gpio_num = -1 to disable that signal
Merges https://github.com/espressif/esp-idf/pull/5903
2020-09-25 19:59:41 +08:00
Jakob Hasse
f7f46905ec
esp_eth: moved extern "C" after includes
2020-09-08 17:44:57 +08:00
morris
4e38aab1b0
ethernet: support flow control for esp32 emac
2020-08-10 18:54:25 +08:00
morris
648bcc7a87
ethernet: add ksz8041 in basic ethernet example
2020-07-09 21:49:07 +08:00
Meowthink
62237cf28c
Add Microchip KSZ8041 PHY support.
...
Merges https://github.com/espressif/esp-idf/pull/5452
2020-07-09 21:00:42 +08:00
morris
1184366387
ethernet: support pin emac task to core
2020-05-29 17:51:37 +08:00
morris
6020d6a5d4
ethernet: esp_eth_stop API should stop emac hardware
2020-05-13 15:58:42 +08:00
morris
9e59be1aab
ethernet: add enc28j60 example
2020-02-10 12:56:14 +08:00
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