요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/xlnx,xps-timebase-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Xilinx AXI/PLB softcore and window Watchdog Timer
maintainers:
- Shubhrajyoti Datta <[email protected]>
- Srinivas Neeli <[email protected]>
description:
The Timebase watchdog timer(WDT) is a free-running 32 bit counter.
WDT uses a dual-expiration architecture. After one expiration of
the timeout interval, an interrupt is generated and the WDT state
bit is set to one in the status register. If the state bit is not
cleared (by writing a one to the state bit) before the next
expiration of the timeout interval, a WDT reset is generated.
allOf:
- $ref: watchdog.yaml#
properties:
compatible:
enum:
- xlnx,xps-timebase-wdt-1.01.a
- xlnx,xps-timebase-wdt-1.00.a
reg:
maxItems: 1
clocks:
maxItems: 1
clock-frequency:
description: Frequency of clock in Hz
xlnx,wdt-interval:
$ref: /schemas/types.yaml#/definitions/uint32
description: Watchdog timeout interval
minimum: 8
maximum: 32
xlnx,wdt-enable-once:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [0, 1]
description: If watchdog is configured as enable once,
then the watchdog cannot be disabled after
it has been enabled.
required:
- compatible
- reg
unevaluatedProperties: false
examples:
- |
watchdog@40100000 {
compatible = "xlnx,xps-timebase-wdt-1.00.a";
reg = <0x40100000 0x1000>;
clock-frequency = <50000000>;
clocks = <&clkc 15>;
xlnx,wdt-enable-once = <0x0>;
xlnx,wdt-interval = <0x1b>;
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
Xilinx Timebase dual-expiration
1-23GPL-2.0-or-later 또는 BSD-2-Clause로 배포되는 이 스키마는 Xilinx AXI/PLB softcore 및 window Watchdog Timer를 정의합니다. 관리자는 Shubhrajyoti Datta와 Srinivas Neeli이며 공통 `watchdog.yaml`을 상속합니다.
Timebase watchdog timer(WDT)는 free-running 32비트 counter이며 dual-expiration 구조를 사용합니다. timeout interval이 처음 만료되면 interrupt가 생성되고 status register의 WDT state bit가 1로 설정됩니다.
다음 timeout interval이 만료되기 전에 state bit에 1을 써서 지우지 않으면 WDT reset이 생성됩니다.
clock과 interval, enable-once
24-57`compatible`은 `xlnx,xps-timebase-wdt-1.01.a` 또는 `xlnx,xps-timebase-wdt-1.00.a`입니다. `reg`와 `clocks`는 각각 최대 한 항목이고 `clock-frequency`는 Hz 단위 clock 주파수입니다.
`xlnx,wdt-interval`은 `uint32` watchdog timeout interval이며 범위는 8부터 32까지입니다. `xlnx,wdt-enable-once`는 0 또는 1인 `uint32`입니다. enable once로 구성된 watchdog은 한 번 활성화한 뒤 비활성화할 수 없습니다.
`compatible`과 `reg`는 필수이며 평가되지 않은 속성은 허용하지 않습니다.
properties:
compatible:
enum:
- xlnx,xps-timebase-wdt-1.01.a
- xlnx,xps-timebase-wdt-1.00.a
reg:
maxItems: 1
clocks:
maxItems: 1
clock-frequency:
description: Frequency of clock in Hz
xlnx,wdt-interval:
$ref: /schemas/types.yaml#/definitions/uint32
description: Watchdog timeout interval
minimum: 8
maximum: 32
xlnx,wdt-enable-once:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [0, 1]
description: If watchdog is configured as enable once,
then the watchdog cannot be disabled after
it has been enabled.
required:
- compatible
- reg
unevaluatedProperties: false
XPS Timebase WDT 예제
58-68예제는 주소 `0x40100000`, 크기 `0x1000`의 1.00.a watchdog에 50MHz clock frequency와 `clkc` clock 15를 지정합니다. enable-once는 0이고 interval은 `0x1b`입니다.
examples:
- |
watchdog@40100000 {
compatible = "xlnx,xps-timebase-wdt-1.00.a";
reg = <0x40100000 0x1000>;
clock-frequency = <50000000>;
clocks = <&clkc 15>;
xlnx,wdt-enable-once = <0x0>;
xlnx,wdt-interval = <0x1b>;
};
...
요약과 해설
xlnx,xps-timebase-wdt.yaml:1-68XPS WDT의 dual-expiration, interval과 enable-once 설정을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, node 이름, compatible, register, clock, interrupt, reset, reserved memory, timeout과 예제는 원문 줄 좌표를 원형대로 보존합니다.