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
morris
76fe489c58
ethernet: support power on timeout
...
Closes https://github.com/espressif/esp-idf/issues/5425
2020-08-10 18:54:25 +08:00
morris
f4131b9b42
ethernet: handle early rx interrupt
2020-08-10 18:54:25 +08:00
morris
4e38aab1b0
ethernet: support flow control for esp32 emac
2020-08-10 18:54:25 +08:00
morris
2917651478
esp_rom: extract common ets apis into esp_rom_sys.h
2020-07-27 15:27:01 +08:00
morris
abcea51976
ethernet: insert min assert time for PHY HW reset
...
Closes https://github.com/espressif/esp-idf/issues/5528
2020-07-09 22:03:17 +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
a4d0033c03
esp_rom: extract common GPIO apis into esp_rom_gpio.h
2020-07-07 11:40:19 +08:00
morris
1184366387
ethernet: support pin emac task to core
2020-05-29 17:51:37 +08:00
morris
d8a9ce14d7
ethernet: fix potential task watch dog timeout
2020-05-13 16:03:00 +08:00
morris
4454b198bb
ethernet: better control start/stop/uninstall/install
2020-05-13 15:58:42 +08:00
morris
6020d6a5d4
ethernet: esp_eth_stop API should stop emac hardware
2020-05-13 15:58:42 +08:00
morris
0a7ccb8095
ethernet: fix potential null pointer dereference
...
Closes https://github.com/espressif/esp-idf/issues/4890
2020-03-07 12:12:29 +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
cc0459eea2
ethernet: always put eth_driver handle in SRAM
...
Closes https://github.com/espressif/esp-idf/issues/4635
2020-01-19 16:25:44 +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
7baf7ce273
ethernet: optimise tx and rx
2019-12-24 11:18:31 +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
57ef88a91f
ethernet: add pm lock
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
d0afdaaf24
esp_eth: moved starting link timer to eth driver start
2019-11-13 12:36:26 +01:00
David Cermak
7f5cda1b82
tcpip_adapter: updated tcpip_adapter compatablity layer to include all
...
public API and keep 100% backward compatibility
update build of tcpip adapter when ethernet disabled
2019-11-13 12:36:25 +01: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
eb94d87935
esp_netif: address failures on tcpip-task ipc call, deinit lwip netif and ip address issues
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
Ivan Grokhotkov
bf68285689
Merge branch 'feature/compile_option_O0' into 'master'
...
build_system: add new compiler optimization levels
See merge request espressif/esp-idf!5686
2019-09-17 16:54:55 +08:00
Andrew
4fdaeb6b6e
cmake: Add new compiler optimization levels definitions
...
Rename and add multiple kconfig compiler options. New compiler options
COMPILER_OPTIMIZATION_PERF and COMPILER_OPTIMIZATION_NONE have been added.
Optimize "Debug" and "Release" options to "Default" and "Size" respectively.
This commit also does the following:
- The COMPILER_OPTIMIZATION_PERF option introduced multiple bug.
This commit fixes those bugs.
- build.yml also updated to test for the new optimization options.
2019-09-06 17:37:19 +08:00
suda-morris
14ffd355e6
ethernet: bugfix and optimize
...
1. check frame length before pass to stack
2. replace semaphore with task notify
2019-09-03 11:01:16 +08:00
suda-morris
cfbf8c5d07
ethernet: task yield at the end of isr handler
2019-07-22 21:07:02 +08:00
suda-morris
af78311975
ethernet: malloc hal together with driver context
2019-07-22 21:07:02 +08: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