Error in controlling WS2812 with nRF52840 I2S

Has anyone successfully managed to control an led strip (WS2812) with nRF52840's I2S by any chance? I'm trying to use the led_ws2812 sample (docs.nordicsemi.com/.../README.html) from Nordic but I keep running into this build error:

/Users/joonhojang/Local_Drive/Workspace/KEYBOARD/Firmware_Modules/nRF52840/led_ws2812/build/led_ws2812/zephyr/include/generated/zephyr/devicetree_generated.h:1337:42: error: 'DT_N_S_ws2812_P_chain_length' undeclared here (not in a function); did you mean 'DT_N_S_ws2812_P_compatible'?
 1337 | #define DT_N_ALIAS_led_strip             DT_N_S_ws2812
      |                                          ^~~~~~~~~~~~~

However I'm pretty sure I declared the chain length in my nrf52840dk_nrf52840.overlay

#include <zephyr/dt-bindings/led/led.h>

/* Wiring:
 * - M1.S connected to GND
 * - SDOUT connected to M1.D
 * - ~300 ohm resistor between M1.D and TP5 (5V / Vbus)
 */

&pinctrl {
    i2s0_default_alt: i2s0_default_alt {
        group1 {
            psels = <NRF_PSEL(I2S_SCK_M, 1, 15)>,
                    <NRF_PSEL(I2S_LRCK_M, 1, 12)>,
                    <NRF_PSEL(I2S_SDOUT, 1, 13)>,
                    <NRF_PSEL(I2S_SDIN, 1, 14)>;
        };
    };
};

i2s_led: &i2s0 {
    status = "okay";
    pinctrl-0 = <&i2s0_default_alt>;
    pinctrl-names = "default";
};

/ {
    led_strip: ws2812 {
        compatible = "worldsemi,ws2812-i2s";

        i2s-dev = <&i2s_led>;
        chain-length = <10>; /* arbitrary; change at will */
        color-mapping = <LED_COLOR_ID_GREEN
        LED_COLOR_ID_RED
        LED_COLOR_ID_BLUE>;
        out-active-low;
        reset-delay = <120>;
    };

    aliases {
        led-strip = &led_strip;
    };
};

This is my prj.conf

CONFIG_LOG=y
CONFIG_LED_STRIP=y
CONFIG_LED_STRIP_LOG_LEVEL_DBG=y
# CONFIG_WS2812_STRIP=y (UNDEFINED SYMBOL VALUE)

CONFIG_I2S=y
CONFIG_WS2812_STRIP_I2S=y

Related