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

Linux 6.18.37 · Hardware Monitoring

Kernel driver gl518sm

GL518SM revision별 voltage 제한과 temperature·fan·beep alarm입니다.

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

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

1. 요약·해설

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

요약·해설

gl518sm.rst:1-80

Revision 0x00의 current voltage 제한과 register-read alarm latch를 설명합니다.

문서 개요
항목
SourceDocumentation/hwmon/gl518sm.rst
분량80 source lines
I2C0x2c·0x2d
Update1.5초

원문 분량과 핵심 범위입니다.

핵심 흐름
Revision 판별Sensor 측정Limit·alarm 판정Latch·cache 처리

장치 동작의 기본 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver gl518sm
2 =====================
3
4 Supported chips:
5
6 * Genesys Logic GL518SM release 0x00
7
8 Prefix: 'gl518sm'
9
10 Addresses scanned: I2C 0x2c and 0x2d
11
12 * Genesys Logic GL518SM release 0x80
13
14 Prefix: 'gl518sm'
15
16 Addresses scanned: I2C 0x2c and 0x2d
17
18 Datasheet: http://www.genesyslogic.com/
19
20 Authors:
21 - Frodo Looijaard <frodol@dds.nl>,
22 - Kyösti Mälkki <kmalkki@cc.hut.fi>
23 - Hong-Gunn Chew <hglinux@gunnet.org>
24 - Jean Delvare <jdelvare@suse.de>
25
26 Description
27 -----------
28
29 .. important::
30
31 For the revision 0x00 chip, the in0, in1, and in2 values (+5V, +3V,
32 and +12V) CANNOT be read. This is a limitation of the chip, not the driver.
33
34 This driver supports the Genesys Logic GL518SM chip. There are at least
35 two revision of this chip, which we call revision 0x00 and 0x80. Revision
36 0x80 chips support the reading of all voltages and revision 0x00 only
37 for VIN3.
38
39 The GL518SM implements one temperature sensor, two fan rotation speed
40 sensors, and four voltage sensors. It can report alarms through the
41 computer speakers.
42
43 Temperatures are measured in degrees Celsius. An alarm goes off while the
44 temperature is above the over temperature limit, and has not yet dropped
45 below the hysteresis limit. The alarm always reflects the current
46 situation. Measurements are guaranteed between -10 degrees and +110
47 degrees, with a accuracy of +/-3 degrees.
48
49 Rotation speeds are reported in RPM (rotations per minute). An alarm is
50 triggered if the rotation speed has dropped below a programmable limit. In
51 case when you have selected to turn fan1 off, no fan1 alarm is triggered.
52
53 Fan readings can be divided by a programmable divider (1, 2, 4 or 8) to
54 give the readings more range or accuracy. Not all RPM values can
55 accurately be represented, so some rounding is done. With a divider
56 of 2, the lowest representable value is around 1900 RPM.
57
58 Voltage sensors (also known as VIN sensors) report their values in volts.
59 An alarm is triggered if the voltage has crossed a programmable minimum or
60 maximum limit. Note that minimum in this case always means 'closest to
61 zero'; this is important for negative voltage measurements. The VDD input
62 measures voltages between 0.000 and 5.865 volt, with a resolution of 0.023
63 volt. The other inputs measure voltages between 0.000 and 4.845 volt, with
64 a resolution of 0.019 volt. Note that revision 0x00 chips do not support
65 reading the current voltage of any input except for VIN3; limit setting and
66 alarms work fine, though.
67
68 When an alarm is triggered, you can be warned by a beeping signal through your
69 computer speaker. It is possible to enable all beeping globally, or only the
70 beeping for some alarms.
71
72 If an alarm triggers, it will remain triggered until the hardware register
73 is read at least once (except for temperature alarms). This means that the
74 cause for the alarm may already have disappeared! Note that in the current
75 implementation, all hardware registers are read whenever any data is read
76 (unless it is less than 1.5 seconds since the last update). This means that
77 you can easily miss once-only alarms.
78
79 The GL518SM only updates its values each 1.5 seconds; reading it more often
80 will do no harm, but will return 'old' values.
81

3. 한국어 전문 번역

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

GL518SM revision 지원

1-28

드라이버는 Genesys Logic GL518SM release `0x00`과 `0x80`을 prefix `gl518sm`으로 지원하며 I2C 주소 `0x2c`, `0x2d`를 검색합니다. Datasheet는 Genesys Logic website에 있습니다.

저자는 Frodo Looijaard, Kyösti Mälkki, Hong-Gunn Chew, Jean Delvare입니다.

GL518SM 식별
ReleasePrefixI2C
0x00gl518sm0x2c, 0x2d
0x80gl518sm0x2c, 0x2d

두 revision은 같은 prefix와 주소를 사용합니다.

Revision 판별
I2C 0x2c·0x2d 검색GL518SM 식별Release 0x00·0x80 판독지원 voltage channel 결정

같은 주소에서 revision에 맞는 voltage 기능을 선택합니다.

Kernel driver gl518sm
=====================

Supported chips:

  * Genesys Logic GL518SM release 0x00

    Prefix: 'gl518sm'

    Addresses scanned: I2C 0x2c and 0x2d

  * Genesys Logic GL518SM release 0x80

    Prefix: 'gl518sm'

    Addresses scanned: I2C 0x2c and 0x2d

    Datasheet: http://www.genesyslogic.com/

Authors:
       - Frodo Looijaard <frodol@dds.nl>,
       - Kyösti Mälkki <kmalkki@cc.hut.fi>
       - Hong-Gunn Chew <hglinux@gunnet.org>
       - Jean Delvare <jdelvare@suse.de>

Description
-----------

Revision별 전압 읽기 제한

29-42

중요하게도 revision `0x00` chip에서는 `in0`, `in1`, `in2`의 +5V, +3V, +12V 값을 읽을 수 없습니다. 이는 driver가 아니라 chip의 한계입니다.

Revision `0x80`은 모든 voltage를 읽을 수 있지만 `0x00`은 VIN3만 현재 값을 읽을 수 있습니다. GL518SM에는 temperature sensor 1개, fan speed sensor 2개, voltage sensor 4개가 있고 computer speaker로 alarm을 알릴 수 있습니다.

Revision별 channel
기능0x000x80
in0·in1·in2 current value읽기 불가읽기 가능
VIN3 current value읽기 가능읽기 가능
Voltage limit·alarm지원지원
Temperature1 channel1 channel
Fan2 channels2 channels

현재 voltage read 가능 범위가 핵심 차이입니다.

0x00 처리
Revision 0x00 검출VIN3만 current read모든 voltage limit 설정 허용Alarm 상태 감시

읽을 수 없는 current voltage와 동작하는 limit를 구분합니다.

.. important::

   For the revision 0x00 chip, the in0, in1, and in2  values (+5V, +3V,
   and +12V) CANNOT be read. This is a limitation of the chip, not the driver.

This driver supports the Genesys Logic GL518SM chip. There are at least
two revision of this chip, which we call revision 0x00 and 0x80. Revision
0x80 chips support the reading of all voltages and revision 0x00 only
for VIN3.

The GL518SM implements one temperature sensor, two fan rotation speed
sensors, and four voltage sensors. It can report alarms through the
computer speakers.

온도·fan·voltage 측정

43-67

온도는 섭씨이며 over-temperature limit 위이고 아직 hysteresis limit 아래로 내려오지 않았을 때 alarm이 켜집니다. Alarm은 항상 현재 상태를 반영합니다. 보증 측정 범위는 -10~+110도 C이고 정확도는 +/-3도입니다.

Fan speed는 RPM으로 보고되며 programmable limit 아래로 떨어지면 alarm이 발생합니다. Fan1을 끄도록 선택했다면 fan1 alarm은 발생하지 않습니다. Divider 1·2·4·8로 범위와 정확도를 조절하며 모든 RPM을 정확히 표현하지 못해 반올림됩니다. Divider 2에서 최저 표현값은 약 1900 RPM입니다.

VIN sensor는 volt 단위이고 programmable minimum·maximum을 넘으면 alarm이 발생합니다. 여기서 minimum은 항상 0에 가장 가까운 값이므로 negative voltage 해석에 중요합니다. VDD는 0.000~5.865V를 0.023V resolution으로, 다른 input은 0.000~4.845V를 0.019V resolution으로 측정합니다. Revision 0x00은 VIN3 외 current voltage를 못 읽지만 limit와 alarm은 정상입니다.

GL518SM 측정 특성
Sensor범위·resolutionAlarm
Temperature-10~110C, +/-3COver limit 후 hyst까지 유지
FanDivider 1·2·4·8RPM이 limit 미만
VDD0~5.865V, 0.023VMin·max crossing
기타 VIN0~4.845V, 0.019VMin·max crossing

Sensor별 범위·resolution·alarm 조건입니다.

Sensor alarm
Temperature·RPM·voltage 측정Revision·divider 반영Limit crossing 판정Alarm 설정Temperature는 hysteresis로 해제

각 물리량을 programmable limit와 비교합니다.

Temperatures are measured in degrees Celsius. An alarm goes off while the
temperature is above the over temperature limit, and has not yet dropped
below the hysteresis limit. The alarm always reflects the current
situation. Measurements are guaranteed between -10 degrees and +110
degrees, with a accuracy of +/-3 degrees.

Rotation speeds are reported in RPM (rotations per minute). An alarm is
triggered if the rotation speed has dropped below a programmable limit. In
case when you have selected to turn fan1 off, no fan1 alarm is triggered.

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 1900 RPM.

Voltage sensors (also known as VIN 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. The VDD input
measures voltages between 0.000 and 5.865 volt, with a resolution of 0.023
volt. The other inputs measure voltages between 0.000 and 4.845 volt, with
a resolution of 0.019 volt. Note that revision 0x00 chips do not support
reading the current voltage of any input except for VIN3; limit setting and
alarms work fine, though.

Beep와 latch·cache 주의사항

68-80

Alarm 발생 시 computer speaker beep로 경고할 수 있습니다. 모든 beep를 전역으로 켜거나 특정 alarm의 beep만 켤 수 있습니다.

Temperature alarm을 제외한 alarm은 hardware register를 적어도 한 번 읽을 때까지 trigger 상태를 유지하므로 원인이 이미 사라졌을 수도 있습니다. 현재 구현은 마지막 update 후 1.5초가 지나지 않은 경우를 제외하고 어떤 data를 읽어도 모든 hardware register를 읽으므로 한 번만 발생한 alarm을 놓치기 쉽습니다.

GL518SM은 1.5초마다만 값을 갱신합니다. 더 자주 읽어도 해는 없지만 이전 값을 반환합니다.

Alarm 지속과 update
항목동작
Beep전역 또는 alarm별 enable
Non-temperature alarmRegister read까지 latch
Temperature alarm현재 상태·hysteresis 반영
Hardware update1.5초
빈번한 readCached old value

Latch 해제 read와 device 갱신 주기의 상호작용입니다.

Alarm 관찰
Hardware alarm triggerRegister에 latch1.5초 cache window 확인Data read가 모든 register clear원인과 read 시점 비교

Update cadence 때문에 일회성 latch를 놓칠 수 있습니다.

When an alarm is triggered, you can be warned by a beeping signal through your
computer speaker. It is possible to enable all beeping globally, or only the
beeping for some alarms.

If an alarm triggers, it will remain triggered until the hardware register
is read at least once (except for temperature alarms). 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.5 seconds since the last update). This means that
you can easily miss once-only alarms.

The GL518SM only updates its values each 1.5 seconds; reading it more often
will do no harm, but will return 'old' values.