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

Linux 6.18.37 · Devicetree Bindings / Sound

IMG I2S input controller

IMG I2S input의 공유 RX DMA, channel 수와 선택적 channel interrupt를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

img,i2s-in.txt:1-47

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 Input Controller
2
3 Required Properties:
4
5 - compatible : Compatible list, must contain "img,i2s-in"
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 entry:
14 "sys" The system clock
15
16 - dmas: Contains an entry for each entry in dma-names.
17
18 - dma-names: Must include the following entry:
19 "rx" Single DMA channel used by all active I2S channels
20
21 - img,i2s-channels : Number of I2S channels instantiated in the I2S in block
22
23 Optional Properties:
24
25 - interrupts : Contains the I2S in interrupts. Depending on
26 the configuration, there may be no interrupts, one interrupt,
27 or an interrupt per I2S channel. For the case where there is
28 one interrupt per channel, the interrupts should be listed
29 in ascending channel order
30
31 - resets: Contains a phandle to the I2S in reset signal
32
33 - reset-names: Contains the reset signal name "rst"
34
35 Example:
36
37 i2s_in: i2s-in@18100800 {
38 compatible = "img,i2s-in";
39 reg = <0x18100800 0x200>;
40 interrupts = <GIC_SHARED 7 IRQ_TYPE_LEVEL_HIGH>;
41 dmas = <&mdc 30 0xffffffff 0>;
42 dma-names = "rx";
43 clocks = <&cr_periph SYS_CLK_I2S_IN>;
44 clock-names = "sys";
45 img,i2s-channels = <6>;
46 #sound-dai-cells = <0>;
47 };
48

3. 한국어 전문 번역

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

IMG I2S input 필수 속성

1-22

`compatible`은 `img,i2s-in`, `#sound-dai-cells`는 0이고 `reg`는 register set offset과 length입니다. `clock-names`에는 system clock `sys`, `dma-names`에는 모든 활성 I2S channel이 공유하는 단일 RX DMA `rx`가 필요합니다.

`img,i2s-channels`는 I2S input block에 구현된 channel 수입니다.

Interrupt와 reset

23-34

선택적 `interrupts`는 구성에 따라 없거나 하나이거나 I2S channel마다 하나일 수 있습니다. Channel별 interrupt이면 channel 오름차순으로 나열합니다. `resets`는 input reset phandle이고 `reset-names`는 `rst`입니다.

6-channel I2S input 예제

35-47

예제는 address `0x18100800`, GIC shared interrupt 7, MDC RX DMA 30, system clock과 I2S channel 6개를 설정합니다.

i2s_in: i2s-in@18100800 {
        compatible = "img,i2s-in";
        reg = <0x18100800 0x200>;
        interrupts = <GIC_SHARED 7 IRQ_TYPE_LEVEL_HIGH>;
        dmas = <&mdc 30 0xffffffff 0>;
        dma-names = "rx";
        clocks = <&cr_periph SYS_CLK_I2S_IN>;
        clock-names = "sys";
        img,i2s-channels = <6>;
        #sound-dai-cells = <0>;
};