Help me Obi-wan Kenobi!
I'm loosing my sanity trying to upgrade my project to ncs 2.8.0 from 2.7.0.
I need to update to include some fixes from zephyr main (smf lib), and the 2.8.0 seems to include them.
The board definitions seem to have changed (again).
I implemented the following changes that 1) move DCDC configuration from Kconfig to DT and 2) update the hci_ipc (to some new API?) only for the app core.
diff --git a/boards/arm/tracker/Kconfig b/boards/arm/tracker/Kconfig index 1897609..88637ab 100644 --- a/boards/arm/tracker/Kconfig +++ b/boards/arm/tracker/Kconfig @@ -5,21 +5,6 @@ if BOARD_TRACKER_NRF5340_CPUAPP || BOARD_TRACKER_NRF5340_CPUAPP_NS -config BOARD_ENABLE_DCDC_APP - bool "Application MCU DCDC converter" - select SOC_DCDC_NRF53X_APP - default y - -config BOARD_ENABLE_DCDC_NET - bool "Network MCU DCDC converter" - select SOC_DCDC_NRF53X_NET - default y - -config BOARD_ENABLE_DCDC_HV - bool "High Voltage DCDC converter" - select SOC_DCDC_NRF53X_HV - default y - config BOARD_ENABLE_CPUNET bool "NRF53 Network MCU" select SOC_NRF_GPIO_FORWARDER_FOR_NRF5340 if \ diff --git a/boards/arm/tracker/Kconfig.defconfig b/boards/arm/tracker/Kconfig.defconfig index eb5466b..6c2fc2c 100644 --- a/boards/arm/tracker/Kconfig.defconfig +++ b/boards/arm/tracker/Kconfig.defconfig @@ -53,16 +53,8 @@ config FLASH_LOAD_SIZE endif # BOARD_TRACKER_NRF5340_CPUAPP_NS -endif # BOARD_TRACKER_NRF5340_CPUAPP || BOARD_TRACKER_NRF5340_CPUAPP_NS - -config MBOX_NRFX_IPC - default MBOX - -if BOARD_TRACKER_NRF5340_CPUAPP || BOARD_TRACKER_NRF5340_CPUAPP_NS - -choice BT_HCI_BUS_TYPE - default BT_HCI_IPC if BT -endchoice +config BT_HCI_IPC + default y if BT config HEAP_MEM_POOL_ADD_SIZE_BOARD int diff --git a/boards/arm/tracker/nrf5340_cpuapp_common.dtsi b/boards/arm/tracker/nrf5340_cpuapp_common.dtsi index 0ea7c42..a5611d2 100644 --- a/boards/arm/tracker/nrf5340_cpuapp_common.dtsi +++ b/boards/arm/tracker/nrf5340_cpuapp_common.dtsi @@ -14,7 +14,7 @@ zephyr,uart-mcumgr = &vcom; zephyr,bt-mon-uart = &uart0; zephyr,bt-c2h-uart = &uart0; - zephyr,bt-hci-ipc = &ipc0; + zephyr,bt-hci = &bt_hci_ipc0; nordic,802154-spinel-ipc = &ipc0; zephyr,ieee802154 = &ieee802154; }; @@ -176,6 +176,18 @@ zephyr_udc0: &usbd { gpio-as-nreset; }; +&vregmain { + regulator-initial-mode = <NRF5X_REG_MODE_DCDC>; +}; + +&vregradio { + regulator-initial-mode = <NRF5X_REG_MODE_DCDC>; +}; + +&vregh { + status = "okay"; +}; + / {
With these changes, my applications stalls when I call bt_enable(NULL);
If I don't update the ipc node in the DT, the application does not stall, but I get an error claiming that the hci driver is not registered.
I also get this warning from the build system warning: Deprecated symbol BOARD_ENABLE_CPUNET is enabled. This could be a hint that the net CPU is not released. However, I would still expect a timeout at a point in my application, and this is not happening. Furthermore, this symbol seems to select anyway the correct "new" SOC_NRF53_CPUNET_ENABLE.
I did not find specific information in the migration guide about this.
Any help is appreciated!