요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/mxicy,mx25f0a-spi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Macronix SPI controller
maintainers:
- Miquel Raynal <[email protected]>
allOf:
- $ref: spi-controller.yaml#
properties:
compatible:
const: mxicy,mx25f0a-spi
reg:
minItems: 2
maxItems: 2
reg-names:
items:
- const: regs
- const: dirmap
interrupts:
maxItems: 1
clocks:
minItems: 3
maxItems: 3
clock-names:
items:
- const: send_clk
- const: send_dly_clk
- const: ps_clk
nand-ecc-engine:
description: NAND ECC engine used by the SPI controller in order to perform
on-the-fly correction when using a SPI-NAND memory.
$ref: /schemas/types.yaml#/definitions/phandle
required:
- compatible
- reg
- reg-names
- clocks
- clock-names
unevaluatedProperties: false
examples:
- |
spi@43c30000 {
compatible = "mxicy,mx25f0a-spi";
reg = <0x43c30000 0x10000>, <0xa0000000 0x20000000>;
reg-names = "regs", "dirmap";
clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 18>;
clock-names = "send_clk", "send_dly_clk", "ps_clk";
#address-cells = <1>;
#size-cells = <0>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Macronix SPI controller schema
1-14이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 Macronix SPI controller를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/mxicy,mx25f0a-spi.yaml#`, maintainer는 Miquel Raynal입니다.
`spi-controller.yaml#`의 공통 SPI controller 속성을 상속합니다.
Register, clock와 NAND ECC
15-45`compatible`은 `mxicy,mx25f0a-spi`입니다. `reg`는 정확히 두 항목이고 `reg-names`는 순서대로 controller register용 `regs`, direct mapping window용 `dirmap`입니다. `interrupts`는 최대 한 항목입니다.
`clocks`는 정확히 세 항목이고 `clock-names`는 순서대로 `send_clk`, `send_dly_clk`, `ps_clk`입니다.
선택적인 `nand-ecc-engine`은 SPI-NAND memory를 사용할 때 on-the-fly correction을 수행할 NAND ECC engine phandle입니다.
필수 속성과 schema 제한
46-54필수 속성은 `compatible`, `reg`, `reg-names`, `clocks`, `clock-names`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.
MX25F0A controller 예제
55-65예제는 register 영역 `0x43c30000`과 direct-map 영역 `0xa0000000`, 세 clock과 이름을 선언합니다.
spi@43c30000 {
compatible = "mxicy,mx25f0a-spi";
reg = <0x43c30000 0x10000>, <0xa0000000 0x20000000>;
reg-names = "regs", "dirmap";
clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 18>;
clock-names = "send_clk", "send_dly_clk", "ps_clk";
#address-cells = <1>;
#size-cells = <0>;
};
요약과 해설
mxicy,mx25f0a-spi.yaml:1-65Macronix controller의 register window, 세 clock과 NAND ECC engine을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·interrupt/DMA 순서·수치·예제 코드를 원형대로 유지합니다.