Enables lfxo. Clean up.

This commit is contained in:
Pbopbo
2026-02-24 14:21:41 +01:00
parent 9f1e875cbf
commit 334e3958b5
13 changed files with 46 additions and 354 deletions

View File

@@ -5,34 +5,6 @@
"minor": 20
},
"configurePresets": [
{
"name": "build_bl54_radio0",
"displayName": "Build for nRF54l15 DK nRF54l15 Application",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build_bl54_radio0",
"cacheVariables": {
"NCS_TOOLCHAIN_VERSION": "NONE",
"BOARD": "nrf54l15dk/nrf54l15/cpuapp",
"EXTRA_CONF_FILE": "iso.conf;internal_osc.conf",
"CONF_FILE": "prj.conf",
"DTC_OVERLAY_FILE": "bl54l15_radio0_new.overlay",
"BOARD_ROOT": "${sourceDir}/"
}
},
{
"name": "build_bl54_radio1",
"displayName": "Build for nRF54l15 DK nRF54l15 Application",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build_bl54_radio1",
"cacheVariables": {
"NCS_TOOLCHAIN_VERSION": "NONE",
"BOARD": "nrf54l15dk/nrf54l15/cpuapp",
"EXTRA_CONF_FILE": "iso.conf;internal_osc.conf",
"CONF_FILE": "prj.conf",
"DTC_OVERLAY_FILE": "bl54l15_radio1.overlay",
"BOARD_ROOT": "${sourceDir}/"
}
},
{
"name": "build_nrf54_radio0_radio1",
"displayName": "Build for nRF54l15 DK nRF54l15 Application",
@@ -41,7 +13,7 @@
"cacheVariables": {
"NCS_TOOLCHAIN_VERSION": "NONE",
"BOARD": "nrf54l15dk/nrf54l15/cpuapp",
"EXTRA_CONF_FILE": "iso.conf;internal_osc.conf",
"EXTRA_CONF_FILE": "iso.conf;internal_osc.conf;lfxo.conf",
"CONF_FILE": "prj.conf",
"DTC_OVERLAY_FILE": "bl54l15_radio0_radio1.overlay"
}

22
ai_stuff/agents.md Normal file
View File

@@ -0,0 +1,22 @@
Complete hci_uart_beacon build/flash/reset/UART workflow (user-provided commands):
# 1. Build
cd /home/paul/ncs/v3.0.2 && nrfutil toolchain-manager launch --ncs-version v3.0.2 -- west build --build-dir /home/paul/Documents/hci_uart_beacon/build /home/paul/Documents/hci_uart_beacon --board nrf54l15dk/nrf54l15/cpuapp
# 2. Flash
cd /home/paul/ncs/v3.0.2 && nrfutil toolchain-manager launch --ncs-version v3.0.2 -- west flash --build-dir /home/paul/Documents/hci_uart_beacon/build
# 3. Reset device
nrfutil device reset --serial-number 1050076061
# 4. UART capture (30s timeout)
timeout 30 minicom --device /dev/serial/by-id/usb-FTDI_C232HM-DDHSL-0_FTUD2ZB4-if00-port0 --baudrate 1000000
Notes:
- Use nrfutil toolchain-manager launch wrapper for NCS v3.0.2
- Board: nrf54l15dk/nrf54l15/cpuapp for nRF54L15
- Serial number for reset: 1050076061
- UART device: /dev/serial/by-id/usb-FTDI_C232HM-DDHSL-0_FTUD2ZB4-if00-port0
- Baudrate: 1000000 (matches UART configuration)
- Timeout 30s on minicom to auto-exit
- Start the UART and directly after that reset, to get the output

View File

@@ -1,43 +0,0 @@
&uart20 {
compatible = "nordic,nrf-uarte";
status = "okay";
current-speed = <1000000>;
hw-flow-control;
};
&pinctrl {
uart20_default: uart20_default {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 7)>,
<NRF_PSEL(UART_RTS, 1, 4)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 1, 6)>,
<NRF_PSEL(UART_CTS, 1, 5)>;
bias-pull-up;
};
};
uart20_sleep: uart20_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 7)>,
<NRF_PSEL(UART_RX, 1, 6)>,
<NRF_PSEL(UART_RTS, 1, 4)>,
<NRF_PSEL(UART_CTS, 1, 5)>;
low-power-enable;
};
};
};
/ {
chosen {
//zephyr,console = &uart20;
//zephyr,shell-uart = &uart20;
//zephyr,uart-mcumgr = &uart0;
//zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart20;
};
};
&power {
status = "okay";
};

View File

@@ -1,44 +0,0 @@
&uart20 {
compatible = "nordic,nrf-uarte";
status = "okay";
current-speed = <1000000>;
hw-flow-control;
};
&pinctrl {
uart20_default: uart20_default {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 5)>,
<NRF_PSEL(UART_RTS, 1, 4)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 1, 7)>,
<NRF_PSEL(UART_CTS, 1, 6)>;
bias-pull-up;
};
};
uart20_sleep: uart20_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 5)>,
<NRF_PSEL(UART_RX, 1, 4)>,
<NRF_PSEL(UART_RTS, 1, 7)>,
<NRF_PSEL(UART_CTS, 1, 6)>;
low-power-enable;
};
};
};
/ {
chosen {
//zephyr,console = &uart20;
//zephyr,shell-uart = &uart20;
//zephyr,uart-mcumgr = &uart0;
//zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart20;
};
};
&power {
status = "okay";
};

View File

@@ -1,3 +1,10 @@
&lfxo {
status = "okay";
clock-frequency = <32768>;
load-capacitors = "internal";
load-capacitance-femtofarad = <7000>;
};
&uart20 {
compatible = "nordic,nrf-uarte";
status = "okay";

View File

@@ -1,43 +0,0 @@
&uart20 {
compatible = "nordic,nrf-uarte";
status = "okay";
current-speed = <1000000>;
hw-flow-control;
};
&pinctrl {
uart20_default: uart20_default {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 6)>,
<NRF_PSEL(UART_RTS, 1, 7)>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 1, 4)>,
<NRF_PSEL(UART_CTS, 1, 5)>;
bias-pull-up;
};
};
uart20_sleep: uart20_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 1, 6)>,
<NRF_PSEL(UART_RX, 1, 4)>,
<NRF_PSEL(UART_RTS, 1, 7)>,
<NRF_PSEL(UART_CTS, 1, 5)>;
low-power-enable;
};
};
};
/ {
chosen {
//zephyr,console = &uart20;
//zephyr,shell-uart = &uart20;
//zephyr,uart-mcumgr = &uart0;
//zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart20;
};
};
&power {
status = "okay";
};

View File

@@ -1,58 +0,0 @@
&uart0 {
compatible = "nordic,nrf-uarte";
status = "okay";
current-speed = <1000000>; //<115200>;
hw-flow-control;
};
&pinctrl {
uart0_default: uart0_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 6)>, // SIO6
<NRF_PSEL(UART_RTS, 0, 5)>; //SIO5
};
group2 {
psels = <NRF_PSEL(UART_RX, 0, 8)>, //SIO8
<NRF_PSEL(UART_CTS, 0, 7)>; //SIO7
bias-pull-up;
};
};
uart0_sleep: uart0_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 6)>,
<NRF_PSEL(UART_RX, 0, 8)>,
<NRF_PSEL(UART_RTS, 0, 5)>,
<NRF_PSEL(UART_CTS, 0, 7)>;
low-power-enable;
};
};
};
/ {
chosen {
//zephyr,console = &uart0;
//zephyr,shell-uart = &uart0;
//zephyr,uart-mcumgr = &uart0;
//zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart0;
};
};
/ {
/* Information from Nordic SDK-Based Application Development and SKY66112 datasheet */
nrf_radio_fem: fem { // node needs to be named nrf_radio_fem for the build system to pull in the nececcarry configs
compatible = "generic-fem-two-ctrl-pins";
ctx-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
crx-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
ctx-settle-time-us = <23>;
crx-settle-time-us = <5>;
tx-gain-db = <22>;
rx-gain-db = <11>;
};
};
&radio {
fem = <&nrf_radio_fem>;
};

View File

@@ -4,6 +4,13 @@
* SPDX-License-Identifier: Apache-2.0
*/
&lfxo {
status = "okay";
clock-frequency = <32768>;
load-capacitors = "internal";
load-capacitance-femtofarad = <7000>;
};
&uart20 {
compatible = "nordic,nrf-uarte";
current-speed = <1000000>;

View File

@@ -1,11 +0,0 @@
{
"folders": [
{
"path": "../echo_bot"
},
{
"path": "."
}
],
"settings": {}
}

4
lfxo.conf Normal file
View File

@@ -0,0 +1,4 @@
CONFIG_CLOCK_CONTROL=y
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n

View File

@@ -1,17 +0,0 @@
&uart0 {
compatible = "nordic,nrf-uarte";
status = "okay";
current-speed = <1000000>;
hw-flow-control;
};
/ {
chosen {
// zephyr,console = &uart0;
// zephyr,shell-uart = &uart0;
// zephyr,uart-mcumgr = &uart0;
// zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart0; // make uart0 the hci interfac
};
};

View File

@@ -1,109 +0,0 @@
CONFIG_BT_BUF_EVT_RX_COUNT=16
CONFIG_BT_BUF_EVT_RX_SIZE=255
CONFIG_BT_BUF_ACL_RX_SIZE=255
CONFIG_BT_BUF_ACL_TX_SIZE=251
CONFIG_BT_BUF_CMD_TX_SIZE=255
# Host and Controller common dependencies
CONFIG_BT_EXT_ADV=y
CONFIG_BT_PER_ADV=y
CONFIG_BT_PER_ADV_SYNC=y
CONFIG_BT_PER_ADV_SYNC_MAX=2
# Broadcast and Connected ISO
CONFIG_BT_ISO_BROADCASTER=y
CONFIG_BT_ISO_SYNC_RECEIVER=y
CONFIG_BT_ISO_CENTRAL=y
CONFIG_BT_ISO_PERIPHERAL=y
# ISO Streams
CONFIG_BT_ISO_MAX_CHAN=2
# Controller
CONFIG_BT_LL_SW_SPLIT=y
CONFIG_BT_CTLR_ASSERT_HANDLER=y
CONFIG_BT_CTLR_DTM_HCI=y
# Rx ACL and Adv Reports
CONFIG_BT_CTLR_RX_BUFFERS=9
CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
# Coded PHY support
CONFIG_BT_CTLR_PHY_CODED=y
# Advertising Sets and Extended Scanning
CONFIG_BT_CTLR_ADV_EXT=y
CONFIG_BT_CTLR_ADV_SET=3
CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=1650
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
CONFIG_BT_CTLR_ADV_AUX_SET=3
CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK=y
CONFIG_BT_CTLR_ADV_SYNC_SET=3
CONFIG_BT_CTLR_ADV_SYNC_PDU_BACK2BACK=y
CONFIG_BT_CTLR_ADV_DATA_BUF_MAX=6
# Increase the below to receive interleaved advertising chains
CONFIG_BT_CTLR_SCAN_AUX_SET=1
CONFIG_BT_CTLR_ADV_RESERVE_MAX=n
CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n
CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n
CONFIG_BT_CTLR_SCAN_UNRESERVED=y
CONFIG_BT_TICKER_NEXT_SLOT_GET_MATCH=y
CONFIG_BT_TICKER_EXT=y
CONFIG_BT_TICKER_EXT_SLOT_WINDOW_YIELD=y
# Control Procedure
CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=6
# Direction Finding
CONFIG_BT_CTLR_DF=y
CONFIG_BT_CTLR_DF_PER_ADV_CTE_NUM_MAX=3
CONFIG_BT_CTLR_DF_PER_SCAN_CTE_NUM_MAX=3
# Direction Finding Tx
CONFIG_BT_CTLR_DF_CTE_TX=y
CONFIG_BT_CTLR_DF_CONN_CTE_TX=y
CONFIG_BT_CTLR_DF_ANT_SWITCH_TX=y
CONFIG_BT_CTLR_DF_CONN_CTE_RSP=y
# Direction Finding Rx
CONFIG_BT_CTLR_DF_CTE_RX=y
CONFIG_BT_CTLR_DF_CONN_CTE_RX=y
CONFIG_BT_CTLR_DF_ANT_SWITCH_RX=y
CONFIG_BT_CTLR_DF_CONN_CTE_REQ=y
# ISO Broadcaster Controller
CONFIG_BT_CTLR_ADV_EXT=y
CONFIG_BT_CTLR_ADV_PERIODIC=y
CONFIG_BT_CTLR_ADV_ISO=y
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2
# ISO Receive Controller
CONFIG_BT_CTLR_ADV_EXT=y
CONFIG_BT_CTLR_SYNC_PERIODIC=y
CONFIG_BT_CTLR_SYNC_ISO=y
CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251
CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2
# ISO Connection Oriented
CONFIG_BT_CTLR_CENTRAL_ISO=y
CONFIG_BT_CTLR_PERIPHERAL_ISO=y
CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247
CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251
# ISO Transmissions
CONFIG_BT_CTLR_ISO_TX_BUFFERS=8
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255
CONFIG_BT_CTLR_ISOAL_SOURCES=2
# ISO Receptions
CONFIG_BT_CTLR_ISO_RX_BUFFERS=8
CONFIG_BT_CTLR_ISOAL_SINKS=2
# Tx Power Dynamic Control
CONFIG_BT_CTLR_TX_PWR_DYNAMIC_CONTROL=y

View File

@@ -4,6 +4,11 @@ CONFIG_UART_CONSOLE=n
CONFIG_GPIO=y
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_CLOCK_CONTROL=y
CONFIG_CLOCK_CONTROL_NRF=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=n
CONFIG_BT=y
CONFIG_BT_CTLR=y
CONFIG_BT_LL_SOFTDEVICE=y