← Documents Documentation/hwmon/ltc4282.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

Kernel driver ltc4282

LTC4282 고전력 핫스왑의 상호 배타적 전압 모니터, 전력·에너지 누적, 이력과 debugfs 오류 로그입니다.

Source pathDocumentation/hwmon/ltc4282.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

ltc4282.rst:1-133

듀얼 게이트 고전력 핫스왑에서 VSOURCE/VDD 중 하나를 감시하고 전류·전력·에너지 및 과거 fault 로그를 관리합니다.

문서 개요
항목
SourceDocumentation/hwmon/ltc4282.rst
분량133 source lines
전압 범위2.9-33 V
게이트듀얼 12 V

원문 분량과 핵심 인터페이스입니다.

운영 흐름
2단계 기동모니터 선택한계·이력 감시에너지 누적debugfs 로그 처리

장치 연결부터 측정·경보 처리까지의 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0-only
2
3 Kernel drivers ltc4282
4 ==========================================
5
6 Supported chips:
7
8 * Analog Devices LTC4282
9
10 Prefix: 'ltc4282'
11
12 Addresses scanned: - I2C 0x40 - 0x5A (7-bit)
13 Addresses scanned: - I2C 0x80 - 0xB4 with a step of 2 (8-bit)
14
15 Datasheet:
16
17 https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4282.pdf
18
19 Author: Nuno Sá <[email protected]>
20
21 Description
22 ___________
23
24 The LTC4282 hot swap controller allows a board to be safely inserted and removed
25 from a live backplane. Using one or more external N-channel pass transistors,
26 board supply voltage and inrush current are ramped up at an adjustable rate. An
27 I2C interface and onboard ADC allows for monitoring of board current, voltage,
28 power, energy and fault status. The device features analog foldback current
29 limiting and supply monitoring for applications from 2.9V to 33V. Dual 12V gate
30 drive allows high power applications to either share safe operating area across
31 parallel MOSFETs or support a 2-stage start-up that first charges the load
32 capacitance followed by enabling a low on-resistance path to the load. The
33 LTC4282 is well suited to high power applications because the precise monitoring
34 capability and accurate current limiting reduce the extremes in which both loads
35 and power supplies must safely operate. Non-volatile configuration allows for
36 flexibility in the autonomous generation of alerts and response to faults.
37
38 Sysfs entries
39 _____________
40
41 The following attributes are supported. Limits are read-write and all the other
42 attributes are read-only. Note that in0 and in1 are mutually exclusive. Enabling
43 one disables the other and disabling one enables the other.
44
45 ======================= ==========================================
46 in0_input Output voltage (mV).
47 in0_min Undervoltage threshold
48 in0_max Overvoltage threshold
49 in0_lowest Lowest measured voltage
50 in0_highest Highest measured voltage
51 in0_reset_history Write 1 to reset in0 history.
52 Also clears fet bad and short fault logs.
53 in0_min_alarm Undervoltage alarm
54 in0_max_alarm Overvoltage alarm
55 in0_enable Enable/Disable VSOURCE monitoring
56 in0_fault Failure in the MOSFETs. Either bad or shorted FET.
57 in0_label Channel label (VSOURCE)
58
59 in1_input Input voltage (mV).
60 in1_min Undervoltage threshold
61 in1_max Overvoltage threshold
62 in1_lowest Lowest measured voltage
63 in1_highest Highest measured voltage
64 in1_reset_history Write 1 to reset in1 history.
65 Also clears over/undervoltage fault logs.
66 in1_min_alarm Undervoltage alarm
67 in1_max_alarm Overvoltage alarm
68 in1_lcrit_alarm Critical Undervoltage alarm
69 in1_crit_alarm Critical Overvoltage alarm
70 in1_enable Enable/Disable VDD monitoring
71 in1_label Channel label (VDD)
72
73 in2_input GPIO voltage (mV)
74 in2_min Undervoltage threshold
75 in2_max Overvoltage threshold
76 in2_lowest Lowest measured voltage
77 in2_highest Highest measured voltage
78 in2_reset_history Write 1 to reset in2 history
79 in2_min_alarm Undervoltage alarm
80 in2_max_alarm Overvoltage alarm
81 in2_label Channel label (VGPIO)
82
83 curr1_input Sense current (mA)
84 curr1_min Undercurrent threshold
85 curr1_max Overcurrent threshold
86 curr1_lowest Lowest measured current
87 curr1_highest Highest measured current
88 curr1_reset_history Write 1 to reset curr1 history.
89 Also clears overcurrent fault logs.
90 curr1_min_alarm Undercurrent alarm
91 curr1_max_alarm Overcurrent alarm
92 curr1_crit_alarm Critical Overcurrent alarm
93 curr1_label Channel label (ISENSE)
94
95 power1_input Power (in uW)
96 power1_min Low power threshold
97 power1_max High power threshold
98 power1_input_lowest Historical minimum power use
99 power1_input_highest Historical maximum power use
100 power1_reset_history Write 1 to reset power1 history.
101 Also clears power bad fault logs.
102 power1_min_alarm Low power alarm
103 power1_max_alarm High power alarm
104 power1_label Channel label (Power)
105
106 energy1_input Measured energy over time (in microJoule)
107 energy1_enable Enable/Disable Energy accumulation
108 ======================= ==========================================
109
110 DebugFs entries
111 _______________
112
113 The chip also has a fault log register where failures can be logged. Hence,
114 as these are logging events, we give access to them in debugfs. Note that
115 even if some failure is detected in these logs, it does necessarily mean
116 that the failure is still present. As mentioned in the proper Sysfs entries,
117 these logs can be cleared by writing in the proper reset_history attribute.
118
119 .. warning:: The debugfs interface is subject to change without notice
120 and is only available when the kernel is compiled with
121 ``CONFIG_DEBUG_FS`` defined.
122
123 ``/sys/kernel/debug/ltc4282-hwmon[X]/``
124 contains the following attributes:
125
126 ======================= ==========================================
127 power1_bad_fault_log Set to 1 by a power1 bad fault occurring.
128 in0_fet_short_fault_log Set to 1 when the ADC detects a FET-short fault.
129 in0_fet_bad_fault_log Set to 1 when a FET-BAD fault occurs.
130 in1_crit_fault_log Set to 1 by a VDD overvoltage fault occurring.
131 in1_lcrit_fault_log Set to 1 by a VDD undervoltage fault occurring.
132 curr1_crit_fault_log Set to 1 by an overcurrent fault occurring.
133 ======================= ==========================================
134

3. 한국어 전문 번역

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

LTC4282 고전력 핫스왑과 이중 게이트 구동

1-42

GPL-2.0-only 문서의 Analog Devices LTC4282는 `ltc4282` 접두사를 사용합니다. 7비트 I2C 주소 범위는 `0x40-0x5A`, 8비트 표기는 `0x80-0xB4`에서 2씩 증가하며 저자는 Nuno Sá입니다.

외부 N채널 패스 트랜지스터 하나 이상으로 보드 전압과 돌입 전류를 조정 가능한 속도로 상승시킵니다. I2C와 온보드 ADC가 전류, 전압, 전력, 에너지, 오류 상태를 감시하며 2.9-33 V 응용을 위한 아날로그 폴드백 전류 제한과 공급 전압 감시를 제공합니다.

듀얼 12 V 게이트 구동은 병렬 MOSFET 사이에서 안전 동작 영역을 나누거나, 먼저 부하 커패시턴스를 충전한 뒤 낮은 온저항 경로를 켜는 2단계 기동을 지원합니다. 비휘발성 설정으로 경보 생성과 오류 대응을 자율적으로 구성할 수 있습니다.

LTC4282 핵심 기능
기능내용
전압 범위2.9-33 V
패스 소자외부 N채널 트랜지스터
게이트 구동듀얼 12 V
ADC전류·전압·전력·에너지·오류
설정비휘발성 경보와 오류 대응

고전력 핫스왑의 기동·감시·오류 대응 구성입니다.

LTC4282 2단계 기동
돌입 전류 제한 시작첫 경로로 부하 커패시턴스 충전전압·전류·오류 상태 확인낮은 온저항 경로 활성화정상 전력·에너지 감시

듀얼 게이트로 돌입 전류와 저손실 경로를 순차 제어합니다.

.. SPDX-License-Identifier: GPL-2.0-only

Kernel drivers ltc4282
==========================================

Supported chips:

  * Analog Devices LTC4282

    Prefix: 'ltc4282'

    Addresses scanned: - I2C 0x40 - 0x5A (7-bit)
    Addresses scanned: - I2C 0x80 - 0xB4 with a step of 2 (8-bit)

    Datasheet:

        https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4282.pdf

Author: Nuno Sá <[email protected]>

Description
___________

The LTC4282 hot swap controller allows a board to be safely inserted and removed
from a live backplane. Using one or more external N-channel pass transistors,
board supply voltage and inrush current are ramped up at an adjustable rate. An
I2C interface and onboard ADC allows for monitoring of board current, voltage,
power, energy and fault status. The device features analog foldback current
limiting and supply monitoring for applications from 2.9V to 33V. Dual 12V gate
drive allows high power applications to either share safe operating area across
parallel MOSFETs or support a 2-stage start-up that first charges the load
capacitance followed by enabling a low on-resistance path to the load. The
LTC4282 is well suited to high power applications because the precise monitoring
capability and accurate current limiting reduce the extremes in which both loads
and power supplies must safely operate. Non-volatile configuration allows for
flexibility in the autonomous generation of alerts and response to faults.

Sysfs entries
_____________

The following attributes are supported. Limits are read-write and all the other
attributes are read-only. Note that in0 and in1 are mutually exclusive. Enabling

상호 배타적 전압·전류·전력·에너지 속성

43-107

한계는 읽고 쓸 수 있고 그 밖의 속성은 읽기 전용입니다. `in0`과 `in1`은 상호 배타적이어서 하나를 활성화하면 다른 하나가 비활성화되고, 하나를 끄면 다른 하나가 활성화됩니다.

`in0`은 VSOURCE 출력 전압으로 현재값, min/max 한계, 최저·최고 이력, 알람, enable, MOSFET bad/short fault를 제공합니다. `in0_reset_history`에 1을 쓰면 전압 이력과 FET bad·short 오류 로그를 함께 지웁니다. `in1`은 VDD 입력 전압으로 같은 측정·한계·이력 외에 임계 저전압·과전압 알람을 제공하며 reset은 해당 오류 로그도 지웁니다.

`in2`는 VGPIO 전압과 min/max, 최저·최고, 알람, 이력 초기화를 제공합니다. `curr1`은 ISENSE 전류의 부족·과전류 한계, 최저·최고, 일반 및 임계 과전류 알람을 제공하고 reset 시 과전류 오류 로그도 지웁니다.

`power1`은 μW 단위 전력, 저·고전력 한계, 최저·최고 사용 이력, 알람과 reset을 제공하며 reset 시 power bad 로그도 지웁니다. `energy1_input`은 시간에 따른 누적 에너지를 microJoule로 보고하고 `energy1_enable`로 에너지 누적을 켜거나 끕니다.

LTC4282 sysfs 그룹
그룹레이블특징
in0VSOURCEin1과 상호 배타적, FET fault
in1VDD임계 저·과전압 알람
in2VGPIO전압·이력·알람
curr1ISENSE부족·과전류와 임계 알람
power1PowerμW, power bad 로그
energy1-microJoule 누적과 enable

측정·한계·이력과 reset_history의 오류 로그 연계입니다.

LTC4282 상태 관리
VSOURCE 또는 VDD 모니터 하나 선택전압·전류·전력 한계 설정알람·fault와 최저·최고 이력 읽기에너지 누적 활성화로그 보존 후 reset_history 실행

모니터 선택과 이력 초기화가 오류 로그에 미치는 영향을 반영합니다.

one disables the other and disabling one enables the other.

======================= ==========================================
in0_input                Output voltage (mV).
in0_min                        Undervoltage threshold
in0_max                 Overvoltage threshold
in0_lowest                Lowest measured voltage
in0_highest                Highest measured voltage
in0_reset_history        Write 1 to reset in0 history.
                        Also clears fet bad and short fault logs.
in0_min_alarm                Undervoltage alarm
in0_max_alarm           Overvoltage alarm
in0_enable                Enable/Disable VSOURCE monitoring
in0_fault                Failure in the MOSFETs. Either bad or shorted FET.
in0_label                Channel label (VSOURCE)

in1_input                Input voltage (mV).
in1_min                        Undervoltage threshold
in1_max                 Overvoltage threshold
in1_lowest                Lowest measured voltage
in1_highest                Highest measured voltage
in1_reset_history        Write 1 to reset in1 history.
                        Also clears over/undervoltage fault logs.
in1_min_alarm                Undervoltage alarm
in1_max_alarm           Overvoltage alarm
in1_lcrit_alarm         Critical Undervoltage alarm
in1_crit_alarm          Critical Overvoltage alarm
in1_enable                Enable/Disable VDD monitoring
in1_label                Channel label (VDD)

in2_input                GPIO voltage (mV)
in2_min                        Undervoltage threshold
in2_max                        Overvoltage threshold
in2_lowest                Lowest measured voltage
in2_highest                Highest measured voltage
in2_reset_history        Write 1 to reset in2 history
in2_min_alarm                Undervoltage alarm
in2_max_alarm                Overvoltage alarm
in2_label                Channel label (VGPIO)

curr1_input                Sense current (mA)
curr1_min                Undercurrent threshold
curr1_max                Overcurrent threshold
curr1_lowest                Lowest measured current
curr1_highest                Highest measured current
curr1_reset_history        Write 1 to reset curr1 history.
                        Also clears overcurrent fault logs.
curr1_min_alarm                Undercurrent alarm
curr1_max_alarm                Overcurrent alarm
curr1_crit_alarm        Critical Overcurrent alarm
curr1_label                Channel label (ISENSE)

power1_input                Power (in uW)
power1_min                Low power threshold
power1_max                High power threshold
power1_input_lowest        Historical minimum power use
power1_input_highest        Historical maximum power use
power1_reset_history        Write 1 to reset power1 history.
                        Also clears power bad fault logs.
power1_min_alarm        Low power alarm
power1_max_alarm        High power alarm
power1_label                Channel label (Power)

energy1_input                Measured energy over time (in microJoule)
energy1_enable                Enable/Disable Energy accumulation

debugfs 오류 로그와 초기화 관계

108-133

칩의 fault log 레지스터는 과거 오류 이벤트를 기록하므로 debugfs에서 접근합니다. 로그에 오류가 있어도 그 오류가 현재 계속 존재한다는 뜻은 아닙니다. 해당 sysfs `reset_history` 속성에 쓰면 연관 로그를 지울 수 있습니다.

debugfs 인터페이스는 예고 없이 바뀔 수 있으며 커널이 `CONFIG_DEBUG_FS`로 빌드된 경우에만 사용할 수 있습니다. 디렉터리는 `/sys/kernel/debug/ltc4282-hwmon[X]/`입니다.

`power1_bad_fault_log`, `in0_fet_short_fault_log`, `in0_fet_bad_fault_log`, `in1_crit_fault_log`, `in1_lcrit_fault_log`, `curr1_crit_fault_log`는 각각 전력 불량, FET 단락, FET 불량, VDD 과전압, VDD 저전압, 과전류 이벤트가 발생하면 1로 설정됩니다.

LTC4282 debugfs 로그
로그이벤트
power1_bad_fault_log전력 불량
in0_fet_short_fault_logFET 단락
in0_fet_bad_fault_logFET 불량
in1_crit_fault_logVDD 과전압
in1_lcrit_fault_logVDD 저전압
curr1_crit_fault_log임계 과전류

과거 오류 이벤트를 원인별로 기록합니다.

오류 로그 처리
sysfs 현재 알람 읽기debugfs fault log 읽기현재 상태와 과거 이벤트 구분진단 기록 보존연관 reset_history로 로그 정리

현재 알람과 과거 이벤트를 구분한 뒤 연관 이력을 초기화합니다.

======================= ==========================================

DebugFs entries
_______________

The chip also has a fault log register where failures can be logged. Hence,
as these are logging events, we give access to them in debugfs. Note that
even if some failure is detected in these logs, it does necessarily mean
that the failure is still present. As mentioned in the proper Sysfs entries,
these logs can be cleared by writing in the proper reset_history attribute.

.. warning:: The debugfs interface is subject to change without notice
             and is only available when the kernel is compiled with
             ``CONFIG_DEBUG_FS`` defined.

``/sys/kernel/debug/ltc4282-hwmon[X]/``
contains the following attributes:

=======================  ==========================================
power1_bad_fault_log     Set to 1 by a power1 bad fault occurring.
in0_fet_short_fault_log         Set to 1 when the ADC detects a FET-short fault.
in0_fet_bad_fault_log    Set to 1 when a FET-BAD fault occurs.
in1_crit_fault_log       Set to 1 by a VDD overvoltage fault occurring.
in1_lcrit_fault_log      Set to 1 by a VDD undervoltage fault occurring.
curr1_crit_fault_log         Set to 1 by an overcurrent fault occurring.
=======================  ==========================================