요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
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. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 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과 예제는 원문 줄 좌표를 원형대로 보존합니다.