Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Watchdog

Freescale i.MX7ULP Watchdog Timer

i.MX7ULP·8ULP·93·94 fallback, 외부 reset과 WDG1 클록을 설명합니다.

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

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

fsl-imx7ulp-wdt.yaml:1-67

i.MX7ULP·8ULP·93·94 fallback, 외부 reset과 WDG1 클록을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, 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-imx7ulp-wdt.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale i.MX7ULP Watchdog Timer (WDT) Controller
8
9 maintainers:
10 - Shawn Guo <[email protected]>
11 - Sascha Hauer <[email protected]>
12 - Fabio Estevam <[email protected]>
13
14 allOf:
15 - $ref: watchdog.yaml#
16
17 properties:
18 compatible:
19 oneOf:
20 - const: fsl,imx7ulp-wdt
21 - items:
22 - const: fsl,imx8ulp-wdt
23 - const: fsl,imx7ulp-wdt
24 - const: fsl,imx93-wdt
25 - items:
26 - enum:
27 - fsl,imx94-wdt
28 - const: fsl,imx93-wdt
29
30 reg:
31 maxItems: 1
32
33 interrupts:
34 maxItems: 1
35
36 clocks:
37 maxItems: 1
38
39 fsl,ext-reset-output:
40 description:
41 When set, wdog can generate external reset from the wdog_any pin.
42 type: boolean
43
44 required:
45 - compatible
46 - interrupts
47 - reg
48 - clocks
49
50 unevaluatedProperties: false
51
52 examples:
53 - |
54 #include <dt-bindings/interrupt-controller/arm-gic.h>
55 #include <dt-bindings/clock/imx7ulp-clock.h>
56
57 watchdog@403d0000 {
58 compatible = "fsl,imx7ulp-wdt";
59 reg = <0x403d0000 0x10000>;
60 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
61 clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
62 assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
63 assigned-clock-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
64 timeout-sec = <40>;
65 };
66
67 ...
68

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

Freescale i.MX7ULP 워치독

1-13

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

i.MX7ULP·8ULP·93·94 호환성과 외부 reset

14-51

공통 `watchdog.yaml`을 상속합니다. i.MX7ULP와 i.MX93은 각각 `fsl,imx7ulp-wdt`, `fsl,imx93-wdt`를 직접 사용합니다. i.MX8ULP는 `fsl,imx8ulp-wdt` 뒤에 i.MX7ULP fallback을, i.MX94는 `fsl,imx94-wdt` 뒤에 i.MX93 fallback을 둡니다.

`reg`, `interrupts`, `clocks`는 각각 최대 하나입니다. boolean `fsl,ext-reset-output`을 지정하면 워치독이 `wdog_any` pin을 통해 external reset을 생성할 수 있습니다. `compatible`, `interrupts`, `reg`, `clocks`가 모두 필수이며 평가되지 않은 추가 속성은 허용하지 않습니다.

allOf:
  - $ref: watchdog.yaml#

properties:
  compatible:
    oneOf:
      - const: fsl,imx7ulp-wdt
      - items:
          - const: fsl,imx8ulp-wdt
          - const: fsl,imx7ulp-wdt
      - const: fsl,imx93-wdt
      - items:
          - enum:
              - fsl,imx94-wdt
          - const: fsl,imx93-wdt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  fsl,ext-reset-output:
    description:
      When set, wdog can generate external reset from the wdog_any pin.
    type: boolean

required:
  - compatible
  - interrupts
  - reg
  - clocks

unevaluatedProperties: false

i.MX7ULP WDG1 클록 예제

52-67

예제는 주소 `0x403d0000`의 i.MX7ULP 워치독에 level-high GIC SPI interrupt 55와 `IMX7ULP_CLK_WDG1`을 연결합니다. 해당 클록의 parent를 `IMX7ULP_CLK_FIRC_BUS_CLK`로 지정하고 timeout을 40초로 설정합니다.

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

    watchdog@403d0000 {
        compatible = "fsl,imx7ulp-wdt";
        reg = <0x403d0000 0x10000>;
        interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
        assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
        assigned-clock-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
        timeout-sec = <40>;
    };

...