← Documents Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Freescale i.MX25 ADC/TSC

i.MX25의 touchscreen·범용 ADC conversion queue와 공통 interrupt controller 바인딩입니다.

Source pathDocumentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

fsl-imx25-tsadc.txt:1-47

IPG clock, TCQ·GCQ 자식 주소와 cell 구성을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Freescale MX25 ADC/TSC MultiFunction Device (MFD)
2
3 This device combines two general purpose conversion queues one used for general
4 ADC and the other used for touchscreens.
5
6 Required properties:
7 - compatible: Should be "fsl,imx25-tsadc".
8 - reg: Start address and size of the memory area of
9 the device
10 - interrupts: Interrupt for this device
11 (See: ../interrupt-controller/interrupts.txt)
12 - clocks: An 'ipg' clock (See: ../clock/clock-bindings.txt)
13 - interrupt-controller: This device is an interrupt controller. It
14 controls the interrupts of both
15 conversion queues.
16 - #interrupt-cells: Should be '<1>'.
17 - #address-cells: Should be '<1>'.
18 - #size-cells: Should be '<1>'.
19
20 This device includes two conversion queues which can be added as subnodes.
21 The first queue is for the touchscreen, the second for general purpose ADC.
22
23 Example:
24 tscadc: tscadc@50030000 {
25 compatible = "fsl,imx25-tsadc";
26 reg = <0x50030000 0xc>;
27 interrupts = <46>;
28 clocks = <&clks 119>;
29 clock-names = "ipg";
30 interrupt-controller;
31 #interrupt-cells = <1>;
32 #address-cells = <1>;
33 #size-cells = <1>;
34 ranges;
35
36 tsc: tcq@50030400 {
37 compatible = "fsl,imx25-tcq";
38 reg = <0x50030400 0x60>;
39 ...
40 };
41
42 adc: gcq@50030800 {
43 compatible = "fsl,imx25-gcq";
44 reg = <0x50030800 0x60>;
45 ...
46 };
47 };
48

3. 한국어 전문 번역

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

i.MX25 ADC/TSC 복합 장치

1-5

Freescale MX25 ADC/TSC MFD는 범용 ADC용 queue와 touchscreen용 queue, 두 개의 범용 conversion queue를 하나의 장치에 결합합니다.

i.MX25 TSADC conversion queue
Touchscreen inputTCQ first queue
General analog inputGCQ second queue
Two queue IRQsTSADC interrupt controller
IPG clockConversion engine

공통 MFD가 두 queue의 인터럽트를 제어하고 각 자식이 별도 register 영역에서 변환을 수행합니다.

필수 MMIO·clock·cell 속성

6-19

`compatible`은 `fsl,imx25-tsadc`, `reg`는 장치 메모리 영역의 시작 주소와 크기, `interrupts`는 장치 인터럽트입니다. interrupt 형식은 `../interrupt-controller/interrupts.txt`를 따릅니다. `clocks`에는 `../clock/clock-bindings.txt`에 따른 `ipg` 클록이 있어야 합니다.

`interrupt-controller`는 이 장치가 두 conversion queue의 인터럽트를 제어함을 나타냅니다. `#interrupt-cells`, `#address-cells`, `#size-cells`는 모두 `<1>`이어야 합니다.

두 자식 queue

20-22

두 conversion queue는 자식 노드로 추가할 수 있습니다. 첫 queue는 touchscreen, 둘째 queue는 범용 ADC용입니다.

TCQ와 GCQ 예제

23-47

예제 상위 장치는 `0x50030000`의 12바이트 영역, interrupt 46과 clock 119를 `ipg`로 사용합니다. 빈 `ranges`로 자식 주소를 전달합니다.

`fsl,imx25-tcq` touchscreen queue는 `0x50030400`, `fsl,imx25-gcq` ADC queue는 `0x50030800`에 각각 96바이트 register 영역을 가집니다. 원문의 `...` 생략 표기를 보존합니다.

tscadc: tscadc@50030000 {
        compatible = "fsl,imx25-tsadc";
        reg = <0x50030000 0xc>;
        interrupts = <46>;
        clocks = <&clks 119>;
        clock-names = "ipg";
        interrupt-controller;
        #interrupt-cells = <1>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        tsc: tcq@50030400 {
                compatible = "fsl,imx25-tcq";
                reg = <0x50030400 0x60>;
                ...
        };

        adc: gcq@50030800 {
                compatible = "fsl,imx25-gcq";
                reg = <0x50030800 0x60>;
                ...
        };
};