← Documents Documentation/devicetree/bindings/usb/omap-usb.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / USB

OMAP USB Glue Components

OMAP MUSB·DWC3 glue의 mode, PHY, UTMI와 child 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/usb/omap-usb.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

omap-usb.txt:1-80

OMAP MUSB·DWC3 glue의 mode, PHY, UTMI와 child 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, PHY, power, source path와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 OMAP GLUE AND OTHER OMAP SPECIFIC COMPONENTS
2
3 OMAP MUSB GLUE
4 - compatible : Should be "ti,omap4-musb" or "ti,omap3-musb"
5 - ti,hwmods : must be "usb_otg_hs"
6 - multipoint : Should be "1" indicating the musb controller supports
7 multipoint. This is a MUSB configuration-specific setting.
8 - num-eps : Specifies the number of endpoints. This is also a
9 MUSB configuration-specific setting. Should be set to "16"
10 - ram-bits : Specifies the ram address size. Should be set to "12"
11 - interface-type : This is a board specific setting to describe the type of
12 interface between the controller and the phy. It should be "0" or "1"
13 specifying ULPI and UTMI respectively.
14 - mode : Should be "3" to represent OTG. "1" signifies HOST and "2"
15 represents PERIPHERAL.
16 - power : Should be "50". This signifies the controller can supply up to
17 100mA when operating in host mode.
18 - usb-phy : the phandle for the PHY device
19 - phys : the phandle for the PHY device (used by generic PHY framework)
20 - phy-names : the names of the PHY corresponding to the PHYs present in the
21 *phy* phandle.
22
23 Optional properties:
24 - ctrl-module : phandle of the control module this glue uses to write to
25 mailbox
26
27 SOC specific device node entry
28 usb_otg_hs: usb_otg_hs@4a0ab000 {
29 compatible = "ti,omap4-musb";
30 ti,hwmods = "usb_otg_hs";
31 multipoint = <1>;
32 num-eps = <16>;
33 ram-bits = <12>;
34 ctrl-module = <&omap_control_usb>;
35 phys = <&usb2_phy>;
36 phy-names = "usb2-phy";
37 };
38
39 Board specific device node entry
40 &usb_otg_hs {
41 interface-type = <1>;
42 mode = <3>;
43 power = <50>;
44 };
45
46 OMAP DWC3 GLUE
47 - compatible : Should be
48 * "ti,dwc3" for OMAP5 and DRA7
49 * "ti,am437x-dwc3" for AM437x
50 - ti,hwmods : Should be "usb_otg_ss"
51 - reg : Address and length of the register set for the device.
52 - interrupts : The irq number of this device that is used to interrupt the
53 MPU
54 - #address-cells, #size-cells : Must be present if the device has sub-nodes
55 - utmi-mode : controls the source of UTMI/PIPE status for VBUS and OTG ID.
56 It should be set to "1" for HW mode and "2" for SW mode.
57 - ranges: the child address space are mapped 1:1 onto the parent address space
58
59 Optional Properties:
60 - extcon : phandle for the extcon device omap dwc3 uses to detect
61 connect/disconnect events.
62 - vbus-supply : phandle to the regulator device tree node if needed.
63
64 Sub-nodes:
65 The dwc3 core should be added as subnode to omap dwc3 glue.
66 - dwc3 :
67 The binding details of dwc3 can be found in:
68 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
69
70 omap_dwc3 {
71 compatible = "ti,dwc3";
72 ti,hwmods = "usb_otg_ss";
73 reg = <0x4a020000 0x1ff>;
74 interrupts = <0 93 4>;
75 #address-cells = <1>;
76 #size-cells = <1>;
77 utmi-mode = <2>;
78 ranges;
79 };
80
81

3. 한국어 전문 번역

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

OMAP USB glue

1-2

이 문서는 OMAP MUSB 및 DWC3 glue와 OMAP 전용 component를 정의합니다.

OMAP MUSB 속성

3-26

OMAP MUSB `compatible`은 `ti,omap4-musb` 또는 `ti,omap3-musb`이고 `ti,hwmods`는 `usb_otg_hs`입니다. `multipoint`는 1, endpoint 수 `num-eps`는 16, RAM address size `ram-bits`는 12입니다.

controller와 PHY 사이 interface는 `interface-type` 0이면 ULPI, 1이면 UTMI입니다. `mode` 3은 OTG, 1은 HOST, 2는 PERIPHERAL이며 `power` 50은 host mode에서 최대 100 mA 공급을 뜻합니다.

`usb-phy`는 기존 PHY phandle, `phys`와 `phy-names`는 generic PHY framework 연결입니다. 선택 `ctrl-module`은 glue가 mailbox에 쓰는 control module phandle입니다.

OMAP MUSB GLUE
 - compatible : Should be "ti,omap4-musb" or "ti,omap3-musb"
 - ti,hwmods : must be "usb_otg_hs"
 - multipoint : Should be "1" indicating the musb controller supports
   multipoint. This is a MUSB configuration-specific setting.
 - num-eps : Specifies the number of endpoints. This is also a
   MUSB configuration-specific setting. Should be set to "16"
 - ram-bits : Specifies the ram address size. Should be set to "12"
 - interface-type : This is a board specific setting to describe the type of
   interface between the controller and the phy. It should be "0" or "1"
   specifying ULPI and UTMI respectively.
 - mode : Should be "3" to represent OTG. "1" signifies HOST and "2"
   represents PERIPHERAL.
 - power : Should be "50". This signifies the controller can supply up to
   100mA when operating in host mode.
 - usb-phy : the phandle for the PHY device
 - phys : the phandle for the PHY device (used by generic PHY framework)
 - phy-names : the names of the PHY corresponding to the PHYs present in the
   *phy* phandle.

Optional properties:
 - ctrl-module : phandle of the control module this glue uses to write to
   mailbox

OMAP4 MUSB SoC·board 예제

27-45

SoC node `usb_otg_hs@4a0ab000`은 multipoint 1, endpoint 16개, RAM 12 bit, OMAP USB control module과 USB2 PHY를 지정합니다. board node는 UTMI interface 1, OTG mode 3, power 50을 설정합니다.

SOC specific device node entry
usb_otg_hs: usb_otg_hs@4a0ab000 {
        compatible = "ti,omap4-musb";
        ti,hwmods = "usb_otg_hs";
        multipoint = <1>;
        num-eps = <16>;
        ram-bits = <12>;
        ctrl-module = <&omap_control_usb>;
        phys = <&usb2_phy>;
        phy-names = "usb2-phy";
};

Board specific device node entry
&usb_otg_hs {
        interface-type = <1>;
        mode = <3>;
        power = <50>;
};

OMAP DWC3 속성과 subnode

46-69

OMAP5와 DRA7의 DWC3 glue는 `ti,dwc3`, AM437x는 `ti,am437x-dwc3`를 사용하며 `ti,hwmods`는 `usb_otg_ss`입니다. `reg`는 register set, `interrupts`는 MPU를 깨우는 IRQ입니다.

subnode가 있으면 address·size cell을 정의해야 합니다. `utmi-mode` 1은 VBUS·OTG ID status의 hardware source, 2는 software source이며 `ranges`는 child address를 parent에 1:1 mapping합니다.

선택 `extcon`은 connect/disconnect 감지 장치이고 `vbus-supply`는 필요한 regulator입니다. DWC3 core는 `snps,dwc3.yaml` binding을 따르는 child `dwc3`로 추가합니다.

OMAP DWC3 GLUE
 - compatible : Should be
        * "ti,dwc3" for OMAP5 and DRA7
        * "ti,am437x-dwc3" for AM437x
 - ti,hwmods : Should be "usb_otg_ss"
 - reg : Address and length of the register set for the device.
 - interrupts : The irq number of this device that is used to interrupt the
   MPU
 - #address-cells, #size-cells : Must be present if the device has sub-nodes
 - utmi-mode : controls the source of UTMI/PIPE status for VBUS and OTG ID.
   It should be set to "1" for HW mode and "2" for SW mode.
 - ranges: the child address space are mapped 1:1 onto the parent address space

Optional Properties:
 - extcon : phandle for the extcon device omap dwc3 uses to detect
   connect/disconnect events.
 - vbus-supply : phandle to the regulator device tree node if needed.

Sub-nodes:
The dwc3 core should be added as subnode to omap dwc3 glue.
- dwc3 :
   The binding details of dwc3 can be found in:
   Documentation/devicetree/bindings/usb/snps,dwc3.yaml

OMAP DWC3 glue 예제

70-80

예제 `omap_dwc3`은 `ti,dwc3`, `usb_otg_ss`, register 0x4a020000/0x1ff, interrupt 93, 1-cell child 주소·크기, software UTMI mode 2와 direct `ranges`를 사용합니다.

omap_dwc3 {
        compatible = "ti,dwc3";
        ti,hwmods = "usb_otg_ss";
        reg = <0x4a020000 0x1ff>;
        interrupts = <0 93 4>;
        #address-cells = <1>;
        #size-cells = <1>;
        utmi-mode = <2>;
        ranges;
};