← Documents Documentation/i2c/busses/i2c-sis96x.rst GitHub 원문 ↗

Linux 6.18.37 · I2C Buses

Kernel driver i2c-sis96x

SiS 호스트·96x 사우스브리지 조합, PCI quirk, 미지원 블록 전송을 설명합니다.

Source pathDocumentation/i2c/busses/i2c-sis96x.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

i2c-sis96x.rst:1-82

SiS96x 드라이버는 SiS630과의 레지스터 호환성을 가정하며, 검색 실패 시 PCI quirk를 확인하고 블록 전송은 아직 지원하지 않습니다.

문서 개요
항목
SourceDocumentation/i2c/busses/i2c-sis96x.rst
분량82 source lines
호스트9
사우스브리지3

원문 분량과 핵심 기능을 요약합니다.

동작 흐름
호스트 브리지 식별96x 사우스브리지 확인PCI quirk 적용SMBus 등록지원 전송만 제공

장치 인식부터 기능 제공까지의 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ========================
2 Kernel driver i2c-sis96x
3 ========================
4
5 Replaces 2.4.x i2c-sis645
6
7 Supported adapters:
8
9 * Silicon Integrated Systems Corp (SiS)
10
11 Any combination of these host bridges:
12 645, 645DX (aka 646), 648, 650, 651, 655, 735, 745, 746
13
14 and these south bridges:
15 961, 962, 963(L)
16
17 Author: Mark M. Hoffman <[email protected]>
18
19 Description
20 -----------
21
22 This SMBus only driver is known to work on motherboards with the above
23 named chipset combinations. The driver was developed without benefit of a
24 proper datasheet from SiS. The SMBus registers are assumed compatible with
25 those of the SiS630, although they are located in a completely different
26 place. Thanks to Alexander Malysh <[email protected]> for providing the
27 SiS630 datasheet (and driver).
28
29 The command ``lspci`` as root should produce something like these lines::
30
31 00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
32 00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
33 00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016
34
35 or perhaps this::
36
37 00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
38 00:02.0 ISA bridge: Silicon Integrated Systems [SiS]: Unknown device 0961
39 00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016
40
41 (kernel versions later than 2.4.18 may fill in the "Unknown"s)
42
43 If you can't see it please look on quirk_sis_96x_smbus
44 (drivers/pci/quirks.c) (also if southbridge detection fails)
45
46 I suspect that this driver could be made to work for the following SiS
47 chipsets as well: 635, and 635T. If anyone owns a board with those chips
48 AND is willing to risk crashing & burning an otherwise well-behaved kernel
49 in the name of progress... please contact me at <[email protected]> or
50 via the linux-i2c mailing list: <[email protected]>. Please send bug
51 reports and/or success stories as well.
52
53
54 TO DOs
55 ------
56
57 * The driver does not support SMBus block reads/writes; I may add them if a
58 scenario is found where they're needed.
59
60
61 Thank You
62 ---------
63
64 Mark D. Studebaker <[email protected]>
65 - design hints and bug fixes
66
67 Alexander Maylsh <[email protected]>
68 - ditto, plus an important datasheet... almost the one I really wanted
69
70 Hans-Günter Lütke Uphues <[email protected]>
71 - patch for SiS735
72
73 Robert Zwerus <[email protected]>
74 - testing for SiS645DX
75
76 Kianusch Sayah Karadji <[email protected]>
77 - patch for SiS645DX/962
78
79 Ken Healy
80 - patch for SiS655
81
82 To anyone else who has written w/ feedback, thanks!
83

3. 한국어 전문 번역

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

지원 SiS 호스트·사우스브리지 조합

1-18

`i2c-sis96x`는 Linux 2.4.x의 `i2c-sis645`를 대체합니다.

지원되는 SiS 호스트 브리지는 645, 645DX(646이라고도 함), 648, 650, 651, 655, 735, 745, 746이며, 사우스브리지는 961, 962, 963(L)입니다. 이들 사이의 모든 조합을 지원합니다.

작성자는 Mark M. Hoffman <[email protected]>입니다.

SiS96x 지원 조합
구분지원 칩
호스트 브리지645, 645DX/646, 648, 650, 651, 655, 735, 745, 746
사우스브리지961, 962, 963(L)
조합위 두 목록의 모든 조합
대체 대상Linux 2.4.x `i2c-sis645`

호스트와 사우스브리지 목록을 별도로 보존합니다.

SiS96x 조합 식별
SiS 호스트 브리지 검색지원 목록 9개와 대조SiS 961·962·963(L) 검색SMBus 기능 `00:02.1` 확인i2c-sis96x 등록

지원 호스트와 지원 사우스브리지가 함께 있어야 합니다.

========================
Kernel driver i2c-sis96x
========================

Replaces 2.4.x i2c-sis645

Supported adapters:

  * Silicon Integrated Systems Corp (SiS)

    Any combination of these host bridges:
        645, 645DX (aka 646), 648, 650, 651, 655, 735, 745, 746

    and these south bridges:
        961, 962, 963(L)

Author: Mark M. Hoffman <[email protected]>

데이터시트 추정과 PCI quirk

19-53

이 SMBus 전용 드라이버는 위 칩셋 조합의 메인보드에서 동작하는 것으로 알려져 있습니다. 적절한 SiS 데이터시트 없이 개발되었으며, SMBus 레지스터가 위치는 완전히 다르지만 SiS630과 호환된다고 가정합니다.

SiS630 데이터시트와 드라이버를 제공한 Alexander Malysh <[email protected]>에게 감사를 표합니다.

root로 실행한 `lspci`는 호스트 브리지 `0645`, ISA 브리지 `85C503/5513` 또는 `0961`, SMBus 장치 `0016` 조합과 비슷한 줄을 보여야 합니다. 2.4.18 이후 커널은 `Unknown` 장치 이름을 채울 수 있습니다.

장치가 보이지 않거나 사우스브리지 감지가 실패하면 `drivers/pci/quirks.c`의 `quirk_sis_96x_smbus`를 확인하십시오.

이 드라이버는 SiS635와 635T에서도 동작하도록 만들 수 있을 것으로 추정합니다. 해당 보드를 가지고 있고 진행을 위해 정상 커널을 충돌시킬 위험을 감수할 의향이 있다면 <[email protected]> 또는 linux-i2c 목록 <[email protected]>으로 연락하십시오. 버그 보고와 성공 사례도 보내 주십시오.

SiS96x lspci 예시
PCI 주소기능예시 ID
`00:00.0`Host bridge`0645`
`00:02.0`ISA bridge`85C503/5513` 또는 `0961`
`00:02.1`SMBus`0016`
quirk`drivers/pci/quirks.c``quirk_sis_96x_smbus`
추정 대상SiS635 / 635T위험을 감수한 시험 필요

두 ISA 브리지 표현과 공통 SMBus 기능을 정리합니다.

SiS96x 검색 실패 진단
root로 `lspci` 실행호스트·ISA·SMBus 세 기능 확인사우스브리지 감지 결과 검사`quirk_sis_96x_smbus` 확인필요하면 버그·성공 사례 보고

PCI 표시와 quirk 적용을 순서대로 확인합니다.

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

This SMBus only driver is known to work on motherboards with the above
named chipset combinations. The driver was developed without benefit of a
proper datasheet from SiS. The SMBus registers are assumed compatible with
those of the SiS630, although they are located in a completely different
place. Thanks to Alexander Malysh <[email protected]> for providing the
SiS630 datasheet (and  driver).

The command ``lspci`` as root should produce something like these lines::

  00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
  00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513
  00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

or perhaps this::

  00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0645
  00:02.0 ISA bridge: Silicon Integrated Systems [SiS]: Unknown device 0961
  00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

(kernel versions later than 2.4.18 may fill in the "Unknown"s)

If you can't see it please look on quirk_sis_96x_smbus
(drivers/pci/quirks.c) (also if southbridge detection fails)

I suspect that this driver could be made to work for the following SiS
chipsets as well: 635, and 635T. If anyone owns a board with those chips
AND is willing to risk crashing & burning an otherwise well-behaved kernel
in the name of progress... please contact me at <[email protected]> or
via the linux-i2c mailing list: <[email protected]>.  Please send bug
reports and/or success stories as well.

미지원 SMBus 블록 전송

54-60

현재 드라이버는 SMBus 블록 읽기와 쓰기를 지원하지 않습니다. 필요한 사용 사례가 발견되면 추가할 수 있습니다.

SiS96x 미구현 기능
기능상태추가 조건
SMBus Block Read미지원필요한 사용 사례 발견
SMBus Block Write미지원필요한 사용 사례 발견

현재 제한과 향후 추가 조건입니다.

블록 전송 추가 조건
블록 전송 필요 사례 수집SiS96x 레지스터 동작 검증읽기·쓰기 구현호환 칩셋 시험드라이버에 반영

실제 필요가 확인될 때 구현을 검토합니다.

TO DOs
------

* The driver does not support SMBus block reads/writes; I may add them if a
  scenario is found where they're needed.

기여자와 지원 내용

61-82

Mark D. Studebaker는 설계 조언과 버그 수정을 제공했습니다. Alexander Malysh도 같은 기여와 함께 거의 필요했던 중요한 데이터시트를 제공했습니다.

Hans-Günter Lütke Uphues는 SiS735 패치, Robert Zwerus는 SiS645DX 시험, Kianusch Sayah Karadji는 SiS645DX/962 패치, Ken Healy는 SiS655 패치를 제공했습니다.

피드백을 보낸 그 밖의 모든 기여자에게도 감사를 표합니다.

SiS96x 기여
기여자기여
Mark D. Studebaker설계 조언, 버그 수정
Alexander Malysh설계 조언, 버그 수정, 중요 데이터시트
Hans-Günter Lütke UphuesSiS735 패치
Robert ZwerusSiS645DX 시험
Kianusch Sayah KaradjiSiS645DX/962 패치
Ken HealySiS655 패치

원문의 이름과 기여 내용을 보존합니다.

SiS96x 지원 확대
SiS630 자료 확보레지스터 호환성 설계SiS735·645DX·962·655 패치보드별 시험과 버그 수정피드백 반영

자료와 시험, 패치가 칩셋 지원으로 이어졌습니다.

Thank You
---------

Mark D. Studebaker <[email protected]>
 - design hints and bug fixes

Alexander Maylsh <[email protected]>
 - ditto, plus an important datasheet... almost the one I really wanted

Hans-Günter Lütke Uphues <[email protected]>
 - patch for SiS735

Robert Zwerus <[email protected]>
 - testing for SiS645DX

Kianusch Sayah Karadji <[email protected]>
 - patch for SiS645DX/962

Ken Healy
 - patch for SiS655

To anyone else who has written w/ feedback, thanks!