build/dts/api/bindings/led_strip/worldsemi,ws2812-rpi_pico-pio.html · build/dts/api/bindings/led_strip/worldsemi,ws2812-rpi_pico-pio.rst 공식 원문 ↗

Zephyr 3.7.0 · Devicetree · LED Strip · Worldsemi Co., Limited

Worldsemi WS2812 RP2040 PIO 바인딩

PIO state machine의 bit waveform과 WS2812 child 설정를 정의하는 12개 property schema입니다.

Official pathbuild/dts/api/bindings/led_strip/worldsemi,ws2812-rpi_pico-pio.html
Source filebuild/dts/api/bindings/led_strip/worldsemi,ws2812-rpi_pico-pio.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

공식 원문 228줄과 property 12행을 전수 대조해 three-part waveform ratio·single GPIO semantics·WS2812/WS2811 frequency 제약을 보존했습니다.

Compatible

worldsemi,ws2812-rpi_pico-pio

Vendor

Worldsemi Co., Limited

Properties

12 rows

Interface

RP2040 PIO T0/T1/T2 waveform + child strip

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 22AF1013A2D28882508A4098135026F447B0DE9C910AE0C556B0BFB66CE5EB09
:orphan:

.. raw:: html

    <!--
    FIXME: do not limit page width until content uses another representation
    format other than tables
    -->
    <style>.wy-nav-content { max-width: none; !important }</style>

.. dtcompatible:: worldsemi,ws2812-rpi_pico-pio
.. _dtbinding_worldsemi_ws2812_rpi_pico_pio:

worldsemi,ws2812-rpi_pico-pio
#############################

Vendor: :ref:`Worldsemi Co., Limited <dt_vendor_worldsemi>`

Description
***********



.. code-block:: none

   The pio node configured for ws2812.

Properties
**********

Top level properties
====================


These property descriptions apply to "worldsemi,ws2812-rpi_pico-pio"
nodes themselves. This page also describes child node
properties in the following sections.

.. tabs::

   .. group-tab:: Node specific properties

      Properties not inherited from the base binding file.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``pinctrl-0``
           - ``phandles``
           - .. code-block:: none

                Pin configuration/s for the first state. Content is specific to the
                selected pin controller driver implementation.



         * - ``pinctrl-1``
           - ``phandles``
           - .. code-block:: none

                Pin configuration/s for the second state. See pinctrl-0.



         * - ``pinctrl-2``
           - ``phandles``
           - .. code-block:: none

                Pin configuration/s for the third state. See pinctrl-0.



         * - ``pinctrl-3``
           - ``phandles``
           - .. code-block:: none

                Pin configuration/s for the fourth state. See pinctrl-0.



         * - ``pinctrl-4``
           - ``phandles``
           - .. code-block:: none

                Pin configuration/s for the fifth state. See pinctrl-0.



         * - ``pinctrl-names``
           - ``string-array``
           - .. code-block:: none

                Names for the provided states. The number of names needs to match the
                number of states.



         * - ``bit-waveform``
           - ``array``
           - .. code-block:: none

                This property defines the waveform for sending 1-bit data.
                The program uses the first three elements of the array.
                The T0 is equal to T0H in the datasheet.
                The T2 is equal to T1L in the datasheet.
                The T1 is equal to (T1H-T0H) or (T0L-T1L) in the datasheet.

                Code-0
                   +------+                 +---
                   |      |                 |
                   |  T0  |      T1+T2      |
                   |      |                 |
                ---+      +-----------------+

                Code-1
                   +---------------+        +---
                   |               |        |
                   |     T0+T1     |   T2   |
                   |               |        |
                ---+               +--------+


                The frequency determines the wave period.
                The T0~T2 means ratio in one period.

                For example, T0=3, T1=3, T2=4 and the frequency is 800kHz case,
                T0H is
                  (1 / 800kHz) * (3/10) = 375ns
                T0L is
                  (1 / 800kHz) * ((4+3)/10) = 875ns





   .. group-tab:: Deprecated node specific properties

      Deprecated properties not inherited from the base binding file.

      (None)

   .. group-tab:: Base properties

      Properties inherited from the base binding file, which defines
      common properties that may be set on many nodes. Not all of these
      may apply to the "worldsemi,ws2812-rpi_pico-pio" compatible.

      (None)


Child node properties
=====================

.. list-table::
   :widths: 1 1 4
   :header-rows: 1

   * - Name
     - Type
     - Details

   * - ``chain-length``
     - ``int``
     - .. code-block:: none

          The number of devices in the daisy-chain.



       This property is **required**.

   * - ``color-mapping``
     - ``array``
     - .. code-block:: none

          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**.

   * - ``reset-delay``
     - ``int``
     - .. code-block:: none

          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``

   * - ``gpios``
     - ``phandle-array``
     - .. code-block:: none

          Inherited from ws2812-gpio.yaml.

          Note: This driver does not configure the output pin.
          You need to configure the pin with pinctrl that is in the parent node configuration
          for use by PIO. This property only uses the GPIO pin number and ignores flags.



       This property is **required**.

   * - ``frequency``
     - ``int``
     - .. code-block:: none

          Specify the number of times a waveform representing 1 bit is
          transmitted per second. It is same meaning as bit-per-seconds.
          WS2812 works with 800000. Set the value 400000 if use with WS2811.



Part 3

한국어 전문 번역

worldsemi,ws2812-rpi_pico-pio

Vendor: Worldsemi Co., Limited

공식 설명

The pio node configured for ws2812.

PIO instruction timing을 T0·T1·T2로 표현

bit-waveform의 첫 세 element를 사용합니다. T0=T0H, T2=T1L, T1=(T1H-T0H) 또는 (T0L-T1L)이며 frequency가 한 bit period를 정합니다.

PIO가 만드는 WS2812 bit waveform
Code 0

High: T0
Low: T1+T2

Code 1

High: T0+T1
Low: T2

예제 ratio

T0=3 · T1=3 · T2=4

800kHz 결과

T0H=375ns · T0L=875ns

Child의 chain-length, color-mapping, gpios가 필수입니다. GPIO flags는 무시되고 pin number만 사용하므로 parent PIO node의 pinctrl에서 output pin을 구성해야 합니다. frequency는 선택이며 WS2812는 800000, WS2811은 400000을 사용합니다.

속성 전체 번역

공식 top-level 7개와 child 5개 property를 모두 번역했습니다. Base property 표는 없습니다.

노드 전용 속성 · 7개
이름형식설명과 제약
pinctrl-0phandles첫 번째 상태에서 사용할 핀 설정입니다. 구체적인 내용은 선택한 핀 컨트롤러 드라이버에 따라 달라집니다.
pinctrl-1phandles두 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다.
pinctrl-2phandles세 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다.
pinctrl-3phandles네 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다.
pinctrl-4phandles다섯 번째 상태에서 사용할 핀 설정입니다. pinctrl-0과 같은 형식입니다.
pinctrl-namesstring-array핀 설정 상태의 이름입니다. 이름 수는 정의한 상태 수와 같아야 합니다.
bit-waveformarray첫 세 array element를 T0·T1·T2 ratio로 사용하는 1-bit waveform입니다. T0=T0H, T2=T1L, T1=(T1H-T0H) 또는 (T0L-T1L)입니다.
하위 노드 속성 · 5개

각 하위 노드에 적용되는 속성입니다.

이름형식설명과 제약
chain-lengthintDaisy chain에 연결된 LED pixel 수입니다.
필수
color-mappingarrayPixel data의 channel 순서를 색상 ID에 대응시키는 배열입니다. 예를 들어 GRB는 green, red, blue 순서입니다.
필수
reset-delayintStrip이 signal을 latch하도록 기다리는 최소 microsecond입니다. 기본값은 8입니다.
기본값: 8
gpiosphandle-arrayws2812-gpio에서 상속한 pin입니다. Driver는 flags를 무시하고 GPIO pin number만 사용하며 pin output 설정은 parent pinctrl이 담당합니다.
필수
frequencyint1-bit waveform의 초당 전송 횟수입니다. WS2812는 800000, WS2811은 400000을 사용합니다.

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.