← Documents Documentation/devicetree/bindings/sound/img,i2s-out.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Sound

IMG I2S output controller

IMG I2S output의 TX DMA, system/reference clock, channel과 reset을 설명합니다.

Source pathDocumentation/devicetree/bindings/sound/img,i2s-out.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

img,i2s-out.txt:1-51

Google SC7280 LPASS card와 Hisilicon·Imagination audio controller의 DAI, DMA, clock, reset 계약을 먼저 해설하고, 접을 수 있는 영어 원문 전체와 legacy TXT의 property·code·줄 좌표를 보존한 한국어 전문 번역을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Imagination Technologies I2S Output Controller
2
3 Required Properties:
4
5 - compatible : Compatible list, must contain "img,i2s-out"
6
7 - #sound-dai-cells : Must be equal to 0
8
9 - reg : Offset and length of the register set for the device
10
11 - clocks : Contains an entry for each entry in clock-names
12
13 - clock-names : Must include the following entries:
14 "sys" The system clock
15 "ref" The reference clock
16
17 - dmas: Contains an entry for each entry in dma-names.
18
19 - dma-names: Must include the following entry:
20 "tx" Single DMA channel used by all active I2S channels
21
22 - img,i2s-channels : Number of I2S channels instantiated in the I2S out block
23
24 - resets: Contains a phandle to the I2S out reset signal
25
26 - reset-names: Contains the reset signal name "rst"
27
28 Optional Properties:
29
30 - interrupts : Contains the I2S out interrupts. Depending on
31 the configuration, there may be no interrupts, one interrupt,
32 or an interrupt per I2S channel. For the case where there is
33 one interrupt per channel, the interrupts should be listed
34 in ascending channel order
35
36 Example:
37
38 i2s_out: i2s-out@18100a00 {
39 compatible = "img,i2s-out";
40 reg = <0x18100A00 0x200>;
41 interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>;
42 dmas = <&mdc 23 0xffffffff 0>;
43 dma-names = "tx";
44 clocks = <&cr_periph SYS_CLK_I2S_OUT>,
45 <&clk_core CLK_I2S>;
46 clock-names = "sys", "ref";
47 img,i2s-channels = <6>;
48 resets = <&pistachio_reset PISTACHIO_RESET_I2S_OUT>;
49 reset-names = "rst";
50 #sound-dai-cells = <0>;
51 };
52

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

IMG I2S output 필수 속성

1-27

`compatible`은 `img,i2s-out`, `#sound-dai-cells`는 0이며 `reg`는 register set입니다. `clock-names`에는 system `sys`와 reference `ref`, `dma-names`에는 모든 활성 I2S channel이 공유하는 TX DMA `tx`가 필요합니다.

`img,i2s-channels`는 구현된 output channel 수입니다. `resets`와 `reset-names = "rst"`는 output reset을 지정합니다.

선택적 channel interrupt

28-35

`interrupts`는 없거나 하나이거나 channel마다 하나일 수 있으며 channel별이면 오름차순으로 나열합니다.

6-channel I2S output 예제

36-51

예제는 address `0x18100A00`, GIC shared interrupt 13, MDC TX DMA 23, system/reference clock, channel 6개와 Pistachio I2S output reset을 설정합니다.

i2s_out: i2s-out@18100a00 {
        compatible = "img,i2s-out";
        reg = <0x18100A00 0x200>;
        interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>;
        dmas = <&mdc 23 0xffffffff 0>;
        dma-names = "tx";
        clocks = <&cr_periph SYS_CLK_I2S_OUT>,
                 <&clk_core CLK_I2S>;
        clock-names = "sys", "ref";
        img,i2s-channels = <6>;
        resets = <&pistachio_reset PISTACHIO_RESET_I2S_OUT>;
        reset-names = "rst";
        #sound-dai-cells = <0>;
};