| 
									
										
										
										
											2022-07-22 17:13:04 +02:00
										 |  |  | menu "Example Ethernet Configuration" | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config EXAMPLE_USE_INTERNAL_ETHERNET | 
					
						
							| 
									
										
										
										
											2022-07-22 17:13:04 +02:00
										 |  |  |         depends on SOC_EMAC_SUPPORTED | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02:00
										 |  |  |         select ETH_USE_ESP32_EMAC | 
					
						
							| 
									
										
										
										
											2022-07-22 17:13:04 +02:00
										 |  |  |         default y | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 | 
					
						
							|  |  |  |             default 23 | 
					
						
							|  |  |  |             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 | 
					
						
							|  |  |  |             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 | 
					
						
							|  |  |  |             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. | 
					
						
							|  |  |  |     endif # EXAMPLE_USE_INTERNAL_ETHERNET | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     config EXAMPLE_USE_SPI_ETHERNET | 
					
						
							|  |  |  |         bool "SPI Ethernet" | 
					
						
							| 
									
										
										
										
											2022-07-22 17:13:04 +02:00
										 |  |  |         default n | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 | 
					
						
							|  |  |  |             default 6 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 | 
					
						
							| 
									
										
										
										
											2023-04-13 17:06:40 +08:00
										 |  |  |             default 4 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 | 
					
						
							|  |  |  |             default 7 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 | 
					
						
							| 
									
										
										
										
											2023-04-13 17:06:40 +08:00
										 |  |  |             default 5 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 | 
					
						
							|  |  |  |             default 2 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 | 
					
						
							| 
									
										
										
										
											2023-04-13 17:06:40 +08:00
										 |  |  |             default 0 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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-04-13 17:06:40 +08:00
										 |  |  |             default 12 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02:00
										 |  |  |             default 36 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 | 
					
						
							|  |  |  |             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-04-13 17:06:40 +08:00
										 |  |  |             default 1 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 | 
					
						
							|  |  |  |             default 3 if IDF_TARGET_ESP32C2 | 
					
						
							| 
									
										
										
										
											2023-04-13 17:06:40 +08:00
										 |  |  |             default 11 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 17:13:04 +02:00
										 |  |  |             default 4 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02:00
										 |  |  |             default 4 if IDF_TARGET_ESP32C2 | 
					
						
							| 
									
										
										
										
											2023-04-13 17:06:40 +08:00
										 |  |  |             default 9 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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-04-13 17:06:40 +08:00
										 |  |  |             default 10 if IDF_TARGET_ESP32H2 | 
					
						
							| 
									
										
										
										
											2022-05-06 16:09:24 +02: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 |