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

Linux 6.18.37 · Devicetree Bindings / Sound

Hisilicon 6210 I2S controller

Hi6210 I2S의 clock, DMA, sysctrl과 S2 multi-DAI index를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

hisilicon,hi6210-i2s.txt:1-42

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

2. 영어 원문 전체

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

원문 전체 펼치기
1 * Hisilicon 6210 i2s controller
2
3 Required properties:
4
5 - compatible: should be one of the following:
6 - "hisilicon,hi6210-i2s"
7 - reg: physical base address of the i2s controller unit and length of
8 memory mapped region.
9 - interrupts: should contain the i2s interrupt.
10 - clocks: a list of phandle + clock-specifier pairs, one for each entry
11 in clock-names.
12 - clock-names: should contain following:
13 - "dacodec"
14 - "i2s-base"
15 - dmas: DMA specifiers for tx dma. See the DMA client binding,
16 Documentation/devicetree/bindings/dma/dma.txt
17 - dma-names: should be "tx" and "rx"
18 - hisilicon,sysctrl-syscon: phandle to sysctrl syscon
19 - #sound-dai-cells: Should be set to 1 (for multi-dai)
20 - The dai cell indexes reference the following interfaces:
21 0: S2 interface
22 (Currently that is the only one available, but more may be
23 supported in the future)
24
25 Example for the hi6210 i2s controller:
26
27 i2s0: i2s@f7118000{
28 compatible = "hisilicon,hi6210-i2s";
29 reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */
30 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* 155 "DigACodec_intr"-32 */
31 clocks = <&sys_ctrl HI6220_DACODEC_PCLK>,
32 <&sys_ctrl HI6220_BBPPLL0_DIV>;
33 clock-names = "dacodec", "i2s-base";
34 dmas = <&dma0 15 &dma0 14>;
35 dma-names = "rx", "tx";
36 hisilicon,sysctrl-syscon = <&sys_ctrl>;
37 #sound-dai-cells = <1>;
38 };
39
40 Then when referencing the i2s controller:
41 sound-dai = <&i2s0 0>; /* index 0 => S2 interface */
42
43

3. 한국어 전문 번역

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

Hi6210 I2S 필수 속성

1-24

Hisilicon 6210 I2S controller의 `compatible`은 `hisilicon,hi6210-i2s`입니다. `reg`는 controller MMIO base와 길이, `interrupts`는 I2S interrupt입니다.

`clocks`는 `clock-names`에 대응하며 이름은 `dacodec`, `i2s-base`입니다. `dmas`는 `Documentation/devicetree/bindings/dma/dma.txt`를 따르는 TX DMA specifier이고 `dma-names`는 `tx`와 `rx`입니다. `hisilicon,sysctrl-syscon`은 sysctrl syscon phandle입니다.

Multi-DAI를 위해 `#sound-dai-cells`는 1이며 DAI index 0은 S2 interface를 가리킵니다. 현재는 S2만 있지만 향후 interface가 추가될 수 있습니다.

Hi6210 I2S controller 예제

25-38

예제는 address `0xf7118000`, GIC SPI 123, DACODEC와 BBPPLL0_DIV clock, DMA0 RX 15·TX 14, sysctrl phandle을 지정합니다.

i2s0: i2s@f7118000{
        compatible = "hisilicon,hi6210-i2s";
        reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */
        interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* 155 "DigACodec_intr"-32 */
        clocks = <&sys_ctrl HI6220_DACODEC_PCLK>,
                 <&sys_ctrl HI6220_BBPPLL0_DIV>;
        clock-names = "dacodec", "i2s-base";
        dmas = <&dma0 15 &dma0 14>;
        dma-names = "rx", "tx";
        hisilicon,sysctrl-syscon = <&sys_ctrl>;
        #sound-dai-cells = <1>;
};

S2 DAI 참조

39-42

I2S controller를 참조할 때 `sound-dai = <&i2s0 0>`을 사용하며 index 0은 S2 interface입니다.

Then when referencing the i2s controller:
        sound-dai = <&i2s0 0>; /* index 0 => S2 interface */