요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/spi-fsl-lpspi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Freescale Low Power SPI (LPSPI) for i.MX
maintainers:
- Shawn Guo <shawnguo@kernel.org>
- Sascha Hauer <s.hauer@pengutronix.de>
- Fabio Estevam <festevam@gmail.com>
allOf:
- $ref: /schemas/spi/spi-controller.yaml#
properties:
compatible:
oneOf:
- enum:
- fsl,imx7ulp-spi
- fsl,imx8qxp-spi
- nxp,s32g2-lpspi
- items:
- enum:
- fsl,imx8ulp-spi
- fsl,imx93-spi
- fsl,imx94-spi
- fsl,imx95-spi
- const: fsl,imx7ulp-spi
- items:
- const: nxp,s32g3-lpspi
- const: nxp,s32g2-lpspi
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: SoC SPI per clock
- description: SoC SPI ipg clock
clock-names:
items:
- const: per
- const: ipg
dmas:
items:
- description: TX DMA Channel
- description: RX DMA Channel
dma-names:
items:
- const: tx
- const: rx
fsl,spi-only-use-cs1-sel:
description:
spi common code does not support use of CS signals discontinuously.
i.MX8DXL-EVK board only uses CS1 without using CS0. Therefore, add
this property to re-config the chipselect value in the LPSPI driver.
type: boolean
num-cs:
description:
number of chip selects.
minimum: 1
maximum: 2
default: 1
power-domains:
maxItems: 1
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/imx7ulp-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
spi@40290000 {
compatible = "fsl,imx7ulp-spi";
reg = <0x40290000 0x10000>;
interrupt-parent = <&intc>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7ULP_CLK_LPSPI2>,
<&clks IMX7ULP_CLK_DUMMY>;
clock-names = "per", "ipg";
spi-slave;
fsl,spi-only-use-cs1-sel;
num-cs = <2>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
i.MX Low Power SPI schema
1-16이 GPL-2.0-only 또는 BSD-2-Clause YAML schema는 i.MX용 Freescale Low Power SPI(LPSPI)를 정의합니다. Schema ID는 `http://devicetree.org/schemas/spi/spi-fsl-lpspi.yaml#`이며 maintainer는 Shawn Guo, Sascha Hauer, Fabio Estevam입니다.
공통 `/schemas/spi/spi-controller.yaml#` 속성을 상속합니다.
i.MX와 S32G compatible
17-34단독 compatible은 `fsl,imx7ulp-spi`, `fsl,imx8qxp-spi`, `nxp,s32g2-lpspi`입니다. `fsl,imx8ulp-spi`, `fsl,imx93-spi`, `fsl,imx94-spi`, `fsl,imx95-spi`는 첫 항목에 두고 fallback `fsl,imx7ulp-spi`를 둘째 항목에 둡니다.
S32G3는 `nxp,s32g3-lpspi` 뒤에 fallback `nxp,s32g2-lpspi`를 둡니다.
Register, interrupt, clock과 DMA
35-60`reg`와 `interrupts`는 각각 최대 한 항목입니다. `clocks`는 SoC SPI peripheral clock과 IPG clock 두 항목이고 `clock-names`는 `per`, `ipg` 순서입니다.
`dmas`는 TX와 RX channel 두 항목이며 `dma-names`는 `tx`, `rx` 순서입니다.
CS1-only board와 chip-select 수
61-77Boolean `fsl,spi-only-use-cs1-sel`은 common SPI code가 CS signal의 불연속 사용을 지원하지 않는 문제를 보완합니다. i.MX8DXL-EVK처럼 CS0 없이 CS1만 사용하는 board에서 LPSPI driver의 chip-select 값을 재구성합니다.
`num-cs` 범위는 1~2이고 기본값은 1입니다. `power-domains`는 최대 한 항목입니다.
필수 속성과 추가 속성 제한
78-86필수 속성은 `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`입니다. `unevaluatedProperties: false`로 평가되지 않은 추가 속성을 금지합니다.
i.MX7ULP LPSPI slave 예제
87-103예제의 `spi@40290000`은 `fsl,imx7ulp-spi`, GIC SPI 28, `IMX7ULP_CLK_LPSPI2` peripheral clock과 dummy IPG clock을 사용합니다. `spi-slave`, CS1-only option을 활성화하고 chip-select 수는 2입니다.
#include <dt-bindings/clock/imx7ulp-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
spi@40290000 {
compatible = "fsl,imx7ulp-spi";
reg = <0x40290000 0x10000>;
interrupt-parent = <&intc>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX7ULP_CLK_LPSPI2>,
<&clks IMX7ULP_CLK_DUMMY>;
clock-names = "per", "ipg";
spi-slave;
fsl,spi-only-use-cs1-sel;
num-cs = <2>;
};
요약과 해설
spi-fsl-lpspi.yaml:1-103i.MX LPSPI의 compatible, clock·DMA와 CS1-only board option을 설명합니다. 접을 수 있는 영어 원문 전체와 줄 좌표를 보존하고, 한국어 전문 번역에서는 compatible·property·symbol·source path·timing·수치·예제 코드를 원형대로 유지합니다.