← Documents Documentation/devicetree/bindings/watchdog/snps,dw-wdt.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Watchdog

Synopsys DesignWare Watchdog

DesignWare·Rockchip 워치독의 reference clock과 16개 TOP interval을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

snps,dw-wdt.yaml:1-110

DesignWare·Rockchip 워치독의 reference clock과 16개 TOP interval을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, syscon, timeout, 예제와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/watchdog/snps,dw-wdt.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Synopsys Designware Watchdog Timer
8
9 maintainers:
10 - Jamie Iles <jamie@jamieiles.com>
11
12 allOf:
13 - $ref: watchdog.yaml#
14
15 properties:
16 compatible:
17 oneOf:
18 - const: snps,dw-wdt
19 - items:
20 - enum:
21 - rockchip,px30-wdt
22 - rockchip,rk3066-wdt
23 - rockchip,rk3128-wdt
24 - rockchip,rk3188-wdt
25 - rockchip,rk3228-wdt
26 - rockchip,rk3288-wdt
27 - rockchip,rk3308-wdt
28 - rockchip,rk3328-wdt
29 - rockchip,rk3368-wdt
30 - rockchip,rk3399-wdt
31 - rockchip,rk3562-wdt
32 - rockchip,rk3568-wdt
33 - rockchip,rk3576-wdt
34 - rockchip,rk3588-wdt
35 - rockchip,rv1108-wdt
36 - rockchip,rv1126-wdt
37 - const: snps,dw-wdt
38
39 reg:
40 maxItems: 1
41
42 interrupts:
43 description: DW Watchdog pre-timeout interrupt
44 maxItems: 1
45
46 clocks:
47 minItems: 1
48 items:
49 - description: Watchdog timer reference clock
50 - description: APB3 interface clock
51
52 clock-names:
53 minItems: 1
54 items:
55 - const: tclk
56 - const: pclk
57
58 resets:
59 description: Phandle to the DW Watchdog reset lane
60 maxItems: 1
61
62 snps,watchdog-tops:
63 $ref: /schemas/types.yaml#/definitions/uint32-array
64 description: |
65 DW APB Watchdog custom timer intervals - Timeout Period ranges (TOPs).
66 Each TOP is a number loaded into the watchdog counter at the moment of
67 the timer restart. The counter decrementing happens each tick of the
68 reference clock. Therefore the TOPs array is equivalent to an array of
69 the timer expiration intervals supported by the DW APB Watchdog. Note
70 DW APB Watchdog IP-core might be synthesized with fixed TOP values,
71 in which case this property is unnecessary with default TOPs utilized.
72 default: [0x0001000 0x0002000 0x0004000 0x0008000
73 0x0010000 0x0020000 0x0040000 0x0080000
74 0x0100000 0x0200000 0x0400000 0x0800000
75 0x1000000 0x2000000 0x4000000 0x8000000]
76 minItems: 16
77 maxItems: 16
78
79 required:
80 - compatible
81 - reg
82 - clocks
83
84 unevaluatedProperties: false
85
86 examples:
87 - |
88 watchdog@ffd02000 {
89 compatible = "snps,dw-wdt";
90 reg = <0xffd02000 0x1000>;
91 interrupts = <0 171 4>;
92 clocks = <&per_base_clk>;
93 resets = <&wdt_rst>;
94 };
95
96 - |
97 watchdog@ffd02000 {
98 compatible = "snps,dw-wdt";
99 reg = <0xffd02000 0x1000>;
100 interrupts = <0 171 4>;
101 clocks = <&per_base_clk>;
102 clock-names = "tclk";
103 snps,watchdog-tops = <0x000000FF 0x000001FF 0x000003FF
104 0x000007FF 0x0000FFFF 0x0001FFFF
105 0x0003FFFF 0x0007FFFF 0x000FFFFF
106 0x001FFFFF 0x003FFFFF 0x007FFFFF
107 0x00FFFFFF 0x01FFFFFF 0x03FFFFFF
108 0x07FFFFFF>;
109 };
110 ...
111

3. 한국어 전문 번역

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

Synopsys DesignWare 워치독

1-14

GPL-2.0-only로 배포되는 이 스키마는 Synopsys DesignWare Watchdog Timer를 정의합니다. 공통 `watchdog.yaml`을 상속하며 관리자는 Jamie Iles입니다.

DesignWare·Rockchip 호환성과 클록

15-61

`compatible`은 `snps,dw-wdt`를 직접 사용하거나 Rockchip 전용 문자열 뒤에 이를 fallback으로 둡니다. 지원 문자열은 PX30, RK3066, RK3128, RK3188, RK3228, RK3288, RK3308, RK3328, RK3368, RK3399, RK3562, RK3568, RK3576, RK3588, RV1108, RV1126의 `rockchip,*-wdt`입니다.

`reg`는 항목 하나만 받습니다. `interrupts`는 DW Watchdog pre-timeout interrupt 하나입니다. `clocks`는 Watchdog timer reference clock과 APB3 interface clock 순서로 최소 한 항목을 받으며 이름은 `tclk`, `pclk`입니다.

`resets`는 DW Watchdog reset lane을 가리키는 phandle 하나입니다.

properties:
  compatible:
    oneOf:
      - const: snps,dw-wdt
      - items:
          - enum:
              - rockchip,px30-wdt
              - rockchip,rk3066-wdt
              - rockchip,rk3128-wdt
              - rockchip,rk3188-wdt
              - rockchip,rk3228-wdt
              - rockchip,rk3288-wdt
              - rockchip,rk3308-wdt
              - rockchip,rk3328-wdt
              - rockchip,rk3368-wdt
              - rockchip,rk3399-wdt
              - rockchip,rk3562-wdt
              - rockchip,rk3568-wdt
              - rockchip,rk3576-wdt
              - rockchip,rk3588-wdt
              - rockchip,rv1108-wdt
              - rockchip,rv1126-wdt
          - const: snps,dw-wdt

  reg:
    maxItems: 1

  interrupts:
    description: DW Watchdog pre-timeout interrupt
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: Watchdog timer reference clock
      - description: APB3 interface clock

  clock-names:
    minItems: 1
    items:
      - const: tclk
      - const: pclk

  resets:
    description: Phandle to the DW Watchdog reset lane
    maxItems: 1

사용자 지정 TOP interval

62-85

`snps,watchdog-tops`는 DW APB Watchdog의 사용자 지정 Timeout Period range(TOP) 16개를 담는 `uint32-array`입니다. 각 TOP은 timer restart 시 watchdog counter에 적재되는 수이고, counter는 reference clock tick마다 감소합니다. 따라서 TOP 배열은 하드웨어가 지원하는 timer expiration interval 배열과 같습니다.

DW APB Watchdog IP core가 고정 TOP 값으로 합성된 경우에는 이 속성이 필요 없고 기본 TOP을 사용합니다. 기본값은 `0x0001000`부터 `0x8000000`까지 두 배씩 증가하는 16개 값입니다.

`compatible`, `reg`, `clocks`가 필수이며 평가되지 않은 속성은 허용하지 않습니다.

  snps,watchdog-tops:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    description: |
      DW APB Watchdog custom timer intervals - Timeout Period ranges (TOPs).
      Each TOP is a number loaded into the watchdog counter at the moment of
      the timer restart. The counter decrementing happens each tick of the
      reference clock. Therefore the TOPs array is equivalent to an array of
      the timer expiration intervals supported by the DW APB Watchdog. Note
      DW APB Watchdog IP-core might be synthesized with fixed TOP values,
      in which case this property is unnecessary with default TOPs utilized.
    default: [0x0001000 0x0002000 0x0004000 0x0008000
      0x0010000 0x0020000 0x0040000 0x0080000
      0x0100000 0x0200000 0x0400000 0x0800000
      0x1000000 0x2000000 0x4000000 0x8000000]
    minItems: 16
    maxItems: 16

required:
  - compatible
  - reg
  - clocks

unevaluatedProperties: false

기본 TOP 예제

86-95

첫 번째 예제는 주소 `0xffd02000`, 크기 `0x1000`인 DesignWare 워치독에 interrupt 171, `per_base_clk`, `wdt_rst` reset을 연결하고 기본 TOP을 사용합니다.

examples:
  - |
    watchdog@ffd02000 {
        compatible = "snps,dw-wdt";
        reg = <0xffd02000 0x1000>;
        interrupts = <0 171 4>;
        clocks = <&per_base_clk>;
        resets = <&wdt_rst>;
    };

사용자 지정 TOP 예제

96-110

두 번째 예제는 reference clock 이름을 `tclk`로 지정하고 `0x000000FF`부터 `0x07FFFFFF`까지 사용자 지정 TOP 16개를 제공합니다.

  - |
    watchdog@ffd02000 {
        compatible = "snps,dw-wdt";
        reg = <0xffd02000 0x1000>;
        interrupts = <0 171 4>;
        clocks = <&per_base_clk>;
        clock-names = "tclk";
        snps,watchdog-tops = <0x000000FF 0x000001FF 0x000003FF
                              0x000007FF 0x0000FFFF 0x0001FFFF
                              0x0003FFFF 0x0007FFFF 0x000FFFFF
                              0x001FFFFF 0x003FFFFF 0x007FFFFF
                              0x00FFFFFF 0x01FFFFFF 0x03FFFFFF
                              0x07FFFFFF>;
    };
...