# Increase main task stack size
CONFIG_ESP_MAIN_TASK_STACK_SIZE=7168

# Enable filesystem for console commands history storage
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_example.csv"
CONFIG_PARTITION_TABLE_FILENAME="partitions_example.csv"

# Enable FreeRTOS stats formatting functions, needed for 'tasks' command
CONFIG_FREERTOS_USE_TRACE_FACILITY=y
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y

# --------------------------------
# Performance optimization options
# --------------------------------
# `lwIP` and `iperf` tasks have serial dependency to each other (i.e. `iperf` must wait for `lwIP`
# to process the packets). Therefore, you don't gain much performance improvement when running
# multi core mode. On the other hand, IRAM optimizations have greater effect for single core mode.

# Run FreeRTOS only on the first core
CONFIG_FREERTOS_UNICORE=y

# Disable watch dog
CONFIG_ESP_INT_WDT=n
CONFIG_ESP_TASK_WDT_EN=n

# Enable lwIP IRAM optimization
CONFIG_LWIP_IRAM_OPTIMIZATION=y

# Enable Ethernet IRAM optimization
CONFIG_ETH_IRAM_OPTIMIZATION=y

CONFIG_EXAMPLE_ETH_MDC_GPIO=16
CONFIG_EXAMPLE_ETH_MDIO_GPIO=17
CONFIG_EXAMPLE_ETH_PHY_RST_GPIO=-1
CONFIG_EXAMPLE_ETH_PHY_ADDR=0

CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET=y
CONFIG_EXAMPLE_ETH_PHY_RTL8201=y

CONFIG_ETH_RMII_CLK_INPUT=y
# CONFIG_ETH_RMII_CLK_OUTPUT is not set
CONFIG_ETH_RMII_CLK_IN_GPIO=0