← Documents Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Watchdog

STMicroelectronics STM32 Independent Watchdog

STM32 IWDG의 저속·peripheral clock과 pre-timeout, wakeup 속성을 설명합니다.

Source pathDocumentation/devicetree/bindings/watchdog/st,stm32-iwdg.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

st,stm32-iwdg.yaml:1-64

STM32 IWDG의 저속·peripheral clock과 pre-timeout, wakeup 속성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며, compatible, register, clock, interrupt, reset, timeout과 예제는 원문 줄 좌표를 원형대로 보존합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/watchdog/st,stm32-iwdg.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: STMicroelectronics STM32 Independent WatchDoG (IWDG)
8
9 maintainers:
10 - Yannick Fertre <yannick.fertre@foss.st.com>
11 - Christophe Roullier <christophe.roullier@foss.st.com>
12
13 allOf:
14 - $ref: watchdog.yaml#
15
16 properties:
17 compatible:
18 enum:
19 - st,stm32-iwdg
20 - st,stm32mp1-iwdg
21
22 reg:
23 maxItems: 1
24
25 clocks:
26 items:
27 - description: Low speed clock
28 - description: Optional peripheral clock
29 minItems: 1
30
31 clock-names:
32 items:
33 enum:
34 - lsi
35 - pclk
36 minItems: 1
37 maxItems: 2
38
39 interrupts:
40 maxItems: 1
41 description: Pre-timeout interrupt from the watchdog.
42
43 wakeup-source: true
44
45 required:
46 - compatible
47 - reg
48 - clocks
49 - clock-names
50
51 unevaluatedProperties: false
52
53 examples:
54 - |
55 #include <dt-bindings/clock/stm32mp1-clks.h>
56 watchdog@5a002000 {
57 compatible = "st,stm32mp1-iwdg";
58 reg = <0x5a002000 0x400>;
59 clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
60 clock-names = "pclk", "lsi";
61 timeout-sec = <32>;
62 };
63
64 ...
65

3. 한국어 전문 번역

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

STM32 Independent Watchdog

1-15

GPL-2.0-only 또는 BSD-2-Clause로 배포되는 이 스키마는 STMicroelectronics STM32 Independent WatchDoG(IWDG)를 정의합니다. 관리자는 Yannick Fertre와 Christophe Roullier이며 공통 `watchdog.yaml`을 상속합니다.

호환성, 클록과 pre-timeout

16-52

`compatible`은 `st,stm32-iwdg` 또는 `st,stm32mp1-iwdg`입니다. `reg`는 항목 하나만 받습니다.

`clocks`는 저속 클록 하나를 필수로 받고 선택적으로 peripheral clock 하나를 더 받을 수 있습니다. `clock-names`는 `lsi`와 `pclk` 가운데 1개 또는 2개를 사용합니다. 배열의 각 이름은 연결된 클록의 역할을 나타냅니다.

`interrupts`는 watchdog의 pre-timeout interrupt 하나를 지정할 수 있고, `wakeup-source`도 사용할 수 있습니다. `compatible`, `reg`, `clocks`, `clock-names`는 필수이며 평가되지 않은 속성은 허용하지 않습니다.

properties:
  compatible:
    enum:
      - st,stm32-iwdg
      - st,stm32mp1-iwdg

  reg:
    maxItems: 1

  clocks:
    items:
      - description: Low speed clock
      - description: Optional peripheral clock
    minItems: 1

  clock-names:
    items:
      enum:
        - lsi
        - pclk
    minItems: 1
    maxItems: 2

  interrupts:
    maxItems: 1
    description: Pre-timeout interrupt from the watchdog.

  wakeup-source: true

required:
  - compatible
  - reg
  - clocks
  - clock-names

unevaluatedProperties: false

STM32MP1 IWDG 예제

53-64

예제는 주소 `0x5a002000`, 크기 `0x400`의 STM32MP1 IWDG에 `IWDG2` peripheral clock과 `CK_LSI` 저속 클록을 각각 `pclk`, `lsi`라는 이름으로 연결하고 timeout을 32초로 설정합니다.

examples:
  - |
    #include <dt-bindings/clock/stm32mp1-clks.h>
    watchdog@5a002000 {
        compatible = "st,stm32mp1-iwdg";
        reg = <0x5a002000 0x400>;
        clocks = <&rcc IWDG2>, <&rcc CK_LSI>;
        clock-names = "pclk", "lsi";
        timeout-sec = <32>;
    };

...