← Documents Documentation/devicetree/bindings/leds/leds-netxbig.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

LaCie NetBIG CPLD LEDs

GPIO extension bus의 timer, mode와 brightness register 바인딩입니다.

Source pathDocumentation/devicetree/bindings/leds/leds-netxbig.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

leds-netxbig.txt:1-92

Power와 SATA LED의 mode-value 매핑을 설명합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate
2 boards (Example: 2Big/5Big Network v2, 2Big NAS).
3
4 Required properties:
5 - compatible: "lacie,netxbig-leds".
6 - gpio-ext: Phandle for the gpio-ext bus.
7
8 Optional properties:
9 - timers: Timer array. Each timer entry is represented by three integers:
10 Mode (gpio-ext bus), delay_on and delay_off.
11
12 Each LED is represented as a sub-node of the netxbig-leds device.
13
14 Required sub-node properties:
15 - mode-addr: Mode register address on gpio-ext bus.
16 - mode-val: Mode to value mapping. Each entry is represented by two integers:
17 A mode and the corresponding value on the gpio-ext bus.
18 - bright-addr: Brightness register address on gpio-ext bus.
19 - max-brightness: Maximum brightness value.
20
21 Optional sub-node properties:
22 - label: Name for this LED. If omitted, the label is taken from the node name.
23 - linux,default-trigger: Trigger assigned to the LED.
24
25 Example:
26
27 netxbig-leds {
28 compatible = "lacie,netxbig-leds";
29
30 gpio-ext = &gpio_ext;
31
32 timers = <NETXBIG_LED_TIMER1 500 500
33 NETXBIG_LED_TIMER2 500 1000>;
34
35 blue-power {
36 label = "netxbig:blue:power";
37 mode-addr = <0>;
38 mode-val = <NETXBIG_LED_OFF 0
39 NETXBIG_LED_ON 1
40 NETXBIG_LED_TIMER1 3
41 NETXBIG_LED_TIMER2 7>;
42 bright-addr = <1>;
43 max-brightness = <7>;
44 };
45 red-power {
46 label = "netxbig:red:power";
47 mode-addr = <0>;
48 mode-val = <NETXBIG_LED_OFF 0
49 NETXBIG_LED_ON 2
50 NETXBIG_LED_TIMER1 4>;
51 bright-addr = <1>;
52 max-brightness = <7>;
53 };
54 blue-sata0 {
55 label = "netxbig:blue:sata0";
56 mode-addr = <3>;
57 mode-val = <NETXBIG_LED_OFF 0
58 NETXBIG_LED_ON 7
59 NETXBIG_LED_SATA 1
60 NETXBIG_LED_TIMER1 3>;
61 bright-addr = <2>;
62 max-brightness = <7>;
63 };
64 red-sata0 {
65 label = "netxbig:red:sata0";
66 mode-addr = <3>;
67 mode-val = <NETXBIG_LED_OFF 0
68 NETXBIG_LED_ON 2
69 NETXBIG_LED_TIMER1 4>;
70 bright-addr = <2>;
71 max-brightness = <7>;
72 };
73 blue-sata1 {
74 label = "netxbig:blue:sata1";
75 mode-addr = <4>;
76 mode-val = <NETXBIG_LED_OFF 0
77 NETXBIG_LED_ON 7
78 NETXBIG_LED_SATA 1
79 NETXBIG_LED_TIMER1 3>;
80 bright-addr = <2>;
81 max-brightness = <7>;
82 };
83 red-sata1 {
84 label = "netxbig:red:sata1";
85 mode-addr = <4>;
86 mode-val = <NETXBIG_LED_OFF 0
87 NETXBIG_LED_ON 2
88 NETXBIG_LED_TIMER1 4>;
89 bright-addr = <2>;
90 max-brightness = <7>;
91 };
92 };
93

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

LaCie NetBIG CPLD LED 속성

1-24

이 바인딩은 2Big/5Big Network v2와 2Big NAS 같은 일부 LaCie/Seagate board의 GPIO extension bus에 연결된 CPLD LED를 설명합니다. 필수 `compatible`은 `lacie,netxbig-leds`, `gpio-ext`는 gpio-ext bus의 phandle입니다.

선택 `timers`는 timer 배열이며 각 항목은 mode, `delay_on`, `delay_off`의 정수 세 개로 구성됩니다. LED마다 netxbig 장치의 하위 node로 표현합니다.

필수 child `mode-addr`는 gpio-ext bus의 mode register 주소입니다. `mode-val`은 mode와 gpio-ext bus의 대응 값으로 이루어진 정수 쌍 목록입니다. `bright-addr`는 brightness register 주소이고 `max-brightness`는 최대 밝기 값입니다. 선택 `label`을 생략하면 node 이름을 쓰며 `linux,default-trigger`는 LED trigger입니다.

NetBIG 배열 인코딩
속성항목 형식
timersmode, delay_on, delay_off
mode-valmode, gpio-ext value
mode-addrMode register 주소
bright-addr/max-brightness밝기 register와 상한

Timer와 mode mapping의 cell 묶음을 정리합니다.

Power와 SATA LED 예제

25-92

예제는 timer 1을 500ms on/500ms off, timer 2를 500ms on/1000ms off로 정의합니다. Blue power LED는 OFF, ON, TIMER1, TIMER2를 지원하고 red power LED는 OFF, ON, TIMER1을 지원하며 같은 brightness register 1과 최대 밝기 7을 사용합니다.

SATA0과 SATA1의 blue LED는 OFF, ON, SATA activity, TIMER1 mode를 지원하고 red LED는 OFF, ON, TIMER1을 지원합니다. SATA0은 mode register 3, SATA1은 register 4를 사용하며 모두 brightness register 2와 최대 밝기 7을 사용합니다.

netxbig-leds {
        compatible = "lacie,netxbig-leds";

        gpio-ext = &gpio_ext;

        timers = <NETXBIG_LED_TIMER1 500 500
                  NETXBIG_LED_TIMER2 500 1000>;

        blue-power {
                label = "netxbig:blue:power";
                mode-addr = <0>;
                mode-val = <NETXBIG_LED_OFF 0
                            NETXBIG_LED_ON 1
                            NETXBIG_LED_TIMER1 3
                            NETXBIG_LED_TIMER2 7>;
                bright-addr = <1>;
                max-brightness = <7>;
        };
        red-power {
                label = "netxbig:red:power";
                mode-addr = <0>;
                mode-val = <NETXBIG_LED_OFF 0
                            NETXBIG_LED_ON 2
                            NETXBIG_LED_TIMER1 4>;
                bright-addr = <1>;
                max-brightness = <7>;
        };
        blue-sata0 {
                label = "netxbig:blue:sata0";
                mode-addr = <3>;
                mode-val = <NETXBIG_LED_OFF 0
                            NETXBIG_LED_ON 7
                            NETXBIG_LED_SATA 1
                            NETXBIG_LED_TIMER1 3>;
                bright-addr = <2>;
                max-brightness = <7>;
        };
        red-sata0 {
                label = "netxbig:red:sata0";
                mode-addr = <3>;
                mode-val = <NETXBIG_LED_OFF 0
                            NETXBIG_LED_ON 2
                            NETXBIG_LED_TIMER1 4>;
                bright-addr = <2>;
                max-brightness = <7>;
        };
        blue-sata1 {
                label = "netxbig:blue:sata1";
                mode-addr = <4>;
                mode-val = <NETXBIG_LED_OFF 0
                            NETXBIG_LED_ON 7
                            NETXBIG_LED_SATA 1
                            NETXBIG_LED_TIMER1 3>;
                bright-addr = <2>;
                max-brightness = <7>;
        };
        red-sata1 {
                label = "netxbig:red:sata1";
                mode-addr = <4>;
                mode-val = <NETXBIG_LED_OFF 0
                            NETXBIG_LED_ON 2
                            NETXBIG_LED_TIMER1 4>;
                bright-addr = <2>;
                max-brightness = <7>;
        };
};