← Documents Documentation/devicetree/bindings/mips/cavium/uctl.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

Cavium USB UCTL

Octeon USB UCTL의 reference clock과 EHCI·OHCI 자식 바인딩입니다.

Source pathDocumentation/devicetree/bindings/mips/cavium/uctl.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

uctl.txt:1-46

Direct mapping, crystal·external clock과 shared interrupt를 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 * UCTL USB controller glue
2
3 Properties:
4 - compatible: "cavium,octeon-6335-uctl"
5
6 Compatibility with all cn6XXX SOCs.
7
8 - reg: The base address of the UCTL register bank.
9
10 - #address-cells: Must be <2>.
11
12 - #size-cells: Must be <2>.
13
14 - ranges: Empty to signify direct mapping of the children.
15
16 - refclk-frequency: A single cell containing the reference clock
17 frequency in Hz.
18
19 - refclk-type: A string describing the reference clock connection
20 either "crystal" or "external".
21
22 Example:
23 uctl@118006f000000 {
24 compatible = "cavium,octeon-6335-uctl";
25 reg = <0x11800 0x6f000000 0x0 0x100>;
26 ranges; /* Direct mapping */
27 #address-cells = <2>;
28 #size-cells = <2>;
29 /* 12MHz, 24MHz and 48MHz allowed */
30 refclk-frequency = <24000000>;
31 /* Either "crystal" or "external" */
32 refclk-type = "crystal";
33
34 ehci@16f0000000000 {
35 compatible = "cavium,octeon-6335-ehci","usb-ehci";
36 reg = <0x16f00 0x00000000 0x0 0x100>;
37 interrupts = <0 56>;
38 big-endian-regs;
39 };
40 ohci@16f0000000400 {
41 compatible = "cavium,octeon-6335-ohci","usb-ohci";
42 reg = <0x16f00 0x00000400 0x0 0x100>;
43 interrupts = <0 56>;
44 big-endian-regs;
45 };
46 };
47

3. 한국어 전문 번역

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

USB UCTL clock과 주소

1-21

USB UCTL의 `compatible`은 `cavium,octeon-6335-uctl`이며 모든 cn6XXX SoC와 호환됩니다. `reg`는 UCTL register bank base address입니다.

`#address-cells`와 `#size-cells`는 모두 `<2>`입니다. 빈 `ranges`는 child direct mapping을 뜻합니다. `refclk-frequency`는 Hz 단위 reference clock frequency를 담는 단일 cell이고, `refclk-type`은 `crystal` 또는 `external` 연결을 나타내는 문자열입니다.

USB UCTL 자식 구성
12 / 24 / 48MHz reference clockUSB UCTL
USB UCTLEHCI child
USB UCTLOHCI child
EHCI and OHCIShared CIU interrupt 56

공통 reference clock과 direct-mapped 주소 공간 아래에 EHCI와 OHCI를 배치합니다.

EHCI·OHCI direct-map 예제

22-46

예제는 UCTL 주소 `0x118006f000000`, direct mapping, 24MHz crystal reference clock을 사용합니다. 허용 reference clock은 12MHz, 24MHz, 48MHz입니다.

EHCI는 `cavium,octeon-6335-ehci`와 `usb-ehci`, OHCI는 `cavium,octeon-6335-ohci`와 `usb-ohci`에 호환됩니다. 두 child 모두 CIU interrupt `<0 56>`과 `big-endian-regs`를 사용합니다.

uctl@118006f000000 {
        compatible = "cavium,octeon-6335-uctl";
        reg = <0x11800 0x6f000000 0x0 0x100>;
        ranges; /* Direct mapping */
        #address-cells = <2>;
        #size-cells = <2>;
        /* 12MHz, 24MHz and 48MHz allowed */
        refclk-frequency = <24000000>;
        /* Either "crystal" or "external" */
        refclk-type = "crystal";

        ehci@16f0000000000 {
                compatible = "cavium,octeon-6335-ehci","usb-ehci";
                reg = <0x16f00 0x00000000 0x0 0x100>;
                interrupts = <0 56>;
                big-endian-regs;
        };
        ohci@16f0000000400 {
                compatible = "cavium,octeon-6335-ohci","usb-ohci";
                reg = <0x16f00 0x00000400 0x0 0x100>;
                interrupts = <0 56>;
                big-endian-regs;
        };
};