요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* TWL4030's Keypad Controller device tree bindings
TWL4030's Keypad controller is used to interface a SoC with a matrix-type
keypad device. The keypad controller supports multiple row and column lines.
A key can be placed at each intersection of a unique row and a unique column.
The keypad controller can sense a key-press and key-release and report the
event using a interrupt to the cpu.
This binding is based on the matrix-keymap binding with the following
changes:
* keypad,num-rows and keypad,num-columns are required.
Required SoC Specific Properties:
- compatible: should be one of the following
- "ti,twl4030-keypad": For controllers compatible with twl4030 keypad
controller.
- interrupt: should be one of the following
- <1>: For controllers compatible with twl4030 keypad controller.
Example:
twl_keypad: keypad {
compatible = "ti,twl4030-keypad";
interrupts = <1>;
keypad,num-rows = <8>;
keypad,num-columns = <8>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TWL4030 매트릭스 키패드 속성
1-20TWL4030 키패드 컨트롤러는 SoC와 매트릭스형 키패드 장치를 연결합니다. 여러 row와 column line을 지원하고 고유한 row와 column의 각 교차점에 키 하나를 둘 수 있습니다. 컨트롤러는 key-press와 key-release를 감지하여 인터럽트로 CPU에 이벤트를 보고합니다.
이 바인딩은 `matrix-keymap` 바인딩을 기반으로 하지만 `keypad,num-rows`와 `keypad,num-columns`가 필수라는 차이가 있습니다. SoC 전용 `compatible`은 `ti,twl4030-keypad`이고 TWL4030 호환 키패드 컨트롤러의 `interrupts`는 `<1>`이어야 합니다.
row와 column 교차점의 상태를 인터럽트 기반 입력 이벤트로 바꿉니다.
8x8 TWL4030 예제
21-27예제는 `ti,twl4030-keypad` 호환 노드에 인터럽트 1을 연결하고 row 8개와 column 8개를 지정하여 8x8 매트릭스를 구성합니다.
twl_keypad: keypad {
compatible = "ti,twl4030-keypad";
interrupts = <1>;
keypad,num-rows = <8>;
keypad,num-columns = <8>;
};
요약과 해설
twl4030-keypad.txt:1-278x8 매트릭스와 press/release 보고 경로를 설명합니다.