hci_lpuart with async uart api

What should I change to run the hci_lpuart sample with UART asynchronous API instead of the using the interrupt driven one? I have already changed the source file on the sample to use the ones in hci_uart_async sample. And have set CONFIG_NRF_SW_LPUART_INT_DRIVEN=n. However, the sample I'm running on the host is not triggering the bt_ready callback. Am I missing something?

nrf9160dk_nrf5240.conf:

# Override prj.conf defaults

CONFIG_GPIO=y
CONFIG_MAIN_STACK_SIZE=1024
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512
CONFIG_BT_MAX_CONN=16
CONFIG_BT_TINYCRYPT_ECC=n
CONFIG_BT_CTLR_DTM_HCI=y
# CONFIG_BT_CTLR_ASSERT_HANDLER=y

CONFIG_UART_1_ASYNC=y
CONFIG_UART_1_INTERRUPT_DRIVEN=n
CONFIG_UART_1_NRF_HW_ASYNC=y
CONFIG_UART_1_NRF_HW_ASYNC_TIMER=2
CONFIG_NRF_SW_LPUART=y
CONFIG_NRF_SW_LPUART_INT_DRIVEN=n

CMakeLists.txt:

cmake_minimum_required(VERSION 3.20.0)

add_compile_options(-Wall -Werror -Wno-unused-parameter)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(app LANGUAGES C)

target_sources(app PRIVATE ${ZEPHYR_BASE}/samples/bluetooth/hci_uart_async/src/hci_uart_async.c)
target_sources(app PRIVATE ${ZEPHYR_BASE}/samples/bluetooth/hci_uart_async/src/main.c)

Related