요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Microchip USB5744 4-port Hub Controller
description:
Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
low power, low pin count configurable and fully compliant with the USB 3.1
Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
(LS) USB signaling, offering complete coverage of all defined USB operating
speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
USB 2.0 traffic.
maintainers:
- Michal Simek <[email protected]>
- Radhey Shyam Pandey <[email protected]>
properties:
compatible:
enum:
- usb424,2744
- usb424,5744
- microchip,usb5744
reg:
maxItems: 1
reset-gpios:
maxItems: 1
description:
GPIO controlling the GRST# pin.
vdd-supply:
description:
3V3 power supply to the hub
vdd2-supply:
description:
1V2 power supply to the hub
peer-hub:
$ref: /schemas/types.yaml#/definitions/phandle
description:
phandle to the peer hub on the controller.
i2c-bus:
$ref: /schemas/types.yaml#/definitions/phandle
description:
phandle of an usb hub connected via i2c bus.
required:
- compatible
- reg
allOf:
- if:
properties:
compatible:
contains:
const: microchip,usb5744
then:
properties:
reset-gpios: false
vdd-supply: false
vdd2-supply: false
peer-hub: false
i2c-bus: false
else:
$ref: /schemas/usb/usb-device.yaml
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c: i2c {
#address-cells = <1>;
#size-cells = <0>;
hub: usb-hub@2d {
compatible = "microchip,usb5744";
reg = <0x2d>;
};
};
usb {
#address-cells = <1>;
#size-cells = <0>;
/* 2.0 hub on port 1 */
hub_2_0: hub@1 {
compatible = "usb424,2744";
reg = <1>;
peer-hub = <&hub_3_0>;
i2c-bus = <&hub>;
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
/* 3.0 hub on port 2 */
hub_3_0: hub@2 {
compatible = "usb424,5744";
reg = <2>;
peer-hub = <&hub_2_0>;
i2c-bus = <&hub>;
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
USB5744 4-port SmartHub
1-21GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 schema는 Microchip USB5744 4-port hub controller를 정의합니다. USB5744 SmartHub는 저전력·저 pin-count USB 3.1 Gen 1 호환 hub로 SuperSpeed, High-Speed, Full-Speed, Low-Speed를 모두 지원합니다.
SuperSpeed hub가 USB 2.0 controller와 병렬로 동작하므로 5 Gbps SuperSpeed 전송은 더 느린 USB 2.0 traffic의 영향을 받지 않습니다. 관리자는 Michal Simek와 Radhey Shyam Pandey입니다.
USB·I2C compatible, 전원과 peer hub
22-54허용 compatible은 USB device 표현용 `usb424,2744`, `usb424,5744`와 I2C 제어 표현용 `microchip,usb5744`입니다. register는 하나만 허용합니다.
`reset-gpios`는 GRST# pin을 제어합니다. `vdd-supply`와 `vdd2-supply`는 각각 3.3 V와 1.2 V 전원입니다. `peer-hub`는 controller의 짝 hub, `i2c-bus`는 I2C로 연결된 USB hub를 가리키는 phandle입니다.
properties:
compatible:
enum:
- usb424,2744
- usb424,5744
- microchip,usb5744
reg:
maxItems: 1
reset-gpios:
maxItems: 1
description:
GPIO controlling the GRST# pin.
vdd-supply:
description:
3V3 power supply to the hub
vdd2-supply:
description:
1V2 power supply to the hub
peer-hub:
$ref: /schemas/types.yaml#/definitions/phandle
description:
phandle to the peer hub on the controller.
i2c-bus:
$ref: /schemas/types.yaml#/definitions/phandle
description:
phandle of an usb hub connected via i2c bus.
표현 방식별 속성 제약
55-76`compatible`과 `reg`가 필수입니다. `microchip,usb5744` I2C node에서는 `reset-gpios`, 두 supply, `peer-hub`, `i2c-bus`를 허용하지 않습니다.
반대로 USB device ID로 표현한 hub는 `usb-device.yaml`을 따릅니다. 정의되지 않은 추가 속성은 허용하지 않습니다.
required:
- compatible
- reg
allOf:
- if:
properties:
compatible:
contains:
const: microchip,usb5744
then:
properties:
reset-gpios: false
vdd-supply: false
vdd2-supply: false
peer-hub: false
i2c-bus: false
else:
$ref: /schemas/usb/usb-device.yaml
additionalProperties: false
I2C 제어 node와 USB2·USB3 peer hub
77-110예제 I2C node `usb-hub@2d`는 address 0x2d에서 `microchip,usb5744` 제어 interface를 나타냅니다.
USB controller port 1의 product 2744 USB 2.0 hub와 port 2의 product 5744 USB 3.0 hub는 서로를 `peer-hub`로 가리키고 같은 I2C node와 active-low GPIO 3 reset을 공유합니다.
examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c: i2c {
#address-cells = <1>;
#size-cells = <0>;
hub: usb-hub@2d {
compatible = "microchip,usb5744";
reg = <0x2d>;
};
};
usb {
#address-cells = <1>;
#size-cells = <0>;
/* 2.0 hub on port 1 */
hub_2_0: hub@1 {
compatible = "usb424,2744";
reg = <1>;
peer-hub = <&hub_3_0>;
i2c-bus = <&hub>;
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
/* 3.0 hub on port 2 */
hub_3_0: hub@2 {
compatible = "usb424,5744";
reg = <2>;
peer-hub = <&hub_2_0>;
i2c-bus = <&hub>;
reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
};
요약과 해설
microchip,usb5744.yaml:1-110USB5744의 I2C·USB 표현 방식, peer hub와 USB2·USB3 병렬 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, PHY, supply, source path와 원문 줄 좌표를 원형대로 보존합니다.