요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019,2020 Lubomir Rintel <[email protected]>
%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 <[email protected]>
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. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, 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·수치·예제 코드를 원형대로 유지합니다.