# 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 "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 "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_I2S
	bool "I2S driver"
	depends on I2S
	help
	  Uses the I2S peripheral, memory usage is 4 bytes per color,
	  times the number of pixels. A few more for the start and end
	  delay. The reset delay has a coarse resolution of ~20us.

config WS2812_STRIP_GPIO
	bool "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
