mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
ce388a4111
Refactored internal EMAC DMA access. Added MPLL acquire to manage access to the MPLL by multiple periphs.
256 lines
11 KiB
Plaintext
256 lines
11 KiB
Plaintext
menu "Example Ethernet Configuration"
|
|
|
|
orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps"
|
|
|
|
config EXAMPLE_USE_INTERNAL_ETHERNET
|
|
depends on SOC_EMAC_SUPPORTED
|
|
select ETH_USE_ESP32_EMAC
|
|
default y
|
|
bool "Internal EMAC"
|
|
help
|
|
Use internal Ethernet MAC controller.
|
|
|
|
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_LAN87XX
|
|
bool "LAN87xx"
|
|
help
|
|
Below chips are supported:
|
|
LAN8710A is a small footprint MII/RMII 10/100 Ethernet Transceiver with HP Auto-MDIX and
|
|
flexPWR® Technology.
|
|
LAN8720A is a small footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX Support.
|
|
LAN8740A/LAN8741A is a small footprint MII/RMII 10/100 Energy Efficient Ethernet Transceiver
|
|
with HP Auto-MDIX and flexPWR® Technology.
|
|
LAN8742A is a small footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX and
|
|
flexPWR® Technology.
|
|
Goto https://www.microchip.com for more information about them.
|
|
|
|
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_KSZ80XX
|
|
bool "KSZ80xx"
|
|
help
|
|
With the KSZ80xx series, Microchip offers single-chip 10BASE-T/100BASE-TX
|
|
Ethernet Physical Layer Tranceivers (PHY).
|
|
The following chips are supported: KSZ8001, KSZ8021, KSZ8031, KSZ8041,
|
|
KSZ8051, KSZ8061, KSZ8081, KSZ8091
|
|
Goto https://www.microchip.com for more information about them.
|
|
endchoice # EXAMPLE_ETH_PHY_MODEL
|
|
|
|
config EXAMPLE_ETH_MDC_GPIO
|
|
int "SMI MDC GPIO number"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
|
default 23 if IDF_TARGET_ESP32
|
|
default 31 if IDF_TARGET_ESP32P4
|
|
help
|
|
Set the GPIO number used by SMI MDC.
|
|
|
|
config EXAMPLE_ETH_MDIO_GPIO
|
|
int "SMI MDIO GPIO number"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
|
default 18 if IDF_TARGET_ESP32
|
|
default 27 if IDF_TARGET_ESP32P4
|
|
help
|
|
Set the GPIO number used by SMI MDIO.
|
|
|
|
config EXAMPLE_ETH_PHY_RST_GPIO
|
|
int "PHY Reset GPIO number"
|
|
range -1 ENV_GPIO_OUT_RANGE_MAX
|
|
default 5 if IDF_TARGET_ESP32
|
|
default 26 if IDF_TARGET_ESP32P4
|
|
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 -1 31
|
|
default 1
|
|
help
|
|
Set PHY address according your board schematic.
|
|
Set to -1 to driver find the PHY address automatically.
|
|
endif # EXAMPLE_USE_INTERNAL_ETHERNET
|
|
|
|
config EXAMPLE_USE_SPI_ETHERNET
|
|
bool "SPI Ethernet"
|
|
default n
|
|
select ETH_USE_SPI_ETHERNET
|
|
help
|
|
Use external SPI-Ethernet module(s).
|
|
|
|
if EXAMPLE_USE_SPI_ETHERNET
|
|
config EXAMPLE_SPI_ETHERNETS_NUM
|
|
int "Number of SPI Ethernet modules to use at a time"
|
|
range 1 2
|
|
default 1
|
|
help
|
|
Set the number of SPI Ethernet modules you want to use at a time. Multiple SPI modules can be connected
|
|
to one SPI interface and can be separately accessed based on state of associated Chip Select (CS).
|
|
|
|
choice EXAMPLE_ETHERNET_TYPE_SPI
|
|
prompt "Ethernet SPI"
|
|
default EXAMPLE_USE_W5500
|
|
help
|
|
Select which kind of Ethernet will be used in the example.
|
|
|
|
config EXAMPLE_USE_DM9051
|
|
bool "DM9051 Module"
|
|
select ETH_SPI_ETHERNET_DM9051
|
|
help
|
|
Select external SPI-Ethernet module (DM9051).
|
|
|
|
config EXAMPLE_USE_KSZ8851SNL
|
|
bool "KSZ8851SNL Module"
|
|
select ETH_SPI_ETHERNET_KSZ8851SNL
|
|
help
|
|
Select external SPI-Ethernet module (KSZ8851SNL).
|
|
|
|
config EXAMPLE_USE_W5500
|
|
bool "W5500 Module"
|
|
select ETH_SPI_ETHERNET_W5500
|
|
help
|
|
Select external SPI-Ethernet module (W5500).
|
|
endchoice
|
|
|
|
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 ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
|
default 14 if IDF_TARGET_ESP32
|
|
default 12 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
|
|
default 6 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
|
default 4 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by SPI SCLK.
|
|
|
|
config EXAMPLE_ETH_SPI_MOSI_GPIO
|
|
int "SPI MOSI GPIO number"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
|
default 13 if IDF_TARGET_ESP32
|
|
default 11 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
|
|
default 7 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
|
default 5 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by SPI MOSI.
|
|
|
|
config EXAMPLE_ETH_SPI_MISO_GPIO
|
|
int "SPI MISO GPIO number"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
|
default 12 if IDF_TARGET_ESP32
|
|
default 13 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
|
|
default 2 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
|
default 0 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by SPI MISO.
|
|
|
|
config EXAMPLE_ETH_SPI_CLOCK_MHZ
|
|
int "SPI clock speed (MHz)"
|
|
range 5 80
|
|
default 16
|
|
help
|
|
Set the clock speed (MHz) of SPI interface.
|
|
|
|
config EXAMPLE_ETH_SPI_CS0_GPIO
|
|
int "SPI CS0 GPIO number for SPI Ethernet module #1"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
|
default 15 if IDF_TARGET_ESP32
|
|
default 10 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C2
|
|
default 3 if IDF_TARGET_ESP32C6
|
|
default 1 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by SPI CS0, i.e. Chip Select associated with the first SPI Eth module).
|
|
|
|
config EXAMPLE_ETH_SPI_CS1_GPIO
|
|
depends on EXAMPLE_SPI_ETHERNETS_NUM > 1
|
|
int "SPI CS1 GPIO number for SPI Ethernet module #2"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
|
|
default 32 if IDF_TARGET_ESP32
|
|
default 7 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
|
|
default 8 if IDF_TARGET_ESP32C3
|
|
default 21 if IDF_TARGET_ESP32C6
|
|
default 3 if IDF_TARGET_ESP32C2
|
|
default 11 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by SPI CS1, i.e. Chip Select associated with the second SPI Eth module.
|
|
|
|
config EXAMPLE_ETH_SPI_INT0_GPIO
|
|
int "Interrupt GPIO number SPI Ethernet module #1"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
|
default 4 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
|
|
default 4 if IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
|
default 10 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by the first SPI Ethernet module interrupt line.
|
|
|
|
config EXAMPLE_ETH_SPI_INT1_GPIO
|
|
depends on EXAMPLE_SPI_ETHERNETS_NUM > 1
|
|
int "Interrupt GPIO number SPI Ethernet module #2"
|
|
range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
|
|
default 33 if IDF_TARGET_ESP32
|
|
default 5 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C2
|
|
default 5 if IDF_TARGET_ESP32C6
|
|
default 9 if IDF_TARGET_ESP32H2
|
|
help
|
|
Set the GPIO number used by the second SPI Ethernet module interrupt line.
|
|
|
|
config EXAMPLE_ETH_SPI_PHY_RST0_GPIO
|
|
int "PHY Reset GPIO number of SPI Ethernet Module #1"
|
|
range -1 ENV_GPIO_OUT_RANGE_MAX
|
|
default -1
|
|
help
|
|
Set the GPIO number used to reset PHY chip on the first SPI Ethernet module.
|
|
Set to -1 to disable PHY chip hardware reset.
|
|
|
|
config EXAMPLE_ETH_SPI_PHY_RST1_GPIO
|
|
depends on EXAMPLE_SPI_ETHERNETS_NUM > 1
|
|
int "PHY Reset GPIO number of SPI Ethernet Module #2"
|
|
range -1 ENV_GPIO_OUT_RANGE_MAX
|
|
default -1
|
|
help
|
|
Set the GPIO number used to reset PHY chip on the second SPI Ethernet module.
|
|
Set to -1 to disable PHY chip hardware reset.
|
|
|
|
config EXAMPLE_ETH_SPI_PHY_ADDR0
|
|
int "PHY Address of SPI Ethernet Module #1"
|
|
range 0 31
|
|
default 1
|
|
help
|
|
Set the first SPI Ethernet module PHY address according your board schematic.
|
|
|
|
config EXAMPLE_ETH_SPI_PHY_ADDR1
|
|
depends on EXAMPLE_SPI_ETHERNETS_NUM > 1
|
|
int "PHY Address of SPI Ethernet Module #2"
|
|
range 0 31
|
|
default 1
|
|
help
|
|
Set the second SPI Ethernet module PHY address according your board schematic.
|
|
endif # EXAMPLE_USE_SPI_ETHERNET
|
|
endmenu
|