Documentation/devicetree/bindings/spi/mediatek,spi-slave-mt27xx.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPI

MediaTek ARM SoC SPI slave controller

MediaTek MT2712·MT8195 SPI slave의 resource와 assigned clock을 설명합니다.

Source pathDocumentation/devicetree/bindings/spi/mediatek,spi-slave-mt27xx.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

mediatek,spi-slave-mt27xx.yaml:1-58

MediaTek MT2712·MT8195 SPI slave의 resource와 assigned clock을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·interrupt/DMA 순서·수치·예제 코드를 원형대로 유지합니다.

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/spi/mediatek,spi-slave-mt27xx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: SPI Slave controller for MediaTek ARM SoCs
8
9 maintainers:
10 - Leilk Liu <[email protected]>
11
12 allOf:
13 - $ref: /schemas/spi/spi-controller.yaml#
14
15 properties:
16 compatible:
17 enum:
18 - mediatek,mt2712-spi-slave
19 - mediatek,mt8195-spi-slave
20
21 reg:
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 clocks:
28 maxItems: 1
29
30 clock-names:
31 items:
32 - const: spi
33
34 required:
35 - compatible
36 - reg
37 - interrupts
38 - clocks
39 - clock-names
40
41 unevaluatedProperties: false
42
43 examples:
44 - |
45 #include <dt-bindings/clock/mt2712-clk.h>
46 #include <dt-bindings/gpio/gpio.h>
47 #include <dt-bindings/interrupt-controller/arm-gic.h>
48 #include <dt-bindings/interrupt-controller/irq.h>
49
50 spi@10013000 {
51 compatible = "mediatek,mt2712-spi-slave";
52 reg = <0x10013000 0x100>;
53 interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_LOW>;
54 clocks = <&infracfg CLK_INFRA_AO_SPI1>;
55 clock-names = "spi";
56 assigned-clocks = <&topckgen CLK_TOP_SPISLV_SEL>;
57 assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
58 };
59

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

MediaTek SPI slave schema

1-14

이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 MediaTek ARM SoC의 SPI slave controller를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/mediatek,spi-slave-mt27xx.yaml#`, maintainer는 Leilk Liu입니다.

`/schemas/spi/spi-controller.yaml#`의 공통 SPI controller 속성을 상속합니다.

Compatible, resource와 필수 속성

15-42

허용 compatible은 `mediatek,mt2712-spi-slave`와 `mediatek,mt8195-spi-slave`입니다. `reg`, `interrupts`, `clocks`는 각각 최대 한 항목이고 `clock-names`는 `spi` 하나입니다.

필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.

MT2712 SPI slave 예제

43-58

예제는 address `0x10013000`, GIC SPI interrupt 283, `CLK_INFRA_AO_SPI1` clock을 연결합니다. Assigned clock source는 `CLK_TOP_SPISLV_SEL`이고 parent는 `CLK_TOP_UNIVPLL1_D2`입니다.

#include <dt-bindings/clock/mt2712-clk.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>

spi@10013000 {
  compatible = "mediatek,mt2712-spi-slave";
  reg = <0x10013000 0x100>;
  interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_LOW>;
  clocks = <&infracfg CLK_INFRA_AO_SPI1>;
  clock-names = "spi";
  assigned-clocks = <&topckgen CLK_TOP_SPISLV_SEL>;
  assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
};