# Kconfig - STM32 HAL Ethernet driver configuration options

#
# Copyright (c) 2017 Erwin Rol <erwin@erwinrol.com>
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig ETH_STM32_HAL
	bool "STM32 HAL Ethernet driver"
	select USE_STM32_HAL_ETH
	help
	  Enable STM32 HAL based Ethernet driver. It is available for
          all Ethernet enabled variants of the F2, F4 and F7 series.

if ETH_STM32_HAL

config ETH_STM32_HAL_NAME
	string "Device name"
	default "ETH_0"

config ETH_STM32_HAL_IRQ_PRI
	int "Controller interrupt priority"
	default 0
	help
	  IRQ priority

config ETH_STM32_HAL_RX_THREAD_STACK_SIZE
	int "RX thread stack size"
	default 1500
	help
	  RX thread stack size

config ETH_STM32_HAL_RX_THREAD_PRIO
	int "RX thread priority"
	default 2
	help
	  RX thread priority

config ETH_STM32_HAL_USE_DTCM_FOR_DMA_BUFFER
	bool "Use DTCM for DMA buffers"
	default y
	depends on SOC_SERIES_STM32F7X
	help
	  When this option is activated, the buffers for DMA transfer are
	  moved from SRAM to the DTCM (Data Tightly Coupled Memory).

config ETH_STM32_HAL_PHY_ADDRESS
	int "Phy address"
	default 0
	help
	  The phy address to use.

config ETH_STM32_HAL_RANDOM_MAC
	bool "Random MAC address"
	depends on ENTROPY_GENERATOR
	default y
	help
	  Generate a random MAC address dynamically.

if !ETH_STM32_HAL_RANDOM_MAC

config ETH_STM32_HAL_MAC3
	hex "MAC Address Byte 3"
	default 0
	range 0 0xff
	help
	  This is the byte 3 of the MAC address.

config ETH_STM32_HAL_MAC4
	hex "MAC Address Byte 4"
	default 0
	range 0 0xff
	help
	  This is the byte 4 of the MAC address.

config ETH_STM32_HAL_MAC5
	hex "MAC Address Byte 5"
	default 0
	range 0 0xff
	help
	  This is the byte 5 of the MAC address.

endif # !ETH_STM32_HAL_RANDOM_MAC

config ETH_STM32_HAL_MII
	bool "Use MII interface"
	help
	  Use the MII physical interface instead of RMII.

endif # ETH_STM32_HAL
