Skip to content

Commit 1b7b518

Browse files
committed
dts: bluetooth: add base binding for BLE radio hardware capabilities
Create a shared base binding (ble-radio.yaml) for common Bluetooth LE radio hardware capabilities to avoid duplication between vendors and ensure consistent property naming across the ecosystem. Properties are prefixed with 'ble-' and ordered chronologically by Bluetooth Core Specification version (5.0, 5.1, 6.0). Each property indicates a hardware capability, not current enablement state. Signed-off-by: Ivan Pankratov <[email protected]>
1 parent bf9c04c commit 1b7b518

File tree

17 files changed

+126
-33
lines changed

17 files changed

+126
-33
lines changed

drivers/bluetooth/hci/Kconfig.silabs

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ config BT_SILABS_EFR32
2525
select PSA_CRYPTO
2626
select SILABS_SISDK_PROTOCOL_CRYPTO
2727
select HAS_BT_CTLR
28+
29+
# Features supported by all EFR32 devices
2830
select BT_CTLR_PHY_UPDATE_SUPPORT
2931
select BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
3032
select BT_CTLR_DATA_LEN_UPDATE_SUPPORT
@@ -33,10 +35,22 @@ config BT_SILABS_EFR32
3335
select BT_CTLR_CONN_RSSI_SUPPORT
3436
select BT_CTLR_ADV_EXT_SUPPORT
3537
select BT_CTLR_PRIVACY_SUPPORT
36-
select BT_CTLR_PHY_2M_SUPPORT
3738
select BT_CTLR_SYNC_PERIODIC_SUPPORT
3839
select BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT
3940
select BT_CTLR_SYNC_TRANSFER_SENDER_SUPPORT
41+
42+
# Features supported by some EFR32 devices
43+
select BT_CTLR_PHY_2M_SUPPORT if HAS_HW_EFR32_RADIO_BLE_2M
44+
select BT_CTLR_PHY_CODED_SUPPORT if HAS_HW_EFR32_RADIO_BLE_CODED
45+
select BT_CTLR_CHANNEL_SOUNDING_SUPPORT if HAS_HW_EFR32_RADIO_CS
46+
select BT_CTLR_DF_SUPPORT if HAS_HW_EFR32_RADIO_CTE_TX
47+
select BT_CTLR_DF_CTE_TX_SUPPORT if HAS_HW_EFR32_RADIO_CTE_TX
48+
select BT_CTLR_DF_CTE_RX_SUPPORT if HAS_HW_EFR32_RADIO_CTE_RX
49+
select BT_CTLR_DF_CTE_RX_SAMPLE_1US_SUPPORT if HAS_HW_EFR32_RADIO_CTE_RX
50+
select BT_CTLR_DF_ANT_SWITCH_1US_SUPPORT if HAS_HW_EFR32_RADIO_CTE_TX
51+
select BT_CTLR_DF_ANT_SWITCH_2US_SUPPORT if HAS_HW_EFR32_RADIO_CTE_TX
52+
select BT_SILABS_EFR32_HIGH_POWER if HAS_HW_EFR32_RADIO_TX_HIGH_POWER
53+
4054
help
4155
Use Silicon Labs binary Bluetooth library to connect to the
4256
controller.
@@ -100,11 +114,11 @@ config BT_SILABS_EFR32_MAX_QUEUED_ADV_REPORTS
100114
Additional advertising reports are dropped.
101115

102116
config BT_SILABS_EFR32_HIGH_POWER
103-
bool "High power transmission"
117+
bool
104118
help
105-
Normally the transmit power is limited to 10 dBm. Enable this option
106-
to allow the controller to transmit at higher power levels. Note that
107-
this feature is not available on all devices.
119+
Normally the transmit power is limited to 10 dBm. This option
120+
is automatically enabled on devices with high power PA support
121+
and allows the controller to transmit at higher power levels.
108122

109123
config BT_SILABS_EFR32_HIGH_POWER_AFH
110124
bool "Adaptive frequency hopping for high power transmitters"

dts/arm/nordic/nrf52820.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116
ieee802154-supported;
117117
ble-2mbps-supported;
118118
ble-coded-phy-supported;
119-
tx-high-power-supported;
119+
ble-tx-high-power-supported;
120120

121121
ieee802154: ieee802154 {
122122
compatible = "nordic,nrf-ieee802154";

dts/arm/nordic/nrf52833.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@
117117
ieee802154-supported;
118118
ble-2mbps-supported;
119119
ble-coded-phy-supported;
120-
tx-high-power-supported;
120+
ble-tx-high-power-supported;
121121

122122
ieee802154: ieee802154 {
123123
compatible = "nordic,nrf-ieee802154";

dts/arm/nordic/nrf52840.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
ieee802154-supported;
106106
ble-2mbps-supported;
107107
ble-coded-phy-supported;
108-
tx-high-power-supported;
108+
ble-tx-high-power-supported;
109109

110110
ieee802154: ieee802154 {
111111
compatible = "nordic,nrf-ieee802154";

dts/arm/silabs/xg21/efr32xg21.dtsi

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919
pa-initial-power-dbm = <10>;
2020
pa-ramp-time-us = <10>;
2121
pa-voltage-mv = <3300>;
22+
ble-2mbps-supported;
23+
ble-coded-phy-supported;
24+
ble-tx-high-power-supported;
2225

2326
bt_hci_silabs: bt_hci_silabs {
2427
compatible = "silabs,bt-hci-efr32";

dts/arm/silabs/xg22/efr32xg22.dtsi

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
pa-initial-power-dbm = <10>;
2121
pa-ramp-time-us = <2>;
2222
pa-voltage-mv = <3300>;
23+
ble-2mbps-supported;
24+
ble-coded-phy-supported;
25+
ble-cte-tx-supported;
26+
ble-cte-rx-supported;
27+
ble-tx-high-power-supported;
2328

2429
pti: pti {
2530
compatible = "silabs,pti";

dts/arm/silabs/xg24/efr32xg24.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
pa-initial-power-dbm = <10>;
2121
pa-ramp-time-us = <10>;
2222
pa-voltage-mv = <3300>;
23+
ble-2mbps-supported;
24+
ble-coded-phy-supported;
25+
ble-cte-tx-supported;
26+
ble-cte-rx-supported;
27+
ble-cs-supported;
28+
ble-tx-high-power-supported;
2329

2430
bt_hci_silabs: bt_hci_silabs {
2531
compatible = "silabs,bt-hci-efr32";

dts/arm/silabs/xg27/efr32xg27.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
pa-initial-power-dbm = <10>;
2121
pa-ramp-time-us = <2>;
2222
pa-voltage-mv = <3300>;
23+
ble-2mbps-supported;
24+
ble-coded-phy-supported;
25+
ble-cte-tx-supported;
26+
ble-tx-high-power-supported;
2327

2428
bt_hci_silabs: bt_hci_silabs {
2529
compatible = "silabs,bt-hci-efr32";

dts/arm/silabs/xg29/efr32xg29.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
pa-initial-power-dbm = <10>;
2121
pa-ramp-time-us = <2>;
2222
pa-voltage-mv = <3300>;
23+
ble-2mbps-supported;
24+
ble-coded-phy-supported;
25+
ble-cte-tx-supported;
26+
ble-tx-high-power-supported;
2327

2428
bt_hci_silabs: bt_hci_silabs {
2529
compatible = "silabs,bt-hci-efr32";
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Copyright (c) 2025 Nordic Semiconductor ASA
2+
# Copyright (c) 2025 Silicon Laboratories Inc.
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
description: |
6+
Base binding for Bluetooth LE radio hardware capabilities.
7+
8+
These properties describe hardware-supported Bluetooth features based on
9+
the Bluetooth Core Specification. They are read-only and indicate what
10+
the hardware is capable of, not what features are currently enabled.
11+
12+
properties:
13+
# Bluetooth 5.0
14+
ble-2mbps-supported:
15+
type: boolean
16+
description: |
17+
2 Mbps PHY support (Bluetooth 5.0 specification).
18+
19+
ble-coded-phy-supported:
20+
type: boolean
21+
description: |
22+
Coded PHY support for Long Range (Bluetooth 5.0 specification).
23+
24+
# Bluetooth 5.1
25+
ble-cte-tx-supported:
26+
type: boolean
27+
description: |
28+
Constant Tone Extension transmission for Direction Finding in Angle
29+
of Departure mode (Bluetooth 5.1 specification).
30+
31+
ble-cte-rx-supported:
32+
type: boolean
33+
description: |
34+
Constant Tone Extension reception with IQ sampling for Direction Finding
35+
in Angle of Arrival mode. Requires ble-cte-tx-supported capability
36+
(Bluetooth 5.1 specification).
37+
38+
# Bluetooth 6.0
39+
ble-cs-supported:
40+
type: boolean
41+
description: |
42+
BLE Channel Sounding feature support (Bluetooth 6.0 specification).

0 commit comments

Comments
 (0)