Ondrej Kosta
bb6c6aff36
esp_eth: SPI Ethernet modules initialization simplification
2022-07-14 08:46:22 +02:00
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
5b471a1848
esp_netif/lwip: Implement basic support for vanilla-lwip (2.1.3-REL)
...
* Reference lwip-2.1.3-REL vanilla lwip version
* Use inherent NETIF callbacks instead of dhcp/ipv6/autoip
2022-05-18 17:10:42 +02: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
c63c8d4df1
esp_eth: Fix open-cores explicit inclusion
2022-03-23 09:05:30 +01:00
Ondrej Kosta
c69b4c817b
Fixed Ethernet lwIP netif error indication
2022-03-22 07:17:40 +00:00
David Cermak
795b7ed993
esp_netif: Remove tcpip_adapter compatibility layer
2022-03-10 08:19:43 +01:00
Sudeep Mohanty
a9fda54d39
esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
...
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Ondrej Kosta
7512bdecfe
Merge branch 'feature/emac_start_stop_test' into 'master'
...
test_emac: extended Ethernet start/stop stress test
Closes IDF-4540
See merge request espressif/esp-idf!16755
2022-02-15 13:23:01 +00: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
e97fd4b076
esp_eth: EMAC start/stop optimization
2022-02-14 08:21:43 +01:00
Anton Maklakov
8bb06df68f
components: correct abs() use for unsigned and 64-bit arguments
2022-01-29 12:07:16 +07:00
Ondrej Kosta
fa9cc49b9e
Merge branch 'bugfix/esp_eth_start_tx_buff' into 'master'
...
Fixed ESP32 EMAC driver `insufficient TX buffer size`
Closes WIFI-4194
See merge request espressif/esp-idf!16457
2022-01-05 09:40:12 +00:00
laokaiyao
4f28b33bbc
apll: add lock for apll
2021-12-29 10:13:13 +08:00
Ondrej Kosta
1150a11c56
Fixed ESP32 EMAC driver insufficient TX buffer size
which could followed esp_eth_stop and esp_eth_start sequence
2021-12-23 10:48:38 +01:00
Ondrej Kosta
30e03e2c1d
netif_glue: removal of unused global variable
2021-12-14 15:23:07 +01: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
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
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
Tian Sen Wen
c6ba84e5cd
esp_eth: optimize dm9051 Tx throughput
2021-11-09 14:04:11 +08:00
morris
16677b0d3c
global: make periph enable/disable APIs private
...
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Ondrej Kosta
cb8432e0f2
esp_eth: KSZ8851SNL, enable Rx multicast in MAC filter
...
Closes https://github.com/espressif/esp-idf/issues/7750
2021-11-04 16:17:45 +00:00
David Čermák
9466fd1e16
Merge branch 'bugfix/LAN8720_reset_assertion' into 'master'
...
Increased LAN8720 ETH-PHY reset assertion time
Closes IDFGH-6132 and IDFGH-6018
See merge request espressif/esp-idf!15636
2021-11-03 16:29:09 +00:00
Ondrej Kosta
380864861f
Copyright message fix for 'Increased LAN8720 ETH-PHY reset assertion time'
2021-11-02 09:57:03 +01:00
Frank Sautter
5e7df077d6
Increased LAN8720 ETH-PHY reset assertion time (IDFGH-6018)
...
Increase reset assertion time from 100µs (as specified minimum in the datasheet) to 150µs.
Some specimen of the LAN8720 need the reset signal asserted longer than 100µs to initialise properly. Otherwise they are in a zombie state where they are establishing and loosing an Ethernet link once in a seconds interval.
2021-11-01 22:03:30 +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
David Cermak
676cd99c42
esp_eth: Fix dm9051 Rx interrupt processing
...
* Disable Tx interrupts to fix race condition of missing Rx interrupt
* Check if GPIO interrupt is asserted periodically if the ISR event missed
Closes https://github.com/espressif/esp-idf/issues/6414
2021-09-07 16:38:43 +02:00
morris
ab0c5fed25
eth: dont warn nego timeout if link is down
2021-08-27 15:30:46 +08:00
Ondrej Kosta
300618e5be
Merge branch 'feature/dual_eth' into 'master'
...
esp_eth: add support for multiple Ethernets modules at a time
Closes IDFGH-5596
See merge request espressif/esp-idf!14640
2021-08-27 06:11:48 +00: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
a37e4b18c6
phy_lan87xx: extended Vendor Specific Registers definition
...
Extended Vendor Specific Registers definition to include definitions for LAN8740A/LAN8741A/LAN8742A
Closes https://github.com/espressif/esp-idf/pull/7269
2021-08-10 15:54:32 +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
morris
8e069dd755
emac: configure data interface early
...
Related to https://github.com/espressif/esp-idf/issues/7227
2021-07-13 15:10:23 +08: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
David Cermak
45846f06cf
esp_eth: Improve GPIO interrupt processing in w5500 driver
...
Increase the interrupt reassert level timing so the chances of missing
two consecutive events are minimal.
Enable only SIR_RECV interrupt event, so the SEND events are not used
for GPIO signal.
2021-05-25 04:52:46 +00:00
David Cermak
0cd021adb1
esp_eth: Recover the w5500 driver from missed io interrupt
...
If the GPIO interrupt is re-asserted too quickly it could be missed. If this happens the driver goes silent and never receives any data. Recover by periodic checks of the IO signal level
2021-05-25 04:52:46 +00:00
morris
0c25793b06
esp_eth: restart negotiation in esp_eth_start
2021-05-18 11:16:32 +08:00
Jon Shallow
154ad2e0e1
esp_eth_mac_openeth.c: Fix issue created by generic check macros update
...
Merges https://github.com/espressif/esp-idf/pull/6936
2021-04-26 08:40:07 +00:00
David Cermak
1e674f1d20
esp_eth: Update KSZ8851SNL driver to use global error checkers
...
Also updated KSZ8851SNL per internal code review:
* Removed Link status change interrupt as it's handled with polling
* Added auto negotiation timeout
* Updated typedefs, moved types to appropriate source, updated
components/esp_eth/src/ksz8851.h to use only inherent device types
* Applied IDF code formatting
* Updated header file order to include first the most generic to more
specific
2021-04-22 13:55:51 +00: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
0733adab5e
esp_eth: using esp_timer to check link status
2021-04-21 13:08:07 +08: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
morris
ef344d89ae
esp_eth: apply generic error check macros
2021-04-13 10:54:33 +08:00
David Čermák
0f36a2dd16
Merge branch 'bugfix/eth_w5500_4byte_corruption' into 'master'
...
esp_eth: Fix w5500 read register operations
Closes IDFGH-4776 and IDFGH-4400
See merge request espressif/esp-idf!13060
2021-04-12 14:26:30 +00:00