요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/qcom,wcd939x-usbss.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm WCD9380/WCD9385 USB SubSystem Altmode/Analog Audio Switch
maintainers:
- Neil Armstrong <[email protected]>
description:
Qualcomm WCD9390/WCD9395 is a standalone Hi-Fi audio codec IC with a
functionally separate USB SubSystem for Altmode/Analog Audio Switch
accessible over an I2C interface.
The Audio Headphone and Microphone data path between the Codec and the
USB-C Mux subsystems are external to the IC, thus requiring DT port-endpoint
graph description to handle USB-C altmode & orientation switching for Audio
Accessory Mode.
properties:
compatible:
oneOf:
- const: qcom,wcd9390-usbss
- items:
- const: qcom,wcd9395-usbss
- const: qcom,wcd9390-usbss
reg:
maxItems: 1
reset-gpios:
maxItems: 1
vdd-supply:
description: USBSS VDD power supply
mode-switch: true
orientation-switch: true
ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description:
A port node to link the WCD939x USB SubSystem to a TypeC controller for the
purpose of handling altmode muxing and orientation switching.
port@1:
$ref: /schemas/graph.yaml#/properties/port
description:
A port node to link the WCD939x USB SubSystem to the Codec SubSystem for the
purpose of handling USB-C Audio Accessory Mode muxing and orientation switching.
required:
- compatible
- reg
- ports
allOf:
- $ref: usb-switch.yaml#
- $ref: usb-switch-ports.yaml#
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@42 {
compatible = "qcom,wcd9390-usbss";
reg = <0x42>;
vdd-supply = <&vreg_bob>;
mode-switch;
orientation-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
wcd9390_usbss_sbu: endpoint {
remote-endpoint = <&typec_sbu>;
};
};
port@1 {
reg = <1>;
wcd9390_usbss_codec: endpoint {
remote-endpoint = <&wcd9390_codec_usbss>;
};
};
};
};
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
WCD939x USBSS audio switch
1-20GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 schema의 title은 Qualcomm WCD9380/WCD9385 USB SubSystem Altmode/Analog Audio Switch이며 관리자는 Neil Armstrong입니다.
본문은 WCD9390/WCD9395를 I2C로 접근하는 standalone Hi-Fi audio codec IC로 설명합니다. USBSS는 altmode/analog audio switch 기능이 분리되어 있고 codec과 USB-C mux 사이 headphone·microphone data path가 IC 외부에 있으므로 Audio Accessory Mode의 altmode·orientation 전환을 DT port-endpoint graph로 표현해야 합니다.
Compatible, reset과 switch
21-40WCD9390은 `qcom,wcd9390-usbss` 하나를 사용하고 WCD9395는 `qcom,wcd9395-usbss`, `qcom,wcd9390-usbss` fallback 순서입니다. `reg`와 `reset-gpios`는 각각 하나이고 `vdd-supply`는 USBSS VDD 전원입니다. mode switch와 orientation switch를 지원합니다.
properties:
compatible:
oneOf:
- const: qcom,wcd9390-usbss
- items:
- const: qcom,wcd9395-usbss
- const: qcom,wcd9390-usbss
reg:
maxItems: 1
reset-gpios:
maxItems: 1
vdd-supply:
description: USBSS VDD power supply
mode-switch: true
orientation-switch: true
Type-C·codec 두 graph port
41-65`port@0`은 altmode muxing과 orientation switching을 위해 WCD939x USBSS를 Type-C controller에 연결합니다. `port@1`은 USB-C Audio Accessory Mode muxing과 orientation switching을 위해 USBSS를 codec subsystem에 연결합니다.
필수 속성은 `compatible`, `reg`, `ports`입니다. `usb-switch.yaml`과 `usb-switch-ports.yaml`을 상속하고 정의되지 않은 추가 속성을 허용하지 않습니다.
ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description:
A port node to link the WCD939x USB SubSystem to a TypeC controller for the
purpose of handling altmode muxing and orientation switching.
port@1:
$ref: /schemas/graph.yaml#/properties/port
description:
A port node to link the WCD939x USB SubSystem to the Codec SubSystem for the
purpose of handling USB-C Audio Accessory Mode muxing and orientation switching.
required:
- compatible
- reg
- ports
allOf:
- $ref: usb-switch.yaml#
- $ref: usb-switch-ports.yaml#
additionalProperties: false
WCD9390 SBU·codec endpoint 예제
66-101예제 `typec-mux@42`는 `qcom,wcd9390-usbss`, I2C 주소 0x42, `vreg_bob` supply와 mode·orientation switch를 사용합니다.
`port@0`의 `wcd9390_usbss_sbu`는 Type-C SBU `typec_sbu`, `port@1`의 `wcd9390_usbss_codec`은 codec endpoint `wcd9390_codec_usbss`에 연결됩니다.
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@42 {
compatible = "qcom,wcd9390-usbss";
reg = <0x42>;
vdd-supply = <&vreg_bob>;
mode-switch;
orientation-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
wcd9390_usbss_sbu: endpoint {
remote-endpoint = <&typec_sbu>;
};
};
port@1 {
reg = <1>;
wcd9390_usbss_codec: endpoint {
remote-endpoint = <&wcd9390_codec_usbss>;
};
};
};
};
};
...
요약과 해설
qcom,wcd939x-usbss.yaml:1-101WCD939x USBSS의 Type-C SBU·codec graph와 audio accessory switching을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, interrupt, clock, PHY, regulator, graph endpoint, source path와 원문 줄 좌표를 원형대로 보존합니다.