← Documents Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Watchdog

Allwinner A10 Watchdog

Allwinner A10 계열 호환 문자열과 SoC별 단일·이중 클록 조건을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

allwinner,sun4i-a10-wdt.yaml:1-98

Allwinner A10 계열 호환 문자열과 SoC별 단일·이중 클록 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, 예제와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/watchdog/allwinner,sun4i-a10-wdt.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A10 Watchdog
8
9 maintainers:
10 - Chen-Yu Tsai <[email protected]>
11 - Maxime Ripard <[email protected]>
12
13 allOf:
14 - $ref: watchdog.yaml#
15
16 properties:
17 compatible:
18 oneOf:
19 - const: allwinner,sun4i-a10-wdt
20 - const: allwinner,sun6i-a31-wdt
21 - items:
22 - enum:
23 - allwinner,sun50i-a64-wdt
24 - allwinner,sun50i-a100-wdt
25 - allwinner,sun50i-h6-wdt
26 - allwinner,sun50i-h616-wdt
27 - allwinner,sun50i-r329-wdt
28 - allwinner,sun50i-r329-wdt-reset
29 - allwinner,suniv-f1c100s-wdt
30 - const: allwinner,sun6i-a31-wdt
31 - const: allwinner,sun20i-d1-wdt
32 - items:
33 - const: allwinner,sun20i-d1-wdt-reset
34 - const: allwinner,sun20i-d1-wdt
35 - const: allwinner,sun55i-a523-wdt
36
37 reg:
38 maxItems: 1
39
40 clocks:
41 minItems: 1
42 items:
43 - description: 32 KHz input clock
44 - description: secondary clock source
45
46 interrupts:
47 maxItems: 1
48
49 required:
50 - compatible
51 - reg
52 - clocks
53 - interrupts
54
55 if:
56 properties:
57 compatible:
58 contains:
59 enum:
60 - allwinner,sun20i-d1-wdt
61 - allwinner,sun20i-d1-wdt-reset
62 - allwinner,sun50i-r329-wdt
63 - allwinner,sun50i-r329-wdt-reset
64 - allwinner,sun55i-a523-wdt
65
66 then:
67 properties:
68 clocks:
69 items:
70 - description: High-frequency oscillator input, divided internally
71 - description: Low-frequency oscillator input
72
73 clock-names:
74 items:
75 - const: hosc
76 - const: losc
77
78 required:
79 - clock-names
80
81 else:
82 properties:
83 clocks:
84 maxItems: 1
85
86 unevaluatedProperties: false
87
88 examples:
89 - |
90 wdt: watchdog@1c20c90 {
91 compatible = "allwinner,sun4i-a10-wdt";
92 reg = <0x01c20c90 0x10>;
93 interrupts = <24>;
94 clocks = <&osc24M>;
95 timeout-sec = <10>;
96 };
97
98 ...
99

3. 한국어 전문 번역

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

Allwinner A10 계열 워치독

1-12

GPL-2.0으로 배포되는 이 스키마는 Allwinner A10에서 시작해 여러 sun4i, sun6i, sun20i, sun50i 계열 SoC에 쓰이는 워치독을 정의합니다. 관리자는 Chen-Yu Tsai와 Maxime Ripard입니다.

SoC 호환 문자열과 기본 자원

13-54

공통 `watchdog.yaml`을 상속합니다. A10과 A31은 각각 `allwinner,sun4i-a10-wdt`, `allwinner,sun6i-a31-wdt`를 직접 사용합니다. A64, A100, H6, H616, R329, R329 reset, F1C100s 변형은 각 SoC 문자열 뒤에 `allwinner,sun6i-a31-wdt` fallback을 둡니다.

D1은 `allwinner,sun20i-d1-wdt`를 직접 사용할 수 있고 reset 변형은 `allwinner,sun20i-d1-wdt-reset` 뒤에 D1 문자열을 둡니다. A523은 `allwinner,sun55i-a523-wdt`를 사용합니다. `reg`와 `interrupts`는 각각 하나이며, `clocks`는 최소 하나로 첫 항목이 32 KHz 입력 클록이고 둘째 항목은 보조 클록 소스입니다.

`compatible`, `reg`, `clocks`, `interrupts`가 모두 필수입니다.

allOf:
  - $ref: watchdog.yaml#

properties:
  compatible:
    oneOf:
      - const: allwinner,sun4i-a10-wdt
      - const: allwinner,sun6i-a31-wdt
      - items:
          - enum:
              - allwinner,sun50i-a64-wdt
              - allwinner,sun50i-a100-wdt
              - allwinner,sun50i-h6-wdt
              - allwinner,sun50i-h616-wdt
              - allwinner,sun50i-r329-wdt
              - allwinner,sun50i-r329-wdt-reset
              - allwinner,suniv-f1c100s-wdt
          - const: allwinner,sun6i-a31-wdt
      - const: allwinner,sun20i-d1-wdt
      - items:
          - const: allwinner,sun20i-d1-wdt-reset
          - const: allwinner,sun20i-d1-wdt
      - const: allwinner,sun55i-a523-wdt

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: 32 KHz input clock
      - description: secondary clock source

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

고주파·저주파 이중 클록 조건

55-87

D1, D1 reset, R329, R329 reset, A523 호환 문자열을 포함하면 두 클록을 제공해야 합니다. 첫 클록은 내부에서 분주되는 고주파 발진기 입력이고 둘째는 저주파 발진기 입력이며, `clock-names`를 차례로 `hosc`, `losc`로 지정해야 합니다.

그 밖의 호환 기종은 클록을 하나만 허용합니다. 이 스키마에서 평가하지 않은 추가 속성은 허용되지 않습니다.

if:
  properties:
    compatible:
      contains:
        enum:
          - allwinner,sun20i-d1-wdt
          - allwinner,sun20i-d1-wdt-reset
          - allwinner,sun50i-r329-wdt
          - allwinner,sun50i-r329-wdt-reset
          - allwinner,sun55i-a523-wdt

then:
  properties:
    clocks:
      items:
        - description: High-frequency oscillator input, divided internally
        - description: Low-frequency oscillator input

    clock-names:
      items:
        - const: hosc
        - const: losc

  required:
    - clock-names

else:
  properties:
    clocks:
      maxItems: 1

unevaluatedProperties: false

A10 워치독 노드 예제

88-98

예제는 주소 `0x01c20c90`, 길이 `0x10`의 A10 워치독에 interrupt 24와 `osc24M` 클록을 연결하고, 공통 속성 `timeout-sec`를 10초로 설정합니다.

examples:
  - |
    wdt: watchdog@1c20c90 {
        compatible = "allwinner,sun4i-a10-wdt";
        reg = <0x01c20c90 0x10>;
        interrupts = <24>;
        clocks = <&osc24M>;
        timeout-sec = <10>;
    };

...