Commit Graph

57 Commits

Author SHA1 Message Date
Ondrej Kosta
43f3904304 esp_eth: IEEE 802.3 PHY MII Management Interface functionality grouped to one common file 2022-06-24 05:51:44 +00:00
David Cermak
fd366fac9e esp_eth: Remove deprecated esp_eth_receive() 2022-06-09 07:55:40 +00:00
David Cermak
343cf2696e esp_eth: Reduce internal deps onto netif-glue 2022-06-09 07:55:40 +00:00
David Cermak
5e19b9c951 esp-netif: Make dependency on esp-eth optional
* esp-netif to optionally depend on esp-eth (only for l2tap config)
* esp_eth.h now includes the original ethernet header and the
ethernet-netif glue layer
* Updated examples and test to explicitely use esp-eth dependency if
needed
2022-06-09 07:55:40 +00:00
David Cermak
680f3a50c2 esp_eth: Rename drivers main header to esp_eth_driver
The original  would be used as API header bringing both driver and netif related includes
2022-06-09 07:55:40 +00:00
Marius Vikhammer
c8617fe965 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
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