Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPI

Renesas RZ/V2H(P) RSPI controller

RZ/V2H(P) RSPI의 다섯 interrupt, 세 clock과 두 reset 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

renesas,rzv2h-rspi.yaml:1-96

RZ/V2H(P) RSPI의 다섯 interrupt, 세 clock과 두 reset 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·interrupt·clock/DMA/reset 순서·수치·조건부 제약·예제 코드를 원형대로 유지합니다.

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/renesas,rzv2h-rspi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas RZ/V2H(P) Renesas Serial Peripheral Interface (RSPI)
8
9 maintainers:
10 - Fabrizio Castro <[email protected]>
11
12 allOf:
13 - $ref: spi-controller.yaml#
14
15 properties:
16 compatible:
17 const: renesas,r9a09g057-rspi # RZ/V2H(P)
18
19 reg:
20 maxItems: 1
21
22 interrupts:
23 items:
24 - description: Idle Interrupt
25 - description: Error Interrupt
26 - description: Communication End Interrupt
27 - description: Receive Buffer Full Interrupt
28 - description: Transmit Buffer Empty Interrupt
29
30 interrupt-names:
31 items:
32 - const: idle
33 - const: error
34 - const: end
35 - const: rx
36 - const: tx
37
38 clocks:
39 maxItems: 3
40
41 clock-names:
42 items:
43 - const: pclk
44 - const: pclk_sfr
45 - const: tclk
46
47 resets:
48 maxItems: 2
49
50 reset-names:
51 items:
52 - const: presetn
53 - const: tresetn
54
55 power-domains:
56 maxItems: 1
57
58 required:
59 - compatible
60 - reg
61 - interrupts
62 - interrupt-names
63 - clocks
64 - clock-names
65 - resets
66 - reset-names
67 - power-domains
68 - '#address-cells'
69 - '#size-cells'
70
71 unevaluatedProperties: false
72
73 examples:
74 - |
75 #include <dt-bindings/interrupt-controller/arm-gic.h>
76 #include <dt-bindings/clock/renesas-cpg-mssr.h>
77 spi@12800800 {
78 compatible = "renesas,r9a09g057-rspi";
79
80 reg = <0x12800800 0x400>;
81 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
82 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
83 <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>,
84 <GIC_SPI 504 IRQ_TYPE_EDGE_RISING>,
85 <GIC_SPI 505 IRQ_TYPE_EDGE_RISING>;
86 interrupt-names = "idle", "error", "end", "rx", "tx";
87 clocks = <&cpg CPG_MOD 0x5a>,
88 <&cpg CPG_MOD 0x5b>,
89 <&cpg CPG_MOD 0x5c>;
90 clock-names = "pclk", "pclk_sfr", "tclk";
91 resets = <&cpg 0x7f>, <&cpg 0x80>;
92 reset-names = "presetn", "tresetn";
93 power-domains = <&cpg>;
94 #address-cells = <1>;
95 #size-cells = <0>;
96 };
97

3. 한국어 전문 번역

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

RZ/V2H(P) RSPI schema

1-14

이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 Renesas RZ/V2H(P) Serial Peripheral Interface(RSPI)를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/renesas,rzv2h-rspi.yaml#`, maintainer는 Fabrizio Castro입니다.

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

Compatible과 다섯 interrupt

15-37

`compatible`은 RZ/V2H(P)용 `renesas,r9a09g057-rspi`로 고정되고 `reg`는 최대 한 항목입니다.

`interrupts`는 idle, error, communication end, receive-buffer-full, transmit-buffer-empty interrupt 다섯 항목을 이 순서로 받습니다. `interrupt-names`도 정확히 `idle`, `error`, `end`, `rx`, `tx` 순서입니다.

세 clock, 두 reset과 power domain

38-57

`clocks`는 최대 세 항목이며 `clock-names`는 `pclk`, `pclk_sfr`, `tclk` 순서입니다. `resets`는 최대 두 항목이고 `reset-names`는 `presetn`, `tresetn` 순서입니다.

`power-domains`는 최대 한 항목입니다.

필수 속성과 추가 속성 제한

58-72

필수 속성은 `compatible`, `reg`, `interrupts`, `interrupt-names`, `clocks`, `clock-names`, `resets`, `reset-names`, `power-domains`, `#address-cells`, `#size-cells`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.

RZ/V2H RSPI 예제

73-96

예제의 `spi@12800800`은 register 길이 `0x400`과 interrupt `GIC_SPI 111`, `GIC_SPI 112`, `GIC_SPI 113`, `GIC_SPI 504`, `GIC_SPI 505`를 사용합니다. 앞의 두 interrupt는 level-high, 뒤의 세 interrupt는 rising-edge이고 이름은 `idle`, `error`, `end`, `rx`, `tx`입니다.

세 module clock ID는 `0x5a`, `0x5b`, `0x5c`이고 이름은 `pclk`, `pclk_sfr`, `tclk`입니다. Reset ID `0x7f`, `0x80`은 `presetn`, `tresetn`에 대응합니다.

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/renesas-cpg-mssr.h>
spi@12800800 {
    compatible = "renesas,r9a09g057-rspi";

    reg = <0x12800800 0x400>;
    interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
                 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
                 <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>,
                 <GIC_SPI 504 IRQ_TYPE_EDGE_RISING>,
                 <GIC_SPI 505 IRQ_TYPE_EDGE_RISING>;
    interrupt-names = "idle", "error", "end", "rx", "tx";
    clocks = <&cpg CPG_MOD 0x5a>,
             <&cpg CPG_MOD 0x5b>,
             <&cpg CPG_MOD 0x5c>;
    clock-names = "pclk", "pclk_sfr", "tclk";
    resets = <&cpg 0x7f>, <&cpg 0x80>;
    reset-names = "presetn", "tresetn";
    power-domains = <&cpg>;
    #address-cells = <1>;
    #size-cells = <0>;
};