lte_ble_gateway fails with NCS 2.2 and thingy:91 rev 1.6.0


Hi!

I am building an application that is based on the lte_ble_gateway which works perfectly on the nrf9160dk. However, it does not work on the thingy:91.
The error is also present in the unmodified lte_ble_gateway sample, so it should be easy to reproduce.

I am trying to run lte_ble_gateway to a thingy:91 rev 1.6.0, but get the following error message when running the application:
** Booting Zephyr OS build v3.2.99-ncs1 ***
[00:00:00.487,274] <inf> lte_ble_gw: LTE Sensor Gateway sample started
[00:00:00.487,426] <inf> lte_ble_gw: Initializing Bluetooth..
[00:00:00.504,943] <inf> lte_ble_gw: Establishing LTE link (this may take some time) ...
ASSERTION FAIL [err == 0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/host/hci_core.c:329
k_sem_take failed with err -11
[00:00:10.497,924] <err> os: r0/a1: 0x00000003 r1/a2: 0x00000000 r2/a3: 0x00000002
[00:00:10.497,955] <err> os: r3/a4: 0x2000e168 r12/ip: 0x20016e78 r14/lr: 0x000223b3
[00:00:10.497,955] <err> os: xpsr: 0x41000000
[00:00:10.497,985] <err> os: Faulting instruction address (r15/pc): 0x000223be
[00:00:10.498,016] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:10.498,046] <err> os: Current thread: 0x2000eea0 (unknown)
[00:00:10.720,733] <err> fatal_error: Resetting system

Output from nrf52840:
*** Booting Zephyr OS build v3.2.99-ncs1 ***
[00:00:00.000,671] <inf> sdc_hci_driver: SoftDevice Controller build revision:
6d 90 41 2a 38 e8 ad 17 29 a5 03 38 39 27 d7 85 |m.A*8... )..89'..
1f 85 d8 e1 |....
[00:00:00.001,312] <inf> bt_hci_raw: Bluetooth enabled in RAW mode
[00:00:01.001,373] <wrn> lpuart: Tx timeout
[00:00:02.002,166] <wrn> lpuart: Tx timeout
[00:00:03.002,990] <wrn> lpuart: Tx timeout
[00:00:04.003,814] <wrn> lpuart: Tx timeout
[00:00:05.004,638] <wrn> lpuart: Tx timeout
[00:00:06.005,462] <wrn> lpuart: Tx timeout
*** Booting Zephyr OS build v3.2.99-ncs1 ***
[00:00:00.000,671] <inf> sdc_hci_driver: SoftDevice Controller build revision:
6d 90 41 2a 38 e8 ad 17 29 a5 03 38 39 27 d7 85 |m.A*8... )..89'..
1f 85 d8 e1 |....
[00:00:00.001,312] <inf> bt_hci_raw: Bluetooth enabled in RAW mode

I build lte_ble_gateway with the command:
west build --board [email protected]

and hci_lpuart:
west build --board [email protected]

I have managed to get the sample working for the nrf9160DK earlier (Where I had to build with west build --board [email protected] for hci_lpuart and [email protected] for lte_ble_gateway)

I have looked at this post, but it is not an option to downgrade to NCS 1.9.X: devzone.nordicsemi.com/.../382953

Additionally, it is really tidious to debug as the flashing process fails 70% of the time and the nrf9160dk disappears from discovered devices, which means that I must reboot my computer. Any tips on this would also be greatly appreciated.

Thanks in advance for your help.

Parents
  • Hi,

    You could try to disable UART for MCUboot. To do this you could add an overlay file mcuboot.overlay in the child image folder for both hci_lpuart and lte_ble_gateway.

    &uart1 {
    	/delete-property/ rts-pin;
    	/delete-property/ cts-pin;	
    	/delete-property/ hw-flow-control;
    	status = "disabled";
    };


    Best regards,
    Dejan

  • Unfortunately, that doesn't seem to solve the issue. I also get these warnings when compiling if it is relevant:

    HCI_LPUART:
    warning: BT_CTLR_DTM_HCI (defined at subsys/bluetooth\controller\Kconfig.dtm:14) was assigned the
    value 'y' but got the value 'n'. Check these unsatisfied dependencies: BT_CTLR_DTM_HCI_SUPPORT (=n).
    See docs.zephyrproject.org/.../kconfig.html and/or look up
    BT_CTLR_DTM_HCI in the menuconfig/guiconfig interface. The Application Development Primer, Setting
    Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
    too.

    warning: BOOTLOADER_MCUBOOT (defined at C:/Users/jonat/ncs/v2.2.0/nrf/modules/trusted-firmware-m/Kconfig:178, Kconfig.zephyr:745) was assigned the value 'y' but got the value 'n'. Check
    these unsatisfied dependencies: (BUILD_WITH_TFM || !MCUBOOT) (=n). See
    docs.zephyrproject.org/.../kconfig.html and/or look up
    BOOTLOADER_MCUBOOT in the menuconfig/guiconfig interface. The Application Development Primer,
    Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
    helpful too.

    LTE_BLE_GATEWAY:
    CMake Warning at C:/Users/jonat/ncs/v2.2.0/zephyr/cmake/modules/boards.cmake:127 (message):
    Board revision 1.6.0 specified for thingy91_nrf9160, but board has no
    revision so revision will be ignored.
    Call Stack (most recent call first):
    C:/Users/jonat/ncs/v2.2.0/zephyr/cmake/modules/zephyr_default.cmake:108 (include)
    C:/Users/jonat/ncs/v2.2.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
    C:/Users/jonat/ncs/v2.2.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    CMakeLists.txt:44 (find_package)

  • Thanks for the update. This probably explains why the 91 failed to syncronize with the controller.

    The CONFIG_GPIO_AS_PINRESET option has been deprecated and will eventually be removed, see https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.5.1/zephyr/releases/migration-guide-3.5.html#recommended-changes 

  • Try adding

    CONFIG_GPIO_AS_PINRESET=y

    I tested: no changes.

    I already have this in thingy_nrf52840.overlay. So there is no need of CONFIG_GPIO_AS_PINRESET?

    &uicr {
    	gpio-as-nreset;
    };

    I've just re-downloaded the latest version of the samples.

    which could indicate an issue with the pin connections between the devices

    Dts misconfiguration or hardware ? I use the thingy91, so I don't think is a hardware problem.

    Here you can find my zephyr.dts of my nRF52840:

    /dts-v1/;
    
    / {
            #address-cells = <1>;
            #size-cells = <1>;
            model = "Nordic Thingy91 NRF52840";
            compatible = "nordic,thingy91-nrf52840";
            chosen {
                    zephyr,entropy = &cryptocell;
                    zephyr,flash-controller = &flash_controller;
                    zephyr,console = &uart0;
                    zephyr,flash = &flash0;
                    zephyr,sram = &sram0;
                    zephyr,uart-mcumgr = &uart0;
                    zephyr,bt-c2h-uart = &lpuart;
            };
    
            aliases {
                    mcuboot-button0 = &button0;
            };
    
            soc {
                    #address-cells = <1>;
                    #size-cells = <1>;
                    compatible = "nordic,nrf52840-qiaa",
                                 "nordic,nrf52840",
                                 "nordic,nrf52",
                                 "simple-bus";
                    interrupt-parent = <&nvic>;
                    ranges;
                    nvic: interrupt-controller@e000e100 {
                            #address-cells = <1>;
                            compatible = "arm,v7m-nvic";
                            reg = <0xe000e100 0xc00>;
                            interrupt-controller;
                            #interrupt-cells = <2>;
                            arm,num-irq-priority-bits = <3>;
                    };
    
                    systick: timer@e000e010 {
                            compatible = "arm,armv7m-systick";
                            reg = <0xe000e010 0x10>;
                            status = "disabled";
                    };
    
                    ficr: ficr@10000000 {
                            compatible = "nordic,nrf-ficr";
                            reg = <0x10000000 0x1000>;
                            status = "okay";
                    };
    
                    uicr: uicr@10001000 {
                            compatible = "nordic,nrf-uicr";
                            reg = <0x10001000 0x1000>;
                            status = "okay";
                            gpio-as-nreset;
                    };
    
                    sram0: memory@20000000 {
                            compatible = "mmio-sram";
                            reg = <0x20000000 DT_SIZE_K(256)>;
                    };
    
                    clock: clock@40000000 {
                            compatible = "nordic,nrf-clock";
                            reg = <0x40000000 0x1000>;
                            interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    power: power@40000000 {
                            compatible = "nordic,nrf-power";
                            reg = <0x40000000 0x1000>;
                            interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                            #address-cells = <1>;
                            #size-cells = <1>;
                            gpregret1: gpregret1@4000051c {
                                    #address-cells = <1>;
                                    #size-cells = <1>;
                                    compatible = "nordic,nrf-gpregret";
                                    reg = <0x4000051c 0x1>;
                                    status = "okay";
                            };
    
                            gpregret2: gpregret2@40000520 {
                                    #address-cells = <1>;
                                    #size-cells = <1>;
                                    compatible = "nordic,nrf-gpregret";
                                    reg = <0x40000520 0x1>;
                                    status = "okay";
                            };
    
                    };
    
                    radio: radio@40001000 {
                            compatible = "nordic,nrf-radio";
                            reg = <0x40001000 0x1000>;
                            interrupts = <1 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                            ieee802154-supported;
                            ble-2mbps-supported;
                            ble-coded-phy-supported;
                            tx-high-power-supported;
                            ieee802154: ieee802154 {
                                    compatible = "nordic,nrf-ieee802154";
                                    status = "disabled";
                            };
    
                    };
    
                    uart0: uart@40002000 {
                            compatible = "nordic,nrf-uart";
                            reg = <0x40002000 0x1000>;
                            interrupts = <2 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                            current-speed = <115200>;
                            pinctrl-0 = <&uart0_default>;
                            pinctrl-1 = <&uart0_sleep>;
                            pinctrl-names = "default", "sleep";
                            disable-rx;
                    };
    
                    i2c0: i2c@40003000 {
                            compatible = "nordic,nrf-twim";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40003000 0x1000>;
                            clock-frequency = <I2C_BITRATE_STANDARD>;
                            interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                    };
    
                    spi0: spi@40003000 {
                            compatible = "nordic,nrf-spim";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40003000 0x1000>;
                            interrupts = <3 NRF_DEFAULT_IRQ_PRIORITY>;
                            max-frequency = <DT_FREQ_M(8)>;
                            easydma-maxcnt-bits = <16>;
                            status = "disabled";
                    };
    
                    i2c1: i2c@40004000 {
                            compatible = "nordic,nrf-twim";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40004000 0x1000>;
                            clock-frequency = <I2C_BITRATE_STANDARD>;
                            interrupts = <4 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                    };
    
                    spi1: spi@40004000 {
                            compatible = "nordic,nrf-spim";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40004000 0x1000>;
                            interrupts = <4 NRF_DEFAULT_IRQ_PRIORITY>;
                            max-frequency = <DT_FREQ_M(8)>;
                            easydma-maxcnt-bits = <16>;
                            status = "disabled";
                    };
    
                    nfct: nfct@40005000 {
                            compatible = "nordic,nrf-nfct";
                            reg = <0x40005000 0x1000>;
                            interrupts = <5 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    gpiote: gpiote@40006000 {
                            compatible = "nordic,nrf-gpiote";
                            reg = <0x40006000 0x1000>;
                            interrupts = <6 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    adc: adc@40007000 {
                            compatible = "nordic,nrf-saadc";
                            reg = <0x40007000 0x1000>;
                            interrupts = <7 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                            #io-channel-cells = <1>;
                    };
    
                    timer0: timer@40008000 {
                            compatible = "nordic,nrf-timer";
                            status = "disabled";
                            reg = <0x40008000 0x1000>;
                            cc-num = <4>;
                            max-bit-width = <32>;
                            interrupts = <8 NRF_DEFAULT_IRQ_PRIORITY>;
                            prescaler = <0>;
                    };
    
                    timer1: timer@40009000 {
                            compatible = "nordic,nrf-timer";
                            status = "disabled";
                            reg = <0x40009000 0x1000>;
                            cc-num = <4>;
                            max-bit-width = <32>;
                            interrupts = <9 NRF_DEFAULT_IRQ_PRIORITY>;
                            prescaler = <0>;
                    };
    
                    timer2: timer@4000a000 {
                            compatible = "nordic,nrf-timer";
                            status = "disabled";
                            reg = <0x4000a000 0x1000>;
                            cc-num = <4>;
                            max-bit-width = <32>;
                            interrupts = <10 NRF_DEFAULT_IRQ_PRIORITY>;
                            prescaler = <0>;
                    };
    
                    rtc0: rtc@4000b000 {
                            compatible = "nordic,nrf-rtc";
                            reg = <0x4000b000 0x1000>;
                            cc-num = <3>;
                            interrupts = <11 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            clock-frequency = <32768>;
                            prescaler = <1>;
                    };
    
                    temp: temp@4000c000 {
                            compatible = "nordic,nrf-temp";
                            reg = <0x4000c000 0x1000>;
                            interrupts = <12 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    rng: random@4000d000 {
                            compatible = "nordic,nrf-rng";
                            reg = <0x4000d000 0x1000>;
                            interrupts = <13 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    ecb: ecb@4000e000 {
                            compatible = "nordic,nrf-ecb";
                            reg = <0x4000e000 0x1000>;
                            interrupts = <14 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    ccm: ccm@4000f000 {
                            compatible = "nordic,nrf-ccm";
                            reg = <0x4000f000 0x1000>;
                            interrupts = <15 NRF_DEFAULT_IRQ_PRIORITY>;
                            length-field-length-8-bits;
                            status = "okay";
                    };
    
                    wdt: wdt0: watchdog@40010000 {
                            compatible = "nordic,nrf-wdt";
                            reg = <0x40010000 0x1000>;
                            interrupts = <16 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    rtc1: rtc@40011000 {
                            compatible = "nordic,nrf-rtc";
                            reg = <0x40011000 0x1000>;
                            cc-num = <4>;
                            interrupts = <17 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            clock-frequency = <32768>;
                            prescaler = <1>;
                    };
    
                    qdec: qdec0: qdec@40012000 {
                            compatible = "nordic,nrf-qdec";
                            reg = <0x40012000 0x1000>;
                            interrupts = <18 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                    };
    
                    comp: comparator@40013000 {
                            compatible = "nordic,nrf-comp";
                            reg = <0x40013000 0x1000>;
                            interrupts = <19 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            #io-channel-cells = <1>;
                    };
    
                    egu0: swi0: egu@40014000 {
                            compatible = "nordic,nrf-egu", "nordic,nrf-swi";
                            reg = <0x40014000 0x1000>;
                            interrupts = <20 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    egu1: swi1: egu@40015000 {
                            compatible = "nordic,nrf-egu", "nordic,nrf-swi";
                            reg = <0x40015000 0x1000>;
                            interrupts = <21 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    egu2: swi2: egu@40016000 {
                            compatible = "nordic,nrf-egu", "nordic,nrf-swi";
                            reg = <0x40016000 0x1000>;
                            interrupts = <22 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    egu3: swi3: egu@40017000 {
                            compatible = "nordic,nrf-egu", "nordic,nrf-swi";
                            reg = <0x40017000 0x1000>;
                            interrupts = <23 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    egu4: swi4: egu@40018000 {
                            compatible = "nordic,nrf-egu", "nordic,nrf-swi";
                            reg = <0x40018000 0x1000>;
                            interrupts = <24 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    egu5: swi5: egu@40019000 {
                            compatible = "nordic,nrf-egu", "nordic,nrf-swi";
                            reg = <0x40019000 0x1000>;
                            interrupts = <25 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                    };
    
                    timer3: timer@4001a000 {
                            compatible = "nordic,nrf-timer";
                            status = "disabled";
                            reg = <0x4001a000 0x1000>;
                            cc-num = <6>;
                            max-bit-width = <32>;
                            interrupts = <26 NRF_DEFAULT_IRQ_PRIORITY>;
                            prescaler = <0>;
                    };
    
                    timer4: timer@4001b000 {
                            compatible = "nordic,nrf-timer";
                            status = "disabled";
                            reg = <0x4001b000 0x1000>;
                            cc-num = <6>;
                            max-bit-width = <32>;
                            interrupts = <27 NRF_DEFAULT_IRQ_PRIORITY>;
                            prescaler = <0>;
                    };
    
                    pwm0: pwm@4001c000 {
                            compatible = "nordic,nrf-pwm";
                            reg = <0x4001c000 0x1000>;
                            interrupts = <28 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            #pwm-cells = <3>;
                    };
    
                    pdm0: pdm@4001d000 {
                            compatible = "nordic,nrf-pdm";
                            reg = <0x4001d000 0x1000>;
                            interrupts = <29 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                    };
    
                    acl: acl@4001e000 {
                            compatible = "nordic,nrf-acl";
                            reg = <0x4001e000 0x1000>;
                            status = "okay";
                    };
    
                    flash_controller: flash-controller@4001e000 {
                            compatible = "nordic,nrf52-flash-controller";
                            reg = <0x4001e000 0x1000>;
                            partial-erase;
                            #address-cells = <1>;
                            #size-cells = <1>;
                            flash0: flash@0 {
                                    compatible = "soc-nv-flash";
                                    erase-block-size = <4096>;
                                    write-block-size = <4>;
                                    reg = <0x00000000 DT_SIZE_K(1024)>;
                                    partitions {
                                            compatible = "fixed-partitions";
                                            #address-cells = <1>;
                                            #size-cells = <1>;
                                            boot_partition: partition@0 {
                                                    label = "mcuboot";
                                                    reg = <0x000000000 0x00012000>;
                                            };
    
                                            slot0_partition: partition@12000 {
                                                    label = "image-0";
                                                    reg = <0x00012000 0x000069000>;
                                            };
    
                                            slot1_partition: partition@7b000 {
                                                    label = "image-1";
                                                    reg = <0x0007b000 0x000069000>;
                                            };
    
                                            scratch_partition: partition@e4000 {
                                                    label = "image-scratch";
                                                    reg = <0x000e4000 0x00018000>;
                                            };
    
                                            storage_partition: partition@fc000 {
                                                    label = "storage";
                                                    reg = <0x000fc000 0x00004000>;
                                            };
    
                                    };
    
                            };
    
                    };
    
                    ppi: ppi@4001f000 {
                            compatible = "nordic,nrf-ppi";
                            reg = <0x4001f000 0x1000>;
                            status = "okay";
                    };
    
                    mwu: mwu@40020000 {
                            compatible = "nordic,nrf-mwu";
                            reg = <0x40020000 0x1000>;
                            status = "okay";
                    };
    
                    pwm1: pwm@40021000 {
                            compatible = "nordic,nrf-pwm";
                            reg = <0x40021000 0x1000>;
                            interrupts = <33 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            #pwm-cells = <3>;
                    };
    
                    pwm2: pwm@40022000 {
                            compatible = "nordic,nrf-pwm";
                            reg = <0x40022000 0x1000>;
                            interrupts = <34 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            #pwm-cells = <3>;
                    };
    
                    spi2: spi@40023000 {
                            compatible = "nordic,nrf-spim";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40023000 0x1000>;
                            interrupts = <35 NRF_DEFAULT_IRQ_PRIORITY>;
                            max-frequency = <DT_FREQ_M(8)>;
                            easydma-maxcnt-bits = <16>;
                            status = "disabled";
                    };
    
                    rtc2: rtc@40024000 {
                            compatible = "nordic,nrf-rtc";
                            reg = <0x40024000 0x1000>;
                            cc-num = <4>;
                            interrupts = <36 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            clock-frequency = <32768>;
                            prescaler = <1>;
                    };
    
                    i2s0: i2s@40025000 {
                            compatible = "nordic,nrf-i2s";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40025000 0x1000>;
                            interrupts = <37 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                    };
    
                    usbd: zephyr_udc0: usbd@40027000 {
                            compatible = "nordic,nrf-usbd";
                            reg = <0x40027000 0x1000>;
                            interrupts = <39 NRF_DEFAULT_IRQ_PRIORITY>;
                            num-bidir-endpoints = <1>;
                            num-in-endpoints = <7>;
                            num-out-endpoints = <7>;
                            num-isoin-endpoints = <1>;
                            num-isoout-endpoints = <1>;
                            status = "okay";
                    };
    
                    uart1: uart@40028000 {
                            compatible = "nordic,nrf-uarte";
                            reg = <0x40028000 0x1000>;
                            interrupts = <40 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "okay";
                            current-speed = <1000000>;
                            pinctrl-0 = <&uart1_default_alt>;
                            pinctrl-1 = <&uart1_sleep_alt>;
                            pinctrl-names = "default", "sleep";
                            lpuart: nrf-sw-lpuart {
                                    compatible = "nordic,nrf-sw-lpuart";
                                    status = "okay";
                                    req-pin = <22>;
                                    rdy-pin = <19>;
                            };
    
                    };
    
                    qspi: qspi@40029000 {
                            compatible = "nordic,nrf-qspi";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x40029000 0x1000>, <0x12000000 0x8000000>;
                            reg-names = "qspi", "qspi_mm";
                            interrupts = <41 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                    };
    
                    pwm3: pwm@4002d000 {
                            compatible = "nordic,nrf-pwm";
                            reg = <0x4002d000 0x1000>;
                            interrupts = <45 NRF_DEFAULT_IRQ_PRIORITY>;
                            status = "disabled";
                            #pwm-cells = <3>;
                    };
    
                    spi3: spi@4002f000 {
                            compatible = "nordic,nrf-spim";
                            #address-cells = <1>;
                            #size-cells = <0>;
                            reg = <0x4002f000 0x1000>;
                            interrupts = <47 NRF_DEFAULT_IRQ_PRIORITY>;
                            max-frequency = <DT_FREQ_M(32)>;
                            easydma-maxcnt-bits = <16>;
                            rx-delay-supported;
                            rx-delay = <2>;
                            status = "disabled";
                    };
    
                    gpio0: gpio@50000000 {
                            compatible = "nordic,nrf-gpio";
                            gpio-controller;
                            reg = <0x50000000 0x200 0x50000500 0x300>;
                            #gpio-cells = <2>;
                            status = "okay";
                            port = <0>;
                    };
    
                    gpio1: gpio@50000300 {
                            compatible = "nordic,nrf-gpio";
                            gpio-controller;
                            reg = <0x50000300 0x200 0x50000800 0x300>;
                            #gpio-cells = <2>;
                            ngpios = <16>;
                            status = "okay";
                            port = <1>;
                    };
    
                    cryptocell: crypto@5002a000 {
                            compatible = "nordic,nrf-cc310";
                            reg = <0x5002A000 0x1000>;
                            status = "okay";
                            #address-cells = <1>;
                            #size-cells = <1>;
                            cryptocell310: crypto@5002b000 {
                                    compatible = "arm,cryptocell-310";
                                    reg = <0x5002B000 0x1000>;
                                    interrupts = <42 NRF_DEFAULT_IRQ_PRIORITY>;
                            };
    
                    };
    
            };
    
            pinctrl: pin-controller {
                    compatible = "nordic,nrf-pinctrl";
                    uart0_default: uart0_default {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 15)>,
                                            <NRF_PSEL(UART_RX, 0, 11)>,
                                            <NRF_PSEL(UART_RTS, 0, 21)>,
                                            <NRF_PSEL(UART_CTS, 0, 20)>;
                            };
    
                    };
    
                    uart0_sleep: uart0_sleep {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 15)>,
                                            <NRF_PSEL(UART_RX, 0, 11)>,
                                            <NRF_PSEL(UART_RTS, 0, 21)>,
                                            <NRF_PSEL(UART_CTS, 0, 20)>;
                                    low-power-enable;
                            };
    
                    };
    
                    uart1_default: uart1_default {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 25)>,
                                            <NRF_PSEL(UART_RX, 1, 0)>,
                                            <NRF_PSEL(UART_RTS, 0, 22)>,
                                            <NRF_PSEL(UART_CTS, 0, 19)>;
                            };
    
                    };
    
                    uart1_sleep: uart1_sleep {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 25)>,
                                            <NRF_PSEL(UART_RX, 1, 0)>,
                                            <NRF_PSEL(UART_RTS, 0, 22)>,
                                            <NRF_PSEL(UART_CTS, 0, 19)>;
                                    low-power-enable;
                            };
    
                    };
    
                    uart1_default_alt: uart1_default_alt {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 25)>,
                                            <NRF_PSEL(UART_RX, 1, 0)>;
                            };
    
                    };
    
                    uart1_sleep_alt: uart1_sleep_alt {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 25)>,
                                            <NRF_PSEL(UART_RX, 1, 0)>;
                                    low-power-enable;
                            };
    
                    };
    
            };
    
            rng_hci: entropy_bt_hci {
                    compatible = "zephyr,bt-hci-entropy";
                    status = "okay";
            };
    
            sw_pwm: sw-pwm {
                    compatible = "nordic,nrf-sw-pwm";
                    status = "disabled";
                    generator = <&timer1>;
                    clock-prescaler = <0>;
                    #pwm-cells = <3>;
            };
    
            cpus {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    cpu@0 {
                            device_type = "cpu";
                            compatible = "arm,cortex-m4f";
                            reg = <0>;
                            #address-cells = <1>;
                            #size-cells = <1>;
                            itm: itm@e0000000 {
                                    compatible = "arm,armv7m-itm";
                                    reg = <0xe0000000 0x1000>;
                                    swo-ref-frequency = <32000000>;
                            };
    
                    };
    
            };
    
            buttons {
                    compatible = "gpio-keys";
                    button0: button_0 {
                            gpios = <&gpio1 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
                            label = "Button 1";
                    };
    
            };
    
    };
    
    

    Many thanks,

    Dorian

  • Hi Dorian, 

    I meant a misconfiguration of the DT. I don't expect it to be a HW issue. Where did you find the zephyr.dts file you posted? The reason I'm asking is that it doesn't look like a DTS file typically generated during a build.

  • Hi,
    This is the zephyr.dts found in build/zephyr/zephyr.dts of the 'hci_lpuart' sample.

    What does a typical generated dts look like ?

    I build this on the ncs and toolchain V2.5.1 on a thingy91_nrf9160_ns and thingy91_nrf52840.

    You can find here my projects.

    test_bt_ncs5.1.zip

    Many Thanks

  • Hi,

    That is the correct file, thank you for confirming. I was confused by it because the configurations include the symbol and flag names, rather than the encoded values I'm used to seeing in the generated DTS files. As an example, here is what the pin assignments look like in my zephyr.dts:

    		uart0_default: uart0_default {
    			phandle = < 0x2 >;
    			group1 {
    				psels = < 0xf >, < 0x1000b >, < 0x20015 >, < 0x30014 >;
    			};
    		};
    		uart0_sleep: uart0_sleep {
    			phandle = < 0x3 >;
    			group1 {
    				psels = < 0xf >, < 0x1000b >, < 0x20015 >, < 0x30014 >;
    				low-power-enable;
    			};
    		};

    Compared to the more readable output you got:

                    uart0_default: uart0_default {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 15)>,
                                            <NRF_PSEL(UART_RX, 0, 11)>,
                                            <NRF_PSEL(UART_RTS, 0, 21)>,
                                            <NRF_PSEL(UART_CTS, 0, 20)>;
                            };
    
                    };
    
                    uart0_sleep: uart0_sleep {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 15)>,
                                            <NRF_PSEL(UART_RX, 0, 11)>,
                                            <NRF_PSEL(UART_RTS, 0, 21)>,
                                            <NRF_PSEL(UART_CTS, 0, 20)>;
                                    low-power-enable;
                            };
    
                    };

    Anyway, I reveiwed the build files you uploaded, and I see that you have not applied this patch https://github.com/nrfconnect/sdk-nrf/pull/13407 Dejan recommended further down in this thread. This patch should fix the com. issue you're seeing.

Reply
  • Hi,

    That is the correct file, thank you for confirming. I was confused by it because the configurations include the symbol and flag names, rather than the encoded values I'm used to seeing in the generated DTS files. As an example, here is what the pin assignments look like in my zephyr.dts:

    		uart0_default: uart0_default {
    			phandle = < 0x2 >;
    			group1 {
    				psels = < 0xf >, < 0x1000b >, < 0x20015 >, < 0x30014 >;
    			};
    		};
    		uart0_sleep: uart0_sleep {
    			phandle = < 0x3 >;
    			group1 {
    				psels = < 0xf >, < 0x1000b >, < 0x20015 >, < 0x30014 >;
    				low-power-enable;
    			};
    		};

    Compared to the more readable output you got:

                    uart0_default: uart0_default {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 15)>,
                                            <NRF_PSEL(UART_RX, 0, 11)>,
                                            <NRF_PSEL(UART_RTS, 0, 21)>,
                                            <NRF_PSEL(UART_CTS, 0, 20)>;
                            };
    
                    };
    
                    uart0_sleep: uart0_sleep {
                            group1 {
                                    psels = <NRF_PSEL(UART_TX, 0, 15)>,
                                            <NRF_PSEL(UART_RX, 0, 11)>,
                                            <NRF_PSEL(UART_RTS, 0, 21)>,
                                            <NRF_PSEL(UART_CTS, 0, 20)>;
                                    low-power-enable;
                            };
    
                    };

    Anyway, I reveiwed the build files you uploaded, and I see that you have not applied this patch https://github.com/nrfconnect/sdk-nrf/pull/13407 Dejan recommended further down in this thread. This patch should fix the com. issue you're seeing.

Children
Related