요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/sound/fsl,mqs.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP Medium Quality Sound (MQS)
maintainers:
- Shengjiu Wang <[email protected]>
- Chancel Liu <[email protected]>
description: |
Medium quality sound (MQS) is used to generate medium quality audio
via a standard GPIO in the pinmux, allowing the user to connect
stereo speakers or headphones to a power amplifier without an
additional DAC chip.
properties:
compatible:
enum:
- fsl,imx6sx-mqs
- fsl,imx8qm-mqs
- fsl,imx8qxp-mqs
- fsl,imx93-mqs
- fsl,imx943-aonmix-mqs
- fsl,imx943-wakeupmix-mqs
- fsl,imx95-aonmix-mqs
- fsl,imx95-netcmix-mqs
"#sound-dai-cells":
const: 0
clocks:
minItems: 1
maxItems: 2
clock-names:
minItems: 1
maxItems: 2
gpr:
$ref: /schemas/types.yaml#/definitions/phandle
description: The phandle to the General Purpose Register (GPR) node
reg:
maxItems: 1
power-domains:
maxItems: 1
resets:
maxItems: 1
port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
required:
- compatible
- clocks
- clock-names
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- fsl,imx8qm-mqs
- fsl,imx8qxp-mqs
then:
properties:
clocks:
items:
- description: Master clock
- description: Clock for register access
clock-names:
items:
- const: mclk
- const: core
required:
- reg
- power-domains
else:
properties:
clocks:
items:
- description: Master clock
clock-names:
items:
- const: mclk
required:
- gpr
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/imx6sx-clock.h>
mqs0: mqs {
compatible = "fsl,imx6sx-mqs";
gpr = <&gpr>;
clocks = <&clks IMX6SX_CLK_SAI1>;
clock-names = "mclk";
};
- |
#include <dt-bindings/firmware/imx/rsrc.h>
mqs1: mqs@59850000 {
compatible = "fsl,imx8qm-mqs";
reg = <0x59850000 0x10000>;
clocks = <&mqs0_lpcg 0>, <&mqs0_lpcg 1>;
clock-names = "mclk", "core";
power-domains = <&pd IMX_SC_R_MQS_0>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
NXP Medium Quality Sound
1-18Medium Quality Sound(MQS)는 pinmux의 표준 GPIO를 통해 중간 품질 audio를 생성합니다. 별도의 DAC chip 없이 power amplifier에 stereo speaker 또는 headphone을 연결할 수 있습니다. Schema ID는 `http://devicetree.org/schemas/sound/fsl,mqs.yaml#`이며 Shengjiu Wang과 Chancel Liu가 유지관리합니다.
Compatible, clock와 resource 속성
19-58지원 `compatible`은 `fsl,imx6sx-mqs`, `fsl,imx8qm-mqs`, `fsl,imx8qxp-mqs`, `fsl,imx93-mqs`, `fsl,imx943-aonmix-mqs`, `fsl,imx943-wakeupmix-mqs`, `fsl,imx95-aonmix-mqs`, `fsl,imx95-netcmix-mqs`입니다. `#sound-dai-cells`는 0입니다.
`clocks`와 `clock-names`는 각각 1~2개입니다. `gpr`은 General Purpose Register node의 phandle이고, `reg`, `power-domains`, `resets`는 각각 최대 한 항목입니다. `port`는 `audio-graph-port.yaml#`을 참조하며 추가 속성을 허용하지 않습니다.
기본 필수 속성
59-63모든 MQS node에 필요한 속성은 `compatible`, `clocks`, `clock-names`입니다.
i.MX8Q 계열과 그 밖의 SoC 조건
64-98Binding은 `dai-common.yaml#`을 상속합니다. `fsl,imx8qm-mqs` 또는 `fsl,imx8qxp-mqs`에서는 첫 clock이 master clock `mclk`, 두 번째가 register 접근용 `core`이며 `reg`와 `power-domains`가 필수입니다.
그 밖의 compatible에서는 master clock `mclk` 한 개를 사용하고 `gpr`이 필수입니다. 공통 schema 평가 뒤 남는 추가 속성은 허용하지 않습니다.
i.MX6SX와 i.MX8QM MQS 예제
99-117첫 예제는 i.MX6SX SAI1 clock과 GPR을 사용하는 register 없는 MQS node입니다. 두 번째는 `0x59850000` register, `mclk`와 `core` 두 clock, `IMX_SC_R_MQS_0` power domain을 사용하는 i.MX8QM MQS입니다.
#include <dt-bindings/clock/imx6sx-clock.h>
mqs0: mqs {
compatible = "fsl,imx6sx-mqs";
gpr = <&gpr>;
clocks = <&clks IMX6SX_CLK_SAI1>;
clock-names = "mclk";
};
#include <dt-bindings/firmware/imx/rsrc.h>
mqs1: mqs@59850000 {
compatible = "fsl,imx8qm-mqs";
reg = <0x59850000 0x10000>;
clocks = <&mqs0_lpcg 0>, <&mqs0_lpcg 1>;
clock-names = "mclk", "core";
power-domains = <&pd IMX_SC_R_MQS_0>;
};
요약과 해설
fsl,mqs.yaml:1-117NXP/Freescale digital microphone, GPIO audio, SGTL5000 machine card와 QMC multichannel audio의 핵심 signal path와 조건부 속성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.