요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/socionext,synquacer-spi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Socionext SynQuacer HS-SPI Controller
maintainers:
- Masahisa Kojima <[email protected]>
- Jassi Brar <[email protected]>
allOf:
- $ref: spi-controller.yaml#
properties:
compatible:
const: socionext,synquacer-spi
reg:
maxItems: 1
clocks:
minItems: 1
items:
- description: core clock
- description: rate clock
clock-names:
minItems: 1
items:
- const: iHCLK
- const: iPCLK
interrupts:
items:
- description: Receive Interrupt
- description: Transmit Interrupt
- description: Fault Interrupt
socionext,use-rtm:
type: boolean
description: Enable using "retimed clock" for RX
socionext,set-aces:
type: boolean
description: Enable same active clock edges field to be set
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
spi@ff110000 {
compatible = "socionext,synquacer-spi";
reg = <0xff110000 0x1000>;
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_hsspi>;
clock-names = "iHCLK";
socionext,use-rtm;
socionext,set-aces;
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
SynQuacer HS-SPI schema
1-15이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 Socionext SynQuacer HS-SPI controller를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/socionext,synquacer-spi.yaml#`이며 maintainer는 Masahisa Kojima와 Jassi Brar입니다.
공통 `spi-controller.yaml#` 속성을 상속합니다.
Compatible, register와 두 clock
16-34`compatible`은 `socionext,synquacer-spi`로 고정되고 `reg`는 최대 한 항목입니다.
`clocks`는 최소 한 항목이며 core clock과 선택적인 rate clock 순서입니다. `clock-names`도 최소 한 항목이고 같은 순서로 `iHCLK`, `iPCLK`입니다.
세 interrupt와 RX clock option
35-48`interrupts`는 receive, transmit, fault interrupt 세 항목을 순서대로 받습니다. Boolean `socionext,use-rtm`은 RX에 retimed clock을 사용하도록 하고, `socionext,set-aces`는 same active clock edges field를 설정하도록 합니다.
필수 속성과 추가 속성 제한
49-57필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.
SynQuacer HS-SPI 예제
58-73예제의 `spi@ff110000`은 register 길이 `0x1000`, receive·transmit·fault용 `GIC_SPI 160`, `GIC_SPI 161`, `GIC_SPI 162`, `iHCLK` core clock을 사용하고 두 Boolean option을 모두 활성화합니다. 마지막 `...`는 YAML document 종료 표기입니다.
#include <dt-bindings/interrupt-controller/arm-gic.h>
spi@ff110000 {
compatible = "socionext,synquacer-spi";
reg = <0xff110000 0x1000>;
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_hsspi>;
clock-names = "iHCLK";
socionext,use-rtm;
socionext,set-aces;
};
요약과 해설
socionext,synquacer-spi.yaml:1-73SynQuacer HS-SPI의 core/rate clock, 세 interrupt와 RX retimed-clock option을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·phandle·interrupt·clock/DMA/reset 순서·수치·조건부 제약·예제 코드를 원형대로 유지합니다.