UARTE between two nrf54l15dk not working

Hallo, we are evaluating the UART peripheral of the nrf54l15. As a first step, we are trying to get two DK to communicate with each other, unfortunately without success.

Our setup: NCS v3.1.0

First DK (receiver):

Overlay:

/ {
  chosen {
    /delete-property/ zephyr,console;
    /delete-property/ zephyr,shell-uart;
    /delete-property/ zephyr,uart-mcumgr;
    /delete-property/ zephyr,bt-mon-uart;
    /delete-property/ zephyr,bt-c2h-uart;
  };
};

&spi00 {
  status = "disabled";
};

&uart20 {
  status = "okay";
  current-speed = <921600>;
  pinctrl-0 = <&uart20_default>;
  pinctrl-1 = <&uart20_sleep>;
  pinctrl-names = "default", "sleep";
};

&pinctrl {
  /omit-if-no-ref/ uart20_default: uart20_default {
    group1 {
      psels = <NRF_PSEL(UART_TX, 1, 4)>,
        <NRF_PSEL(UART_RTS, 1, 6)>;
    };

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

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

&pwm_led1 {
};
prj.conf
CONFIG_GPIO=y


CONFIG_LOG=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=n
CONFIG_UART_CONSOLE=n
CONFIG_RTT_CONSOLE=y
CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=2048

CONFIG_SERIAL=y
CONFIG_UART_ASYNC_API=y
CONFIG_UART_USE_RUNTIME_CONFIGURE=y
Second DK (sender):

/ {
  chosen {
    /delete-property/ zephyr,console;
    /delete-property/ zephyr,shell-uart;
    /delete-property/ zephyr,uart-mcumgr;
    /delete-property/ zephyr,bt-mon-uart;
    /delete-property/ zephyr,bt-c2h-uart;
  };
};

&spi00 {
  status = "disabled";
};

&uart20 {
  status = "okay";
  current-speed = <921600>;
  pinctrl-0 = <&uart20_default>;
  pinctrl-1 = <&uart20_sleep>;
  pinctrl-names = "default", "sleep";
};

&pinctrl {
  /omit-if-no-ref/ uart20_default: uart20_default {
    group1 {
      psels = <NRF_PSEL(UART_TX, 2, 2)>,
          <NRF_PSEL(UART_RTS, 2, 5)>;
    };
    group2 {
      psels = <NRF_PSEL(UART_RX, 2, 0)>,
          <NRF_PSEL(UART_CTS, 2, 4)>;
      bias-pull-up;
    };
  };

  /omit-if-no-ref/ uart20_sleep: uart20_sleep {
    group1 {
      psels = <NRF_PSEL(UART_TX, 2, 2)>,
              <NRF_PSEL(UART_RX, 2, 0)>,
              <NRF_PSEL(UART_RTS, 2, 5)>,
              <NRF_PSEL(UART_CTS, 2, 4)>;
      low-power-enable;
    };
  };
};
&pwm_led1 {
};
Same proj. config.
We are using the asyinc API.
Output from the receiver:
00> [00:00:14.420,570] <inf> uart_test: UART event received: type 6
00> --- 19 messages dropped ---
00> [00:00:14.420,969] <inf> uart_test: UART_RX_STOPPED: 4
00> --- 20 messages dropped ---
00> [00:00:14.421,359] <inf> uart_test: UART_RX_STOPPED: 4
00> --- 19 messages dropped ---
00> [00:00:14.421,743] <inf> uart_test: UART_RX_STOPPED: 4
00> --- 19 messages dropped ---
00> [00:00:14.422,014] <inf> uart_test: UART event received: type 4
00> --- 19 messages dropped ---
00> [00:00:14.422,397] <inf> uart_test: UART event received: type 4
00> --- 18 messages dropped ---
00> [00:00:14.422,702] <inf> uart_test: UART_RX_STOPPED: 4
00> --- 19 messages dropped ---
00> [00:00:14.423,083] <inf> uart_test: UART_RX_STOPPED: 4
00> --- 19 messages dropped ---
00> [00:00:14.423,468] <inf> uart_test: UART_RX_STOPPED: 4
00> --- 19 messages dropped ---
00> [00:00:14.423,851] <inf> uart_test: UART_RX_STOPPED: 4
CONSTLAT is enabled, as we are doing cross power domain uart. THE QSPI is disconnected via Board Configurator. We also tried UART00 at sender, with no different. We tried different baudrates and with and without hw-flow-control. Where is our mistake?
Parents Reply Children
Related