요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/watchdog/atmel,sama5d4-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Atmel SAMA5D4 Watchdog Timer (WDT) Controller
maintainers:
- Eugen Hristev <[email protected]>
allOf:
- $ref: watchdog.yaml#
properties:
compatible:
oneOf:
- enum:
- atmel,sama5d4-wdt
- microchip,sam9x60-wdt
- microchip,sama7g5-wdt
- items:
- const: microchip,sam9x7-wdt
- const: microchip,sam9x60-wdt
reg:
maxItems: 1
interrupts:
maxItems: 1
atmel,watchdog-type:
$ref: /schemas/types.yaml#/definitions/string
description: should be hardware or software.
oneOf:
- description:
Enable watchdog fault reset. A watchdog fault triggers
watchdog reset.
const: hardware
- description:
Enable watchdog fault interrupt. A watchdog fault asserts
watchdog interrupt.
const: software
default: hardware
atmel,idle-halt:
$ref: /schemas/types.yaml#/definitions/flag
description: |
present if you want to stop the watchdog when the CPU is in idle state.
CAUTION: This property should be used with care, it actually makes the
watchdog not counting when the CPU is in idle state, therefore the
watchdog reset time depends on mean CPU usage and will not reset at all
if the CPU stop working while it is in idle state, which is probably
not what you want.
atmel,dbg-halt:
$ref: /schemas/types.yaml#/definitions/flag
description: |
present if you want to stop the watchdog when the CPU is in debug state.
required:
- compatible
- reg
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
watchdog@fc068640 {
compatible = "atmel,sama5d4-wdt";
reg = <0xfc068640 0x10>;
interrupts = <4 IRQ_TYPE_LEVEL_HIGH 5>;
timeout-sec = <10>;
atmel,watchdog-type = "hardware";
atmel,dbg-halt;
atmel,idle-halt;
};
...
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Atmel SAMA5D4 워치독
1-11GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 Atmel SAMA5D4 워치독 타이머 컨트롤러를 정의합니다. 관리자는 Eugen Hristev입니다.
SAMA5D4·SAM9X60·SAMA7G5·SAM9X7 호환성
12-31공통 `watchdog.yaml`을 상속합니다. SAMA5D4, SAM9X60, SAMA7G5는 각각 `atmel,sama5d4-wdt`, `microchip,sam9x60-wdt`, `microchip,sama7g5-wdt`를 직접 사용합니다. SAM9X7은 `microchip,sam9x7-wdt` 뒤에 `microchip,sam9x60-wdt` fallback을 둡니다.
`reg`와 `interrupts`는 각각 최대 하나입니다.
allOf:
- $ref: watchdog.yaml#
properties:
compatible:
oneOf:
- enum:
- atmel,sama5d4-wdt
- microchip,sam9x60-wdt
- microchip,sama7g5-wdt
- items:
- const: microchip,sam9x7-wdt
- const: microchip,sam9x60-wdt
reg:
maxItems: 1
interrupts:
maxItems: 1
fault reset과 fault interrupt
32-45`atmel,watchdog-type`은 `hardware` 또는 `software`이며 기본값은 `hardware`입니다. hardware는 watchdog fault reset을 활성화해 fault가 watchdog reset을 일으키게 합니다. software는 watchdog fault interrupt를 활성화해 fault가 watchdog interrupt를 assert하게 합니다.
atmel,watchdog-type:
$ref: /schemas/types.yaml#/definitions/string
description: should be hardware or software.
oneOf:
- description:
Enable watchdog fault reset. A watchdog fault triggers
watchdog reset.
const: hardware
- description:
Enable watchdog fault interrupt. A watchdog fault asserts
watchdog interrupt.
const: software
default: hardware
idle·debug 중지와 필수 속성
46-66`atmel,idle-halt`는 CPU가 idle state일 때 워치독을 멈춥니다. 이 경우 idle 동안 count하지 않으므로 reset 시간은 평균 CPU 사용률에 따라 달라지며, CPU가 idle에서 멈추면 reset하지 않을 수 있어 주의해야 합니다. `atmel,dbg-halt`는 CPU가 debug state일 때 워치독을 멈춥니다.
`compatible`과 `reg`가 필수이며 평가되지 않은 추가 속성은 허용하지 않습니다.
atmel,idle-halt:
$ref: /schemas/types.yaml#/definitions/flag
description: |
present if you want to stop the watchdog when the CPU is in idle state.
CAUTION: This property should be used with care, it actually makes the
watchdog not counting when the CPU is in idle state, therefore the
watchdog reset time depends on mean CPU usage and will not reset at all
if the CPU stop working while it is in idle state, which is probably
not what you want.
atmel,dbg-halt:
$ref: /schemas/types.yaml#/definitions/flag
description: |
present if you want to stop the watchdog when the CPU is in debug state.
required:
- compatible
- reg
unevaluatedProperties: false
SAMA5D4 hardware 워치독 예제
67-81예제는 주소 `0xfc068640`의 SAMA5D4 워치독에 level-high interrupt를 연결하고 timeout을 10초로 설정합니다. hardware 방식과 debug·idle halt flag를 사용합니다.
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
watchdog@fc068640 {
compatible = "atmel,sama5d4-wdt";
reg = <0xfc068640 0x10>;
interrupts = <4 IRQ_TYPE_LEVEL_HIGH 5>;
timeout-sec = <10>;
atmel,watchdog-type = "hardware";
atmel,dbg-halt;
atmel,idle-halt;
};
...
요약과 해설
atmel,sama5d4-wdt.yaml:1-81SAMA5D4 계열 호환성, fault reset·interrupt와 idle·debug halt를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, 예제와 원문 줄 좌표를 원형대로 보존합니다.