요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/davinci-mcbsp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: McBSP Controller for TI SoCs
maintainers:
- Bastien Curutchet <[email protected]>
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
- ti,da850-mcbsp
reg:
minItems: 1
items:
- description: CFG registers
- description: data registers
reg-names:
minItems: 1
items:
- const: mpu
- const: dat
dmas:
items:
- description: transmission DMA channel
- description: reception DMA channel
dma-names:
items:
- const: tx
- const: rx
interrupts:
items:
- description: RX interrupt
- description: TX interrupt
interrupt-names:
items:
- const: rx
- const: tx
clocks:
minItems: 1
items:
- description: functional clock
- description: external input clock for sample rate generator.
clock-names:
minItems: 1
items:
- const: fck
- const: clks
power-domains:
maxItems: 1
"#sound-dai-cells":
const: 0
ti,T1-framing-tx:
$ref: /schemas/types.yaml#/definitions/flag
description:
If the property is present, tx data delay is set to 2 bit clock periods.
McBSP will insert a blank period (high-impedance period) before the first
data bit. This can be used to interface to T1-framing devices.
ti,T1-framing-rx:
$ref: /schemas/types.yaml#/definitions/flag
description:
If the property is present, rx data delay is set to 2 bit clock periods.
McBSP will discard the bit preceding the data stream (called framing bit).
This can be used to interface to T1-framing devices.
required:
- "#sound-dai-cells"
- compatible
- reg
- reg-names
- dmas
- dma-names
- clocks
unevaluatedProperties: false
examples:
- |
mcbsp0@1d10000 {
#sound-dai-cells = <0>;
compatible = "ti,da850-mcbsp";
pinctrl-names = "default";
pinctrl-0 = <&mcbsp0_pins>;
reg = <0x111000 0x1000>,
<0x311000 0x1000>;
reg-names = "mpu", "dat";
interrupts = <97>, <98>;
interrupt-names = "rx", "tx";
dmas = <&edma0 3 1>,
<&edma0 2 1>;
dma-names = "tx", "rx";
clocks = <&psc1 14>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
TI McBSP 컨트롤러 schema
1-14이 YAML binding은 GPL-2.0-only 또는 BSD-2-Clause로 배포되며 TI SoC의 McBSP 컨트롤러를 정의합니다. Schema ID는 `http://devicetree.org/schemas/sound/davinci-mcbsp.yaml#`이고 core meta-schema를 사용합니다.
제목은 `McBSP Controller for TI SoCs`, maintainer는 Bastien Curutchet입니다. `allOf`에서 `dai-common.yaml#`을 참조해 공통 Digital Audio Interface 속성을 상속합니다.
Compatible과 register 영역
15-31`compatible`은 `ti,da850-mcbsp` 하나를 허용합니다. `reg`에는 최소 한 영역이 필요하며 첫 항목은 CFG register, 선택적인 둘째 항목은 data register입니다.
`reg-names`도 최소 한 항목을 가지며 같은 순서로 `mpu`, 선택적으로 `dat`를 사용합니다.
DMA와 interrupt
32-50`dmas`의 첫 항목은 transmission DMA channel이고 둘째 항목은 reception DMA channel입니다. `dma-names`는 이에 대응해 `tx`, `rx` 순서입니다.
`interrupts`는 RX interrupt와 TX interrupt를 이 순서로 기술하며, `interrupt-names`는 각각 `rx`, `tx`입니다.
Clock, power domain과 DAI cell
51-69`clocks`는 최소 하나를 요구합니다. 첫 항목은 functional clock이고 선택적인 둘째 항목은 sample rate generator용 external input clock입니다. `clock-names`는 같은 순서로 `fck`, `clks`입니다.
`power-domains`는 최대 한 항목을 허용하고 `#sound-dai-cells`는 0으로 고정됩니다.
T1 framing 송수신 지연
70-83Boolean flag `ti,T1-framing-tx`가 있으면 TX data delay를 bit clock 2주기로 설정합니다. McBSP는 첫 data bit 앞에 blank period, 즉 high-impedance period를 넣어 T1-framing 장치와 접속할 수 있게 합니다.
Boolean flag `ti,T1-framing-rx`가 있으면 RX data delay를 bit clock 2주기로 설정합니다. McBSP는 data stream 앞의 framing bit를 버리며 이 역시 T1-framing 장치 접속에 사용됩니다.
필수 속성과 추가 속성 제한
84-94필수 속성은 `#sound-dai-cells`, `compatible`, `reg`, `reg-names`, `dmas`, `dma-names`, `clocks`입니다. `unevaluatedProperties: false`이므로 이 schema와 참조한 공통 schema에서 정의하지 않은 속성은 허용하지 않습니다.
DA850 McBSP 예제
95-113예제는 `mcbsp0@1d10000` 노드에 CFG와 data register, RX/TX interrupt, EDMA TX/RX channel, PSC functional clock을 연결합니다. `#sound-dai-cells`는 0이며 pin control은 `mcbsp0_pins`를 사용합니다.
mcbsp0@1d10000 {
#sound-dai-cells = <0>;
compatible = "ti,da850-mcbsp";
pinctrl-names = "default";
pinctrl-0 = <&mcbsp0_pins>;
reg = <0x111000 0x1000>,
<0x311000 0x1000>;
reg-names = "mpu", "dat";
interrupts = <97>, <98>;
interrupt-names = "rx", "tx";
dmas = <&edma0 3 1>,
<&edma0 2 1>;
dma-names = "tx", "rx";
clocks = <&psc1 14>;
};
요약과 해설
davinci-mcbsp.yaml:1-113TI McBSP controller와 Dialog DA7219 codec의 schema 구조, 필수 속성, 허용 값과 DTS 구성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.