← Documents Documentation/devicetree/bindings/timer/renesas,rz-mtu3.yaml GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Timer

Renesas RZ/G2L Multi-Function Timer Pulse Unit 3

RZ MTU3a의 timer·phase counter·PWM channel과 43개 interrupt 구성을 설명합니다.

Source pathDocumentation/devicetree/bindings/timer/renesas,rz-mtu3.yaml
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

renesas,rz-mtu3.yaml:1-306

RZ MTU3a의 timer·phase counter·PWM channel과 43개 interrupt 구성을 설명합니다. 접을 수 있는 영어 원문 전체와 한국어 전문 번역을 함께 제공하며 compatible, interrupt, clock, register, phandle, 수치와 줄 좌표를 원형대로 보존합니다.

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/timer/renesas,rz-mtu3.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Renesas RZ/G2L Multi-Function Timer Pulse Unit 3 (MTU3a)
8
9 maintainers:
10 - Biju Das <[email protected]>
11
12 description: |
13 This hardware block consists of eight 16-bit timer channels and one
14 32-bit timer channel. It supports the following specifications:
15 - Pulse input/output: 28 lines max
16 - Pulse input 3 lines
17 - Count clock 11 clocks for each channel (14 clocks for MTU0, 12 clocks
18 for MTU2, and 10 clocks for MTU5, four clocks for MTU1-MTU2 combination
19 (when LWA = 1))
20 - Operating frequency Up to 100 MHz
21 - Available operations [MTU0 to MTU4, MTU6, MTU7, and MTU8]
22 - Waveform output on compare match
23 - Input capture function (noise filter setting available)
24 - Counter-clearing operation
25 - Simultaneous writing to multiple timer counters (TCNT)
26 (excluding MTU8)
27 - Simultaneous clearing on compare match or input capture
28 (excluding MTU8)
29 - Simultaneous input and output to registers in synchronization with
30 counter operations (excluding MTU8)
31 - Up to 12-phase PWM output in combination with synchronous operation
32 (excluding MTU8)
33 - [MTU0 MTU3, MTU4, MTU6, MTU7, and MTU8]
34 - Buffer operation specifiable
35 - [MTU1, MTU2]
36 - Phase counting mode can be specified independently
37 - 32-bit phase counting mode can be specified for interlocked operation
38 of MTU1 and MTU2 (when TMDR3.LWA = 1)
39 - Cascade connection operation available
40 - [MTU3, MTU4, MTU6, and MTU7]
41 - Through interlocked operation of MTU3/4 and MTU6/7, the positive and
42 negative signals in six phases (12 phases in total) can be output in
43 complementary PWM and reset-synchronized PWM operation
44 - In complementary PWM mode, values can be transferred from buffer
45 registers to temporary registers at crests and troughs of the timer-
46 counter values or when the buffer registers (TGRD registers in MTU4
47 and MTU7) are written to
48 - Double-buffering selectable in complementary PWM mode
49 - [MTU3 and MTU4]
50 - Through interlocking with MTU0, a mode for driving AC synchronous
51 motors (brushless DC motors) by using complementary PWM output and
52 reset-synchronized PWM output is settable and allows the selection
53 of two types of waveform output (chopping or level)
54 - [MTU5]
55 - Capable of operation as a dead-time compensation counter
56 - [MTU0/MTU5, MTU1, MTU2, and MTU8]
57 - 32-bit phase counting mode specifiable by combining MTU1 and MTU2 and
58 through interlocked operation with MTU0/MTU5 and MTU8
59 - Interrupt-skipping function
60 - In complementary PWM mode, interrupts on crests and troughs of counter
61 values and triggers to start conversion by the A/D converter can be
62 skipped
63 - Interrupt sources: 43 sources.
64 - Buffer operation:
65 - Automatic transfer of register data (transfer from the buffer
66 register to the timer register).
67 - Trigger generation
68 - A/D converter start triggers can be generated
69 - A/D converter start request delaying function enables A/D converter
70 to be started with any desired timing and to be synchronized with
71 PWM output
72 - Low power consumption function
73 - The MTU3a can be placed in the module-stop state
74
75 There are two phase counting modes. 16-bit phase counting mode in which
76 MTU1 and MTU2 operate independently, and cascade connection 32-bit phase
77 counting mode in which MTU1 and MTU2 are cascaded.
78
79 In phase counting mode, the phase difference between two external input
80 clocks is detected and the corresponding TCNT is incremented or
81 decremented.
82 The below counters are supported
83 count0 - MTU1 16-bit phase counting
84 count1 - MTU2 16-bit phase counting
85 count2 - MTU1+ MTU2 32-bit phase counting
86
87 The module supports PWM mode{1,2}, Reset-synchronized PWM mode and
88 complementary PWM mode{1,2,3}.
89
90 In complementary PWM mode, six positive-phase and six negative-phase PWM
91 waveforms (12 phases in total) with dead time can be output by
92 combining MTU{3,4} and MTU{6,7}.
93
94 The below pwm channels are supported in pwm mode 1.
95 pwm0 - MTU0.MTIOC0A PWM mode 1
96 pwm1 - MTU0.MTIOC0C PWM mode 1
97 pwm2 - MTU1.MTIOC1A PWM mode 1
98 pwm3 - MTU2.MTIOC2A PWM mode 1
99 pwm4 - MTU3.MTIOC3A PWM mode 1
100 pwm5 - MTU3.MTIOC3C PWM mode 1
101 pwm6 - MTU4.MTIOC4A PWM mode 1
102 pwm7 - MTU4.MTIOC4C PWM mode 1
103 pwm8 - MTU6.MTIOC6A PWM mode 1
104 pwm9 - MTU6.MTIOC6C PWM mode 1
105 pwm10 - MTU7.MTIOC7A PWM mode 1
106 pwm11 - MTU7.MTIOC7C PWM mode 1
107
108 properties:
109 compatible:
110 items:
111 - enum:
112 - renesas,r9a07g043-mtu3 # RZ/{G2UL,Five}
113 - renesas,r9a07g044-mtu3 # RZ/G2{L,LC}
114 - renesas,r9a07g054-mtu3 # RZ/V2L
115 - const: renesas,rz-mtu3
116
117 reg:
118 maxItems: 1
119
120 interrupts:
121 items:
122 - description: MTU0.TGRA input capture/compare match
123 - description: MTU0.TGRB input capture/compare match
124 - description: MTU0.TGRC input capture/compare match
125 - description: MTU0.TGRD input capture/compare match
126 - description: MTU0.TCNT overflow
127 - description: MTU0.TGRE compare match
128 - description: MTU0.TGRF compare match
129 - description: MTU1.TGRA input capture/compare match
130 - description: MTU1.TGRB input capture/compare match
131 - description: MTU1.TCNT overflow
132 - description: MTU1.TCNT underflow
133 - description: MTU2.TGRA input capture/compare match
134 - description: MTU2.TGRB input capture/compare match
135 - description: MTU2.TCNT overflow
136 - description: MTU2.TCNT underflow
137 - description: MTU3.TGRA input capture/compare match
138 - description: MTU3.TGRB input capture/compare match
139 - description: MTU3.TGRC input capture/compare match
140 - description: MTU3.TGRD input capture/compare match
141 - description: MTU3.TCNT overflow
142 - description: MTU4.TGRA input capture/compare match
143 - description: MTU4.TGRB input capture/compare match
144 - description: MTU4.TGRC input capture/compare match
145 - description: MTU4.TGRD input capture/compare match
146 - description: MTU4.TCNT overflow/underflow
147 - description: MTU5.TGRU input capture/compare match
148 - description: MTU5.TGRV input capture/compare match
149 - description: MTU5.TGRW input capture/compare match
150 - description: MTU6.TGRA input capture/compare match
151 - description: MTU6.TGRB input capture/compare match
152 - description: MTU6.TGRC input capture/compare match
153 - description: MTU6.TGRD input capture/compare match
154 - description: MTU6.TCNT overflow
155 - description: MTU7.TGRA input capture/compare match
156 - description: MTU7.TGRB input capture/compare match
157 - description: MTU7.TGRC input capture/compare match
158 - description: MTU7.TGRD input capture/compare match
159 - description: MTU7.TCNT overflow/underflow
160 - description: MTU8.TGRA input capture/compare match
161 - description: MTU8.TGRB input capture/compare match
162 - description: MTU8.TGRC input capture/compare match
163 - description: MTU8.TGRD input capture/compare match
164 - description: MTU8.TCNT overflow
165 - description: MTU8.TCNT underflow
166
167 interrupt-names:
168 items:
169 - const: tgia0
170 - const: tgib0
171 - const: tgic0
172 - const: tgid0
173 - const: tciv0
174 - const: tgie0
175 - const: tgif0
176 - const: tgia1
177 - const: tgib1
178 - const: tciv1
179 - const: tciu1
180 - const: tgia2
181 - const: tgib2
182 - const: tciv2
183 - const: tciu2
184 - const: tgia3
185 - const: tgib3
186 - const: tgic3
187 - const: tgid3
188 - const: tciv3
189 - const: tgia4
190 - const: tgib4
191 - const: tgic4
192 - const: tgid4
193 - const: tciv4
194 - const: tgiu5
195 - const: tgiv5
196 - const: tgiw5
197 - const: tgia6
198 - const: tgib6
199 - const: tgic6
200 - const: tgid6
201 - const: tciv6
202 - const: tgia7
203 - const: tgib7
204 - const: tgic7
205 - const: tgid7
206 - const: tciv7
207 - const: tgia8
208 - const: tgib8
209 - const: tgic8
210 - const: tgid8
211 - const: tciv8
212 - const: tciu8
213
214 clocks:
215 maxItems: 1
216
217 power-domains:
218 maxItems: 1
219
220 resets:
221 maxItems: 1
222
223 "#pwm-cells":
224 oneOf:
225 - const: 2
226 deprecated: true
227 - const: 3
228
229 required:
230 - compatible
231 - reg
232 - interrupts
233 - interrupt-names
234 - clocks
235 - power-domains
236 - resets
237
238 additionalProperties: false
239
240 examples:
241 - |
242 #include <dt-bindings/clock/r9a07g044-cpg.h>
243 #include <dt-bindings/interrupt-controller/arm-gic.h>
244
245 mtu3: timer@10001200 {
246 compatible = "renesas,r9a07g044-mtu3", "renesas,rz-mtu3";
247 reg = <0x10001200 0xb00>;
248 interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>,
249 <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>,
250 <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>,
251 <GIC_SPI 173 IRQ_TYPE_EDGE_RISING>,
252 <GIC_SPI 174 IRQ_TYPE_EDGE_RISING>,
253 <GIC_SPI 175 IRQ_TYPE_EDGE_RISING>,
254 <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>,
255 <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>,
256 <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>,
257 <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>,
258 <GIC_SPI 180 IRQ_TYPE_EDGE_RISING>,
259 <GIC_SPI 181 IRQ_TYPE_EDGE_RISING>,
260 <GIC_SPI 182 IRQ_TYPE_EDGE_RISING>,
261 <GIC_SPI 183 IRQ_TYPE_EDGE_RISING>,
262 <GIC_SPI 184 IRQ_TYPE_EDGE_RISING>,
263 <GIC_SPI 185 IRQ_TYPE_EDGE_RISING>,
264 <GIC_SPI 186 IRQ_TYPE_EDGE_RISING>,
265 <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>,
266 <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>,
267 <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>,
268 <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>,
269 <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>,
270 <GIC_SPI 192 IRQ_TYPE_EDGE_RISING>,
271 <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>,
272 <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>,
273 <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>,
274 <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>,
275 <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>,
276 <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>,
277 <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>,
278 <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>,
279 <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>,
280 <GIC_SPI 202 IRQ_TYPE_EDGE_RISING>,
281 <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>,
282 <GIC_SPI 204 IRQ_TYPE_EDGE_RISING>,
283 <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>,
284 <GIC_SPI 206 IRQ_TYPE_EDGE_RISING>,
285 <GIC_SPI 207 IRQ_TYPE_EDGE_RISING>,
286 <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
287 <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
288 <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>,
289 <GIC_SPI 211 IRQ_TYPE_EDGE_RISING>,
290 <GIC_SPI 212 IRQ_TYPE_EDGE_RISING>,
291 <GIC_SPI 213 IRQ_TYPE_EDGE_RISING>;
292 interrupt-names = "tgia0", "tgib0", "tgic0", "tgid0", "tciv0", "tgie0",
293 "tgif0",
294 "tgia1", "tgib1", "tciv1", "tciu1",
295 "tgia2", "tgib2", "tciv2", "tciu2",
296 "tgia3", "tgib3", "tgic3", "tgid3", "tciv3",
297 "tgia4", "tgib4", "tgic4", "tgid4", "tciv4",
298 "tgiu5", "tgiv5", "tgiw5",
299 "tgia6", "tgib6", "tgic6", "tgid6", "tciv6",
300 "tgia7", "tgib7", "tgic7", "tgid7", "tciv7",
301 "tgia8", "tgib8", "tgic8", "tgid8", "tciv8", "tciu8";
302 clocks = <&cpg CPG_MOD R9A07G044_MTU_X_MCK_MTU3>;
303 power-domains = <&cpg>;
304 resets = <&cpg R9A07G044_MTU_X_PRESET_MTU3>;
305 #pwm-cells = <3>;
306 };
307

3. 한국어 전문 번역

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

Renesas RZ/G2L MTU3a

1-38

GPL-2.0-only 또는 BSD-2-Clause 라이선스의 이 스키마는 Renesas RZ/G2L Multi-Function Timer Pulse Unit 3(MTU3a)를 정의합니다. Hardware block은 16-bit timer channel 여덟 개와 32-bit timer channel 한 개로 구성됩니다. Pulse input/output은 최대 28선이고 pulse input은 3선입니다. 각 channel은 기본적으로 count clock 11개를 지원하지만 MTU0는 14개, MTU2는 12개, MTU5는 10개이며, LWA=1로 MTU1과 MTU2를 결합하면 4개를 사용합니다. 동작 주파수는 최대 100 MHz입니다. Maintainer는 Biju Das입니다.

MTU0~MTU4, MTU6, MTU7, MTU8은 compare match waveform output, noise filter를 설정할 수 있는 input capture, counter clear를 지원합니다. MTU8을 제외하면 여러 TCNT에 동시 쓰기, compare match 또는 input capture 시 동시 clear, counter 동작과 동기화한 register input/output, synchronous operation과 결합한 최대 12-phase PWM output도 지원합니다. MTU0, MTU3, MTU4, MTU6, MTU7, MTU8은 buffer operation을 설정할 수 있습니다. MTU1과 MTU2는 phase counting mode를 독립적으로 지정할 수 있고 TMDR3.LWA=1이면 interlocked 32-bit phase counting mode와 cascade connection을 사용할 수 있습니다.

Complementary PWM·ADC trigger·저전력

39-74

MTU3/4와 MTU6/7을 interlocked operation으로 결합하면 complementary PWM 및 reset-synchronized PWM에서 6개 positive signal과 6개 negative signal, 합계 12 phase를 출력할 수 있습니다. Complementary PWM mode에서는 timer-counter 값의 crest와 trough 또는 MTU4·MTU7의 TGRD buffer register 쓰기 시 buffer 값을 temporary register로 전달할 수 있고 double buffering도 선택할 수 있습니다.

MTU3·MTU4는 MTU0와 interlock하여 complementary PWM과 reset-synchronized PWM으로 AC synchronous motor 또는 brushless DC motor를 구동하며 chopping 또는 level waveform output을 선택할 수 있습니다. MTU5는 dead-time compensation counter로 동작할 수 있습니다. MTU1·MTU2를 결합하고 MTU0/MTU5 및 MTU8과 interlock하면 32-bit phase counting mode를 구성할 수 있습니다.

Complementary PWM mode의 counter crest·trough interrupt와 A/D converter conversion-start trigger는 interrupt-skipping 기능으로 건너뛸 수 있습니다. Interrupt source는 총 43개입니다. Buffer operation은 buffer register에서 timer register로 데이터를 자동 전달합니다. A/D converter start trigger를 만들 수 있으며, start request delay 기능으로 원하는 시점에 converter를 시작하고 PWM output과 동기화할 수 있습니다. 저전력 운용을 위해 MTU3a를 module-stop state에 둘 수 있습니다.

Phase counter와 PWM channel

75-107

Phase counting에는 MTU1과 MTU2가 독립 동작하는 16-bit mode와 두 channel을 cascade한 32-bit mode가 있습니다. 두 external input clock의 phase difference를 검출해 해당 TCNT를 증가 또는 감소시킵니다. `count0`은 MTU1 16-bit phase counting, `count1`은 MTU2 16-bit phase counting, `count2`는 MTU1+MTU2 32-bit phase counting입니다.

Module은 PWM mode 1·2, reset-synchronized PWM mode, complementary PWM mode 1·2·3을 지원합니다. Complementary PWM에서는 MTU3/4와 MTU6/7을 결합하여 dead time이 있는 positive 6 phase와 negative 6 phase, 총 12개 waveform을 출력합니다.

PWM mode 1의 mapping은 `pwm0=MTU0.MTIOC0A`, `pwm1=MTU0.MTIOC0C`, `pwm2=MTU1.MTIOC1A`, `pwm3=MTU2.MTIOC2A`, `pwm4=MTU3.MTIOC3A`, `pwm5=MTU3.MTIOC3C`, `pwm6=MTU4.MTIOC4A`, `pwm7=MTU4.MTIOC4C`, `pwm8=MTU6.MTIOC6A`, `pwm9=MTU6.MTIOC6C`, `pwm10=MTU7.MTIOC7A`, `pwm11=MTU7.MTIOC7C`입니다.

RZ SoC compatible과 register

108-119

RZ/G2UL·RZ/Five는 `renesas,r9a07g043-mtu3`, RZ/G2L·LC는 `renesas,r9a07g044-mtu3`, RZ/V2L은 `renesas,r9a07g054-mtu3` 뒤에 generic `renesas,rz-mtu3` fallback을 둡니다. `reg`는 최대 한 영역입니다.

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g043-mtu3  # RZ/{G2UL,Five}
          - renesas,r9a07g044-mtu3  # RZ/G2{L,LC}
          - renesas,r9a07g054-mtu3  # RZ/V2L
      - const: renesas,rz-mtu3

  reg:
    maxItems: 1

43개 interrupt source

120-166

`interrupts`는 정확한 hardware 순서의 43개 source를 담습니다. MTU0는 TGRA~TGRD input capture/compare match, TCNT overflow, TGRE·TGRF compare match의 7개입니다. MTU1과 MTU2는 각각 TGRA·TGRB input capture/compare match와 TCNT overflow·underflow의 4개입니다. MTU3은 TGRA~TGRD와 overflow 5개, MTU4는 TGRA~TGRD와 overflow/underflow 5개입니다. MTU5는 TGRU·TGRV·TGRW 세 개입니다. MTU6은 TGRA~TGRD와 overflow 5개, MTU7은 TGRA~TGRD와 overflow/underflow 5개, MTU8은 TGRA~TGRD와 overflow·underflow 6개입니다.

interrupts:
  items:
    - description: MTU0.TGRA input capture/compare match
    - description: MTU0.TGRB input capture/compare match
    - description: MTU0.TGRC input capture/compare match
    - description: MTU0.TGRD input capture/compare match
    - description: MTU0.TCNT overflow
    - description: MTU0.TGRE compare match
    - description: MTU0.TGRF compare match
    - description: MTU1.TGRA input capture/compare match
    - description: MTU1.TGRB input capture/compare match
    - description: MTU1.TCNT overflow
    - description: MTU1.TCNT underflow
    - description: MTU2.TGRA input capture/compare match
    - description: MTU2.TGRB input capture/compare match
    - description: MTU2.TCNT overflow
    - description: MTU2.TCNT underflow
    - description: MTU3.TGRA input capture/compare match
    - description: MTU3.TGRB input capture/compare match
    - description: MTU3.TGRC input capture/compare match
    - description: MTU3.TGRD input capture/compare match
    - description: MTU3.TCNT overflow
    - description: MTU4.TGRA input capture/compare match
    - description: MTU4.TGRB input capture/compare match
    - description: MTU4.TGRC input capture/compare match
    - description: MTU4.TGRD input capture/compare match
    - description: MTU4.TCNT overflow/underflow
    - description: MTU5.TGRU input capture/compare match
    - description: MTU5.TGRV input capture/compare match
    - description: MTU5.TGRW input capture/compare match
    - description: MTU6.TGRA input capture/compare match
    - description: MTU6.TGRB input capture/compare match
    - description: MTU6.TGRC input capture/compare match
    - description: MTU6.TGRD input capture/compare match
    - description: MTU6.TCNT overflow
    - description: MTU7.TGRA input capture/compare match
    - description: MTU7.TGRB input capture/compare match
    - description: MTU7.TGRC input capture/compare match
    - description: MTU7.TGRD input capture/compare match
    - description: MTU7.TCNT overflow/underflow
    - description: MTU8.TGRA input capture/compare match
    - description: MTU8.TGRB input capture/compare match
    - description: MTU8.TGRC input capture/compare match
    - description: MTU8.TGRD input capture/compare match
    - description: MTU8.TCNT overflow
    - description: MTU8.TCNT underflow

Interrupt 이름 순서

167-213

`interrupt-names`는 43개 interrupt와 같은 순서를 사용합니다. MTU0는 `tgia0`, `tgib0`, `tgic0`, `tgid0`, `tciv0`, `tgie0`, `tgif0`이고 MTU1은 `tgia1`, `tgib1`, `tciv1`, `tciu1`, MTU2는 `tgia2`, `tgib2`, `tciv2`, `tciu2`입니다. MTU3은 `tgia3`~`tgid3`, `tciv3`, MTU4는 `tgia4`~`tgid4`, `tciv4`, MTU5는 `tgiu5`, `tgiv5`, `tgiw5`입니다. MTU6은 `tgia6`~`tgid6`, `tciv6`, MTU7은 `tgia7`~`tgid7`, `tciv7`, MTU8은 `tgia8`~`tgid8`, `tciv8`, `tciu8`입니다.

interrupt-names:
  items:
    - const: tgia0
    - const: tgib0
    - const: tgic0
    - const: tgid0
    - const: tciv0
    - const: tgie0
    - const: tgif0
    - const: tgia1
    - const: tgib1
    - const: tciv1
    - const: tciu1
    - const: tgia2
    - const: tgib2
    - const: tciv2
    - const: tciu2
    - const: tgia3
    - const: tgib3
    - const: tgic3
    - const: tgid3
    - const: tciv3
    - const: tgia4
    - const: tgib4
    - const: tgic4
    - const: tgid4
    - const: tciv4
    - const: tgiu5
    - const: tgiv5
    - const: tgiw5
    - const: tgia6
    - const: tgib6
    - const: tgic6
    - const: tgid6
    - const: tciv6
    - const: tgia7
    - const: tgib7
    - const: tgic7
    - const: tgid7
    - const: tciv7
    - const: tgia8
    - const: tgib8
    - const: tgic8
    - const: tgid8
    - const: tciv8
    - const: tciu8

Clock·power·reset과 PWM cells

214-239

`clocks`, `power-domains`, `resets`는 각각 최대 한 항목입니다. `#pwm-cells`는 deprecated된 값 2 또는 현재 값 3을 허용합니다. `compatible`, `reg`, `interrupts`, `interrupt-names`, `clocks`, `power-domains`, `resets`가 필수이며 추가 속성은 허용되지 않습니다.

  clocks:
    maxItems: 1

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  "#pwm-cells":
    oneOf:
      - const: 2
        deprecated: true
      - const: 3

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - clocks
  - power-domains
  - resets

additionalProperties: false

RZ/G2L MTU3a 예제

240-306

예제는 `timer@10001200`에 RZ/G2L compatible과 generic fallback, 0xb00-byte register 영역을 지정합니다. 43개 rising-edge interrupt는 GIC SPI 170~213을 사용하며, source 정의와 같은 43개 이름을 순서대로 연결합니다. Clock은 `R9A07G044_MTU_X_MCK_MTU3`, reset은 `R9A07G044_MTU_X_PRESET_MTU3`, power domain은 `cpg`이고 `#pwm-cells`는 3입니다.

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

    mtu3: timer@10001200 {
      compatible = "renesas,r9a07g044-mtu3", "renesas,rz-mtu3";
      reg = <0x10001200 0xb00>;
      interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 173 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 174 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 175 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 180 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 181 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 182 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 183 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 184 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 185 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 186 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 192 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 201 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 202 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 204 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 206 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 207 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 211 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 212 IRQ_TYPE_EDGE_RISING>,
                   <GIC_SPI 213 IRQ_TYPE_EDGE_RISING>;
      interrupt-names = "tgia0", "tgib0", "tgic0", "tgid0", "tciv0", "tgie0",
                        "tgif0",
                        "tgia1", "tgib1", "tciv1", "tciu1",
                        "tgia2", "tgib2", "tciv2", "tciu2",
                        "tgia3", "tgib3", "tgic3", "tgid3", "tciv3",
                        "tgia4", "tgib4", "tgic4", "tgid4", "tciv4",
                        "tgiu5", "tgiv5", "tgiw5",
                        "tgia6", "tgib6", "tgic6", "tgid6", "tciv6",
                        "tgia7", "tgib7", "tgic7", "tgid7", "tciv7",
                        "tgia8", "tgib8", "tgic8", "tgid8", "tciv8", "tciu8";
      clocks = <&cpg CPG_MOD R9A07G044_MTU_X_MCK_MTU3>;
      power-domains = <&cpg>;
      resets = <&cpg R9A07G044_MTU_X_PRESET_MTU3>;
      #pwm-cells = <3>;
    };