blob: 2abe5a997deef0b92de24b7677d09de56befb361 [file] [log] [blame]
# 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