요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/nxp,tpm-timer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP Low Power Timer/Pulse Width Modulation Module (TPM)
maintainers:
- Dong Aisheng <[email protected]>
description: |
The Timer/PWM Module (TPM) supports input capture, output compare,
and the generation of PWM signals to control electric motor and power
management applications. The counter, compare and capture registers
are clocked by an asynchronous clock that can remain enabled in low
power modes. TPM can support global counter bus where one TPM drives
the counter bus for the others, provided bit width is the same.
properties:
compatible:
oneOf:
- const: fsl,imx7ulp-tpm
- items:
- const: fsl,imx8ulp-tpm
- const: fsl,imx7ulp-tpm
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: SoC TPM ipg clock
- description: SoC TPM per clock
clock-names:
items:
- const: ipg
- const: per
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/imx7ulp-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
timer@40260000 {
compatible = "fsl,imx7ulp-tpm";
reg = <0x40260000 0x1000>;
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>,
<&pcc2 IMX7ULP_CLK_LPTPM5>;
clock-names = "ipg", "per";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
NXP Low Power Timer/PWM Module
1-19GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 NXP Low Power Timer/Pulse Width Modulation Module(TPM)을 정의합니다. TPM은 input capture, output compare와 전기 모터 및 전력 관리 응용을 제어하는 PWM signal 생성을 지원합니다. Counter, compare, capture register는 low power mode에서도 활성 상태를 유지할 수 있는 asynchronous clock으로 구동됩니다. Bit width가 같다면 한 TPM이 나머지 TPM을 위한 global counter bus를 구동할 수도 있습니다. Maintainer는 Dong Aisheng입니다.
i.MX7ULP·i.MX8ULP와 두 clock
20-52`fsl,imx7ulp-tpm`은 단독 compatible이고, i.MX8ULP는 `fsl,imx8ulp-tpm` 뒤에 `fsl,imx7ulp-tpm` fallback을 둡니다. `reg`와 `interrupts`는 각각 최대 한 항목입니다. `clocks`는 SoC TPM ipg clock과 per clock 두 개이며 `clock-names`도 `ipg`, `per` 순서입니다. `compatible`, `reg`, `interrupts`, `clocks`, `clock-names`가 필수이고 추가 속성은 허용되지 않습니다.
properties:
compatible:
oneOf:
- const: fsl,imx7ulp-tpm
- items:
- const: fsl,imx8ulp-tpm
- const: fsl,imx7ulp-tpm
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: SoC TPM ipg clock
- description: SoC TPM per clock
clock-names:
items:
- const: ipg
- const: per
required:
- compatible
- reg
- interrupts
- clocks
- clock-names
additionalProperties: false
i.MX7ULP LPTPM5 예제
53-65예제는 `timer@40260000`에 0x1000-byte register 영역과 GIC SPI 22 level-high interrupt를 지정합니다. `scg1`의 `IMX7ULP_CLK_NIC1_BUS_DIV`를 `ipg`, `pcc2`의 `IMX7ULP_CLK_LPTPM5`를 `per` clock으로 연결합니다.
examples:
- |
#include <dt-bindings/clock/imx7ulp-clock.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
timer@40260000 {
compatible = "fsl,imx7ulp-tpm";
reg = <0x40260000 0x1000>;
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>,
<&pcc2 IMX7ULP_CLK_LPTPM5>;
clock-names = "ipg", "per";
};
요약과 해설
nxp,tpm-timer.yaml:1-65NXP TPM의 input capture·PWM과 ipg·per clock 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.