요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung SoC Watchdog Timer Controller
maintainers:
- Krzysztof Kozlowski <krzk@kernel.org>
description: |+
The Samsung's Watchdog controller is used for resuming system operation
after a preset amount of time during which the WDT reset event has not
occurred.
properties:
compatible:
oneOf:
- enum:
- google,gs101-wdt # for Google gs101
- samsung,s3c2410-wdt # for S3C2410
- samsung,s3c6410-wdt # for S3C6410, S5PV210 and Exynos4
- samsung,exynos5250-wdt # for Exynos5250
- samsung,exynos5420-wdt # for Exynos5420
- samsung,exynos7-wdt # for Exynos7
- samsung,exynos850-wdt # for Exynos850
- samsung,exynos990-wdt # for Exynos990
- samsung,exynosautov9-wdt # for Exynosautov9
- samsung,exynosautov920-wdt # for Exynosautov920
- items:
- enum:
- tesla,fsd-wdt
- const: samsung,exynos7-wdt
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 2
clock-names:
minItems: 1
maxItems: 2
interrupts:
maxItems: 1
samsung,cluster-index:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Index of CPU cluster on which watchdog is running (in case of Exynos850,
Exynos990 or Google gs101).
samsung,syscon-phandle:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle to the PMU system controller node (in case of Exynos5250,
Exynos5420, Exynos7, Exynos850, Exynos990 and gs101).
required:
- compatible
- clocks
- clock-names
- interrupts
- reg
allOf:
- $ref: watchdog.yaml#
- if:
properties:
compatible:
contains:
enum:
- google,gs101-wdt
- samsung,exynos5250-wdt
- samsung,exynos5420-wdt
- samsung,exynos7-wdt
- samsung,exynos850-wdt
- samsung,exynos990-wdt
- samsung,exynosautov9-wdt
- samsung,exynosautov920-wdt
then:
required:
- samsung,syscon-phandle
- if:
properties:
compatible:
contains:
enum:
- google,gs101-wdt
- samsung,exynos850-wdt
- samsung,exynos990-wdt
- samsung,exynosautov9-wdt
- samsung,exynosautov920-wdt
then:
properties:
clocks:
items:
- description: Bus clock, used for register interface
- description: Source clock (driving watchdog counter)
clock-names:
items:
- const: watchdog
- const: watchdog_src
samsung,cluster-index:
enum: [0, 1, 2]
required:
- samsung,cluster-index
else:
properties:
clocks:
items:
- description: Bus clock, which is also a source clock
clock-names:
items:
- const: watchdog
samsung,cluster-index: false
unevaluatedProperties: false
examples:
- |
watchdog@101d0000 {
compatible = "samsung,exynos5250-wdt";
reg = <0x101D0000 0x100>;
interrupts = <0 42 0>;
clocks = <&clock 336>;
clock-names = "watchdog";
samsung,syscon-phandle = <&pmu_syscon>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Samsung SoC 워치독
1-16GPL-2.0으로 배포되는 이 스키마는 Samsung SoC Watchdog Timer Controller를 정의합니다. Samsung Watchdog controller는 미리 설정한 시간 동안 WDT reset event가 발생하지 않았을 때 시스템 동작을 재개하는 데 사용합니다. 관리자는 Krzysztof Kozlowski입니다.
SoC 호환성과 공통 속성
17-68`compatible`은 Google GS101, Samsung S3C2410, S3C6410·S5PV210·Exynos4, Exynos5250, Exynos5420, Exynos7, Exynos850, Exynos990, ExynosAuto V9, ExynosAuto V920 전용 문자열 가운데 하나입니다. Tesla FSD는 `tesla,fsd-wdt` 뒤에 `samsung,exynos7-wdt`를 fallback으로 둡니다.
`reg`와 `interrupts`는 각각 항목 하나만 받습니다. `clocks`와 `clock-names`는 최소 1개, 최대 2개입니다.
`samsung,cluster-index`는 Exynos850, Exynos990 또는 Google GS101에서 워치독이 실행되는 CPU cluster index입니다. `samsung,syscon-phandle`은 Exynos5250, Exynos5420, Exynos7, Exynos850, Exynos990, GS101에서 PMU system controller node를 가리킵니다.
`compatible`, `clocks`, `clock-names`, `interrupts`, `reg`가 모두 필수입니다.
properties:
compatible:
oneOf:
- enum:
- google,gs101-wdt # for Google gs101
- samsung,s3c2410-wdt # for S3C2410
- samsung,s3c6410-wdt # for S3C6410, S5PV210 and Exynos4
- samsung,exynos5250-wdt # for Exynos5250
- samsung,exynos5420-wdt # for Exynos5420
- samsung,exynos7-wdt # for Exynos7
- samsung,exynos850-wdt # for Exynos850
- samsung,exynos990-wdt # for Exynos990
- samsung,exynosautov9-wdt # for Exynosautov9
- samsung,exynosautov920-wdt # for Exynosautov920
- items:
- enum:
- tesla,fsd-wdt
- const: samsung,exynos7-wdt
reg:
maxItems: 1
clocks:
minItems: 1
maxItems: 2
clock-names:
minItems: 1
maxItems: 2
interrupts:
maxItems: 1
samsung,cluster-index:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Index of CPU cluster on which watchdog is running (in case of Exynos850,
Exynos990 or Google gs101).
samsung,syscon-phandle:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle to the PMU system controller node (in case of Exynos5250,
Exynos5420, Exynos7, Exynos850, Exynos990 and gs101).
required:
- compatible
- clocks
- clock-names
- interrupts
- reg
PMU syscon 필수 계열
69-87공통 `watchdog.yaml`을 상속합니다. GS101, Exynos5250, Exynos5420, Exynos7, Exynos850, Exynos990, ExynosAuto V9, ExynosAuto V920 계열에서는 `samsung,syscon-phandle`이 필수입니다.
allOf:
- $ref: watchdog.yaml#
- if:
properties:
compatible:
contains:
enum:
- google,gs101-wdt
- samsung,exynos5250-wdt
- samsung,exynos5420-wdt
- samsung,exynos7-wdt
- samsung,exynos850-wdt
- samsung,exynos990-wdt
- samsung,exynosautov9-wdt
- samsung,exynosautov920-wdt
then:
required:
- samsung,syscon-phandle
- if:
두 클록과 cluster index 조건
88-122GS101, Exynos850, Exynos990, ExynosAuto V9, ExynosAuto V920은 두 클록을 사용합니다. 첫 번째는 register interface용 Bus clock이고 두 번째는 watchdog counter를 구동하는 Source clock이며 이름은 각각 `watchdog`, `watchdog_src`입니다.
이 계열의 `samsung,cluster-index`는 0, 1, 2 가운데 하나이고 필수입니다. 그 밖의 계열은 source clock 역할도 하는 Bus clock 하나와 이름 `watchdog`만 사용하며 `samsung,cluster-index`는 허용하지 않습니다. 평가되지 않은 속성은 허용하지 않습니다.
properties:
compatible:
contains:
enum:
- google,gs101-wdt
- samsung,exynos850-wdt
- samsung,exynos990-wdt
- samsung,exynosautov9-wdt
- samsung,exynosautov920-wdt
then:
properties:
clocks:
items:
- description: Bus clock, used for register interface
- description: Source clock (driving watchdog counter)
clock-names:
items:
- const: watchdog
- const: watchdog_src
samsung,cluster-index:
enum: [0, 1, 2]
required:
- samsung,cluster-index
else:
properties:
clocks:
items:
- description: Bus clock, which is also a source clock
clock-names:
items:
- const: watchdog
samsung,cluster-index: false
unevaluatedProperties: false
Exynos5250 예제
123-132예제는 주소 `0x101D0000`, 크기 `0x100`인 Exynos5250 워치독에 interrupt 42, clock 336과 이름 `watchdog`, `pmu_syscon` phandle을 연결합니다.
examples:
- |
watchdog@101d0000 {
compatible = "samsung,exynos5250-wdt";
reg = <0x101D0000 0x100>;
interrupts = <0 42 0>;
clocks = <&clock 336>;
clock-names = "watchdog";
samsung,syscon-phandle = <&pmu_syscon>;
};
요약과 해설
samsung-wdt.yaml:1-132Samsung·Google·Tesla WDT의 PMU syscon, cluster index와 clock 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, syscon, timeout, 예제와 원문 줄 좌표를 원형대로 보존합니다.