Skip to content

Commit a1a92a2

Browse files
petrip-slabkartben
authored andcommitted
dts: silabs: interrupt levels corrected
Downgrading interrupt priority for non critical interrupts for the supported SOCs. Previously almost all interrupts were at level 0 i.e. meaning no interrupt had priority over the others. In reality only radio interrupts are critical while others can be served with less haste. Now the level zero is reserved for interrupts that need higher priority than the radio without bypassing irq locks (zero-latency interrupts) Level 1 for radio and levels 2 and 3 for rest of the services. Signed-off-by: Petri Pitkanen <[email protected]>
1 parent 7f818b5 commit a1a92a2

File tree

7 files changed

+89
-89
lines changed

7 files changed

+89
-89
lines changed

dts/arm/silabs/efr32bg22.dtsi

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
};
3030

3131
&cmu {
32-
interrupts = <46 0>;
32+
interrupts = <46 2>;
3333
};
3434

3535
&hfxo {
@@ -93,43 +93,43 @@
9393
};
9494

9595
&i2c0 {
96-
interrupts = <27 0>;
96+
interrupts = <27 2>;
9797
clocks = <&cmu CLOCK_I2C0 CLOCK_BRANCH_LSPCLK>;
9898
};
9999

100100
&i2c1 {
101-
interrupts = <28 0>;
101+
interrupts = <28 2>;
102102
clocks = <&cmu CLOCK_I2C1 CLOCK_BRANCH_PCLK>;
103103
};
104104

105105
&usart0 {
106-
interrupts = <13 0>, <14 0>;
106+
interrupts = <13 2>, <14 2>;
107107
clocks = <&cmu CLOCK_USART0 CLOCK_BRANCH_PCLK>;
108108
};
109109

110110
&usart1 {
111-
interrupts = <15 0>, <16 0>;
111+
interrupts = <15 2>, <16 2>;
112112
clocks = <&cmu CLOCK_USART1 CLOCK_BRANCH_PCLK>;
113113
};
114114

115115
&burtc0 {
116-
interrupts = <18 0>;
116+
interrupts = <18 2>;
117117
clocks = <&cmu CLOCK_BURTC CLOCK_BRANCH_EM4GRPACLK>;
118118
};
119119

120120
&rtcc0 {
121-
interrupts = <12 0>;
121+
interrupts = <12 2>;
122122
interrupt-names = "rtcc";
123123
clocks = <&cmu CLOCK_RTCC CLOCK_BRANCH_RTCCCLK>;
124124
};
125125

126126
&dcdc {
127-
interrupts = <61 0>;
127+
interrupts = <61 2>;
128128
};
129129

130130
&radio {
131-
interrupts = <31 0>, <32 0>, <33 0>, <34 0>, <35 0>, <36 0>,
132-
<37 0>, <38 0>, <39 0>, <40 0>, <41 0>, <42 0>;
131+
interrupts = <31 1>, <32 1>, <33 1>, <34 1>, <35 1>, <36 1>,
132+
<37 1>, <38 1>, <39 1>, <40 1>, <41 1>, <42 1>;
133133
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
134134
"rac_rsm", "rac_seq", "rdmailbox", "rfsense", "prortc",
135135
"synth";

dts/arm/silabs/efr32bg27.dtsi

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,19 @@
3838
acmp0: acmp@5a008000 {
3939
compatible = "silabs,acmp";
4040
reg = <0x5a008000 0x4000>;
41-
interrupts = <48 0>;
41+
interrupts = <48 2>;
4242
clocks = <&cmu CLOCK_ACMP0 CLOCK_BRANCH_EM01GRPACLK>;
4343
status = "disabled";
4444
};
4545
};
4646
};
4747

4848
&cmu {
49-
interrupts = <52 0>;
49+
interrupts = <52 2>;
5050
};
5151

5252
&hfxo {
53-
interrupts = <50 0>;
53+
interrupts = <50 2>;
5454
interrupt-names = "hfxo";
5555
};
5656

@@ -106,52 +106,52 @@
106106
};
107107

108108
&i2c0 {
109-
interrupts = <32 0>;
109+
interrupts = <32 2>;
110110
clocks = <&cmu CLOCK_I2C0 CLOCK_BRANCH_LSPCLK>;
111111
};
112112

113113
&i2c1 {
114-
interrupts = <33 0>;
114+
interrupts = <33 2>;
115115
clocks = <&cmu CLOCK_I2C1 CLOCK_BRANCH_PCLK>;
116116
};
117117

118118
&usart0 {
119-
interrupts = <16 0>, <17 0>;
119+
interrupts = <16 2>, <17 2>;
120120
clocks = <&cmu CLOCK_USART0 CLOCK_BRANCH_PCLK>;
121121
};
122122

123123
&usart1 {
124-
interrupts = <18 0>, <19 0>;
124+
interrupts = <18 2>, <19 2>;
125125
clocks = <&cmu CLOCK_USART1 CLOCK_BRANCH_PCLK>;
126126
};
127127

128128
&burtc0 {
129-
interrupts = <23 0>;
129+
interrupts = <23 2>;
130130
clocks = <&cmu CLOCK_BURTC CLOCK_BRANCH_EM4GRPACLK>;
131131
};
132132

133133
&rtcc0 {
134-
interrupts = <15 0>;
134+
interrupts = <15 2>;
135135
interrupt-names = "rtcc";
136136
clocks = <&cmu CLOCK_RTCC CLOCK_BRANCH_RTCCCLK>;
137137
};
138138

139139
&adc0 {
140-
interrupts = <54 0>;
140+
interrupts = <54 2>;
141141
clocks = <&cmu CLOCK_IADC0 CLOCK_BRANCH_IADCCLK>;
142142
};
143143

144144
&dcdc {
145-
interrupts = <8 0>;
145+
interrupts = <8 2>;
146146
};
147147

148148
&dma0 {
149149
interrupts = <26 0>;
150150
};
151151

152152
&radio {
153-
interrupts = <36 0>, <37 0>, <38 0>, <39 0>, <40 0>, <41 0>,
154-
<42 0>, <43 0>, <44 0>, <45 0>, <46 0>, <47 0>;
153+
interrupts = <36 1>, <37 1>, <38 1>, <39 1>, <40 1>, <41 1>,
154+
<42 1>, <43 1>, <44 1>, <45 1>, <46 1>, <47 1>;
155155
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
156156
"rac_rsm", "rac_seq", "rdmailbox", "rfsense", "synth",
157157
"prortc";

dts/arm/silabs/efr32bg2x.dtsi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
msc: flash-controller@50030000 {
224224
compatible = "silabs,series2-flash-controller";
225225
reg = <0x50030000 0xC69>;
226-
interrupts = <49 0>;
226+
interrupts = <49 2>;
227227

228228
#address-cells = <1>;
229229
#size-cells = <1>;
@@ -263,7 +263,7 @@
263263
compatible = "silabs,gecko-trng";
264264
reg = <0x4C021000 0x1000>;
265265
status = "disabled";
266-
interrupts = <0x1 0x0>;
266+
interrupts = <0x1 0x2>;
267267
};
268268

269269
i2c0: i2c@5a010000 {
@@ -310,14 +310,14 @@
310310
compatible = "silabs,gecko-wdog";
311311
reg = <0x4A018000 0x3028>;
312312
peripheral-id = <0>;
313-
interrupts = <43 0>;
313+
interrupts = <43 2>;
314314
status = "disabled";
315315
};
316316

317317
adc0: adc@5a004000 {
318318
compatible = "silabs,gecko-iadc";
319319
reg = <0x5a004000 0x4000>;
320-
interrupts = <48 0>;
320+
interrupts = <48 2>;
321321
status = "disabled";
322322
#io-channel-cells = <1>;
323323
};

dts/arm/silabs/efr32mg21.dtsi

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
cmu: clock@50008000 {
122122
compatible = "silabs,series-clock";
123123
reg = <0x50008000 0x4000>;
124-
interrupts = <48 0>;
124+
interrupts = <48 2>;
125125
interrupt-names = "cmu";
126126
status = "okay";
127127
#clock-cells = <2>;
@@ -218,7 +218,7 @@
218218
usart1: usart@5005c000 { /* USART1 */
219219
compatible = "silabs,usart-uart";
220220
reg = <0x5005c000 0x400>;
221-
interrupts = <13 0>, <14 0>;
221+
interrupts = <13 2>, <14 2>;
222222
interrupt-names = "rx", "tx";
223223
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_PCLK>;
224224
status = "disabled";
@@ -227,7 +227,7 @@
227227
usart2: usart@50060000 { /* USART2 */
228228
compatible = "silabs,usart-uart";
229229
reg = <0x50060000 0x400>;
230-
interrupts = <15 0>, <16 0>;
230+
interrupts = <15 2>, <16 2>;
231231
interrupt-names = "rx", "tx";
232232
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_PCLK>;
233233
status = "disabled";
@@ -239,7 +239,7 @@
239239
#address-cells = <1>;
240240
#size-cells = <0>;
241241
reg = <0x5a010000 0x400>;
242-
interrupts = <27 0>;
242+
interrupts = <27 2>;
243243
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_LSPCLK>;
244244
status = "disabled";
245245
};
@@ -250,15 +250,15 @@
250250
#address-cells = <1>;
251251
#size-cells = <0>;
252252
reg = <0x50068000 0x400>;
253-
interrupts = <28 0>;
253+
interrupts = <28 2>;
254254
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_PCLK>;
255255
status = "disabled";
256256
};
257257

258258
rtcc0: rtcc@58000000 {
259259
compatible = "silabs,gecko-stimer";
260260
reg = <0x58000000 0x400>;
261-
interrupts = <10 0>;
261+
interrupts = <10 2>;
262262
interrupt-names = "rtcc";
263263
clock-frequency = <32768>;
264264
prescaler = <1>;
@@ -341,7 +341,7 @@
341341
compatible = "silabs,gecko-wdog";
342342
reg = <0x5a018000 0x2C>;
343343
peripheral-id = <0>;
344-
interrupts = <43 0>;
344+
interrupts = <43 2>;
345345
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_WDOG0CLK>;
346346
status = "disabled";
347347
};
@@ -350,7 +350,7 @@
350350
compatible = "silabs,gecko-wdog";
351351
reg = <0x5a01c000 0x2C>;
352352
peripheral-id = <1>;
353-
interrupts = <44 0>;
353+
interrupts = <44 2>;
354354
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_WDOG1CLK>;
355355
status = "disabled";
356356
};
@@ -366,8 +366,8 @@
366366
radio: radio@b0000000 {
367367
compatible = "silabs,series2-radio";
368368
reg = <0xb0000000 0x1000000>;
369-
interrupts = <31 0>, <32 0>, <33 0>, <34 0>, <35 0>, <36 0>,
370-
<37 0>, <38 0>, <39 0>, <40 0>;
369+
interrupts = <31 1>, <32 1>, <33 1>, <34 1>, <35 1>, <36 1>,
370+
<37 1>, <38 1>, <39 1>, <40 1>;
371371
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
372372
"rac_rsm", "rac_seq", "prortc", "synth";
373373
pa-initial-power-dbm = <10>;

dts/arm/silabs/efr32mg24.dtsi

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@
188188
cmu: clock@50008000 {
189189
compatible = "silabs,series-clock";
190190
reg = <0x50008000 0x4000>;
191-
interrupts = <47 0>;
191+
interrupts = <47 2>;
192192
interrupt-names = "cmu";
193193
status = "okay";
194194
#clock-cells = <2>;
@@ -262,7 +262,7 @@
262262
msc: flash-controller@50030000 {
263263
compatible = "silabs,series2-flash-controller";
264264
reg = <0x50030000 0x3148>;
265-
interrupts = <50 0>;
265+
interrupts = <50 2>;
266266

267267
#address-cells = <1>;
268268
#size-cells = <1>;
@@ -277,7 +277,7 @@
277277
usart0: usart@5005c000 {
278278
compatible = "silabs,usart-uart";
279279
reg = <0x5005C000 0x306c>;
280-
interrupts = <9 0>, <10 0>;
280+
interrupts = <9 2>, <10 2>;
281281
interrupt-names = "rx", "tx";
282282
clocks = <&cmu CLOCK_USART0 CLOCK_BRANCH_PCLK>;
283283
status = "disabled";
@@ -286,7 +286,7 @@
286286
eusart0: eusart@5b010000 {
287287
compatible = "silabs,eusart-spi";
288288
reg = <0x5B010000 0x4000>;
289-
interrupts = <11 0>, <12 0>;
289+
interrupts = <11 2>, <12 2>;
290290
interrupt-names = "rx", "tx";
291291
clocks = <&cmu CLOCK_EUSART0 CLOCK_BRANCH_EUSART0CLK>;
292292
status = "disabled";
@@ -295,7 +295,7 @@
295295
eusart1: eusart@500a0000 {
296296
compatible = "silabs,eusart-spi";
297297
reg = <0x500A0000 0x4000>;
298-
interrupts = <13 0>, <14 0>;
298+
interrupts = <13 2>, <14 2>;
299299
interrupt-names = "rx", "tx";
300300
clocks = <&cmu CLOCK_EUSART1 CLOCK_BRANCH_EM01GRPCCLK>;
301301
status = "disabled";
@@ -304,7 +304,7 @@
304304
burtc0: burtc@50064000 {
305305
compatible = "silabs,gecko-burtc";
306306
reg = <0x50064000 0x3034>;
307-
interrupts = <17 0>;
307+
interrupts = <17 2>;
308308
clocks = <&cmu CLOCK_BURTC CLOCK_BRANCH_EM4GRPACLK>;
309309
status = "disabled";
310310
};
@@ -323,15 +323,15 @@
323323
#address-cells = <1>;
324324
#size-cells = <0>;
325325
reg = <0x5b000000 0x3044>;
326-
interrupts = <27 0>;
326+
interrupts = <27 2>;
327327
clocks = <&cmu CLOCK_I2C0 CLOCK_BRANCH_LSPCLK>;
328328
status = "disabled";
329329
};
330330

331331
sysrtc0: stimer0: sysrtc@500a8000 {
332332
compatible = "silabs,gecko-stimer";
333333
reg = <0x500a8000 0x3054>;
334-
interrupts = <67 0>, <68 0>;
334+
interrupts = <67 2>, <68 2>;
335335
interrupt-names = "sysrtc_app", "sysrtc_seq";
336336
clock-frequency = <32768>;
337337
prescaler = <1>;
@@ -406,7 +406,7 @@
406406
compatible = "silabs,gecko-wdog";
407407
reg = <0x5b004000 0x2C>;
408408
peripheral-id = <0>;
409-
interrupts = <42 0>;
409+
interrupts = <42 2>;
410410
clocks = <&cmu CLOCK_WDOG0 CLOCK_BRANCH_WDOG0CLK>;
411411
status = "disabled";
412412
};
@@ -415,15 +415,15 @@
415415
compatible = "silabs,gecko-wdog";
416416
reg = <0x5b008000 0x2C>;
417417
peripheral-id = <1>;
418-
interrupts = <43 0>;
418+
interrupts = <43 2>;
419419
clocks = <&cmu CLOCK_WDOG1 CLOCK_BRANCH_WDOG1CLK>;
420420
status = "disabled";
421421
};
422422

423423
adc0: adc@59004000 {
424424
compatible = "silabs,gecko-iadc";
425425
reg = <0x59004000 0x4000>;
426-
interrupts = <49 0>;
426+
interrupts = <49 2>;
427427
clocks = <&cmu CLOCK_IADC0 CLOCK_BRANCH_IADCCLK>;
428428
status = "disabled";
429429
#io-channel-cells = <1>;
@@ -432,23 +432,23 @@
432432
dcdc: dcdc@50094000 {
433433
compatible = "silabs,series2-dcdc";
434434
reg = <0x50094000 0x4000>;
435-
interrupts = <53 0>;
435+
interrupts = <53 2>;
436436
status = "disabled";
437437
};
438438

439439
acmp0: acmp@59008000 {
440440
compatible = "silabs,acmp";
441441
reg = <0x59008000 0x4000>;
442-
interrupts = <40 0>;
442+
interrupts = <40 2>;
443443
clocks = <&cmu CLOCK_ACMP0 CLOCK_BRANCH_EM01GRPACLK>;
444444
status = "disabled";
445445
};
446446

447447
radio: radio@b0000000 {
448448
compatible = "silabs,series2-radio";
449449
reg = <0xb0000000 0x1000000>;
450-
interrupts = <30 0>, <31 0>, <32 0>, <33 0>, <34 0>, <35 0>,
451-
<36 0>, <37 0>, <38 0>, <39 0>, <70 0>, <71 0>;
450+
interrupts = <30 1>, <31 1>, <32 1>, <33 1>, <34 1>, <35 1>,
451+
<36 1>, <37 1>, <38 1>, <39 1>, <70 1>, <71 1>;
452452
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
453453
"rac_rsm", "rac_seq", "hostmailbox", "synth",
454454
"rfeca0", "rfeca1";

0 commit comments

Comments
 (0)