← Documents Documentation/devicetree/bindings/sound/davinci-mcbsp.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

TI DaVinci McBSP controller

TI DA850 McBSP의 register, DMA, interrupt, clock과 T1 framing 속성을 설명합니다.

Source pathDocumentation/devicetree/bindings/sound/davinci-mcbsp.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

davinci-mcbsp.yaml:1-113

TI McBSP controller와 Dialog DA7219 codec의 schema 구조, 필수 속성, 허용 값과 DTS 구성을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 원문 줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/davinci-mcbsp.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: McBSP Controller for TI SoCs
8
9 maintainers:
10 - Bastien Curutchet <bastien.curutchet@bootlin.com>
11
12 allOf:
13 - $ref: dai-common.yaml#
14
15 properties:
16 compatible:
17 enum:
18 - ti,da850-mcbsp
19
20 reg:
21 minItems: 1
22 items:
23 - description: CFG registers
24 - description: data registers
25
26 reg-names:
27 minItems: 1
28 items:
29 - const: mpu
30 - const: dat
31
32 dmas:
33 items:
34 - description: transmission DMA channel
35 - description: reception DMA channel
36
37 dma-names:
38 items:
39 - const: tx
40 - const: rx
41
42 interrupts:
43 items:
44 - description: RX interrupt
45 - description: TX interrupt
46
47 interrupt-names:
48 items:
49 - const: rx
50 - const: tx
51
52 clocks:
53 minItems: 1
54 items:
55 - description: functional clock
56 - description: external input clock for sample rate generator.
57
58 clock-names:
59 minItems: 1
60 items:
61 - const: fck
62 - const: clks
63
64 power-domains:
65 maxItems: 1
66
67 "#sound-dai-cells":
68 const: 0
69
70 ti,T1-framing-tx:
71 $ref: /schemas/types.yaml#/definitions/flag
72 description:
73 If the property is present, tx data delay is set to 2 bit clock periods.
74 McBSP will insert a blank period (high-impedance period) before the first
75 data bit. This can be used to interface to T1-framing devices.
76
77 ti,T1-framing-rx:
78 $ref: /schemas/types.yaml#/definitions/flag
79 description:
80 If the property is present, rx data delay is set to 2 bit clock periods.
81 McBSP will discard the bit preceding the data stream (called framing bit).
82 This can be used to interface to T1-framing devices.
83
84 required:
85 - "#sound-dai-cells"
86 - compatible
87 - reg
88 - reg-names
89 - dmas
90 - dma-names
91 - clocks
92
93 unevaluatedProperties: false
94
95 examples:
96 - |
97 mcbsp0@1d10000 {
98 #sound-dai-cells = <0>;
99 compatible = "ti,da850-mcbsp";
100 pinctrl-names = "default";
101 pinctrl-0 = <&mcbsp0_pins>;
102
103 reg = <0x111000 0x1000>,
104 <0x311000 0x1000>;
105 reg-names = "mpu", "dat";
106 interrupts = <97>, <98>;
107 interrupt-names = "rx", "tx";
108 dmas = <&edma0 3 1>,
109 <&edma0 2 1>;
110 dma-names = "tx", "rx";
111
112 clocks = <&psc1 14>;
113 };
114

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-83

Boolean 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>;
};