요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Kernel driver smsc47m192
========================
Supported chips:
* SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997
Prefix: 'smsc47m192'
Addresses scanned: I2C 0x2c - 0x2d
Datasheet: The datasheet for LPC47M192 is publicly available from
http://www.smsc.com/
The LPC47M15x, LPC47M292 and LPC47M997 are compatible for
hardware monitoring.
Author:
- Hartmut Rick <[email protected]>
- Special thanks to Jean Delvare for careful checking
of the code and many helpful comments and suggestions.
Description
-----------
This driver implements support for the hardware sensor capabilities
of the SMSC LPC47M192 and compatible Super-I/O chips.
These chips support 3 temperature channels and 8 voltage inputs
as well as CPU voltage VID input.
They do also have fan monitoring and control capabilities, but the
these features are accessed via ISA bus and are not supported by this
driver. Use the 'smsc47m1' driver for fan monitoring and control.
Voltages and temperatures are measured by an 8-bit ADC, the resolution
of the temperatures is 1 bit per degree C.
Voltages are scaled such that the nominal voltage corresponds to
192 counts, i.e. 3/4 of the full range. Thus the available range for
each voltage channel is 0V ... 255/192*(nominal voltage), the resolution
is 1 bit per (nominal voltage)/192.
Both voltage and temperature values are scaled by 1000, the sys files
show voltages in mV and temperatures in units of 0.001 degC.
The +12V analog voltage input channel (in4_input) is multiplexed with
bit 4 of the encoded CPU voltage. This means that you either get
a +12V voltage measurement or a 5 bit CPU VID, but not both.
The default setting is to use the pin as 12V input, and use only 4 bit VID.
This driver assumes that the information in the configuration register
is correct, i.e. that the BIOS has updated the configuration if
the motherboard has this input wired to VID4.
The temperature and voltage readings are updated once every 1.5 seconds.
Reading them more often repeats the same values.
sysfs interface
---------------
===================== ==========================================================
in0_input +2.5V voltage input
in1_input CPU voltage input (nominal 2.25V)
in2_input +3.3V voltage input
in3_input +5V voltage input
in4_input +12V voltage input (may be missing if used as VID4)
in5_input Vcc voltage input (nominal 3.3V)
This is the supply voltage of the sensor chip itself.
in6_input +1.5V voltage input
in7_input +1.8V voltage input
in[0-7]_min,
in[0-7]_max lower and upper alarm thresholds for in[0-7]_input reading
All voltages are read and written in mV.
in[0-7]_alarm alarm flags for voltage inputs
These files read '1' in case of alarm, '0' otherwise.
temp1_input chip temperature measured by on-chip diode
temp[2-3]_input temperature measured by external diodes (one of these
would typically be wired to the diode inside the CPU)
temp[1-3]_min,
temp[1-3]_max lower and upper alarm thresholds for temperatures
temp[1-3]_offset temperature offset registers
The chip adds the offsets stored in these registers to
the corresponding temperature readings.
Note that temp1 and temp2 offsets share the same register,
they cannot both be different from zero at the same time.
Writing a non-zero number to one of them will reset the other
offset to zero.
All temperatures and offsets are read and written in
units of 0.001 degC.
temp[1-3]_alarm alarm flags for temperature inputs, '1' in case of alarm,
'0' otherwise.
temp[2-3]_input_fault diode fault flags for temperature inputs 2 and 3.
A fault is detected if the two pins for the corresponding
sensor are open or shorted, or any of the two is shorted
to ground or Vcc. '1' indicates a diode fault.
cpu0_vid CPU voltage as received from the CPU
vrm CPU VID standard used for decoding CPU voltage
===================== ==========================================================
The `*_min`, `*_max`, `*_offset` and `vrm` files can be read and written,
all others are read-only.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
LPC47M192 호환 Super I/O 칩
1-28`smsc47m192` 드라이버는 SMSC LPC47M192, LPC47M15x, LPC47M292, LPC47M997을 지원합니다. 접두사는 `smsc47m192`이며 I2C 주소 `0x2c`부터 `0x2d`를 검색합니다.
LPC47M192 데이터시트는 공개되어 있고 나머지 세 제품도 하드웨어 모니터링 기능이 호환됩니다. 문서 작성자는 Hartmut Rick이며 Jean Delvare가 코드 검토와 제안을 제공했습니다.
동일 하드웨어 모니터링 인터페이스를 공유하는 제품군입니다.
두 I2C 주소에서 호환 칩을 찾고 센서 기능을 등록합니다.
Kernel driver smsc47m192
========================
Supported chips:
* SMSC LPC47M192, LPC47M15x, LPC47M292 and LPC47M997
Prefix: 'smsc47m192'
Addresses scanned: I2C 0x2c - 0x2d
Datasheet: The datasheet for LPC47M192 is publicly available from
http://www.smsc.com/
The LPC47M15x, LPC47M292 and LPC47M997 are compatible for
hardware monitoring.
Author:
- Hartmut Rick <[email protected]>
- Special thanks to Jean Delvare for careful checking
of the code and many helpful comments and suggestions.
8비트 ADC와 +12V·VID4 공유 핀
29-62이 드라이버는 LPC47M192 및 호환 Super I/O의 하드웨어 센서 기능을 지원합니다. 칩은 온도 채널 3개, 전압 입력 8개, CPU 전압 VID 입력을 제공합니다.
팬 감시와 제어 기능도 있지만 ISA 버스로 접근하므로 이 드라이버에서는 지원하지 않습니다. 팬 기능에는 `smsc47m1` 드라이버를 사용합니다.
전압과 온도는 8비트 ADC로 측정하고 온도 해상도는 1비트당 1°C입니다. 전압은 공칭값이 192카운트, 즉 전체 범위의 3/4에 대응하도록 스케일됩니다. 각 채널 범위는 `0 V ... 255/192 × 공칭 전압`, 해상도는 `공칭 전압/192`입니다.
전압과 온도 값은 모두 1000배 스케일되어 sysfs에서 전압은 mV, 온도는 0.001°C 단위로 표시됩니다.
+12 V 입력 `in4_input`은 인코딩된 CPU 전압의 비트 4와 핀을 공유합니다. 따라서 +12 V 측정과 5비트 CPU VID를 동시에 사용할 수 없습니다. 기본값은 +12 V 입력과 4비트 VID입니다. 드라이버는 메인보드가 VID4로 배선된 경우 BIOS가 구성 레지스터를 올바르게 갱신했다고 가정합니다.
온도와 전압 값은 1.5초마다 갱신됩니다. 더 자주 읽으면 같은 값이 반복됩니다.
ADC 배율과 공유 핀의 선택 관계입니다.
BIOS가 설정한 공유 핀 모드에 따라 전압 채널과 VID 폭을 결정합니다.
Description
-----------
This driver implements support for the hardware sensor capabilities
of the SMSC LPC47M192 and compatible Super-I/O chips.
These chips support 3 temperature channels and 8 voltage inputs
as well as CPU voltage VID input.
They do also have fan monitoring and control capabilities, but the
these features are accessed via ISA bus and are not supported by this
driver. Use the 'smsc47m1' driver for fan monitoring and control.
Voltages and temperatures are measured by an 8-bit ADC, the resolution
of the temperatures is 1 bit per degree C.
Voltages are scaled such that the nominal voltage corresponds to
192 counts, i.e. 3/4 of the full range. Thus the available range for
each voltage channel is 0V ... 255/192*(nominal voltage), the resolution
is 1 bit per (nominal voltage)/192.
Both voltage and temperature values are scaled by 1000, the sys files
show voltages in mV and temperatures in units of 0.001 degC.
The +12V analog voltage input channel (in4_input) is multiplexed with
bit 4 of the encoded CPU voltage. This means that you either get
a +12V voltage measurement or a 5 bit CPU VID, but not both.
The default setting is to use the pin as 12V input, and use only 4 bit VID.
This driver assumes that the information in the configuration register
is correct, i.e. that the BIOS has updated the configuration if
the motherboard has this input wired to VID4.
The temperature and voltage readings are updated once every 1.5 seconds.
Reading them more often repeats the same values.
8개 전압 입력과 한계·경보
63-84전압 채널은 `in0_input` +2.5 V, `in1_input` 공칭 2.25 V CPU 전압, `in2_input` +3.3 V, `in3_input` +5 V, `in4_input` +12 V, `in5_input` 센서 자체 공급 Vcc 공칭 3.3 V, `in6_input` +1.5 V, `in7_input` +1.8 V입니다. VID4로 쓰면 `in4_input`이 없을 수 있습니다.
`in[0-7]_min`과 `in[0-7]_max`는 각 전압 입력의 하한·상한 경보 임계값이며 읽기·쓰기가 가능합니다. 모든 전압은 mV 단위로 읽고 씁니다.
`in[0-7]_alarm`은 전압 경보 플래그이며 경보 시 1, 아니면 0을 읽습니다.
각 입력의 공칭 전압과 공유 핀 예외입니다.
공유 핀 구성을 반영해 측정값과 임계값·경보를 읽습니다.
sysfs interface
---------------
===================== ==========================================================
in0_input +2.5V voltage input
in1_input CPU voltage input (nominal 2.25V)
in2_input +3.3V voltage input
in3_input +5V voltage input
in4_input +12V voltage input (may be missing if used as VID4)
in5_input Vcc voltage input (nominal 3.3V)
This is the supply voltage of the sensor chip itself.
in6_input +1.5V voltage input
in7_input +1.8V voltage input
in[0-7]_min,
in[0-7]_max lower and upper alarm thresholds for in[0-7]_input reading
All voltages are read and written in mV.
in[0-7]_alarm alarm flags for voltage inputs
These files read '1' in case of alarm, '0' otherwise.
온도 다이오드·오프셋·CPU VID
85-116`temp1_input`은 칩 내장 다이오드 온도이고 `temp2_input`, `temp3_input`은 외부 다이오드 온도입니다. 외부 채널 중 하나는 보통 CPU 내부 다이오드에 연결됩니다.
`temp[1-3]_min`과 `temp[1-3]_max`는 온도 하한·상한 경보 임계값입니다. `temp[1-3]_offset`은 측정값에 더하는 온도 오프셋 레지스터입니다.
temp1과 temp2 오프셋은 같은 레지스터를 공유하므로 둘을 동시에 0이 아닌 값으로 둘 수 없습니다. 한쪽에 0이 아닌 값을 쓰면 다른 오프셋은 0으로 초기화됩니다. 온도와 오프셋은 모두 0.001°C 단위로 읽고 씁니다.
`temp[1-3]_alarm`은 경보 시 1, 정상 시 0입니다. `temp[2-3]_input_fault`는 외부 다이오드의 두 핀이 개방·단락되거나 둘 중 하나가 접지 또는 Vcc에 단락될 때 1이 됩니다.
`cpu0_vid`는 CPU에서 받은 CPU 전압이고 `vrm`은 CPU 전압 해석에 사용하는 VID 표준입니다. `*_min`, `*_max`, `*_offset`, `vrm`만 읽기·쓰기가 가능하고 나머지는 읽기 전용입니다.
센서 유형, 쓰기 가능 속성, 공유 오프셋 제약을 정리합니다.
공유 레지스터 제약을 지키며 다이오드 측정값을 보정합니다.
temp1_input chip temperature measured by on-chip diode
temp[2-3]_input temperature measured by external diodes (one of these
would typically be wired to the diode inside the CPU)
temp[1-3]_min,
temp[1-3]_max lower and upper alarm thresholds for temperatures
temp[1-3]_offset temperature offset registers
The chip adds the offsets stored in these registers to
the corresponding temperature readings.
Note that temp1 and temp2 offsets share the same register,
they cannot both be different from zero at the same time.
Writing a non-zero number to one of them will reset the other
offset to zero.
All temperatures and offsets are read and written in
units of 0.001 degC.
temp[1-3]_alarm alarm flags for temperature inputs, '1' in case of alarm,
'0' otherwise.
temp[2-3]_input_fault diode fault flags for temperature inputs 2 and 3.
A fault is detected if the two pins for the corresponding
sensor are open or shorted, or any of the two is shorted
to ground or Vcc. '1' indicates a diode fault.
cpu0_vid CPU voltage as received from the CPU
vrm CPU VID standard used for decoding CPU voltage
===================== ==========================================================
The `*_min`, `*_max`, `*_offset` and `vrm` files can be read and written,
all others are read-only.
요약·해설
smsc47m192.rst:1-1168비트 ADC 센서의 mV·밀리섭씨 배율, +12V·VID4 공유 핀, 외부 다이오드 결함과 오프셋 공유 규칙을 제공합니다.
원문 분량과 핵심 구성을 정리합니다.
장치 식별부터 측정·검증까지의 핵심 순서입니다.