← Documents Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Watchdog

Samsung SoC Watchdog Timer

Samsung·Google·Tesla WDT의 PMU syscon, cluster index와 clock 조건을 설명합니다.

Source pathDocumentation/devicetree/bindings/watchdog/samsung-wdt.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

samsung-wdt.yaml:1-132

Samsung·Google·Tesla WDT의 PMU syscon, cluster index와 clock 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, syscon, timeout, 예제와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Samsung SoC Watchdog Timer Controller
8
9 maintainers:
10 - Krzysztof Kozlowski <krzk@kernel.org>
11
12 description: |+
13 The Samsung's Watchdog controller is used for resuming system operation
14 after a preset amount of time during which the WDT reset event has not
15 occurred.
16
17 properties:
18 compatible:
19 oneOf:
20 - enum:
21 - google,gs101-wdt # for Google gs101
22 - samsung,s3c2410-wdt # for S3C2410
23 - samsung,s3c6410-wdt # for S3C6410, S5PV210 and Exynos4
24 - samsung,exynos5250-wdt # for Exynos5250
25 - samsung,exynos5420-wdt # for Exynos5420
26 - samsung,exynos7-wdt # for Exynos7
27 - samsung,exynos850-wdt # for Exynos850
28 - samsung,exynos990-wdt # for Exynos990
29 - samsung,exynosautov9-wdt # for Exynosautov9
30 - samsung,exynosautov920-wdt # for Exynosautov920
31 - items:
32 - enum:
33 - tesla,fsd-wdt
34 - const: samsung,exynos7-wdt
35
36 reg:
37 maxItems: 1
38
39 clocks:
40 minItems: 1
41 maxItems: 2
42
43 clock-names:
44 minItems: 1
45 maxItems: 2
46
47 interrupts:
48 maxItems: 1
49
50 samsung,cluster-index:
51 $ref: /schemas/types.yaml#/definitions/uint32
52 description:
53 Index of CPU cluster on which watchdog is running (in case of Exynos850,
54 Exynos990 or Google gs101).
55
56 samsung,syscon-phandle:
57 $ref: /schemas/types.yaml#/definitions/phandle
58 description:
59 Phandle to the PMU system controller node (in case of Exynos5250,
60 Exynos5420, Exynos7, Exynos850, Exynos990 and gs101).
61
62 required:
63 - compatible
64 - clocks
65 - clock-names
66 - interrupts
67 - reg
68
69 allOf:
70 - $ref: watchdog.yaml#
71 - if:
72 properties:
73 compatible:
74 contains:
75 enum:
76 - google,gs101-wdt
77 - samsung,exynos5250-wdt
78 - samsung,exynos5420-wdt
79 - samsung,exynos7-wdt
80 - samsung,exynos850-wdt
81 - samsung,exynos990-wdt
82 - samsung,exynosautov9-wdt
83 - samsung,exynosautov920-wdt
84 then:
85 required:
86 - samsung,syscon-phandle
87 - if:
88 properties:
89 compatible:
90 contains:
91 enum:
92 - google,gs101-wdt
93 - samsung,exynos850-wdt
94 - samsung,exynos990-wdt
95 - samsung,exynosautov9-wdt
96 - samsung,exynosautov920-wdt
97 then:
98 properties:
99 clocks:
100 items:
101 - description: Bus clock, used for register interface
102 - description: Source clock (driving watchdog counter)
103 clock-names:
104 items:
105 - const: watchdog
106 - const: watchdog_src
107 samsung,cluster-index:
108 enum: [0, 1, 2]
109 required:
110 - samsung,cluster-index
111 else:
112 properties:
113 clocks:
114 items:
115 - description: Bus clock, which is also a source clock
116 clock-names:
117 items:
118 - const: watchdog
119 samsung,cluster-index: false
120
121 unevaluatedProperties: false
122
123 examples:
124 - |
125 watchdog@101d0000 {
126 compatible = "samsung,exynos5250-wdt";
127 reg = <0x101D0000 0x100>;
128 interrupts = <0 42 0>;
129 clocks = <&clock 336>;
130 clock-names = "watchdog";
131 samsung,syscon-phandle = <&pmu_syscon>;
132 };
133

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Samsung SoC 워치독

1-16

GPL-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-122

GS101, 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>;
    };