← Documents Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPI

Xilinx ZynqMP GQSPI controller

ZynqMP·Versal QSPI의 clock과 compatible별 register 영역 수를 설명합니다.

Source pathDocumentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

spi-zynqmp-qspi.yaml:1-81

ZynqMP·Versal QSPI의 clock과 compatible별 register 영역 수를 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·symbol·source path·URL·수치·예제 코드를 원형대로 유지합니다.

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/spi-zynqmp-qspi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Xilinx Zynq UltraScale+ MPSoC GQSPI controller
8
9 maintainers:
10 - Michal Simek <[email protected]>
11
12 properties:
13 compatible:
14 enum:
15 - xlnx,versal-qspi-1.0
16 - xlnx,zynqmp-qspi-1.0
17
18 reg:
19 minItems: 1
20 maxItems: 2
21
22 interrupts:
23 maxItems: 1
24
25 clock-names:
26 items:
27 - const: ref_clk
28 - const: pclk
29
30 clocks:
31 maxItems: 2
32
33 iommus:
34 maxItems: 1
35
36 power-domains:
37 maxItems: 1
38
39 required:
40 - compatible
41 - reg
42 - interrupts
43 - clock-names
44 - clocks
45
46 unevaluatedProperties: false
47
48 allOf:
49 - $ref: spi-controller.yaml#
50
51 - if:
52 properties:
53 compatible:
54 contains:
55 const: xlnx,zynqmp-qspi-1.0
56 then:
57 properties:
58 reg:
59 minItems: 2
60
61 else:
62 properties:
63 reg:
64 maxItems: 1
65
66 examples:
67 - |
68 soc {
69 #address-cells = <2>;
70 #size-cells = <2>;
71
72 qspi: spi@ff0f0000 {
73 compatible = "xlnx,zynqmp-qspi-1.0";
74 clocks = <&zynqmp_clk 53>, <&zynqmp_clk 82>;
75 clock-names = "ref_clk", "pclk";
76 interrupts = <0 15 4>;
77 interrupt-parent = <&gic>;
78 reg = <0x0 0xff0f0000 0x0 0x1000>,
79 <0x0 0xc0000000 0x0 0x8000000>;
80 };
81 };
82

3. 한국어 전문 번역

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

Zynq UltraScale+ MPSoC GQSPI

1-11

이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 Xilinx Zynq UltraScale+ MPSoC GQSPI controller를 정의합니다. Maintainer는 Michal Simek입니다.

Compatible, clock과 관리 자원

12-38

`compatible`은 `xlnx,versal-qspi-1.0` 또는 `xlnx,zynqmp-qspi-1.0`입니다. `reg`는 1~2개, `interrupts`는 최대 한 항목입니다.

`clock-names`는 reference clock `ref_clk`, peripheral clock `pclk` 순서이고 `clocks`는 최대 두 항목입니다. `iommus`와 `power-domains`는 각각 최대 한 항목입니다.

필수 속성과 추가 속성 제한

39-47

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

Compatible별 register 영역 수

48-65

공통 `spi-controller.yaml#`을 상속합니다. Compatible에 `xlnx,zynqmp-qspi-1.0`이 포함되면 `reg`는 최소 두 항목이어야 합니다. 그렇지 않은 경우, 즉 Versal QSPI에서는 `reg`가 최대 한 항목입니다.

ZynqMP GQSPI controller와 두 register 영역

66-81

예제의 `qspi: spi@ff0f0000`은 `xlnx,zynqmp-qspi-1.0`, clock 53·82를 `ref_clk`·`pclk`로 사용하고 GIC interrupt `<0 15 4>`를 연결합니다. `reg`는 0xff0f0000 controller 영역과 0xc0000000에서 시작하는 0x8000000 크기 memory window 두 항목입니다.

soc {
  #address-cells = <2>;
  #size-cells = <2>;

  qspi: spi@ff0f0000 {
    compatible = "xlnx,zynqmp-qspi-1.0";
    clocks = <&zynqmp_clk 53>, <&zynqmp_clk 82>;
    clock-names = "ref_clk", "pclk";
    interrupts = <0 15 4>;
    interrupt-parent = <&gic>;
    reg = <0x0 0xff0f0000 0x0 0x1000>,
          <0x0 0xc0000000 0x0 0x8000000>;
  };
};