HCI over UART: UART00 Communication Fails on Port 2

Hello,

I am currently working on HCI communication over UART between two microcontrollers: an STM32 and a Nordic nRF54L15.

My tests have been performed using a custom board with an Ezurio BL54L15 module and an nRF54L15 DK. I am trying to use UART00 on Port 2 with the following pin assignments:

  • RX: P2.00 / P2.07
  • TX: P2.02 / P2.08
  • CTS: P2.04 / P2.09
  • RTS: P2.05 / P2.10

To use UART00, I also disabled SPIM.

However, I have not been been able to establish communication between the two devices. Are there any additional configurations or hardware settings required to enable UART00 on these pins, or is there something I might be missing?

For comparison, I was able to establish communication successfully using the following pin configuration for uart30:

  • RX: P0.01
  • TX: P0.00
  • CTS: P0.03
  • RTS: P0.02

This makes me wonder if there are any limitations or special requirements when using UART00 on Port 2.

Below is the device tree overlay I am using:

/ {
        chosen {
                zephyr,bt-c2h-uart = &uart00;
        };
};

&spi00 {
        status = "disabled";
};

&uart00 {
        compatible = "nordic,nrf-uarte";
        current-speed = <1000000>;
        status = "okay";
        hw-flow-control;
        pinctrl-0 = <&uart00_default>; /* in zephyr\boards\nordic\nrf54l15dk\nrf54l15dk_common.dtsi:92 */
        pinctrl-1 = <&uart00_sleep>;   /* in zephyr\boards\nordic\nrf54l15dk\nrf54l15dk_common.dtsi:93 */
        pinctrl-names = "default",
                        "sleep";         /* in zephyr\boards\nordic\nrf54l15dk\nrf54l15dk_common.dtsi:94 */
};

&pinctrl {

        /omit-if-no-ref/ uart00_default: uart00_default {
                group1 {
                        psels = <NRF_PSEL(UART_CTS, 2, 4)>,
                                <NRF_PSEL(UART_TX, 2, 8)>;
                };

                group2 {
                        psels = <NRF_PSEL(UART_RTS, 2, 5)>,
                                <NRF_PSEL(UART_RX, 2, 7)>;
                        bias-pull-up;
                };
        };

        /omit-if-no-ref/ uart00_sleep: uart00_sleep {
                group1 {
                        psels = <NRF_PSEL(UART_CTS, 2, 4)>,
                                <NRF_PSEL(UART_TX, 2, 8)>,
                                <NRF_PSEL(UART_RTS, 2, 5)>,
                                <NRF_PSEL(UART_RX, 2, 7)>;
                        low-power-enable;
                };
        };
};

&mx25r64 {
        status = "disabled";
};

&led2 {

        status = "disabled";
};

&led0 {

        status = "disabled";
};
Parents
  • Hi

    This makes me wonder if there are any limitations or special requirements when using UART00 on Port 2.

    On the nRF54L15DK there are limitations w.r.t certain GPIOs thats already in use, such as the GPIOs wired up to the LED and Buttons.

    If you wish to use those, you would have to cut some solder bridges. Instead if this is just for a demo it would be faster to use different, available GPIOs that are not preoccupied. You can see which are already in use on the backside of the nRF54L15DK or in the datasheet for the nRF54L15DK.

    On the DK the following pins are connected to the respective peripherals

    P2.04 SPI_IO1 / External flash Not connected by default — Board Configurator must be used
    P2.08 Trace [1] Connected by default
    P2.05 SPI_CS / External flash Not connected by default — Board Configurator must be used
    P2.07 Trace [0] / LED 2 Connected by default

    Kind regards,
    Andreas

Reply
  • Hi

    This makes me wonder if there are any limitations or special requirements when using UART00 on Port 2.

    On the nRF54L15DK there are limitations w.r.t certain GPIOs thats already in use, such as the GPIOs wired up to the LED and Buttons.

    If you wish to use those, you would have to cut some solder bridges. Instead if this is just for a demo it would be faster to use different, available GPIOs that are not preoccupied. You can see which are already in use on the backside of the nRF54L15DK or in the datasheet for the nRF54L15DK.

    On the DK the following pins are connected to the respective peripherals

    P2.04 SPI_IO1 / External flash Not connected by default — Board Configurator must be used
    P2.08 Trace [1] Connected by default
    P2.05 SPI_CS / External flash Not connected by default — Board Configurator must be used
    P2.07 Trace [0] / LED 2 Connected by default

    Kind regards,
    Andreas

Children
No Data
Related