2022-07-22 11:13:04 -04:00
|
|
|
menu "Example Ethernet Configuration"
|
2022-05-06 10:09:24 -04:00
|
|
|
|
|
|
|
orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps"
|
|
|
|
|
|
|
|
config EXAMPLE_USE_INTERNAL_ETHERNET
|
2022-07-22 11:13:04 -04:00
|
|
|
depends on SOC_EMAC_SUPPORTED
|
2022-05-06 10:09:24 -04:00
|
|
|
select ETH_USE_ESP32_EMAC
|
2022-07-22 11:13:04 -04:00
|
|
|
default y
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-08-22 10:45:34 -04:00
|
|
|
default 23 if IDF_TARGET_ESP32
|
|
|
|
default 31 if IDF_TARGET_ESP32P4
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-08-22 10:45:34 -04:00
|
|
|
default 18 if IDF_TARGET_ESP32
|
|
|
|
default 27 if IDF_TARGET_ESP32P4
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-08-22 10:45:34 -04:00
|
|
|
default 5 if IDF_TARGET_ESP32
|
|
|
|
default 26 if IDF_TARGET_ESP32P4
|
2022-05-06 10:09:24 -04:00
|
|
|
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"
|
2023-08-22 10:45:34 -04:00
|
|
|
range -1 31
|
2022-05-06 10:09:24 -04:00
|
|
|
default 1
|
|
|
|
help
|
|
|
|
Set PHY address according your board schematic.
|
2023-08-22 10:45:34 -04:00
|
|
|
Set to -1 to driver find the PHY address automatically.
|
2022-05-06 10:09:24 -04:00
|
|
|
endif # EXAMPLE_USE_INTERNAL_ETHERNET
|
|
|
|
|
|
|
|
config EXAMPLE_USE_SPI_ETHERNET
|
|
|
|
bool "SPI Ethernet"
|
2022-07-22 11:13:04 -04:00
|
|
|
default n
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-05-09 06:21:09 -04:00
|
|
|
default 6 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
2023-04-13 05:06:40 -04:00
|
|
|
default 4 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-05-09 06:21:09 -04:00
|
|
|
default 7 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
2023-04-13 05:06:40 -04:00
|
|
|
default 5 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-05-09 06:21:09 -04:00
|
|
|
default 2 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
2023-04-13 05:06:40 -04:00
|
|
|
default 0 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
help
|
|
|
|
Set the GPIO number used by SPI MISO.
|
|
|
|
|
|
|
|
config EXAMPLE_ETH_SPI_CLOCK_MHZ
|
|
|
|
int "SPI clock speed (MHz)"
|
|
|
|
range 5 80
|
2023-05-09 06:21:09 -04:00
|
|
|
default 16
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-05-09 06:21:09 -04:00
|
|
|
default 3 if IDF_TARGET_ESP32C6
|
2023-04-13 05:06:40 -04:00
|
|
|
default 1 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-05-09 06:21:09 -04:00
|
|
|
default 21 if IDF_TARGET_ESP32C6
|
2022-05-06 10:09:24 -04:00
|
|
|
default 3 if IDF_TARGET_ESP32C2
|
2023-04-13 05:06:40 -04:00
|
|
|
default 11 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2022-07-22 11:13:04 -04:00
|
|
|
default 4 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
|
2023-05-09 06:21:09 -04:00
|
|
|
default 4 if IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32C6
|
|
|
|
default 10 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|
2023-05-09 06:21:09 -04:00
|
|
|
default 5 if IDF_TARGET_ESP32C6
|
|
|
|
default 9 if IDF_TARGET_ESP32H2
|
2022-05-06 10:09:24 -04:00
|
|
|
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
|