← Documents Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPI

NVIDIA Tegra20 SFLASH controller

Tegra20 SFLASH의 module clock·reset, DMA와 최대 속도를 설명합니다.

Source pathDocumentation/devicetree/bindings/spi/nvidia,tegra20-sflash.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

nvidia,tegra20-sflash.yaml:1-81

Tegra20 SFLASH의 module clock·reset, DMA와 최대 속도를 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·clock/reset/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/nvidia,tegra20-sflash.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NVIDIA Tegra20 SFLASH controller
8
9 maintainers:
10 - Thierry Reding <[email protected]>
11 - Jon Hunter <[email protected]>
12
13 properties:
14 compatible:
15 const: nvidia,tegra20-sflash
16
17 reg:
18 maxItems: 1
19
20 interrupts:
21 maxItems: 1
22
23 clocks:
24 items:
25 - description: module clock
26
27 resets:
28 items:
29 - description: module reset
30
31 reset-names:
32 items:
33 - const: spi
34
35 dmas:
36 items:
37 - description: DMA channel used for reception
38 - description: DMA channel used for transmission
39
40 dma-names:
41 items:
42 - const: rx
43 - const: tx
44
45 spi-max-frequency:
46 description: Maximum SPI clocking speed of the controller in Hz.
47 $ref: /schemas/types.yaml#/definitions/uint32
48
49 allOf:
50 - $ref: spi-controller.yaml
51
52 unevaluatedProperties: false
53
54 required:
55 - compatible
56 - reg
57 - interrupts
58 - clocks
59 - resets
60 - reset-names
61 - dmas
62 - dma-names
63
64 examples:
65 - |
66 #include <dt-bindings/clock/tegra20-car.h>
67 #include <dt-bindings/interrupt-controller/arm-gic.h>
68
69 spi@7000c380 {
70 compatible = "nvidia,tegra20-sflash";
71 reg = <0x7000c380 0x80>;
72 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
73 spi-max-frequency = <25000000>;
74 #address-cells = <1>;
75 #size-cells = <0>;
76 clocks = <&tegra_car TEGRA20_CLK_SPI>;
77 resets = <&tegra_car 43>;
78 reset-names = "spi";
79 dmas = <&apbdma 11>, <&apbdma 11>;
80 dma-names = "rx", "tx";
81 };
82

3. 한국어 전문 번역

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

Tegra20 SFLASH schema

1-12

이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 NVIDIA Tegra20 SFLASH controller를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/nvidia,tegra20-sflash.yaml#`이고 maintainer는 Thierry Reding과 Jon Hunter입니다.

Resource, reset, DMA와 최대 속도

13-48

`compatible`은 `nvidia,tegra20-sflash`입니다. `reg`와 `interrupts`는 각각 최대 한 항목이고 `clocks`의 단일 항목은 module clock입니다.

`resets`의 단일 항목은 module reset이고 `reset-names`는 `spi`입니다. `dmas`의 두 항목은 reception과 transmission channel이며 `dma-names`는 순서대로 `rx`, `tx`입니다.

`spi-max-frequency`는 controller의 최대 SPI clock speed를 Hz 단위 `uint32`로 지정합니다.

공통 schema와 필수 속성

49-63

`spi-controller.yaml`을 상속하고 `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.

필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`, `resets`, `reset-names`, `dmas`, `dma-names`입니다.

Tegra20 SFLASH 예제

64-81

예제는 address `0x7000c380`, GIC SPI interrupt 39, `TEGRA20_CLK_SPI` clock과 reset 43을 사용합니다. 최대 속도는 25MHz이고 APB DMA channel 11을 RX와 TX에 연결합니다.

#include <dt-bindings/clock/tegra20-car.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>

spi@7000c380 {
    compatible = "nvidia,tegra20-sflash";
    reg = <0x7000c380 0x80>;
    interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
    spi-max-frequency = <25000000>;
    #address-cells = <1>;
    #size-cells = <0>;
    clocks = <&tegra_car TEGRA20_CLK_SPI>;
    resets = <&tegra_car 43>;
    reset-names = "spi";
    dmas = <&apbdma 11>, <&apbdma 11>;
    dma-names = "rx", "tx";
};