요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/realtek,rtl9301-snand.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: SPI-NAND Flash Controller for Realtek RTL9300 SoCs
maintainers:
- Chris Packham <chris.packham@alliedtelesis.co.nz>
description:
The Realtek RTL9300 SoCs have a built in SPI-NAND controller. It supports
typical SPI-NAND page cache operations in single, dual or quad IO mode.
properties:
compatible:
oneOf:
- items:
- enum:
- realtek,rtl9302b-snand
- realtek,rtl9302c-snand
- realtek,rtl9303-snand
- const: realtek,rtl9301-snand
- const: realtek,rtl9301-snand
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
maxItems: 1
required:
- compatible
- reg
- interrupts
- clocks
allOf:
- $ref: /schemas/spi/spi-controller.yaml#
unevaluatedProperties: false
examples:
- |
spi@1a400 {
compatible = "realtek,rtl9302c-snand", "realtek,rtl9301-snand";
reg = <0x1a400 0x44>;
interrupt-parent = <&intc>;
interrupts = <19>;
clocks = <&lx_clk>;
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
compatible = "spi-nand";
reg = <0>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
RTL9300 SPI-NAND controller 개요
1-15이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 Realtek RTL9300 SoC의 SPI-NAND flash controller를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/realtek,rtl9301-snand.yaml#`, maintainer는 Chris Packham입니다.
RTL9300 SoC에는 SPI-NAND controller가 내장되어 있으며 single, dual 또는 quad I/O mode의 일반적인 SPI-NAND page-cache operation을 지원합니다.
RTL9301 fallback compatible
16-26RTL9302B, RTL9302C, RTL9303은 각각 `realtek,rtl9302b-snand`, `realtek,rtl9302c-snand`, `realtek,rtl9303-snand` 중 하나를 첫 항목에 두고 둘째 항목에 fallback `realtek,rtl9301-snand`를 둡니다. RTL9301 자체는 `realtek,rtl9301-snand` 한 항목만 사용할 수 있습니다.
Register, interrupt와 clock
27-35`reg`, `interrupts`, `clocks`는 각각 최대 한 항목입니다.
필수 속성과 공통 SPI schema
36-46필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`입니다. 공통 `/schemas/spi/spi-controller.yaml#`을 상속하고 `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.
RTL9302C SPI-NAND 예제
47-62예제는 `spi@1a400`에 `realtek,rtl9302c-snand`와 fallback `realtek,rtl9301-snand`, register `<0x1a400 0x44>`, interrupt 19와 `lx_clk`를 지정합니다. Chip select 0에는 `spi-nand` flash child가 있습니다.
spi@1a400 {
compatible = "realtek,rtl9302c-snand", "realtek,rtl9301-snand";
reg = <0x1a400 0x44>;
interrupt-parent = <&intc>;
interrupts = <19>;
clocks = <&lx_clk>;
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
compatible = "spi-nand";
reg = <0>;
};
};
요약과 해설
realtek,rtl9301-snand.yaml:1-62RTL9300 SPI-NAND의 I/O mode, fallback compatible과 flash child 예제를 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·interrupt·clock/DMA/reset 순서·수치·조건부 제약·예제 코드를 원형대로 유지합니다.