# es-WiFi driver options

# Copyright (c) 2018 Linaro
# SPDX-License-Identifier: Apache-2.0

menuconfig WIFI_ESWIFI
	bool "Inventek eS-WiFi support"
	select NET_L2_WIFI_MGMT
	select WIFI_OFFLOAD
	select NET_OFFLOAD
	select NET_SOCKETS
	select NET_SOCKETS_OFFLOAD
	select GPIO

if WIFI_ESWIFI

choice WIFI_ESWIFI_BUS
	bool "Select BUS interface"
	default WIFI_ESWIFI_BUS_SPI

config WIFI_ESWIFI_BUS_SPI
	bool "SPI Bus interface"
	select SPI

config WIFI_ESWIFI_BUS_UART
	bool "UART Bus interface"
	select SERIAL

endchoice

config WIFI_ESWIFI_THREAD_PRIO
	int "esWiFi threads priority"
	default 2
	help
	  This option sets the priority of the esWiFi threads.
	  Do not touch it unless you know what you are doing.

config WIFI_ESWIFI_SHELL
	bool "esWiFi shell"
	depends on SHELL
	help
	  Enable esWiFi shell

endif
