요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/alphascale,asm9260-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Alphascale asm9260 Watchdog timer
maintainers:
- Oleksij Rempel <linux@rempel-privat.de>
allOf:
- $ref: watchdog.yaml#
properties:
compatible:
const: alphascale,asm9260-wdt
reg:
maxItems: 1
clocks:
items:
- description: source clock, used for tick counter
- description: ahb gate
clock-names:
items:
- const: mod
- const: ahb
interrupts:
maxItems: 1
resets:
maxItems: 1
reset-names:
items:
- const: wdt_rst
alphascale,mode:
description: |
Specifies the reset mode of operation. If set to sw, then reset is handled
via interrupt request, if set to debug, then it does nothing and logs.
$ref: /schemas/types.yaml#/definitions/string
enum: [hw, sw, debug]
default: hw
required:
- compatible
- reg
- clocks
- clock-names
- interrupts
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/alphascale,asm9260.h>
watchdog0: watchdog@80048000 {
compatible = "alphascale,asm9260-wdt";
reg = <0x80048000 0x10>;
clocks = <&acc CLKID_SYS_WDT>, <&acc CLKID_AHB_WDT>;
clock-names = "mod", "ahb";
interrupts = <55>;
timeout-sec = <30>;
alphascale,mode = "hw";
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Alphascale ASM9260 워치독
1-11GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 Alphascale ASM9260 워치독 타이머를 정의합니다. 관리자는 Oleksij Rempel입니다.
tick 클록, AHB gate와 reset
12-41공통 `watchdog.yaml`을 상속하고 `compatible`은 `alphascale,asm9260-wdt`로 고정합니다. `reg`는 하나의 영역을 받습니다. `clocks`에는 tick counter용 source clock과 AHB gate를 이 순서로 제공하고, `clock-names`도 각각 `mod`, `ahb`로 맞춥니다.
`interrupts`와 `resets`는 각각 최대 하나입니다. reset을 제공할 때 `reset-names`의 이름은 `wdt_rst`입니다.
allOf:
- $ref: watchdog.yaml#
properties:
compatible:
const: alphascale,asm9260-wdt
reg:
maxItems: 1
clocks:
items:
- description: source clock, used for tick counter
- description: ahb gate
clock-names:
items:
- const: mod
- const: ahb
interrupts:
maxItems: 1
resets:
maxItems: 1
reset-names:
items:
- const: wdt_rst
하드웨어·소프트웨어·디버그 모드
42-58`alphascale,mode`는 reset 동작 방식을 정하는 문자열입니다. `hw`는 하드웨어 reset을 수행하고 기본값입니다. `sw`는 interrupt request를 통해 reset을 처리하며, `debug`는 reset 동작을 하지 않고 로그만 남깁니다.
`compatible`, `reg`, 두 `clocks`, 두 `clock-names`, `interrupts`는 필수입니다. 정의되지 않은 추가 속성은 허용하지 않습니다.
alphascale,mode:
description: |
Specifies the reset mode of operation. If set to sw, then reset is handled
via interrupt request, if set to debug, then it does nothing and logs.
$ref: /schemas/types.yaml#/definitions/string
enum: [hw, sw, debug]
default: hw
required:
- compatible
- reg
- clocks
- clock-names
- interrupts
unevaluatedProperties: false
ASM9260 하드웨어 모드 예제
59-70예제는 주소 `0x80048000`의 워치독에 `CLKID_SYS_WDT`와 `CLKID_AHB_WDT`를 연결하고 이름을 `mod`, `ahb`로 지정합니다. interrupt 55, 30초 timeout, `hw` 모드를 사용합니다.
examples:
- |
#include <dt-bindings/clock/alphascale,asm9260.h>
watchdog0: watchdog@80048000 {
compatible = "alphascale,asm9260-wdt";
reg = <0x80048000 0x10>;
clocks = <&acc CLKID_SYS_WDT>, <&acc CLKID_AHB_WDT>;
clock-names = "mod", "ahb";
interrupts = <55>;
timeout-sec = <30>;
alphascale,mode = "hw";
};
요약과 해설
alphascale,asm9260-wdt.yaml:1-70ASM9260 워치독의 두 클록, reset 자원과 hw·sw·debug 모드를 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, 예제와 원문 줄 좌표를 원형대로 보존합니다.