요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/mediatek,spi-mtk-nor.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Serial NOR flash controller for MediaTek ARM SoCs
maintainers:
- Bayi Cheng <bayi.cheng@mediatek.com>
- Chuanhong Guo <gch981213@gmail.com>
description: |
This spi controller support single, dual, or quad mode transfer for
SPI NOR flash. There should be only one spi slave device following
generic spi bindings. It's not recommended to use this controller
for devices other than SPI NOR flash due to limited transfer
capability of this controller.
allOf:
- $ref: /schemas/spi/spi-controller.yaml#
properties:
compatible:
oneOf:
- enum:
- mediatek,mt8173-nor
- mediatek,mt8186-nor
- mediatek,mt8192-nor
- items:
- enum:
- mediatek,mt2701-nor
- mediatek,mt2712-nor
- mediatek,mt7622-nor
- mediatek,mt7623-nor
- mediatek,mt7629-nor
- mediatek,mt8195-nor
- const: mediatek,mt8173-nor
- items:
- enum:
- mediatek,mt8188-nor
- const: mediatek,mt8186-nor
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 2
items:
- description: clock used for spi bus
- description: clock used for controller
- description: clock used for nor dma bus. this depends on hardware
design, so this is optional.
- description: clock used for controller axi slave bus.
this depends on hardware design, so it is optional.
clock-names:
minItems: 2
items:
- const: spi
- const: sf
- const: axi
- const: axi_s
required:
- compatible
- reg
- clocks
- clock-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/mt8173-clk.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
nor_flash: spi@1100d000 {
compatible = "mediatek,mt8173-nor";
reg = <0 0x1100d000 0 0xe0>;
interrupts = <1>;
clocks = <&pericfg CLK_PERI_SPI>, <&topckgen CLK_TOP_SPINFI_IFR_SEL>,
<&pericfg CLK_PERI_NFI>;
clock-names = "spi", "sf", "axi";
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
};
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
MediaTek Serial NOR controller
1-22이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 MediaTek ARM SoC의 Serial NOR flash controller를 정의합니다. Maintainer는 Bayi Cheng과 Chuanhong Guo이고 schema ID는 `http://devicetree.org/schemas/spi/mediatek,spi-mtk-nor.yaml#`입니다.
Controller는 SPI NOR flash용 single, dual, quad mode 전송을 지원합니다. Generic SPI binding을 따르는 slave는 하나만 있어야 합니다. 전송 능력이 제한적이므로 SPI NOR flash 이외의 장치에는 이 controller 사용을 권장하지 않습니다.
`/schemas/spi/spi-controller.yaml#`의 공통 속성을 상속합니다.
NOR SoC compatible 조합
23-43`mediatek,mt8173-nor`, `mediatek,mt8186-nor`, `mediatek,mt8192-nor`는 단일 compatible로 사용할 수 있습니다.
`mediatek,mt2701-nor`, `mediatek,mt2712-nor`, `mediatek,mt7622-nor`, `mediatek,mt7623-nor`, `mediatek,mt7629-nor`, `mediatek,mt8195-nor`는 첫 SoC 문자열 다음에 fallback `mediatek,mt8173-nor`를 둡니다. `mediatek,mt8188-nor`는 `mediatek,mt8186-nor`를 fallback으로 사용합니다.
Register, interrupt와 NOR clock
44-67`reg`와 `interrupts`는 각각 최대 한 항목입니다. `clocks`는 최소 두 항목으로 SPI bus clock과 controller clock을 지정합니다. Hardware 설계에 따라 NOR DMA bus clock과 controller AXI slave bus clock을 선택적으로 추가할 수 있습니다.
`clock-names`는 같은 순서로 `spi`, `sf`, 선택적 `axi`, 선택적 `axi_s`를 사용합니다.
필수 속성과 추가 속성 제한
68-75필수 속성은 `compatible`, `reg`, `clocks`, `clock-names`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.
MT8173 NOR flash 예제
76-99예제는 address `0x1100d000`의 MT8173 NOR controller에 interrupt와 `spi`, `sf`, `axi` clock을 연결하고 chip-select 0에 `jedec,spi-nor` flash를 둡니다.
#include <dt-bindings/clock/mt8173-clk.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
nor_flash: spi@1100d000 {
compatible = "mediatek,mt8173-nor";
reg = <0 0x1100d000 0 0xe0>;
interrupts = <1>;
clocks = <&pericfg CLK_PERI_SPI>, <&topckgen CLK_TOP_SPINFI_IFR_SEL>,
<&pericfg CLK_PERI_NFI>;
clock-names = "spi", "sf", "axi";
#address-cells = <1>;
#size-cells = <0>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
};
};
};
요약과 해설
mediatek,spi-mtk-nor.yaml:1-99MediaTek Serial NOR controller의 전송 제약, compatible과 선택적 bus clock을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·clock 순서·수치·예제 코드를 원형대로 유지합니다.