← Documents Documentation/devicetree/bindings/spi/renesas,rzv2m-csi.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPI

Renesas RZ/V2M CSI controller

RZ/V2M CSI의 CSICLK·PCLK와 target mode SS 비사용 조건을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

renesas,rzv2m-csi.yaml:1-79

RZ/V2M CSI의 CSICLK·PCLK와 target mode SS 비사용 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 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,rzv2m-csi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas RZ/V2M Clocked Serial Interface (CSI)
8
9 maintainers:
10 - Fabrizio Castro <fabrizio.castro.jz@renesas.com>
11 - Geert Uytterhoeven <geert+renesas@glider.be>
12
13 allOf:
14 - $ref: spi-controller.yaml#
15
16 properties:
17 compatible:
18 const: renesas,rzv2m-csi
19
20 reg:
21 maxItems: 1
22
23 interrupts:
24 maxItems: 1
25
26 clocks:
27 items:
28 - description: The clock used to generate the output clock (CSICLK)
29 - description: Internal clock to access the registers (PCLK)
30
31 clock-names:
32 items:
33 - const: csiclk
34 - const: pclk
35
36 resets:
37 maxItems: 1
38
39 power-domains:
40 maxItems: 1
41
42 renesas,csi-no-ss:
43 type: boolean
44 description:
45 The CSI Slave Selection (SS) pin won't be used to enable transmission and
46 reception. Only available when in target mode.
47
48 required:
49 - compatible
50 - reg
51 - interrupts
52 - clocks
53 - clock-names
54 - resets
55 - power-domains
56 - '#address-cells'
57 - '#size-cells'
58
59 dependencies:
60 renesas,csi-no-ss: [ spi-slave ]
61
62 unevaluatedProperties: false
63
64 examples:
65 - |
66 #include <dt-bindings/interrupt-controller/arm-gic.h>
67 #include <dt-bindings/clock/r9a09g011-cpg.h>
68 csi4: spi@a4020200 {
69 compatible = "renesas,rzv2m-csi";
70 reg = <0xa4020200 0x80>;
71 interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>;
72 clocks = <&cpg CPG_MOD R9A09G011_CSI4_CLK>,
73 <&cpg CPG_MOD R9A09G011_CPERI_GRPH_PCLK>;
74 clock-names = "csiclk", "pclk";
75 resets = <&cpg R9A09G011_CSI_GPH_PRESETN>;
76 power-domains = <&cpg>;
77 #address-cells = <1>;
78 #size-cells = <0>;
79 };
80

3. 한국어 전문 번역

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

RZ/V2M CSI schema

1-15

이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 Renesas RZ/V2M Clocked Serial Interface(CSI)를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/renesas,rzv2m-csi.yaml#`이며 maintainer는 Fabrizio Castro와 Geert Uytterhoeven입니다.

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

Compatible, register, interrupt와 clock

16-35

`compatible`은 `renesas,rzv2m-csi`로 고정됩니다. `reg`와 `interrupts`는 각각 최대 한 항목입니다.

`clocks`는 output clock CSICLK를 생성하는 clock과 register 접근용 internal PCLK 두 항목입니다. `clock-names`는 같은 순서로 `csiclk`, `pclk`입니다.

Reset, power domain과 SS 비사용 mode

36-47

`resets`와 `power-domains`는 각각 최대 한 항목입니다. Boolean `renesas,csi-no-ss`는 CSI Slave Selection(SS) pin을 송수신 활성화에 사용하지 않도록 하며 target mode에서만 사용할 수 있습니다.

필수 속성과 dependency

48-63

필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`, `resets`, `power-domains`, `#address-cells`, `#size-cells`입니다.

`renesas,csi-no-ss`를 지정하면 dependency에 따라 `spi-slave`도 반드시 지정해야 합니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.

RZ/V2M CSI4 예제

64-79

예제는 `csi4: spi@a4020200`에 register `<0xa4020200 0x80>`, GIC SPI 230, `R9A09G011_CSI4_CLK`와 `R9A09G011_CPERI_GRPH_PCLK`, `R9A09G011_CSI_GPH_PRESETN` reset과 CPG power domain을 연결합니다.

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/r9a09g011-cpg.h>
csi4: spi@a4020200 {
    compatible = "renesas,rzv2m-csi";
    reg = <0xa4020200 0x80>;
    interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>;
    clocks = <&cpg CPG_MOD R9A09G011_CSI4_CLK>,
             <&cpg CPG_MOD R9A09G011_CPERI_GRPH_PCLK>;
    clock-names = "csiclk", "pclk";
    resets = <&cpg R9A09G011_CSI_GPH_PRESETN>;
    power-domains = <&cpg>;
    #address-cells = <1>;
    #size-cells = <0>;
};