← Documents Documentation/devicetree/bindings/spi/marvell,mmp2-ssp.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / SPI

PXA2xx SSP SPI controller

PXA2xx SSP의 compatible, DMA, slave ready GPIO와 MMP2 조건을 설명합니다.

Source pathDocumentation/devicetree/bindings/spi/marvell,mmp2-ssp.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

marvell,mmp2-ssp.yaml:1-85

PXA2xx SSP의 compatible, DMA, slave ready GPIO와 MMP2 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·수치·예제 코드를 원형대로 유지합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright 2019,2020 Lubomir Rintel <[email protected]>
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/spi/marvell,mmp2-ssp.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: PXA2xx SSP SPI Controller
9
10 maintainers:
11 - Lubomir Rintel <[email protected]>
12
13 properties:
14 compatible:
15 enum:
16 - marvell,mmp2-ssp
17 - mrvl,ce4100-ssp
18 - mvrl,pxa168-ssp
19 - mrvl,pxa25x-ssp
20 - mvrl,pxa25x-nssp
21 - mrvl,pxa27x-ssp
22 - mrvl,pxa3xx-ssp
23 - mrvl,pxa910-ssp
24
25 interrupts:
26 maxItems: 1
27
28 reg:
29 maxItems: 1
30
31 clocks:
32 maxItems: 1
33
34 dmas:
35 items:
36 - description: Receive DMA
37 - description: Transmit DMA
38
39 dma-names:
40 items:
41 - const: rx
42 - const: tx
43
44 ready-gpios:
45 description: |
46 GPIO used to signal a SPI master that the FIFO is filled and we're
47 ready to service a transfer. Only useful in slave mode.
48 maxItems: 1
49
50 required:
51 - compatible
52 - reg
53 - interrupts
54 - clocks
55
56 dependencies:
57 ready-gpios: [ spi-slave ]
58
59 allOf:
60 - $ref: spi-controller.yaml#
61 - if:
62 properties:
63 compatible:
64 contains:
65 const: marvell,mmp2-ssp
66 then:
67 properties:
68 dmas: false
69 dma-names: false
70
71 unevaluatedProperties: false
72
73 examples:
74 - |
75 #include <dt-bindings/clock/marvell,mmp2.h>
76 spi@d4035000 {
77 compatible = "marvell,mmp2-ssp";
78 #address-cells = <1>;
79 #size-cells = <0>;
80 reg = <0xd4035000 0x1000>;
81 clocks = <&soc_clocks MMP2_CLK_SSP0>;
82 interrupts = <0>;
83 };
84
85 ...
86

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-72

Schema는 `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>;
};