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

Linux 6.18.37 · Devicetree Bindings / Watchdog

Freescale i.MX Watchdog Timer

i.MX·Layerscape·Vybrid 호환성과 WAIT suspend·big-endian 조건을 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

fsl-imx-wdt.yaml:1-128

i.MX·Layerscape·Vybrid 호환성과 WAIT suspend·big-endian 조건을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, 예제와 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/watchdog/fsl-imx-wdt.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale i.MX Watchdog Timer (WDT) Controller
8
9 maintainers:
10 - Shawn Guo <shawnguo@kernel.org>
11 - Sascha Hauer <s.hauer@pengutronix.de>
12 - Fabio Estevam <festevam@gmail.com>
13
14 properties:
15 compatible:
16 oneOf:
17 - const: fsl,imx21-wdt
18 - items:
19 - enum:
20 - fsl,imx25-wdt
21 - fsl,imx27-wdt
22 - fsl,imx31-wdt
23 - fsl,imx35-wdt
24 - fsl,imx50-wdt
25 - fsl,imx51-wdt
26 - fsl,imx53-wdt
27 - fsl,imx6q-wdt
28 - fsl,imx6sl-wdt
29 - fsl,imx6sll-wdt
30 - fsl,imx6sx-wdt
31 - fsl,imx6ul-wdt
32 - fsl,imx7d-wdt
33 - fsl,imx8mm-wdt
34 - fsl,imx8mn-wdt
35 - fsl,imx8mp-wdt
36 - fsl,imx8mq-wdt
37 - fsl,ls1012a-wdt
38 - fsl,ls1021a-wdt
39 - fsl,ls1043a-wdt
40 - fsl,ls1046a-wdt
41 - fsl,vf610-wdt
42 - const: fsl,imx21-wdt
43
44 reg:
45 maxItems: 1
46
47 interrupts:
48 maxItems: 1
49
50 clocks:
51 maxItems: 1
52
53 big-endian: true
54
55 fsl,ext-reset-output:
56 $ref: /schemas/types.yaml#/definitions/flag
57 description: |
58 If present, the watchdog device is configured to assert its
59 external reset (WDOG_B) instead of issuing a software reset.
60
61 fsl,suspend-in-wait:
62 $ref: /schemas/types.yaml#/definitions/flag
63 description: |
64 If present, the watchdog device is suspended in WAIT mode
65 (Suspend-to-Idle). Only supported on certain devices.
66
67 required:
68 - compatible
69 - interrupts
70 - reg
71
72 allOf:
73 - $ref: watchdog.yaml#
74 - if:
75 not:
76 properties:
77 compatible:
78 contains:
79 enum:
80 - fsl,imx25-wdt
81 - fsl,imx35-wdt
82 - fsl,imx50-wdt
83 - fsl,imx51-wdt
84 - fsl,imx53-wdt
85 - fsl,imx6q-wdt
86 - fsl,imx6sl-wdt
87 - fsl,imx6sll-wdt
88 - fsl,imx6sx-wdt
89 - fsl,imx6ul-wdt
90 - fsl,imx7d-wdt
91 - fsl,imx8mm-wdt
92 - fsl,imx8mn-wdt
93 - fsl,imx8mp-wdt
94 - fsl,imx8mq-wdt
95 - fsl,vf610-wdt
96 then:
97 properties:
98 fsl,suspend-in-wait: false
99
100 - if:
101 not:
102 properties:
103 compatible:
104 contains:
105 enum:
106 - fsl,ls1012a-wdt
107 - fsl,ls1021a-wdt
108 - fsl,ls1043a-wdt
109 - fsl,ls1046a-wdt
110 then:
111 properties:
112 big-endian: false
113
114 unevaluatedProperties: false
115
116 examples:
117 - |
118 #include <dt-bindings/interrupt-controller/arm-gic.h>
119 #include <dt-bindings/clock/imx6qdl-clock.h>
120
121 watchdog@20bc000 {
122 compatible = "fsl,imx21-wdt";
123 reg = <0x020bc000 0x4000>;
124 interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
125 clocks = <&clks IMX6QDL_CLK_IPG>;
126 };
127
128 ...
129

3. 한국어 전문 번역

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

Freescale i.MX 워치독

1-13

GPL-2.0 또는 BSD-2-Clause로 배포되는 이 스키마는 Freescale i.MX 계열 워치독 타이머 컨트롤러를 정의합니다. 관리자는 Shawn Guo, Sascha Hauer, Fabio Estevam입니다.

i.MX21 fallback 호환 목록

14-43

i.MX21은 `fsl,imx21-wdt`를 직접 사용합니다. i.MX25·27·31·35·50·51·53, i.MX6Q·6SL·6SLL·6SX·6UL, i.MX7D, i.MX8MM·8MN·8MP·8MQ, Layerscape LS1012A·LS1021A·LS1043A·LS1046A, Vybrid VF610은 각각의 SoC 문자열 뒤에 `fsl,imx21-wdt` fallback을 둡니다.

properties:
  compatible:
    oneOf:
      - const: fsl,imx21-wdt
      - items:
          - enum:
              - fsl,imx25-wdt
              - fsl,imx27-wdt
              - fsl,imx31-wdt
              - fsl,imx35-wdt
              - fsl,imx50-wdt
              - fsl,imx51-wdt
              - fsl,imx53-wdt
              - fsl,imx6q-wdt
              - fsl,imx6sl-wdt
              - fsl,imx6sll-wdt
              - fsl,imx6sx-wdt
              - fsl,imx6ul-wdt
              - fsl,imx7d-wdt
              - fsl,imx8mm-wdt
              - fsl,imx8mn-wdt
              - fsl,imx8mp-wdt
              - fsl,imx8mq-wdt
              - fsl,ls1012a-wdt
              - fsl,ls1021a-wdt
              - fsl,ls1043a-wdt
              - fsl,ls1046a-wdt
              - fsl,vf610-wdt
          - const: fsl,imx21-wdt

외부 reset과 WAIT mode suspend

44-71

`reg`, `interrupts`, `clocks`는 각각 최대 하나이며 `big-endian`을 지원합니다. `fsl,ext-reset-output`을 지정하면 software reset 대신 외부 reset 신호 `WDOG_B`를 assert하도록 워치독을 구성합니다.

`fsl,suspend-in-wait`를 지정하면 WAIT mode, 즉 Suspend-to-Idle에서 워치독을 suspend합니다. 일부 장치에서만 지원됩니다. `compatible`, `interrupts`, `reg`가 필수입니다.

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  big-endian: true

  fsl,ext-reset-output:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      If present, the watchdog device is configured to assert its
      external reset (WDOG_B) instead of issuing a software reset.

  fsl,suspend-in-wait:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      If present, the watchdog device is suspended in WAIT mode
      (Suspend-to-Idle). Only supported on certain devices.

required:
  - compatible
  - interrupts
  - reg

WAIT 지원 기종과 Layerscape endianness

72-115

공통 `watchdog.yaml`을 상속합니다. `fsl,suspend-in-wait`는 i.MX25·35·50·51·53, i.MX6Q·6SL·6SLL·6SX·6UL, i.MX7D, i.MX8MM·8MN·8MP·8MQ, VF610에서만 허용되며 그 밖의 compatible에서는 false로 제한합니다.

`big-endian`은 Layerscape LS1012A, LS1021A, LS1043A, LS1046A에서만 허용되고 다른 compatible에서는 false입니다. 평가되지 않은 추가 속성은 허용하지 않습니다.

allOf:
  - $ref: watchdog.yaml#
  - if:
      not:
        properties:
          compatible:
            contains:
              enum:
                - fsl,imx25-wdt
                - fsl,imx35-wdt
                - fsl,imx50-wdt
                - fsl,imx51-wdt
                - fsl,imx53-wdt
                - fsl,imx6q-wdt
                - fsl,imx6sl-wdt
                - fsl,imx6sll-wdt
                - fsl,imx6sx-wdt
                - fsl,imx6ul-wdt
                - fsl,imx7d-wdt
                - fsl,imx8mm-wdt
                - fsl,imx8mn-wdt
                - fsl,imx8mp-wdt
                - fsl,imx8mq-wdt
                - fsl,vf610-wdt
    then:
      properties:
        fsl,suspend-in-wait: false

  - if:
      not:
        properties:
          compatible:
            contains:
              enum:
                - fsl,ls1012a-wdt
                - fsl,ls1021a-wdt
                - fsl,ls1043a-wdt
                - fsl,ls1046a-wdt
    then:
      properties:
        big-endian: false

unevaluatedProperties: false

i.MX 워치독 IPG 클록 예제

116-128

예제는 주소 `0x020bc000`의 i.MX21 호환 워치독에 level-high interrupt 80과 `IMX6QDL_CLK_IPG` 클록을 연결합니다.

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/imx6qdl-clock.h>

    watchdog@20bc000 {
        compatible = "fsl,imx21-wdt";
        reg = <0x020bc000 0x4000>;
        interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clks IMX6QDL_CLK_IPG>;
    };

...