요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Kernel driver lm87
==================
Supported chips:
* National Semiconductor LM87
Prefix: 'lm87'
Addresses scanned: I2C 0x2c - 0x2e
Datasheet: http://www.national.com/pf/LM/LM87.html
* Analog Devices ADM1024
Prefix: 'adm1024'
Addresses scanned: I2C 0x2c - 0x2e
Datasheet: https://www.analog.com/en/prod/0,2877,ADM1024,00.html
Authors:
- Frodo Looijaard <[email protected]>,
- Philip Edelbrock <[email protected]>,
- Mark Studebaker <[email protected]>,
- Stephen Rousset <[email protected]>,
- Dan Eaton <[email protected]>,
- Jean Delvare <[email protected]>,
- Original 2.6 port Jeff Oliver
Description
-----------
This driver implements support for the National Semiconductor LM87
and the Analog Devices ADM1024.
The LM87 implements up to three temperature sensors, up to two fan
rotation speed sensors, up to seven voltage sensors, alarms, and some
miscellaneous stuff. The ADM1024 is fully compatible.
Temperatures are measured in degrees Celsius. Each input has a high
and low alarm settings. A high limit produces an alarm when the value
goes above it, and an alarm is also produced when the value goes below
the low limit.
Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. Fan
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
the readings more range or accuracy. Not all RPM values can accurately be
represented, so some rounding is done. With a divider of 2, the lowest
representable value is around 2600 RPM.
Voltage sensors (also known as IN sensors) report their values in
volts. An alarm is triggered if the voltage has crossed a programmable
minimum or maximum limit. Note that minimum in this case always means
'closest to zero'; this is important for negative voltage measurements.
If an alarm triggers, it will remain triggered until the hardware register
is read at least once. This means that the cause for the alarm may
already have disappeared! Note that in the current implementation, all
hardware registers are read whenever any data is read (unless it is less
than 1.0 seconds since the last update). This means that you can easily
miss once-only alarms.
The lm87 driver only updates its values each 1.0 seconds; reading it more
often will do no harm, but will return 'old' values.
Hardware Configurations
-----------------------
The LM87 has four pins which can serve one of two possible functions,
depending on the hardware configuration.
Some functions share pins, so not all functions are available at the same
time. Which are depends on the hardware setup. This driver normally
assumes that firmware configured the chip correctly. Where this is not
the case, platform code must set the I2C client's platform_data to point
to a u8 value to be written to the channel register.
For reference, here is the list of exclusive functions:
- in0+in5 (default) or temp3
- fan1 (default) or in6
- fan2 (default) or in7
- VID lines (default) or IRQ lines (not handled by this driver)
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
LM87·ADM1024 지원 정보
1-31드라이버는 National Semiconductor LM87과 완전 호환인 Analog Devices ADM1024를 지원합니다. 접두사는 각각 `lm87`, `adm1024`이며 I2C 주소 `0x2c`부터 `0x2e`까지 검색됩니다.
작성자는 Frodo Looijaard, Philip Edelbrock, Mark Studebaker, Stephen Rousset, Dan Eaton, Jean Delvare이며 원래 2.6 포팅은 Jeff Oliver가 담당했습니다.
두 지원 칩의 접두사와 주소입니다.
공통 주소에서 칩을 식별해 측정 채널을 초기화합니다.
Kernel driver lm87
==================
Supported chips:
* National Semiconductor LM87
Prefix: 'lm87'
Addresses scanned: I2C 0x2c - 0x2e
Datasheet: http://www.national.com/pf/LM/LM87.html
* Analog Devices ADM1024
Prefix: 'adm1024'
Addresses scanned: I2C 0x2c - 0x2e
Datasheet: https://www.analog.com/en/prod/0,2877,ADM1024,00.html
Authors:
- Frodo Looijaard <[email protected]>,
- Philip Edelbrock <[email protected]>,
- Mark Studebaker <[email protected]>,
- Stephen Rousset <[email protected]>,
- Dan Eaton <[email protected]>,
- Jean Delvare <[email protected]>,
- Original 2.6 port Jeff Oliver
온도·팬·전압과 래치 경보
32-69LM87은 최대 온도 센서 3개, 팬 회전 센서 2개, 전압 센서 7개와 경보 및 기타 기능을 제공하며 ADM1024는 완전 호환입니다.
온도는 섭씨 단위이고 각 입력에는 상한과 하한 경보 설정이 있습니다. 값이 상한을 넘거나 하한 아래로 내려가면 경보가 발생합니다.
팬 속도는 RPM으로 보고하고 설정 제한보다 낮아지면 경보가 발생합니다. 판독값에는 1·2·4·8 분주기를 적용해 범위나 정밀도를 조절합니다. 모든 RPM을 정확히 표현하지 못해 반올림되며 분주기 2에서 최저 표현값은 약 2600 RPM입니다.
IN 전압 센서는 볼트로 보고하고 설정한 최솟값 또는 최댓값을 넘으면 경보를 냅니다. 최솟값은 항상 0에 가장 가까운 값이므로 음전압 측정에서 중요합니다.
경보는 하드웨어 레지스터를 한 번 읽을 때까지 유지되어 원인이 이미 사라진 뒤에도 보일 수 있습니다. 현재 구현은 마지막 갱신 뒤 1초 이내가 아니면 어떤 데이터를 읽을 때 모든 레지스터를 읽어 일회성 경보를 놓칠 수 있습니다. 값은 1초마다 갱신되며 더 자주 읽으면 이전 값이 반환됩니다.
채널 수와 경보·캐시 특성입니다.
주기 측정과 래치 해제의 순서를 관리합니다.
Description
-----------
This driver implements support for the National Semiconductor LM87
and the Analog Devices ADM1024.
The LM87 implements up to three temperature sensors, up to two fan
rotation speed sensors, up to seven voltage sensors, alarms, and some
miscellaneous stuff. The ADM1024 is fully compatible.
Temperatures are measured in degrees Celsius. Each input has a high
and low alarm settings. A high limit produces an alarm when the value
goes above it, and an alarm is also produced when the value goes below
the low limit.
Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. Fan
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
the readings more range or accuracy. Not all RPM values can accurately be
represented, so some rounding is done. With a divider of 2, the lowest
representable value is around 2600 RPM.
Voltage sensors (also known as IN sensors) report their values in
volts. An alarm is triggered if the voltage has crossed a programmable
minimum or maximum limit. Note that minimum in this case always means
'closest to zero'; this is important for negative voltage measurements.
If an alarm triggers, it will remain triggered until the hardware register
is read at least once. This means that the cause for the alarm may
already have disappeared! Note that in the current implementation, all
hardware registers are read whenever any data is read (unless it is less
than 1.0 seconds since the last update). This means that you can easily
miss once-only alarms.
The lm87 driver only updates its values each 1.0 seconds; reading it more
often will do no harm, but will return 'old' values.
하드웨어 핀 다중화와 platform_data
70-86LM87에는 하드웨어 구성에 따라 두 기능 중 하나를 맡는 핀 네 개가 있습니다. 기능이 핀을 공유하므로 모든 기능을 동시에 사용할 수 없고 실제 채널은 보드 구성에 따라 달라집니다.
드라이버는 보통 펌웨어가 칩을 올바르게 구성했다고 가정합니다. 그렇지 않다면 플랫폼 코드가 I2C 클라이언트의 `platform_data`를 채널 레지스터에 쓸 `u8` 값으로 지정해야 합니다.
상호 배타적인 기능은 기본 `in0+in5` 또는 `temp3`, 기본 `fan1` 또는 `in6`, 기본 `fan2` 또는 `in7`, 기본 VID 선 또는 드라이버가 처리하지 않는 IRQ 선입니다.
한 핀에서 동시에 사용할 수 없는 기능 쌍입니다.
펌웨어 설정을 우선하고 필요할 때만 플랫폼 값으로 보정합니다.
Hardware Configurations
-----------------------
The LM87 has four pins which can serve one of two possible functions,
depending on the hardware configuration.
Some functions share pins, so not all functions are available at the same
time. Which are depends on the hardware setup. This driver normally
assumes that firmware configured the chip correctly. Where this is not
the case, platform code must set the I2C client's platform_data to point
to a u8 value to be written to the channel register.
For reference, here is the list of exclusive functions:
- in0+in5 (default) or temp3
- fan1 (default) or in6
- fan2 (default) or in7
- VID lines (default) or IRQ lines (not handled by this driver)
요약·해설
lm87.rst:1-86최대 온도 3개·팬 2개·전압 7개를 1초 주기로 감시하고 펌웨어 또는 platform_data로 핀 다중화를 선택합니다.
원문 분량과 핵심 인터페이스입니다.
장치 감지부터 자동 제어까지의 핵심 순서입니다.