diff mbox series

[1/3] Documentation: leds: Add docs for Wurth Elektronik WL-ICLED

Message ID 7f324a9a25ad1ac3a622aa1201cbd91ead80f8f9.1744636666.git.knezic@helmholz.com
State New
Headers show
Series Add support for WL-ICLEDs from Wurth Elektronik | expand

Commit Message

Ante Knezic April 14, 2025, 1:28 p.m. UTC
From: Ante Knezic <knezic@helmholz.com>

Basic description of WL-ICLED RGB LEDs from Wurth Elektronik

Signed-off-by: Ante Knezic <knezic@helmholz.com>
---
 Documentation/leds/index.rst         |  1 +
 Documentation/leds/leds-wl-icled.rst | 69 ++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 Documentation/leds/leds-wl-icled.rst

Comments

Bagas Sanjaya April 15, 2025, 2:27 a.m. UTC | #1
On Mon, Apr 14, 2025 at 03:28:49PM +0200, Ante Knezic wrote:
> +Description
> +-----------
> +The WL-ICLEDs are RGB LEDs with integrated controller that can be
> +daisy-chained to a arbitrary number of units. The MCU communicates
> +with the first LED in chain via SPI interface and can be single or
> +two wire connection, depending on  the model.
> +
> +Single wire models like 1315050930002, 1313210530000, 1312020030000 and
> +1312121320437 are controlled with specific signal pattern on the
> +input line. The MCU is connected to input line only via SPI MOSI signal.
> +For example WE-1312121320437 uses following signal pattern per one LED:
> +
> +|          RED            |          GREEN          |           BLUE          |
> +| GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits |
> +
> + where logical 1 is represented as:
> + (V)^
> +    |          T
> +    |<-------1.2us------->
> +    |
> +    +================+
> +    | <---0.9us----> |
> +    |                |
> +    +----------------+===|------> t
> +
> + and logical 0 is represented as:
> + (V)^
> +    |          T
> +    |<-------1.2us------->
> +    |
> +    +=====+
> +    |0.3us|
> +    |     |
> +    +-----+==============|------> t

I get htmldocs indentation warnings from Sphinx:

Documentation/leds/leds-wl-icled.rst:22: ERROR: Unexpected indentation. [docutils]
Documentation/leds/leds-wl-icled.rst:23: WARNING: Line block ends without a blank line. [docutils]
Documentation/leds/leds-wl-icled.rst:32: ERROR: Unexpected indentation. [docutils]
Documentation/leds/leds-wl-icled.rst:33: WARNING: Line block ends without a blank line. [docutils]
Documentation/leds/leds-wl-icled.rst:55: ERROR: Unexpected indentation. [docutils]
Documentation/leds/leds-wl-icled.rst:23: ERROR: Undefined substitution referenced: "<-------1.2us-------> | +================+ | <---0.9us----> | | | +----------------+===". [docutils]
Documentation/leds/leds-wl-icled.rst:33: ERROR: Undefined substitution referenced: "<-------1.2us-------> | +=====+ |0.3us". [docutils]

I have to wrap the signal logics diagram in literal code block:

---- >8 ----
diff --git a/Documentation/leds/leds-wl-icled.rst b/Documentation/leds/leds-wl-icled.rst
index 0e55683e946894..78ee2df33df2f5 100644
--- a/Documentation/leds/leds-wl-icled.rst
+++ b/Documentation/leds/leds-wl-icled.rst
@@ -12,12 +12,13 @@ two wire connection, depending on  the model.
 Single wire models like 1315050930002, 1313210530000, 1312020030000 and
 1312121320437 are controlled with specific signal pattern on the
 input line. The MCU is connected to input line only via SPI MOSI signal.
-For example WE-1312121320437 uses following signal pattern per one LED:
+For example WE-1312121320437 uses following signal pattern per one LED::
 
-|          RED            |          GREEN          |           BLUE          |
-| GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits |
+  |          RED            |          GREEN          |           BLUE          |
+  | GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits |
+
+where logical 1 is represented as::
 
- where logical 1 is represented as:
  (V)^
     |          T
     |<-------1.2us------->
@@ -27,7 +28,8 @@ For example WE-1312121320437 uses following signal pattern per one LED:
     |                |
     +----------------+===|------> t
 
- and logical 0 is represented as:
+and logical 0 is represented as::
+
  (V)^
     |          T
     |<-------1.2us------->

> +
> +To generate the required pattern with exact timings SPI clock is selected
> +so that it devides T in 8 equal parts such that a logical true symbol can be
> +represented as 1111 1100 and a logical false can be represented as 1100 0000.
> +Single wire LEDs require the MOSI line to be set to low at idle and this should
> +be provided by the chip driver if possible or by external HW circuit.
> +
> +Models 1313210530000, 1312020030000 and 1315050930002 require a slightly
> +different signaling scheme where each color of the LED is encoded in
> +8 bits.
> +
> +Two wire LED types do not require specific encoding of the input line as
> +both clock and data are provided to each LED.
> +
> +Additionally, models differ by available controls:
> +- WE 1312121320437 provide PWM and GAIN control per each RGB element.
> +  Both GAIN and PWM values are calculated by normalising particular
> +  multi_intensity value to 4 and 12 bits.

Separate the first bullet item from previous paragraph so that all three
items are outputted as in bullet list.

> +
> +- WE 1315050930246 and 1311610030140 provide PWM control per each
> +  RGB element and one global GAIN control.
> +  Global GAIN value is calculated by normalising global led brightness
> +  value to 5 bits while PWM values are set by particular
> +  multi_intensity values.
> +
> +- WE 1315050930002, 1313210530000 and 1312020030000 provide only PWM
> +  control per each RGB element.
> +  PWM values are set by particular multi_intensity value.
> +
> +For more product information please see the link below:
> +https://www.we-online.com/en/components/products/WL-ICLED

Thanks.
diff mbox series

Patch

diff --git a/Documentation/leds/index.rst b/Documentation/leds/index.rst
index 76fae171039c..b9a4db72cc26 100644
--- a/Documentation/leds/index.rst
+++ b/Documentation/leds/index.rst
@@ -30,3 +30,4 @@  LEDs
    leds-sc27xx
    leds-st1202
    leds-qcom-lpg
+   leds-wl-icled
diff --git a/Documentation/leds/leds-wl-icled.rst b/Documentation/leds/leds-wl-icled.rst
new file mode 100644
index 000000000000..0e55683e9468
--- /dev/null
+++ b/Documentation/leds/leds-wl-icled.rst
@@ -0,0 +1,69 @@ 
+=================================================
+Kernel driver for WL-ICLED from Wurth Elektronik
+=================================================
+
+Description
+-----------
+The WL-ICLEDs are RGB LEDs with integrated controller that can be
+daisy-chained to a arbitrary number of units. The MCU communicates
+with the first LED in chain via SPI interface and can be single or
+two wire connection, depending on  the model.
+
+Single wire models like 1315050930002, 1313210530000, 1312020030000 and
+1312121320437 are controlled with specific signal pattern on the
+input line. The MCU is connected to input line only via SPI MOSI signal.
+For example WE-1312121320437 uses following signal pattern per one LED:
+
+|          RED            |          GREEN          |           BLUE          |
+| GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits | GAIN:4bits | PWM:12bits |
+
+ where logical 1 is represented as:
+ (V)^
+    |          T
+    |<-------1.2us------->
+    |
+    +================+
+    | <---0.9us----> |
+    |                |
+    +----------------+===|------> t
+
+ and logical 0 is represented as:
+ (V)^
+    |          T
+    |<-------1.2us------->
+    |
+    +=====+
+    |0.3us|
+    |     |
+    +-----+==============|------> t
+
+To generate the required pattern with exact timings SPI clock is selected
+so that it devides T in 8 equal parts such that a logical true symbol can be
+represented as 1111 1100 and a logical false can be represented as 1100 0000.
+Single wire LEDs require the MOSI line to be set to low at idle and this should
+be provided by the chip driver if possible or by external HW circuit.
+
+Models 1313210530000, 1312020030000 and 1315050930002 require a slightly
+different signaling scheme where each color of the LED is encoded in
+8 bits.
+
+Two wire LED types do not require specific encoding of the input line as
+both clock and data are provided to each LED.
+
+Additionally, models differ by available controls:
+- WE 1312121320437 provide PWM and GAIN control per each RGB element.
+  Both GAIN and PWM values are calculated by normalising particular
+  multi_intensity value to 4 and 12 bits.
+
+- WE 1315050930246 and 1311610030140 provide PWM control per each
+  RGB element and one global GAIN control.
+  Global GAIN value is calculated by normalising global led brightness
+  value to 5 bits while PWM values are set by particular
+  multi_intensity values.
+
+- WE 1315050930002, 1313210530000 and 1312020030000 provide only PWM
+  control per each RGB element.
+  PWM values are set by particular multi_intensity value.
+
+For more product information please see the link below:
+https://www.we-online.com/en/components/products/WL-ICLED