← Documents Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/par_io.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SoC / FSL CPM-QE

QE Parallel I/O ports

폐기된 par_io 모델과 bank별 GPIO controller 대체 모델을 설명합니다.

Source pathDocumentation/devicetree/bindings/soc/fsl/cpm_qe/qe/par_io.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

par_io.txt:1-51

CPM/QE의 pin, 통신 controller, clock과 GPIO 연결 규칙을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 * Parallel I/O Ports
2
3 This node configures Parallel I/O ports for CPUs with QE support.
4 The node should reside in the "soc" node of the tree. For each
5 device that using parallel I/O ports, a child node should be created.
6 See the definition of the Pin configuration nodes below for more
7 information.
8
9 Required properties:
10 - device_type : should be "par_io".
11 - reg : offset to the register set and its length.
12 - num-ports : number of Parallel I/O ports
13
14 Example:
15 par_io@1400 {
16 reg = <1400 100>;
17 #address-cells = <1>;
18 #size-cells = <0>;
19 device_type = "par_io";
20 num-ports = <7>;
21 ucc_pin@1 {
22 ......
23 };
24
25 Note that "par_io" nodes are obsolete, and should not be used for
26 the new device trees. Instead, each Par I/O bank should be represented
27 via its own gpio-controller node:
28
29 Required properties:
30 - #gpio-cells : should be "2".
31 - compatible : should be "fsl,<chip>-qe-pario-bank",
32 "fsl,mpc8323-qe-pario-bank".
33 - reg : offset to the register set and its length.
34 - gpio-controller : node to identify gpio controllers.
35
36 Example:
37 qe_pio_a: gpio-controller@1400 {
38 #gpio-cells = <2>;
39 compatible = "fsl,mpc8360-qe-pario-bank",
40 "fsl,mpc8323-qe-pario-bank";
41 reg = <0x1400 0x18>;
42 gpio-controller;
43 };
44
45 qe_pio_e: gpio-controller@1460 {
46 #gpio-cells = <2>;
47 compatible = "fsl,mpc8360-qe-pario-bank",
48 "fsl,mpc8323-qe-pario-bank";
49 reg = <0x1460 0x18>;
50 gpio-controller;
51 };
52

3. 한국어 전문 번역

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

기존 Parallel I/O 노드

1-13

이 노드는 QE를 지원하는 CPU의 Parallel I/O port를 구성하며 device tree의 `soc` 노드 안에 둡니다. Parallel I/O port를 사용하는 장치마다 아래에서 설명하는 pin configuration 자식 노드를 만들어야 합니다.

필수 속성은 값이 `par_io`인 `device_type`, register set의 offset과 길이를 나타내는 `reg`, Parallel I/O port 수를 나타내는 `num-ports`입니다.

기존 par_io 예제

14-23

예제는 7개 port를 갖는 `par_io@1400`과 장치별 `ucc_pin@1` 자식 노드의 배치를 보여 줍니다.

par_io@1400 {
        reg = <1400 100>;
        #address-cells = <1>;
        #size-cells = <0>;
        device_type = "par_io";
        num-ports = <7>;
        ucc_pin@1 {
                ......
        };

GPIO bank 방식으로의 전환

24-35

`par_io` 노드는 폐기되었으므로 새 device tree에서 사용하면 안 됩니다. 대신 각 Par I/O bank를 독립적인 `gpio-controller` 노드로 표현합니다.

각 bank는 값이 2인 `#gpio-cells`, `fsl,<chip>-qe-pario-bank`와 fallback인 `fsl,mpc8323-qe-pario-bank` compatible, register offset과 길이를 담는 `reg`, GPIO controller임을 표시하는 `gpio-controller`를 가져야 합니다.

Par I/O GPIO bank 예제

36-51

예제는 MPC8360의 Par I/O bank A와 E를 각각 0x18바이트 GPIO controller로 정의하고 MPC8323 compatible을 fallback으로 함께 둡니다.

qe_pio_a: gpio-controller@1400 {
        #gpio-cells = <2>;
        compatible = "fsl,mpc8360-qe-pario-bank",
        "fsl,mpc8323-qe-pario-bank";
        reg = <0x1400 0x18>;
        gpio-controller;
  };

qe_pio_e: gpio-controller@1460 {
        #gpio-cells = <2>;
        compatible = "fsl,mpc8360-qe-pario-bank",
                     "fsl,mpc8323-qe-pario-bank";
        reg = <0x1460 0x18>;
        gpio-controller;
  };