Browse Source

drivers: ieee802154: nrf5: make driver DT-based

Use Devicetree to describe the radio and IEEE 802.15.4. This allows to
remove usage of IEEE802154_NRF5_DRV_NAME in preparation for the
removal of NET_CONFIG_IEEE802154_DEV_NAME.

All SoC files have been updated with the addition of an ieee802154 node
(disabled and only on those SoCs that define ieee802154-supported. The
peripheral has been enabled in the nRF52840DK board (used for testing
ieee802154).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
pull/48690/head
Gerard Marull-Paretas 3 years ago committed by Carles Cufí
parent
commit
2df965f490
  1. 6
      drivers/ieee802154/Kconfig.nrf5
  2. 17
      drivers/ieee802154/ieee802154_nrf5.c
  3. 6
      dts/arm/nordic/nrf52811.dtsi
  4. 6
      dts/arm/nordic/nrf52833.dtsi
  5. 6
      dts/arm/nordic/nrf52840.dtsi
  6. 6
      dts/arm/nordic/nrf5340_cpunet.dtsi
  7. 8
      dts/bindings/ieee802154/nordic,nrf-ieee802154.yaml
  8. 2
      soc/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA
  9. 2
      soc/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA
  10. 2
      soc/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA
  11. 2
      soc/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA
  12. 2
      soc/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw41z4
  13. 1
      tests/net/all/prj.conf

6
drivers/ieee802154/Kconfig.nrf5

@ -11,12 +11,6 @@ menuconfig IEEE802154_NRF5 @@ -11,12 +11,6 @@ menuconfig IEEE802154_NRF5
if IEEE802154_NRF5
config IEEE802154_NRF5_DRV_NAME
string "nRF52 IEEE 802.15.4 Driver's name"
default "IEEE802154_nrf5"
help
This option sets the driver name
config IEEE802154_NRF5_RX_STACK_SIZE
int "Driver's internal RX thread stack size"
default 800

17
drivers/ieee802154/ieee802154_nrf5.c

@ -6,6 +6,8 @@ @@ -6,6 +6,8 @@
* SPDX-License-Identifier: Apache-2.0
*/
#define DT_DRV_COMPAT nordic_nrf_ieee802154
#define LOG_MODULE_NAME ieee802154_nrf5
#if defined(CONFIG_IEEE802154_DRIVER_LOG_LEVEL)
#define LOG_LEVEL CONFIG_IEEE802154_DRIVER_LOG_LEVEL
@ -1184,14 +1186,11 @@ static struct ieee802154_radio_api nrf5_radio_api = { @@ -1184,14 +1186,11 @@ static struct ieee802154_radio_api nrf5_radio_api = {
#endif
#if defined(CONFIG_NET_L2_PHY_IEEE802154)
NET_DEVICE_INIT(nrf5_154_radio, CONFIG_IEEE802154_NRF5_DRV_NAME,
nrf5_init, NULL, &nrf5_data, &nrf5_radio_cfg,
CONFIG_IEEE802154_NRF5_INIT_PRIO,
&nrf5_radio_api, L2,
L2_CTX_TYPE, MTU);
NET_DEVICE_DT_INST_DEFINE(0, nrf5_init, NULL, &nrf5_data, &nrf5_radio_cfg,
CONFIG_IEEE802154_NRF5_INIT_PRIO, &nrf5_radio_api, L2,
L2_CTX_TYPE, MTU);
#else
DEVICE_DEFINE(nrf5_154_radio, CONFIG_IEEE802154_NRF5_DRV_NAME,
nrf5_init, NULL, &nrf5_data, &nrf5_radio_cfg,
POST_KERNEL, CONFIG_IEEE802154_NRF5_INIT_PRIO,
&nrf5_radio_api);
DEVICE_DT_INST_DEFINE(0, nrf5_init, NULL, &nrf5_data, &nrf5_radio_cfg,
POST_KERNEL, CONFIG_IEEE802154_NRF5_INIT_PRIO,
&nrf5_radio_api);
#endif

6
dts/arm/nordic/nrf52811.dtsi

@ -78,6 +78,12 @@ @@ -78,6 +78,12 @@
ieee802154-supported;
ble-2mbps-supported;
ble-coded-phy-supported;
ieee802154: ieee802154 {
compatible = "nordic,nrf-ieee802154";
label = "IEEE802154_nrf5";
status = "disabled";
};
};
uart0: uart@40002000 {

6
dts/arm/nordic/nrf52833.dtsi

@ -73,6 +73,12 @@ @@ -73,6 +73,12 @@
ble-2mbps-supported;
ble-coded-phy-supported;
tx-high-power-supported;
ieee802154: ieee802154 {
compatible = "nordic,nrf-ieee802154";
label = "IEEE802154_nrf5";
status = "disabled";
};
};
uart0: uart@40002000 {

6
dts/arm/nordic/nrf52840.dtsi

@ -68,6 +68,12 @@ @@ -68,6 +68,12 @@
ble-2mbps-supported;
ble-coded-phy-supported;
tx-high-power-supported;
ieee802154: ieee802154 {
compatible = "nordic,nrf-ieee802154";
label = "IEEE802154_nrf5";
status = "disabled";
};
};
uart0: uart@40002000 {

6
dts/arm/nordic/nrf5340_cpunet.dtsi

@ -76,6 +76,12 @@ @@ -76,6 +76,12 @@
ieee802154-supported;
ble-2mbps-supported;
ble-coded-phy-supported;
ieee802154: ieee802154 {
compatible = "nordic,nrf-ieee802154";
label = "IEEE802154_nrf5";
status = "disabled";
};
};
rng: random@41009000 {

8
dts/bindings/ieee802154/nordic,nrf-ieee802154.yaml

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: Nordic nRF IEEE 802.15.4 node
compatible: "nordic,nrf-ieee802154"
include: base.yaml

2
soc/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52811_QFAA

@ -12,7 +12,7 @@ config NUM_IRQS @@ -12,7 +12,7 @@ config NUM_IRQS
default 30
config NET_CONFIG_IEEE802154_DEV_NAME
default IEEE802154_NRF5_DRV_NAME
default "IEEE802154_nrf5"
config IEEE802154_NRF5
default IEEE802154

2
soc/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52833_QIAA

@ -14,7 +14,7 @@ config NUM_IRQS @@ -14,7 +14,7 @@ config NUM_IRQS
default 48
config NET_CONFIG_IEEE802154_DEV_NAME
default IEEE802154_NRF5_DRV_NAME
default "IEEE802154_nrf5"
config IEEE802154_NRF5
default IEEE802154

2
soc/arm/nordic_nrf/nrf52/Kconfig.defconfig.nrf52840_QIAA

@ -12,7 +12,7 @@ config NUM_IRQS @@ -12,7 +12,7 @@ config NUM_IRQS
default 48
config NET_CONFIG_IEEE802154_DEV_NAME
default IEEE802154_NRF5_DRV_NAME
default "IEEE802154_nrf5"
config IEEE802154_NRF5
default IEEE802154

2
soc/arm/nordic_nrf/nrf53/Kconfig.defconfig.nrf5340_CPUAPP_QKAA

@ -15,7 +15,7 @@ config IEEE802154_NRF5 @@ -15,7 +15,7 @@ config IEEE802154_NRF5
default IEEE802154
config NET_CONFIG_IEEE802154_DEV_NAME
default IEEE802154_NRF5_DRV_NAME
default "IEEE802154_nrf5"
config HEAP_MEM_POOL_SIZE
default 4096 if NRF_802154_SER_HOST

2
soc/arm/nxp_kinetis/kwx/Kconfig.defconfig.mkw41z4

@ -33,7 +33,7 @@ config IEEE802154_KW41Z @@ -33,7 +33,7 @@ config IEEE802154_KW41Z
default y
config NET_CONFIG_IEEE802154_DEV_NAME
default "KW41Z"
default "KW41Z"
endif # NETWORKING

1
tests/net/all/prj.conf

@ -459,7 +459,6 @@ CONFIG_SHELL_MQTT_INIT_LOG_LEVEL_ERR=y @@ -459,7 +459,6 @@ CONFIG_SHELL_MQTT_INIT_LOG_LEVEL_ERR=y
#CONFIG_SOC_SERIES_NRF52X=y
#CONFIG_HAS_NORDIC_DRIVERS=y
#CONFIG_IEEE802154_NRF5_DRV_NAME="NRF5"
#CONFIG_IEEE802154_NRF5_INIT_PRIO=90
#CONFIG_IEEE802154_NRF5=n
#CONFIG_IEEE802154_NRF5_RX_STACK_SIZE=1024

Loading…
Cancel
Save