요약·해설과 원문, 전문 번역을 서로 분리했습니다. 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/starfive,jh7100-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: StarFive Watchdog for JH7100 and JH7110 SoC
maintainers:
- Xingyu Wu <xingyu.wu@starfivetech.com>
- Samin Guo <samin.guo@starfivetech.com>
description:
The JH7100 and JH7110 watchdog both are 32 bit counters. JH7100 watchdog
has only one timeout phase and reboots. And JH7110 watchdog has two
timeout phases. At the first phase, the signal of watchdog interrupt
output(WDOGINT) will rise when counter is 0. The counter will reload
the timeout value. And then, if counter decreases to 0 again and WDOGINT
isn't cleared, the watchdog will reset the system unless the watchdog
reset is disabled.
properties:
compatible:
oneOf:
- enum:
- starfive,jh7100-wdt
- starfive,jh7110-wdt
- items:
- enum:
- starfive,jh8100-wdt
- const: starfive,jh7110-wdt
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: APB clock
- description: Core clock
clock-names:
items:
- const: apb
- const: core
resets:
minItems: 1
maxItems: 2
required:
- compatible
- reg
- clocks
- clock-names
- resets
allOf:
- $ref: watchdog.yaml#
- if:
properties:
compatible:
contains:
enum:
- starfive,jh8100-wdt
then:
properties:
resets:
items:
- description: Core reset
else:
properties:
resets:
items:
- description: APB reset
- description: Core reset
unevaluatedProperties: false
examples:
- |
watchdog@12480000 {
compatible = "starfive,jh7100-wdt";
reg = <0x12480000 0x10000>;
clocks = <&clk 171>,
<&clk 172>;
clock-names = "apb", "core";
resets = <&rst 99>,
<&rst 100>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
JH7100과 JH7110 timeout 단계
1-21GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 JH7100 및 JH7110 SoC용 StarFive Watchdog를 정의합니다. 관리자는 Xingyu Wu와 Samin Guo입니다.
JH7100과 JH7110 watchdog은 모두 32비트 counter입니다. JH7100은 timeout 단계가 하나이며 만료되면 재부팅합니다. JH7110은 두 단계로 동작합니다. 첫 단계에서 counter가 0이 되면 watchdog interrupt 출력 `WDOGINT`가 올라가고 counter가 timeout 값으로 다시 적재됩니다.
그 뒤 counter가 다시 0으로 감소할 때 `WDOGINT`가 지워지지 않았다면, watchdog reset이 비활성화된 경우를 제외하고 시스템을 reset합니다.
SoC 호환성과 clock, reset
22-59`compatible`은 `starfive,jh7100-wdt` 또는 `starfive,jh7110-wdt`를 직접 사용합니다. JH8100은 `starfive,jh8100-wdt` 다음에 `starfive,jh7110-wdt`를 fallback으로 둡니다.
`reg`와 `interrupts`는 각각 최대 한 항목입니다. `clocks`는 APB clock과 Core clock 두 개를 이 순서로 받고, `clock-names`는 각각 `apb`, `core`입니다. `resets`는 최소 한 개에서 최대 두 개입니다.
`compatible`, `reg`, `clocks`, `clock-names`, `resets`는 필수입니다.
properties:
compatible:
oneOf:
- enum:
- starfive,jh7100-wdt
- starfive,jh7110-wdt
- items:
- enum:
- starfive,jh8100-wdt
- const: starfive,jh7110-wdt
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
items:
- description: APB clock
- description: Core clock
clock-names:
items:
- const: apb
- const: core
resets:
minItems: 1
maxItems: 2
required:
- compatible
- reg
- clocks
- clock-names
- resets
JH8100과 이전 세대의 reset 배열
60-82공통 `watchdog.yaml`을 상속합니다. `compatible`에 `starfive,jh8100-wdt`가 포함되면 `resets` 배열에는 Core reset 하나만 둡니다. 그 밖의 JH7100 및 JH7110 계열은 APB reset과 Core reset을 이 순서로 둡니다. 평가되지 않은 속성은 허용하지 않습니다.
allOf:
- $ref: watchdog.yaml#
- if:
properties:
compatible:
contains:
enum:
- starfive,jh8100-wdt
then:
properties:
resets:
items:
- description: Core reset
else:
properties:
resets:
items:
- description: APB reset
- description: Core reset
unevaluatedProperties: false
JH7100 예제
83-93예제는 주소 `0x12480000`, 크기 `0x10000`의 JH7100 watchdog에 clock 171과 172를 각각 `apb`, `core`로 연결하고 reset 99와 100을 지정합니다.
examples:
- |
watchdog@12480000 {
compatible = "starfive,jh7100-wdt";
reg = <0x12480000 0x10000>;
clocks = <&clk 171>,
<&clk 172>;
clock-names = "apb", "core";
resets = <&rst 99>,
<&rst 100>;
};
요약과 해설
starfive,jh7100-wdt.yaml:1-93StarFive 32비트 watchdog의 timeout 단계와 SoC별 reset 배열을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, timeout과 예제는 원문 줄 좌표를 원형대로 보존합니다.