mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
ae2da1e235
Resolved possible race conditions when accessing registers in different banks. Added Tx ready semaphore when requesting packet to transmit (ENC is slow => access to it needs to be controlled). Added setting of CS hold time based on Data sheet. Added option to set the ENC28J60 to Full Duplex mode. Addressed several ENC28J60 Erratas. Restructured ENC28J60 example folder structure so the driver could be easily linked from different projects. Extended the README to guide users of how to properly use the ENC28J60 chip. Extended iperf example to include ENC28J60. Closes https://github.com/espressif/esp-idf/issues/4747 Closes https://github.com/espressif/esp-idf/issues/7117 Closes https://github.com/espressif/esp-idf/issues/7156
188 lines
6.4 KiB
Plaintext
188 lines
6.4 KiB
Plaintext
menu "Example Configuration"
|
|
config EXAMPLE_STORE_HISTORY
|
|
bool "Store command history in flash"
|
|
default y
|
|
help
|
|
Linenoise line editing library provides functions to save and load
|
|
command history. If this option is enabled, initalizes a FAT filesystem
|
|
and uses it to store command history.
|
|
|
|
config EXAMPLE_USE_SPI_ETHERNET
|
|
bool
|
|
|
|
choice EXAMPLE_ETHERNET_TYPE
|
|
prompt "Ethernet Type"
|
|
default EXAMPLE_USE_INTERNAL_ETHERNET if IDF_TARGET_ESP32
|
|
default EXAMPLE_USE_W5500
|
|
help
|
|
Select which kind of Ethernet will be used in the example.
|
|
|
|
config EXAMPLE_USE_INTERNAL_ETHERNET
|
|
depends on IDF_TARGET_ESP32
|
|
select ETH_USE_ESP32_EMAC
|
|
bool "Internal EMAC"
|
|
help
|
|
Select internal Ethernet MAC controller.
|
|
|
|
config EXAMPLE_USE_DM9051
|
|
bool "DM9051 Module"
|
|
select EXAMPLE_USE_SPI_ETHERNET
|
|
select ETH_USE_SPI_ETHERNET
|
|
select ETH_SPI_ETHERNET_DM9051
|
|
help
|
|
Select external SPI-Ethernet module (DM9051).
|
|
|
|
config EXAMPLE_USE_W5500
|
|
bool "W5500 Module"
|
|
select EXAMPLE_USE_SPI_ETHERNET
|
|
select ETH_USE_SPI_ETHERNET
|
|
select ETH_SPI_ETHERNET_W5500
|
|
help
|
|
Select external SPI-Ethernet module (W5500).
|
|
|
|
config EXAMPLE_USE_ENC28J60
|
|
bool "ENC28J60 Module"
|
|
select EXAMPLE_USE_SPI_ETHERNET
|
|
select ETH_USE_SPI_ETHERNET
|
|
select ETH_SPI_ETHERNET_ENC28J60
|
|
help
|
|
Select external SPI-Ethernet module (ENC28J60).
|
|
endchoice # EXAMPLE_ETHERNET_TYPE
|
|
|
|
if EXAMPLE_USE_INTERNAL_ETHERNET
|
|
choice EXAMPLE_ETH_PHY_MODEL
|
|
prompt "Ethernet PHY Device"
|
|
default EXAMPLE_ETH_PHY_IP101
|
|
help
|
|
Select the Ethernet PHY device to use in the example.
|
|
|
|
config EXAMPLE_ETH_PHY_IP101
|
|
bool "IP101"
|
|
help
|
|
IP101 is a single port 10/100 MII/RMII/TP/Fiber Fast Ethernet Transceiver.
|
|
Goto http://www.icplus.com.tw/pp-IP101G.html for more information about it.
|
|
|
|
config EXAMPLE_ETH_PHY_RTL8201
|
|
bool "RTL8201/SR8201"
|
|
help
|
|
RTL8201F/SR8201F is a single port 10/100Mb Ethernet Transceiver with auto MDIX.
|
|
Goto http://www.corechip-sz.com/productsview.asp?id=22 for more information about it.
|
|
|
|
config EXAMPLE_ETH_PHY_LAN8720
|
|
bool "LAN8720"
|
|
help
|
|
LAN8720A is a small footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX Support.
|
|
Goto https://www.microchip.com/LAN8720A for more information about it.
|
|
|
|
config EXAMPLE_ETH_PHY_DP83848
|
|
bool "DP83848"
|
|
help
|
|
DP83848 is a single port 10/100Mb/s Ethernet Physical Layer Transceiver.
|
|
Goto http://www.ti.com/product/DP83848J for more information about it.
|
|
|
|
config EXAMPLE_ETH_PHY_KSZ8041
|
|
bool "KSZ8041"
|
|
help
|
|
The KSZ8041 is a single supply 10Base-T/100Base-TX Physical Layer Transceiver.
|
|
Goto https://www.microchip.com/wwwproducts/en/KSZ8041 for more information about it.
|
|
endchoice # EXAMPLE_ETH_PHY_MODEL
|
|
|
|
config EXAMPLE_ETH_MDC_GPIO
|
|
int "SMI MDC GPIO number"
|
|
default 23
|
|
help
|
|
Set the GPIO number used by SMI MDC.
|
|
|
|
config EXAMPLE_ETH_MDIO_GPIO
|
|
int "SMI MDIO GPIO number"
|
|
default 18
|
|
help
|
|
Set the GPIO number used by SMI MDIO.
|
|
endif # EXAMPLE_USE_INTERNAL_ETHERNET
|
|
|
|
if EXAMPLE_USE_SPI_ETHERNET
|
|
config EXAMPLE_ETH_SPI_HOST
|
|
int "SPI Host Number"
|
|
range 0 2
|
|
default 1
|
|
help
|
|
Set the SPI host used to communicate with the SPI Ethernet Controller.
|
|
|
|
config EXAMPLE_ETH_SPI_SCLK_GPIO
|
|
int "SPI SCLK GPIO number"
|
|
range 0 33
|
|
default 20
|
|
help
|
|
Set the GPIO number used by SPI SCLK.
|
|
|
|
config EXAMPLE_ETH_SPI_MOSI_GPIO
|
|
int "SPI MOSI GPIO number"
|
|
range 0 33
|
|
default 19
|
|
help
|
|
Set the GPIO number used by SPI MOSI.
|
|
|
|
config EXAMPLE_ETH_SPI_MISO_GPIO
|
|
int "SPI MISO GPIO number"
|
|
range 0 33
|
|
default 18
|
|
help
|
|
Set the GPIO number used by SPI MISO.
|
|
|
|
config EXAMPLE_ETH_SPI_CS_GPIO
|
|
int "SPI CS GPIO number"
|
|
range 0 33
|
|
default 21
|
|
help
|
|
Set the GPIO number used by SPI CS.
|
|
|
|
config EXAMPLE_ETH_SPI_CLOCK_MHZ
|
|
int "SPI clock speed (MHz)"
|
|
range 5 80
|
|
default 8 if EXAMPLE_USE_ENC28J60
|
|
default 36
|
|
help
|
|
Set the clock speed (MHz) of SPI interface.
|
|
|
|
config EXAMPLE_ETH_SPI_INT_GPIO
|
|
int "Interrupt GPIO number"
|
|
default 4
|
|
help
|
|
Set the GPIO number used by the SPI Ethernet module interrupt line.
|
|
endif # EXAMPLE_USE_SPI_ETHERNET
|
|
|
|
config EXAMPLE_ETH_PHY_RST_GPIO
|
|
int "PHY Reset GPIO number"
|
|
default 5
|
|
help
|
|
Set the GPIO number used to reset PHY chip.
|
|
Set to -1 to disable PHY chip hardware reset.
|
|
|
|
config EXAMPLE_ETH_PHY_ADDR
|
|
int "PHY Address"
|
|
range 0 31
|
|
default 1
|
|
help
|
|
Set PHY address according your board schematic.
|
|
|
|
if EXAMPLE_USE_ENC28J60
|
|
choice EXAMPLE_ENC28J60_DUPLEX_MODE
|
|
prompt "Duplex Mode"
|
|
default EXAMPLE_ENC28J60_DUPLEX_HALF
|
|
help
|
|
Select ENC28J60 Duplex operation mode.
|
|
|
|
config EXAMPLE_ENC28J60_DUPLEX_FULL
|
|
bool "Full Duplex"
|
|
help
|
|
Set ENC28J60 to Full Duplex mode. Do not forget to manually set the remote node (switch, router
|
|
or Ethernet controller) to full-duplex operation mode too.
|
|
|
|
config EXAMPLE_ENC28J60_DUPLEX_HALF
|
|
bool "Half Duplex"
|
|
help
|
|
Set ENC28J60 to Half Duplex mode.
|
|
endchoice # EXAMPLE_ENC28J60_DUPLEX_MODE
|
|
endif # ETH_SPI_ETHERNET_ENC28J60
|
|
endmenu
|