worldsemi,ws2812-pulse-io

Description

Worldsemi WS2812 LED strip, pulse_io binding

Drives a WS2812 (or compatible) LED strip through a pulse_io
controller channel in CELL mode.

Examples

/ {
      led_strip: ws2812 {
          compatible = "worldsemi,ws2812-pulse-io";
          pulse-ios = <&rmt 0>;
          chain-length = <1>;
          color-mapping = <LED_COLOR_ID_GREEN
                           LED_COLOR_ID_RED
                           LED_COLOR_ID_BLUE>;
      };
};

Properties

Properties not inherited from the base binding file.

Name

Type

Details

pulse-ios

phandle-array

pulse_io controller and transmit channel driving the strip
data line. The pin is routed through the controller pinctrl
state.

This property is required.

reset-delay

int

Minimum delay to wait (in microseconds) to make sure that the strip has
latched the signal. If omitted, a default value of 8 microseconds is used.
This default is good for the WS2812 controllers. Note that despite the
WS2812 datasheet states that a 50 microseconds delay is required, it seems
6 microseconds is enough. The default is set to 8 microseconds just to be
safe.

Default value: 8

chain-length

int

The number of devices in the daisy-chain.

This property is required.

color-mapping

array

Channel to color mapping (or pixel order).

For example a GRB channel to color mapping would be

   color-mapping = <LED_COLOR_ID_GREEN
                    LED_COLOR_ID_RED
                    LED_COLOR_ID_BLUE>;

This property is required.