요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/timer/fsl,imxgpt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Freescale i.MX General Purpose Timer (GPT)
maintainers:
- Sascha Hauer <s.hauer@pengutronix.de>
properties:
compatible:
oneOf:
- const: fsl,imx1-gpt
- const: fsl,imx21-gpt
- items:
- const: fsl,imx27-gpt
- const: fsl,imx21-gpt
- const: fsl,imx31-gpt
- items:
- enum:
- fsl,imx25-gpt
- fsl,imx35-gpt
- fsl,imx50-gpt
- fsl,imx51-gpt
- fsl,imx53-gpt
- fsl,imx6q-gpt
- const: fsl,imx31-gpt
- const: fsl,imx6dl-gpt
- items:
- enum:
- fsl,imx6sl-gpt
- fsl,imx6sx-gpt
- fsl,imx7d-gpt
- fsl,imx8mp-gpt
- fsl,imxrt1050-gpt
- fsl,imxrt1170-gpt
- const: fsl,imx6dl-gpt
- items:
- enum:
- fsl,imx6ul-gpt
- const: fsl,imx6sx-gpt
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 2
items:
- description: SoC GPT ipg clock
- description: SoC GPT per clock
- description: SoC GPT osc per clock
clock-names:
minItems: 2
items:
- const: ipg
- const: per
- const: osc_per
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
allOf:
- if:
properties:
compatible:
contains:
enum:
- fsl,imx6dl-gpt
- fsl,imx6q-gpt
then:
properties:
clocks:
minItems: 2
maxItems: 3
clock-names:
minItems: 2
maxItems: 3
else:
properties:
clocks:
maxItems: 2
clock-names:
maxItems: 2
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/imx27-clock.h>
timer@10003000 {
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10003000 0x1000>;
interrupts = <26>;
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
<&clks IMX27_CLK_PER1_GATE>;
clock-names = "ipg", "per";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Freescale i.MX General Purpose Timer
1-11GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 Freescale i.MX General Purpose Timer(GPT)를 정의합니다. Maintainer는 Sascha Hauer입니다.
SoC compatible 계보와 clock 이름
12-71i.MX1과 i.MX21은 각각 독립 compatible을 사용하고, i.MX27은 `fsl,imx21-gpt` fallback을 둡니다. i.MX25·35·50·51·53·6Q는 `fsl,imx31-gpt`로 fallback합니다. i.MX6SL·6SX·7D·8MP·RT1050·RT1170은 `fsl,imx6dl-gpt`로 fallback하며, i.MX6UL은 `fsl,imx6sx-gpt`로 fallback합니다. `reg`와 `interrupts`는 각각 최대 한 항목입니다. Clock은 최소 `ipg`와 `per` 두 개이며 선택적인 세 번째 clock은 `osc_per`입니다. `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`가 모두 필수입니다.
properties:
compatible:
oneOf:
- const: fsl,imx1-gpt
- const: fsl,imx21-gpt
- items:
- const: fsl,imx27-gpt
- const: fsl,imx21-gpt
- const: fsl,imx31-gpt
- items:
- enum:
- fsl,imx25-gpt
- fsl,imx35-gpt
- fsl,imx50-gpt
- fsl,imx51-gpt
- fsl,imx53-gpt
- fsl,imx6q-gpt
- const: fsl,imx31-gpt
- const: fsl,imx6dl-gpt
- items:
- enum:
- fsl,imx6sl-gpt
- fsl,imx6sx-gpt
- fsl,imx7d-gpt
- fsl,imx8mp-gpt
- fsl,imxrt1050-gpt
- fsl,imxrt1170-gpt
- const: fsl,imx6dl-gpt
- items:
- enum:
- fsl,imx6ul-gpt
- const: fsl,imx6sx-gpt
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
minItems: 2
items:
- description: SoC GPT ipg clock
- description: SoC GPT per clock
- description: SoC GPT osc per clock
clock-names:
minItems: 2
items:
- const: ipg
- const: per
- const: osc_per
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
i.MX6DL·6Q의 선택 osc_per
72-96`compatible`에 `fsl,imx6dl-gpt` 또는 `fsl,imx6q-gpt`가 포함되면 `clocks`와 `clock-names`는 2~3개이므로 선택적인 `osc_per` clock을 사용할 수 있습니다. 다른 compatible에서는 두 항목만 허용되어 `ipg`와 `per`만 사용합니다. 추가 속성은 허용되지 않습니다.
allOf:
- if:
properties:
compatible:
contains:
enum:
- fsl,imx6dl-gpt
- fsl,imx6q-gpt
then:
properties:
clocks:
minItems: 2
maxItems: 3
clock-names:
minItems: 2
maxItems: 3
else:
properties:
clocks:
maxItems: 2
clock-names:
maxItems: 2
additionalProperties: false
i.MX27 GPT1 예제
97-108예제는 `timer@10003000`에 i.MX27 compatible과 i.MX21 fallback, 0x1000-byte register 영역, interrupt 26을 지정합니다. `IMX27_CLK_GPT1_IPG_GATE`와 `IMX27_CLK_PER1_GATE`를 각각 `ipg`, `per`로 연결합니다.
examples:
- |
#include <dt-bindings/clock/imx27-clock.h>
timer@10003000 {
compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10003000 0x1000>;
interrupts = <26>;
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
<&clks IMX27_CLK_PER1_GATE>;
clock-names = "ipg", "per";
};
요약과 해설
fsl,imxgpt.yaml:1-108i.MX GPT의 SoC compatible 계보와 선택 osc_per clock을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.