Custom board crashes calling bt_enable

Hello 
I have a custom board with the following dts
My zephyr app crashes in bt_enable()
Note that uart0 TX pin 8 is used by gps_vrtc_en but uart0 is not defined. Same crash if I have it explicitly disabled

Unfortunately no logs are available on this board. I call bt_enable explicitly from the shell and the board reboots
Any ideas why?
Thank you

dts

// Copyright (c) 2022 Nordic Semiconductor ASA
// SPDX-License-Identifier: Apache-2.0

/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include "nrf52840_custom-pinctrl.dtsi"


/ {
    model = "custom";
    compatible = "nRF52840";

    chosen {
        zephyr,console = &cdc_acm_uart0;
        zephyr,shell_uart = &cdc_acm_uart0;
        zephyr,sram = &sram0;
        zephyr,flash = &flash0;
        zephyr,code-partition = &app_partition;
        ncs,dm-timer = &timer2;
    };

    buttons {
        compatible = "gpio-keys";
        button1: button_1 {
            gpios = <&gpio0 30 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
            label = "Push button switch 1";
        };
    };
    leds {
        compatible = "gpio-leds";

        status_led: led_0 {
            gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
            label = "Status LED";
        };
    };
        custom_pins {
        compatible = "gpio-keys";

        charge_detect: charge_detect_1 {
            gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
            label = "Charger detect pin";
        };

        accel_power: accel_power {
            gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
            label = "Accelerometer Power";
        };

        buzzer_en: buzzer_en {
            gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
            label = "Buzzer Enable";
        };

        buzzer: buzzer {
            gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
            label = "Buzzer";
        };

        sensor_power: sensor_power {
            gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
            label = "Sensor Power";
        };
       
        gps_power_en: gps_power_en {
            gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
            label = "GPS Power Enable";
        };
       
        gps_vrtc_en: gps_vrtc_en {
            gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
            label = "GPS VRTC Enable";
        };
       
        gps_reset: gps_reset {
            gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; // Will be pulled low later
            label = "GPS Reset";
        };

        gps_sleep_int: gps_sleep_int {
            gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
            label = "GPS Sleep INT (low active)";
        };

        gps_rtc_int: gps_rtc_int {
            gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
            label = "GPS RTC INT";
        };

        gps_resetb_out: gps_resetb_out {
            gpios = <&gpio1 14 GPIO_PULL_UP>;
            label = "GPS ResetB Out";
        };
        
        lora_cs: lora_cs {
            gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
            label = "LoRa CS";
        };
    };


    aliases {
        sw1 = &button1;
        vib1 = &buzzer; // referred as vib in the code
        cd1 = &charge_detect;
        watchdog0 = &wdt0;
        led0 = &status_led;
        gps-uart = &uart1;
        gps-power-en = &gps_power_en;
        gps-vrtc-en = &gps_vrtc_en;
        gps-reset = &gps_reset;
        gps-sleep-int = &gps_sleep_int;
        gps-rtc-int = &gps_rtc_int;
        gps-resetb-out = &gps_resetb_out;
        lora-cs=&lora_cs;
        lora0 = &lora0;
    };

    vbatt {
        compatible = "voltage-divider";
        io-channels = <&adc 5>;
        output-ohms = <1000000>;
        full-ohms = <(3000000 + 1000000)>;
    };
   
}; // end root

&adc {
    status = "okay";
};

&gpiote {
    status = "okay";
};

&gpio0 {
    status = "okay";
    sense-edge-mask = <0xffffffff>;
};

&gpio1 {
    status = "okay";
    sense-edge-mask = <0xffffffff>;
};

/*
&uart0 {
    compatible = "nordic,nrf-uart";
    status = "okay";
    current-speed = <115200>;
    pinctrl-0 = <&uart0_default>;
    pinctrl-1 = <&uart0_sleep>;
    pinctrl-names = "default", "sleep";
};
 */
&uart1 {
    compatible = "nordic,nrf-uarte";
    status = "okay";
    current-speed = <115200>;
    pinctrl-0 = <&uart1_default>;
    pinctrl-1 = <&uart1_sleep>;
    pinctrl-names = "default", "sleep";
};

&flash0 {
    partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        boot_partition: partition@0 {
            label = "bootloader";
            reg = <0x00000000 0x00027000>;
        };

        app_partition: partition@27000 {
            label = "application";
            reg = <0x00027000 0x000CD000>;
        };

        storage_partition: partition@f8000 {
            label = "storage";
            reg = <0x000f8000 0x00008000>;
        };
    };
};

zephyr_udc0: &usbd {
    compatible = "nordic,nrf-usbd";
    status = "okay";
};
&spi0 {
    status = "okay";
    compatible = "nordic,nrf-spim";
    pinctrl-0 = <&spi0_default>;
    pinctrl-1 = <&spi0_sleep>;
    pinctrl-names = "default", "sleep";

    lora0: radio@0 {
        compatible = "semtech,sx1261";  // Substitute for LR1110
        reg = <0>;                      // SPI chip select (CS index)
        spi-max-frequency = <8000000>;

        reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;  // P1.10
        busy-gpios  = <&gpio0 7 GPIO_ACTIVE_HIGH>;  // P0.07 (DIO2)
        dio1-gpios  = <&gpio1 1 GPIO_ACTIVE_HIGH>;  // P1.01
        //property not mentioned in semtech
        //sx1261 cs-gpios   = <&gpio0 12 GPIO_ACTIVE_LOW>;  // P0.12 (manual NSS)
        // may or may not be needed. There are references in SenseCap firmware
        //tcxo-power-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; /* Optional TCXO control */
        //tcxo-voltage = "1.6V";
        //tcxo-delay-ms = <5>;

    };
};

&zephyr_udc0 {
    cdc_acm_uart0: cdc_acm_uart0{
        compatible = "zephyr,cdc-acm-uart";
    };

    cdc_acm_uart1 {
        compatible = "zephyr,cdc-acm-uart";
    };
   
};


.config
Parents Reply Children
No Data
Related