# Copyright (c) 2017 Linaro Limited
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0

# The following blog post is an excellent resource about pulse timing:
#
# https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/

menuconfig WS2812_STRIP
	bool "Enable WS2812 (and compatible) LED strip driver"
	select LED_STRIP_RGB_SCRATCH
	help
	  Enable LED strip driver for daisy chains of WS2812-ish (or WS2812B,
	  WS2813, SK6812, Everlight B1414, or compatible) devices.

choice WS2812_STRIP_DRIVER
	prompt "Driver backend"
	default WS2812_STRIP_SPI
	depends on WS2812_STRIP

config WS2812_STRIP_SPI
	bool "Enable the SPI driver"
	depends on SPI
	help
	  The SPI driver is portable, but requires significantly more
	  memory (1 byte of overhead per bit of pixel data).

config WS2812_STRIP_GPIO
	bool "Enable the GPIO driver"
	# Only an Cortex-M0 inline assembly implementation for the nRF51
	# is supported currently.
	depends on SOC_SERIES_NRF51X
	help
	  The GPIO driver does bit-banging with inline assembly,
	  and is not available on all SoCs.

	  Note that this driver is not compatible with the Everlight B1414
	  controller.

endchoice
