요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/fcs,fsa4480.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ON Semiconductor Analog Audio Switch
maintainers:
- Bjorn Andersson <[email protected]>
properties:
compatible:
oneOf:
- const: fcs,fsa4480
- items:
- enum:
- ocs,ocp96011
- const: fcs,fsa4480
reg:
maxItems: 1
interrupts:
maxItems: 1
vcc-supply:
description: power supply (2.7V-5.5V)
mode-switch: true
orientation-switch: true
port:
$ref: /schemas/graph.yaml#/$defs/port-base
description:
A port node to link the FSA4480 to a TypeC controller for the purpose of
handling altmode muxing and orientation switching.
unevaluatedProperties: false
properties:
endpoint:
$ref: /schemas/graph.yaml#/$defs/endpoint-base
unevaluatedProperties: false
properties:
data-lanes:
$ref: /schemas/types.yaml#/definitions/uint32-array
description:
Specifies how the AUX+/- lines are connected to SBU1/2.
oneOf:
- items:
- const: 0
- const: 1
description: |
Default AUX/SBU layout (FSA4480)
- AUX+ connected to SBU2
- AUX- connected to SBU1
Default AUX/SBU layout (OCP96011)
- AUX+ connected to SBU1
- AUX- connected to SBU2
- items:
- const: 1
- const: 0
description: |
Swapped AUX/SBU layout (FSA4480)
- AUX+ connected to SBU1
- AUX- connected to SBU2
Swapped AUX/SBU layout (OCP96011)
- AUX+ connected to SBU2
- AUX- connected to SBU1
required:
- compatible
- reg
- port
allOf:
- $ref: usb-switch.yaml#
- $ref: usb-switch-ports.yaml#
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c13 {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@42 {
compatible = "fcs,fsa4480";
reg = <0x42>;
interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&vreg_bob>;
mode-switch;
orientation-switch;
port {
fsa4480_ept: endpoint {
remote-endpoint = <&typec_controller>;
};
};
};
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
ON Semiconductor analog audio switch
1-11GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 schema는 ON Semiconductor analog audio switch를 정의합니다. 관리자는 Bjorn Andersson입니다.
Compatible, interrupt와 switch 기능
12-31`compatible`은 `fcs,fsa4480` 단독이거나 `ocs,ocp96011` 뒤에 `fcs,fsa4480` fallback을 둔 조합입니다. register와 interrupt는 각각 최대 하나입니다.
`vcc-supply`는 2.7~5.5 V 전원입니다. `mode-switch`와 `orientation-switch` 기능을 모두 지원합니다.
properties:
compatible:
oneOf:
- const: fcs,fsa4480
- items:
- enum:
- ocs,ocp96011
- const: fcs,fsa4480
reg:
maxItems: 1
interrupts:
maxItems: 1
vcc-supply:
description: power supply (2.7V-5.5V)
mode-switch: true
orientation-switch: true
Type-C graph와 AUX/SBU data lane
32-71`port`는 altmode muxing과 orientation switching을 처리하도록 FSA4480을 Type-C controller에 연결하는 OF graph node입니다. port와 endpoint에는 평가되지 않은 추가 속성을 허용하지 않습니다.
endpoint의 `data-lanes` 배열은 AUX+/- line을 SBU1/2에 연결하는 방식을 지정합니다. 값 `<0 1>`은 FSA4480에서 AUX+→SBU2, AUX-→SBU1인 기본 배치이고, OCP96011에서는 AUX+→SBU1, AUX-→SBU2인 기본 배치입니다.
값 `<1 0>`은 반대 배치입니다. FSA4480에서는 AUX+→SBU1, AUX-→SBU2이고, OCP96011에서는 AUX+→SBU2, AUX-→SBU1입니다.
port:
$ref: /schemas/graph.yaml#/$defs/port-base
description:
A port node to link the FSA4480 to a TypeC controller for the purpose of
handling altmode muxing and orientation switching.
unevaluatedProperties: false
properties:
endpoint:
$ref: /schemas/graph.yaml#/$defs/endpoint-base
unevaluatedProperties: false
properties:
data-lanes:
$ref: /schemas/types.yaml#/definitions/uint32-array
description:
Specifies how the AUX+/- lines are connected to SBU1/2.
oneOf:
- items:
- const: 0
- const: 1
description: |
Default AUX/SBU layout (FSA4480)
- AUX+ connected to SBU2
- AUX- connected to SBU1
Default AUX/SBU layout (OCP96011)
- AUX+ connected to SBU1
- AUX- connected to SBU2
- items:
- const: 1
- const: 0
description: |
Swapped AUX/SBU layout (FSA4480)
- AUX+ connected to SBU1
- AUX- connected to SBU2
Swapped AUX/SBU layout (OCP96011)
- AUX+ connected to SBU2
- AUX- connected to SBU1
필수 속성과 USB switch schema
72-82필수 속성은 `compatible`, `reg`, `port`입니다. 공통 `usb-switch.yaml`과 `usb-switch-ports.yaml` 제약을 상속하며 그 밖의 추가 속성은 허용하지 않습니다.
required:
- compatible
- reg
- port
allOf:
- $ref: usb-switch.yaml#
- $ref: usb-switch-ports.yaml#
additionalProperties: false
I2C address 0x42 switch 예제
83-108예제 `typec-mux@42`는 I2C address 0x42, level-low GPIO interrupt, `vreg_bob` 전원을 사용하고 mode·orientation switch를 활성화합니다.
port endpoint `fsa4480_ept`는 `remote-endpoint`로 `typec_controller`에 연결됩니다.
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c13 {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@42 {
compatible = "fcs,fsa4480";
reg = <0x42>;
interrupts-extended = <&tlmm 2 IRQ_TYPE_LEVEL_LOW>;
vcc-supply = <&vreg_bob>;
mode-switch;
orientation-switch;
port {
fsa4480_ept: endpoint {
remote-endpoint = <&typec_controller>;
};
};
};
};
...
요약과 해설
fcs,fsa4480.yaml:1-108FSA4480·OCP96011 Type-C audio switch의 전원, OF graph와 AUX/SBU lane 배치를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, PHY, connector, source path와 원문 줄 좌표를 원형대로 보존합니다.