Skip to content

Commit 90e55ba

Browse files
asmellbykartben
authored andcommitted
dts: silabs: Add radio binding for Series 2
Add the radio on Series 2 devices to device tree and move the BT HCI node inside it. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
1 parent e2660e5 commit 90e55ba

File tree

8 files changed

+152
-14
lines changed

8 files changed

+152
-14
lines changed

dts/arm/silabs/efr32bg22.dtsi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,11 @@
9292
&dcdc {
9393
interrupts = <61 0>;
9494
};
95+
96+
&radio {
97+
interrupts = <31 0>, <32 0>, <33 0>, <34 0>, <35 0>, <36 0>,
98+
<37 0>, <38 0>, <39 0>, <40 0>, <41 0>, <42 0>;
99+
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
100+
"rac_rsm", "rac_seq", "rdmailbox", "rfsense", "prortc",
101+
"synth";
102+
};

dts/arm/silabs/efr32bg27.dtsi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,11 @@
114114
&dma0 {
115115
interrupts = <26 0>;
116116
};
117+
118+
&radio {
119+
interrupts = <36 0>, <37 0>, <38 0>, <39 0>, <40 0>, <41 0>,
120+
<42 0>, <43 0>, <44 0>, <45 0>, <46 0>, <47 0>;
121+
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
122+
"rac_rsm", "rac_seq", "rdmailbox", "rfsense", "synth",
123+
"prortc";
124+
};

dts/arm/silabs/efr32bg2x.dtsi

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,11 +370,20 @@
370370
reg = <0x50094000 0x4000>;
371371
status = "disabled";
372372
};
373-
};
374373

375-
bt_hci_silabs: bt_hci_silabs {
376-
compatible = "silabs,bt-hci-efr32";
377-
status = "disabled";
374+
radio: radio@b0000000 {
375+
compatible = "silabs,series2-radio";
376+
reg = <0xb0000000 0x1000000>;
377+
pa-initial-power-dbm = <10>;
378+
pa-ramp-time-us = <2>;
379+
pa-voltage-mv = <3300>;
380+
pa-2p4ghz = "highest";
381+
382+
bt_hci_silabs: bt_hci_silabs {
383+
compatible = "silabs,bt-hci-efr32";
384+
status = "disabled";
385+
};
386+
};
378387
};
379388
};
380389

dts/arm/silabs/efr32mg21.dtsi

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,13 +354,26 @@
354354
status = "disabled";
355355
};
356356

357-
acmp0: acmp@0x5a008000 {
357+
acmp0: acmp@5a008000 {
358358
compatible = "silabs,acmp";
359359
reg = <0x5a008000 0x4000>;
360360
interrupts = <41 0>;
361361
clocks = <&cmu CLOCK_AUTO CLOCK_BRANCH_EM01GRPACLK>;
362362
status = "disabled";
363363
};
364+
365+
radio: radio@b0000000 {
366+
compatible = "silabs,series2-radio";
367+
reg = <0xb0000000 0x1000000>;
368+
interrupts = <31 0>, <32 0>, <33 0>, <34 0>, <35 0>, <36 0>,
369+
<37 0>, <38 0>, <39 0>, <40 0>;
370+
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
371+
"rac_rsm", "rac_seq", "prortc", "synth";
372+
pa-initial-power-dbm = <10>;
373+
pa-ramp-time-us = <10>;
374+
pa-voltage-mv = <3300>;
375+
pa-2p4ghz = "highest";
376+
};
364377
};
365378
};
366379

dts/arm/silabs/efr32mg24.dtsi

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -442,12 +442,25 @@
442442
clocks = <&cmu CLOCK_ACMP0 CLOCK_BRANCH_EM01GRPACLK>;
443443
status = "disabled";
444444
};
445-
};
446-
447445

448-
bt_hci_silabs: bt_hci_silabs {
449-
compatible = "silabs,bt-hci-efr32";
450-
status = "disabled";
446+
radio: radio@b0000000 {
447+
compatible = "silabs,series2-radio";
448+
reg = <0xb0000000 0x1000000>;
449+
interrupts = <30 0>, <31 0>, <32 0>, <33 0>, <34 0>, <35 0>,
450+
<36 0>, <37 0>, <38 0>, <39 0>, <70 0>, <71 0>;
451+
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
452+
"rac_rsm", "rac_seq", "hostmailbox", "synth",
453+
"rfeca0", "rfeca1";
454+
pa-initial-power-dbm = <10>;
455+
pa-ramp-time-us = <10>;
456+
pa-voltage-mv = <3300>;
457+
pa-2p4ghz = "highest";
458+
459+
bt_hci_silabs: bt_hci_silabs {
460+
compatible = "silabs,bt-hci-efr32";
461+
status = "disabled";
462+
};
463+
};
451464
};
452465
};
453466

dts/arm/silabs/efr32xg23.dtsi

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,20 @@
472472
clocks = <&cmu CLOCK_ACMP0 CLOCK_BRANCH_EM01GRPACLK>;
473473
status = "disabled";
474474
};
475+
476+
radio: radio@b0000000 {
477+
compatible = "silabs,series2-radio";
478+
reg = <0xb0000000 0x1000000>;
479+
interrupts = <31 0>, <32 0>, <33 0>, <34 0>, <35 0>, <36 0>,
480+
<37 0>, <38 0>, <39 0>, <40 0>, <74 0>, <75 0>;
481+
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
482+
"rac_rsm", "rac_seq", "hostmailbox", "synth",
483+
"rfeca0", "rfeca1";
484+
pa-initial-power-dbm = <10>;
485+
pa-ramp-time-us = <10>;
486+
pa-voltage-mv = <3300>;
487+
pa-subghz = "highest";
488+
};
475489
};
476490

477491
hwinfo: hwinfo {

dts/arm/silabs/xg29/xg29.dtsi

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -452,11 +452,25 @@
452452
interrupt-names = "SETAMPERHOST", "SEMBRX", "SEMBTX";
453453
status = "disabled";
454454
};
455-
};
456455

457-
bt_hci_silabs: bt_hci_silabs {
458-
compatible = "silabs,bt-hci-efr32";
459-
status = "disabled";
456+
radio: radio@b0000000 {
457+
compatible = "silabs,series2-radio";
458+
reg = <0xb0000000 0x1000000>;
459+
interrupts = <36 0>, <37 0>, <38 0>, <39 0>, <40 0>, <41 0>,
460+
<42 0>, <43 0>, <44 0>, <45 0>, <46 0>, <47 0>;
461+
interrupt-names = "agc", "bufc", "frc_pri", "frc", "modem", "protimer",
462+
"rac_rsm", "rac_seq", "rdmailbox", "rfsense", "synth",
463+
"prortc";
464+
pa-initial-power-dbm = <10>;
465+
pa-ramp-time-us = <2>;
466+
pa-voltage-mv = <3300>;
467+
pa-2p4ghz = "highest";
468+
469+
bt_hci_silabs: bt_hci_silabs {
470+
compatible = "silabs,bt-hci-efr32";
471+
status = "disabled";
472+
};
473+
};
460474
};
461475

462476
hwinfo: hwinfo {
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright (c) 2025 Silicon Laboratories Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
Silicon Labs Series 2 radio interface.
6+
7+
This controls the radio transceiver on Silicon Labs Series 2
8+
SoCs.
9+
10+
compatible: "silabs,series2-radio"
11+
12+
include: [base.yaml]
13+
14+
properties:
15+
reg:
16+
required: true
17+
18+
interrupts:
19+
required: true
20+
21+
pa-initial-power-dbm:
22+
type: int
23+
required: true
24+
description: |
25+
Initial Power Amplifier power in dBm.
26+
27+
pa-ramp-time-us:
28+
type: int
29+
required: true
30+
description: |
31+
Power Amplifier ramp time in microseconds.
32+
33+
pa-voltage-mv:
34+
type: int
35+
required: true
36+
description: |
37+
Voltage on PAVDD supply pin in millivolts.
38+
39+
pa-2p4ghz:
40+
type: string
41+
description: |
42+
Power Amplifier selection for 2.4 GHz. A value of 'highest' selects the highest
43+
available PA on the given device. Other values explicitly select a specific PA.
44+
Not all PAs are available on all devices, check device specific documentation.
45+
If this property is not set, no 2.4 GHz PA is enabled.
46+
enum:
47+
- highest
48+
- hp
49+
- mp
50+
- lp
51+
52+
pa-subghz:
53+
type: string
54+
description: |
55+
Power Amplifier selection for sub-GHz. A value of 'highest' selects the highest
56+
available PA on the given device. This is the only available option. If this
57+
property is not set, no sub-GHz PA is enabled.
58+
enum:
59+
- highest

0 commit comments

Comments
 (0)