zephyr/dts/bindings/led_strip/worldsemi,ws2812-i2s.yaml
Jonathan Rico f8e5e17246 drivers: led_strip: add WS2812 I2S-based driver
Add a driver implementation that uses the I2S peripheral.
Based off this blog post:
https://electronut.in/nrf52-i2s-ws2812/

Should help with #33505, #29877 and maybe #47780, as there is no garbage
data at the end of transmissions on nRF52832, and no gaps.

Signed-off-by: Jonathan Rico <jonathan@rico.live>
2023-02-24 10:12:47 -08:00

44 lines
946 B
YAML

# Copyright (c) 2022 Jonathan Rico
# SPDX-License-Identifier: Apache-2.0
description: |
Worldsemi WS2812 LED strip, I2S binding
Driver bindings for controlling a WS2812 or compatible LED
strip with an I2S master.
compatible: "worldsemi,ws2812-i2s"
include: [base.yaml, ws2812.yaml]
properties:
i2s-dev:
type: phandle
required: true
description: Pointer to the I2S instance.
out-active-low:
type: boolean
description: True if the output pin is active low.
nibble-one:
type: int
default: 0x0E
description: 4-bit value to shift out for a 1 pulse.
nibble-zero:
type: int
default: 0x08
description: 4-bit value to shift out for a 0 pulse.
lrck-period:
type: int
default: 10
description: LRCK (left/right clock) period in microseconds.
extra-wait-time:
type: int
default: 300
description: Extra microseconds to wait for the driver to flush its I2S queue.