요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
* TI's Keypad Controller device tree bindings
TI'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,omap4-keypad": For controllers compatible with omap4 keypad
controller.
Optional Properties specific to linux:
- linux,keypad-no-autorepeat: do no enable autorepeat feature.
Example:
keypad@4ae1c000{
compatible = "ti,omap4-keypad";
keypad,num-rows = <2>;
keypad,num-columns = <8>;
linux,keypad-no-autorepeat;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
OMAP4 matrix keypad 속성
1-21TI Keypad controller는 SoC와 matrix keypad를 연결하고 여러 row/column 교차점의 key press와 release를 감지해 CPU interrupt로 보고합니다. `matrix-keymap` binding을 기반으로 하지만 `keypad,num-rows`와 `keypad,num-columns`가 필수입니다.
필수 SoC-specific `compatible`은 OMAP4 keypad controller와 호환되는 `ti,omap4-keypad`입니다. Linux-specific 선택 `linux,keypad-no-autorepeat`는 auto-repeat 기능을 활성화하지 않게 합니다.
Row/column 교차점에서 key event를 감지해 CPU에 전달합니다.
2x8 OMAP4 keypad 예제
22-28예제는 address `0x4ae1c000`의 OMAP4 keypad를 2 row x 8 column으로 구성하고 auto-repeat를 끕니다.
keypad@4ae1c000{
compatible = "ti,omap4-keypad";
keypad,num-rows = <2>;
keypad,num-columns = <8>;
linux,keypad-no-autorepeat;
};
요약과 해설
omap-keypad.txt:1-282x8 matrix와 no-autorepeat 예제를 설명합니다.