요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Crane Merchandising System - EL15203000 LED driver
--------------------------------------------------
This LED Board (aka RED LEDs board) is widely used in
coffee vending machines produced by Crane Merchandising Systems.
The board manages 3 LEDs and supports predefined blinking patterns
for specific leds.
Vending area LED encoded with symbol 'V' (hex code 0x56).
Doesn't have any hardware blinking pattern.
Screen light tube LED which surrounds vending machine screen and
encoded with symbol 'S' (hex code 0x53). Supports blinking breathing pattern.
Water Pipe LED encoded with symbol 'P' (hex code 0x50) and
actually consists of 5 LEDs that exposed by protocol like one LED.
Supports next patterns:
- cascade pattern
- inversed cascade pattern
- bounce pattern
- inversed bounce pattern
Required properties:
- compatible : "crane,el15203000"
- #address-cells : must be 1
- #size-cells : must be 0
Property rules described in Documentation/devicetree/bindings/spi/spi-bus.txt
apply. In particular, "reg" and "spi-max-frequency" properties must be given.
Optional LED sub-node properties:
- function:
see Documentation/devicetree/bindings/leds/common.txt
- color:
see Documentation/devicetree/bindings/leds/common.txt
Example
-------
#include <dt-bindings/leds/common.h>
led-controller@0 {
compatible = "crane,el15203000";
reg = <0>;
spi-max-frequency = <50000>;
#address-cells = <1>;
#size-cells = <0>;
/* water pipe */
led@50 {
reg = <0x50>;
function = "pipe";
color = <LED_COLOR_ID_RED>;
};
/* screen frame */
led@53 {
reg = <0x53>;
function = "screen";
color = <LED_COLOR_ID_RED>;
};
/* vending area */
led@56 {
reg = <0x56>;
function = "vend";
color = <LED_COLOR_ID_RED>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
EL15203000 LED와 pattern
1-22Crane Merchandising Systems의 EL15203000 LED board는 RED LEDs board라고도 하며 커피 자판기에 널리 사용됩니다. LED 3개를 관리하고 특정 LED에 미리 정의된 blinking pattern을 지원합니다.
Vending area LED는 symbol `V`, hex code `0x56`으로 인코딩되며 hardware blinking pattern이 없습니다. 화면을 둘러싼 screen light tube LED는 symbol `S`, hex code `0x53`이고 breathing pattern을 지원합니다.
Water Pipe LED는 symbol `P`, hex code `0x50`이며 실제로는 LED 5개지만 protocol에서는 LED 하나처럼 노출됩니다. Cascade, inversed cascade, bounce, inversed bounce pattern을 지원합니다.
Protocol symbol과 하드웨어 pattern 지원을 대응시킵니다.
EL15203000 controller 속성
23-36필수 `compatible`은 `crane,el15203000`, `#address-cells`는 1, `#size-cells`는 0입니다. SPI bus 바인딩 규칙을 적용하므로 `reg`와 `spi-max-frequency`도 반드시 지정합니다. 선택 LED 하위 node 속성 `function`과 `color`는 `Documentation/devicetree/bindings/leds/common.txt`를 따릅니다.
EL15203000 세 LED 예제
37-69예제는 SPI frequency 50000으로 controller를 구성합니다. `led@50`은 water pipe, `led@53`은 screen frame, `led@56`은 vending area이며 모두 red LED입니다. 각 `reg` 값은 앞서 정의한 protocol hex code와 일치합니다.
#include <dt-bindings/leds/common.h>
led-controller@0 {
compatible = "crane,el15203000";
reg = <0>;
spi-max-frequency = <50000>;
#address-cells = <1>;
#size-cells = <0>;
/* water pipe */
led@50 {
reg = <0x50>;
function = "pipe";
color = <LED_COLOR_ID_RED>;
};
/* screen frame */
led@53 {
reg = <0x53>;
function = "screen";
color = <LED_COLOR_ID_RED>;
};
/* vending area */
led@56 {
reg = <0x56>;
function = "vend";
color = <LED_COLOR_ID_RED>;
};
};
요약과 해설
leds-el15203000.txt:1-69V·S·P protocol symbol과 pattern 지원을 설명합니다.