← Documents Documentation/input/devices/edt-ft5x06.rst GitHub 원문 ↗

Linux 6.18.37 · Input

EDT ft5x06 based Polytouch devices

EDT Polytouch용 ft5x06 드라이버의 sysfs 설정과 factory mode 원시 센서 디버깅을 설명합니다.

Source pathDocumentation/input/devices/edt-ft5x06.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

edt-ft5x06.rst:1-71

`edt-ft5x06`는 EDT Polytouch 전용 드라이버입니다. 일반 동작에서는 sysfs로 감도와 보고 특성을 조정하고, 공장 모드에서는 debugfs의 센서 배열 원시값을 읽지만 두 접근 방식은 동시에 사용할 수 없습니다.

문서 개요
항목내용
SourceDocumentation/input/devices/edt-ft5x06.rst
분량71 source lines
지원EDT EP0350M06, EP0430M06, EP0570M06, EP0700M06
일반 설정`threshold`, `gain`, `offset`, `report_rate`
공장 진단`num_x`, `num_y`, `mode`, `raw_data`
제외Nook 및 다른 vendor firmware의 ft5x06 장치

지원 범위와 두 구성 인터페이스를 요약합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 EDT ft5x06 based Polytouch devices
2 ----------------------------------
3
4 The edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
5 touch screens. Note that it is *not* suitable for other devices based on the
6 focaltec ft5x06 devices, since they contain vendor-specific firmware. In
7 particular this driver is not suitable for the Nook tablet.
8
9 It has been tested with the following devices:
10 * EP0350M06
11 * EP0430M06
12 * EP0570M06
13 * EP0700M06
14
15 The driver allows configuration of the touch screen via a set of sysfs files:
16
17 /sys/class/input/eventX/device/device/threshold:
18 allows setting the "click"-threshold in the range from 0 to 80.
19
20 /sys/class/input/eventX/device/device/gain:
21 allows setting the sensitivity in the range from 0 to 31. Note that
22 lower values indicate higher sensitivity.
23
24 /sys/class/input/eventX/device/device/offset:
25 allows setting the edge compensation in the range from 0 to 31.
26
27 /sys/class/input/eventX/device/device/report_rate:
28 allows setting the report rate in the range from 3 to 14.
29
30
31 For debugging purposes the driver provides a few files in the debug
32 filesystem (if available in the kernel). They are located in:
33
34 /sys/kernel/debug/i2c/<i2c-bus>/<i2c-device>/
35
36 If you don't know the bus and device numbers, you can look them up with this
37 command:
38
39 $ ls -l /sys/bus/i2c/drivers/edt_ft5x06
40
41 The dereference of the symlink will contain the needed information. You will
42 need the last two elements of its path:
43
44 0-0038 -> ../../../../devices/platform/soc/fcfee800.i2c/i2c-0/0-0038
45
46 So in this case, the location for the debug files is:
47
48 /sys/kernel/debug/i2c/i2c-0/0-0038/
49
50 There, you'll find the following files:
51
52 num_x, num_y:
53 (readonly) contains the number of sensor fields in X- and
54 Y-direction.
55
56 mode:
57 allows switching the sensor between "factory mode" and "operation
58 mode" by writing "1" or "0" to it. In factory mode (1) it is
59 possible to get the raw data from the sensor. Note that in factory
60 mode regular events don't get delivered and the options described
61 above are unavailable.
62
63 raw_data:
64 contains num_x * num_y big endian 16 bit values describing the raw
65 values for each sensor field. Note that each read() call on this
66 files triggers a new readout. It is recommended to provide a buffer
67 big enough to contain num_x * num_y * 2 bytes.
68
69 Note that reading raw_data gives a I/O error when the device is not in factory
70 mode. The same happens when reading/writing to the parameter files when the
71 device is not in regular operation mode.
72

3. 한국어 전문 번역

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

EDT Polytouch 전용 범위와 시험 장치

1-14

`edt-ft5x06` 드라이버는 EDT `Polytouch` 계열 정전식 터치스크린에 사용합니다. FocalTech ft5x06 기반이라도 공급업체별 펌웨어가 들어간 다른 장치에는 맞지 않으며, 특히 Nook 태블릿에는 사용할 수 없습니다.

시험된 EDT Polytouch 장치
모델상태
EP0350M06시험됨
EP0430M06시험됨
EP0570M06시험됨
EP0700M06시험됨

원문에서 동작을 확인한 네 모델입니다.

드라이버 적용 범위
장치 유형적합 여부이유
EDT Polytouch적합드라이버 대상 공급업체 펌웨어
일반 FocalTech ft5x06 기반 장치부적합vendor-specific firmware 차이
Nook tablet부적합문서에서 명시적으로 제외

같은 컨트롤러 계열이라도 펌웨어에 따라 호환되지 않음을 구분합니다.

호환성 판단
컨트롤러가 ft5x06 계열인지 확인제품이 EDT Polytouch 계열인지 확인시험 모델 목록과 공급업체 펌웨어 대조Nook 및 다른 공급업체 장치에는 바인딩하지 않음

장치 이름만이 아니라 공급업체 펌웨어를 확인하는 순서입니다.

EDT ft5x06 based Polytouch devices
----------------------------------

The edt-ft5x06 driver is useful for the EDT "Polytouch" family of capacitive
touch screens. Note that it is *not* suitable for other devices based on the
focaltec ft5x06 devices, since they contain vendor-specific firmware. In
particular this driver is not suitable for the Nook tablet.

It has been tested with the following devices:
  * EP0350M06
  * EP0430M06
  * EP0570M06
  * EP0700M06

sysfs 터치스크린 설정

15-29

드라이버는 `/sys/class/input/eventX/device/device/` 아래의 sysfs 파일로 터치스크린을 구성합니다. 각 파일은 허용 범위가 정해져 있으며 `gain`은 값이 낮을수록 감도가 높다는 점에 주의해야 합니다.

EDT ft5x06 sysfs 매개변수
파일범위의미
`threshold`0~80터치 click 임계값
`gain`0~31감도. 낮은 값이 더 높은 감도
`offset`0~31가장자리 보상
`report_rate`3~14보고율

사용자 설정 파일, 값 범위와 의미입니다.

일반 동작 모드 조정
대상 `eventX`의 device 경로 확인`threshold`로 접촉 판정 조정`gain`은 값과 감도가 반비례함을 고려`offset`으로 가장자리 보상 조정`report_rate`를 3~14 범위에서 설정

sysfs 값을 변경할 때의 기본 순서입니다.

The driver allows configuration of the touch screen via a set of sysfs files:

/sys/class/input/eventX/device/device/threshold:
    allows setting the "click"-threshold in the range from 0 to 80.

/sys/class/input/eventX/device/device/gain:
    allows setting the sensitivity in the range from 0 to 31. Note that
    lower values indicate higher sensitivity.

/sys/class/input/eventX/device/device/offset:
    allows setting the edge compensation in the range from 0 to 31.

/sys/class/input/eventX/device/device/report_rate:
    allows setting the report rate in the range from 3 to 14.

I2C 장치 번호와 debugfs 위치 찾기

30-49

커널에서 debug filesystem을 사용할 수 있으면 드라이버는 디버깅용 파일을 `/sys/kernel/debug/i2c/<i2c-bus>/<i2c-device>/`에 제공합니다.

버스와 장치 번호를 모르면 다음 명령으로 `edt_ft5x06` 드라이버의 심볼릭 링크를 확인합니다.

ls -l /sys/bus/i2c/drivers/edt_ft5x06

심볼릭 링크를 역참조한 경로의 마지막 두 요소가 필요한 버스와 장치 번호입니다. 원문 예제 `0-0038 -> ../../../../devices/platform/soc/fcfee800.i2c/i2c-0/0-0038`에서는 `i2c-0`과 `0-0038`을 사용합니다.

debugfs 경로 예제
항목
Driver symlink`/sys/bus/i2c/drivers/edt_ft5x06/0-0038`
I2C bus`i2c-0`
I2C device`0-0038`
Debug directory`/sys/kernel/debug/i2c/i2c-0/0-0038/`

심볼릭 링크에서 debugfs 디렉터리를 만드는 대응 관계입니다.

debugfs 경로 찾기
`edt_ft5x06` 드라이버 디렉터리의 링크 목록 확인대상 장치 심볼릭 링크를 역참조경로 마지막 두 요소에서 bus와 device 추출`/sys/kernel/debug/i2c/` 아래에 두 요소 결합해당 디렉터리에서 센서 디버그 파일 확인

I2C 드라이버 링크에서 실제 디버그 파일 위치를 얻는 절차입니다.


For debugging purposes the driver provides a few files in the debug
filesystem (if available in the kernel). They are located in:

    /sys/kernel/debug/i2c/<i2c-bus>/<i2c-device>/

If you don't know the bus and device numbers, you can look them up with this
command:

    $ ls -l /sys/bus/i2c/drivers/edt_ft5x06

The dereference of the symlink will contain the needed information. You will
need the last two elements of its path:

    0-0038 -> ../../../../devices/platform/soc/fcfee800.i2c/i2c-0/0-0038

So in this case, the location for the debug files is:

    /sys/kernel/debug/i2c/i2c-0/0-0038/

센서 필드와 factory mode 원시 데이터

50-71
EDT debugfs 파일
파일접근내용
`num_x`읽기 전용X 방향 sensor field 수
`num_y`읽기 전용Y 방향 sensor field 수
`mode`읽기/쓰기0=operation mode, 1=factory mode
`raw_data`읽기`num_x * num_y`개의 big-endian 16-bit 원시값

디버그 디렉터리에서 제공하는 파일과 접근 특성입니다.

`mode`에 1을 쓰면 factory mode, 0을 쓰면 operation mode로 전환합니다. factory mode에서는 센서 원시 데이터를 읽을 수 있지만 일반 입력 이벤트가 전달되지 않고 앞서 설명한 sysfs 설정도 사용할 수 없습니다.

`raw_data`는 각 센서 필드의 값을 나타내는 `num_x * num_y`개의 big-endian 16비트 값입니다. 파일을 `read()`할 때마다 센서를 새로 읽으므로, 한 번에 `num_x * num_y * 2`바이트를 담을 수 있는 버퍼를 제공하는 것이 좋습니다.

동작 모드별 접근
기능Operation mode (`0`)Factory mode (`1`)
일반 input 이벤트전달전달하지 않음
sysfs parameter read/write가능I/O error
`raw_data` 읽기I/O error가능
원시값 크기해당 없음`num_x * num_y * 2` bytes

일반 이벤트·매개변수와 원시 데이터의 배타적 사용 조건입니다.

장치가 factory mode가 아니면 `raw_data` 읽기는 I/O 오류를 냅니다. 반대로 장치가 일반 operation mode가 아니면 매개변수 파일의 읽기와 쓰기가 I/O 오류를 냅니다.

원시 센서 데이터 수집
`num_x`, `num_y`를 읽어 센서 배열 크기 확인`num_x * num_y * 2`바이트 버퍼 준비`mode`에 1을 써 factory mode 진입`raw_data`를 한 번 읽어 새 센서 프레임 획득진단 후 `mode`에 0을 써 operation mode 복귀일반 이벤트와 sysfs 설정 접근 재개 확인

일반 입력에서 공장 진단으로 전환해 한 프레임을 읽는 순서입니다.

There, you'll find the following files:

num_x, num_y:
    (readonly) contains the number of sensor fields in X- and
    Y-direction.

mode:
    allows switching the sensor between "factory mode" and "operation
    mode" by writing "1" or "0" to it. In factory mode (1) it is
    possible to get the raw data from the sensor. Note that in factory
    mode regular events don't get delivered and the options described
    above are unavailable.

raw_data:
    contains num_x * num_y big endian 16 bit values describing the raw
    values for each sensor field. Note that each read() call on this
    files triggers a new readout. It is recommended to provide a buffer
    big enough to contain num_x * num_y * 2 bytes.

Note that reading raw_data gives a I/O error when the device is not in factory
mode. The same happens when reading/writing to the parameter files when the
device is not in regular operation mode.