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

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

QE Unified Communications Controller

UCC의 UART·clock·network·PHY 연결 속성을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

ucc.txt:1-68

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

2. 영어 원문 전체

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

원문 전체 펼치기
1 * UCC (Unified Communications Controllers)
2
3 Required properties:
4 - device_type : should be "network", "hldc", "uart", "transparent"
5 "bisync", "atm", or "serial".
6 - compatible : could be "ucc_geth" or "fsl_atm" and so on.
7 - cell-index : the ucc number(1-8), corresponding to UCCx in UM.
8 - reg : Offset and length of the register set for the device
9 - interrupts : <a b> where a is the interrupt number and b is a
10 field that represents an encoding of the sense and level
11 information for the interrupt. This should be encoded based on
12 the information in section 2) depending on the type of interrupt
13 controller you have.
14 - pio-handle : The phandle for the Parallel I/O port configuration.
15 - port-number : for UART drivers, the port number to use, between 0 and 3.
16 This usually corresponds to the /dev/ttyQE device, e.g. <0> = /dev/ttyQE0.
17 The port number is added to the minor number of the device. Unlike the
18 CPM UART driver, the port-number is required for the QE UART driver.
19 - soft-uart : for UART drivers, if specified this means the QE UART device
20 driver should use "Soft-UART" mode, which is needed on some SOCs that have
21 broken UART hardware. Soft-UART is provided via a microcode upload.
22 - rx-clock-name: the UCC receive clock source
23 "none": clock source is disabled
24 "brg1" through "brg16": clock source is BRG1-BRG16, respectively
25 "clk1" through "clk24": clock source is CLK1-CLK24, respectively
26 - tx-clock-name: the UCC transmit clock source
27 "none": clock source is disabled
28 "brg1" through "brg16": clock source is BRG1-BRG16, respectively
29 "clk1" through "clk24": clock source is CLK1-CLK24, respectively
30 The following two properties are deprecated. rx-clock has been replaced
31 with rx-clock-name, and tx-clock has been replaced with tx-clock-name.
32 Drivers that currently use the deprecated properties should continue to
33 do so, in order to support older device trees, but they should be updated
34 to check for the new properties first.
35 - rx-clock : represents the UCC receive clock source.
36 0x00 : clock source is disabled;
37 0x1~0x10 : clock source is BRG1~BRG16 respectively;
38 0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively.
39 - tx-clock: represents the UCC transmit clock source;
40 0x00 : clock source is disabled;
41 0x1~0x10 : clock source is BRG1~BRG16 respectively;
42 0x11~0x28: clock source is QE_CLK1~QE_CLK24 respectively.
43
44 Required properties for network device_type:
45 - mac-address : list of bytes representing the ethernet address.
46 - phy-handle : The phandle for the PHY connected to this controller.
47
48 Recommended properties:
49 - phy-connection-type : a string naming the controller/PHY interface type,
50 i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
51 Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
52 "tbi", or "rtbi".
53
54 Example:
55 ucc@2000 {
56 device_type = "network";
57 compatible = "ucc_geth";
58 cell-index = <1>;
59 reg = <2000 200>;
60 interrupts = <a0 0>;
61 interrupt-parent = <700>;
62 mac-address = [ 00 04 9f 00 23 23 ];
63 rx-clock = "none";
64 tx-clock = "clk9";
65 phy-handle = <212000>;
66 phy-connection-type = "gmii";
67 pio-handle = <140001>;
68 };
69

3. 한국어 전문 번역

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

UCC 기본 속성

1-18

UCC(Unified Communications Controller)의 `device_type`은 원문 표기대로 `network`, `hldc`, `uart`, `transparent`, `bisync`, `atm`, `serial` 가운데 하나입니다. `compatible`은 `ucc_geth`, `fsl_atm` 같은 장치별 문자열을 사용합니다.

`cell-index`는 User Manual의 UCCx에 대응하는 1~8의 UCC 번호이고, `reg`는 register set의 offset과 길이입니다. `interrupts`의 첫 cell은 interrupt 번호, 둘째는 사용 중인 interrupt controller 형식에 따른 sense·level 인코딩입니다.

`pio-handle`은 Parallel I/O port configuration의 phandle입니다. UART의 필수 `port-number`는 0~3이며 보통 `/dev/ttyQE` 번호와 대응하고 device minor number에 더해집니다. 이는 선택 속성인 CPM UART와 다릅니다.

Soft-UART와 clock 이름

19-29

UART에서 `soft-uart`를 지정하면 고장 난 UART hardware가 있는 일부 SoC를 위해 microcode upload로 제공되는 `Soft-UART` mode를 사용합니다.

`rx-clock-name`과 `tx-clock-name`은 각각 수신·송신 clock source입니다. `none`은 비활성, `brg1`~`brg16`은 BRG1~BRG16, `clk1`~`clk24`는 CLK1~CLK24를 뜻합니다.

폐기된 숫자형 clock 속성

30-42

`rx-clock`과 `tx-clock`은 각각 `rx-clock-name`, `tx-clock-name`으로 대체된 폐기 속성입니다. 기존 device tree 지원을 위해 현재 사용하는 driver는 옛 속성을 계속 처리하되 새 속성을 먼저 확인하도록 갱신해야 합니다.

옛 숫자 인코딩에서 `0x00`은 비활성, `0x1`~`0x10`은 BRG1~BRG16, `0x11`~`0x28`은 QE_CLK1~QE_CLK24를 뜻합니다.

network 장치 속성

43-52

`device_type`이 `network`이면 Ethernet address byte 목록인 `mac-address`와 연결된 PHY의 phandle인 `phy-handle`이 필수입니다.

권장 `phy-connection-type`은 controller/PHY interface 형식을 나타내며 기본값 `mii` 외에 `rmii`, `gmii`, `rgmii`, 내부 delay가 있는 `rgmii-id`, TX 또는 RX만 지연하는 `rgmii-txid`·`rgmii-rxid`, `tbi`, `rtbi`를 사용할 수 있습니다.

UCC Ethernet 예제

53-68

예제는 첫 UCC를 `ucc_geth` network controller로 구성하고 register, interrupt, MAC address, clock, PHY와 Parallel I/O phandle을 연결합니다.

ucc@2000 {
        device_type = "network";
        compatible = "ucc_geth";
        cell-index = <1>;
        reg = <2000 200>;
        interrupts = <a0 0>;
        interrupt-parent = <700>;
        mac-address = [ 00 04 9f 00 23 23 ];
        rx-clock = "none";
        tx-clock = "clk9";
        phy-handle = <212000>;
        phy-connection-type = "gmii";
        pio-handle = <140001>;
};