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

menuconfig WS2812B_SW
	bool "Enable WS2812B software-based LED strip driver"
	# Only an Cortex-M0 inline assembly implementation for the nRF51
	# is supported currently.
	depends on SOC_SERIES_NRF51X
	help
	  A software-based (bit-banging) LED strip driver for daisy
	  chains of WS2812B devices. This driver implements the signal
	  sending with software-based bit-banging. If a more efficient
	  option, such as SPI, is available, another driver is recommended
	  to be used.

if WS2812B_SW

config WS2812B_SW_NAME
	string "Driver name"
	default "ws2812b_sw"
	help
	  Device name for WS2812B LED strip.

config WS2812B_SW_GPIO_NAME
	string "GPIO port that the LED strip is connected to"
	default "GPIO_0" if SOC_FAMILY_NRF
	help
	  GPIO port name.

config WS2812B_SW_GPIO_PIN
	int "GPIO pin that the LED strip is connected to"
	default 3 if BOARD_BBC_MICROBIT # P0
	help
	  GPIO pin number that the LED strip is connected to.

endif
