nRF54L15 P0.01 cannot be configured/used as GPIO input while P0.03 works

Hello Nordic team,

I am working with an nRF54L15dk and have an issue using P0.01 as a GPIO input.

P0.03 works correctly with the same GPIO configuration, but P0.01 does not respond to the input signal.

According to the nRF54L Series documentation, P0 is the GPIO port associated with the low-power domain, and all P0 pins should support general-purpose GPIO functionality. P0 also supports GPIO SENSE/DETECT and GPIOTE.

Issue

  • P0.03: GPIO input works correctly.
  • P0.01: GPIO input does not work.
  • UARTE30 is disabled in my application.
  • I have also tried enabling CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y, but this did not resolve the issue.
  • I tested P0.01 using a minimal GPIO configuration rather than relying on a peripheral.

The basic configuration is:

const struct device *gpio0 = DEVICE_DT_GET(DT_NODELABEL(gpio0));

int ret = gpio_pin_configure(gpio0, 1, GPIO_INPUT | GPIO_PULL_UP);

printk("P0.01 configure ret = %d\n", ret);

while (1) {
    printk("P0.01 = %d\n", gpio_pin_get(gpio0, 1));
    k_sleep(K_MSEC(500));
}

I also compared this directly with P0.03:

gpio_pin_configure(gpio0, 3, GPIO_INPUT | GPIO_PULL_UP);

P0.03 behaves as expected.

I have verified that UARTE30 is disabled, so P0.01 should not be occupied by UARTE30 in my application.

I would like to understand:

  1. Is there any specific restriction, erratum, or configuration requirement for P0.01 on the nRF54L15?
  2. Is there any low-power-domain/GPIO configuration that can prevent P0.01 from functioning as a normal GPIO input?
  3. Is P0.01 affected by any GRTC, UICR, pin configuration, or other hardware ownership that is not visible through the normal Zephyr GPIO configuration?
  4. Are there any known issues with P0.01 on the particular nRF54L15 silicon revision?
  5. Is there a recommended register-level test to verify that P0.01 is actually configured as GPIO input?

I would appreciate any guidance on how to debug this further.

Thank you.

Related