요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019,2020 Lubomir Rintel <lkundrak@v3.sk>
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: PXA2xx SSP SPI Controller
maintainers:
- Lubomir Rintel <lkundrak@v3.sk>
properties:
compatible:
enum:
- marvell,mmp2-ssp
- mrvl,ce4100-ssp
- mvrl,pxa168-ssp
- mrvl,pxa25x-ssp
- mvrl,pxa25x-nssp
- mrvl,pxa27x-ssp
- mrvl,pxa3xx-ssp
- mrvl,pxa910-ssp
interrupts:
maxItems: 1
reg:
maxItems: 1
clocks:
maxItems: 1
dmas:
items:
- description: Receive DMA
- description: Transmit DMA
dma-names:
items:
- const: rx
- const: tx
ready-gpios:
description: |
GPIO used to signal a SPI master that the FIFO is filled and we're
ready to service a transfer. Only useful in slave mode.
maxItems: 1
required:
- compatible
- reg
- interrupts
- clocks
dependencies:
ready-gpios: [ spi-slave ]
allOf:
- $ref: spi-controller.yaml#
- if:
properties:
compatible:
contains:
const: marvell,mmp2-ssp
then:
properties:
dmas: false
dma-names: false
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/marvell,mmp2.h>
spi@d4035000 {
compatible = "marvell,mmp2-ssp";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xd4035000 0x1000>;
clocks = <&soc_clocks MMP2_CLK_SSP0>;
interrupts = <0>;
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
PXA2xx SSP SPI schema
1-12이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 PXA2xx SSP SPI controller를 정의합니다. 저작권자와 maintainer는 Lubomir Rintel이며 schema ID는 `http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#`입니다.
Compatible, resource, DMA와 ready GPIO
13-48허용 compatible은 `marvell,mmp2-ssp`, `mrvl,ce4100-ssp`, `mvrl,pxa168-ssp`, `mrvl,pxa25x-ssp`, `mvrl,pxa25x-nssp`, `mrvl,pxa27x-ssp`, `mrvl,pxa3xx-ssp`, `mrvl,pxa910-ssp`입니다. `mrvl`과 `mvrl` vendor prefix 철자는 원문 schema 그대로 보존합니다.
`interrupts`, `reg`, `clocks`는 각각 항목 하나만 허용합니다. `dmas`의 두 항목은 receive와 transmit DMA이고 `dma-names`는 같은 순서로 `rx`, `tx`입니다.
`ready-gpios`는 FIFO가 채워져 전송을 처리할 준비가 되었음을 SPI master에 알리는 GPIO입니다. Slave mode에서만 유용하며 항목 하나만 허용합니다.
필수 속성과 slave mode 의존성
49-58필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`입니다. `ready-gpios`를 사용하면 `spi-slave`도 반드시 선언해야 합니다.
MMP2의 DMA 금지 조건
59-72Schema는 `spi-controller.yaml#`을 상속합니다. `compatible` 목록에 `marvell,mmp2-ssp`가 포함되면 `dmas`와 `dma-names`는 사용할 수 없습니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.
MMP2 SSP0 예제
73-85예제는 address `0xd4035000`, register 길이 `0x1000`, `MMP2_CLK_SSP0` clock과 interrupt 0을 사용하는 MMP2 SSP controller를 선언합니다.
#include <dt-bindings/clock/marvell,mmp2.h>
spi@d4035000 {
compatible = "marvell,mmp2-ssp";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xd4035000 0x1000>;
clocks = <&soc_clocks MMP2_CLK_SSP0>;
interrupts = <0>;
};
요약과 해설
marvell,mmp2-ssp.yaml:1-85PXA2xx SSP의 compatible, DMA, slave ready GPIO와 MMP2 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·수치·예제 코드를 원형대로 유지합니다.