# 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"
	depends on NET_L2_ETHERNET
	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"
	depends on ETH_STM32_HAL
	default 0
	help
	  IRQ priority

config ETH_STM32_HAL_RX_THREAD_STACK_SIZE
	int "RX thread stack size"
	depends on ETH_STM32_HAL
	default 1500
	help
	  RX thread stack size

config ETH_STM32_HAL_RX_THREAD_PRIO
	int "RX thread priority"
	depends on ETH_STM32_HAL
	default 2
	help
	  RX thread priority

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

config ETH_STM32_HAL_RANDOM_MAC
	bool "Random MAC address"
	depends on ETH_STM32_HAL && 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

endif # ETH_STM32_HAL

