nRF54h20 GPIO 6.1

Hi,

I'm struggling to get gpio6.1 to work on the nRF54h20. 

I am using zephyr version v2.7.99-cs1

Here is my overlay:

/ {
    outputs {
        crn120_en: crn120_en {
            gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
            label = "CRN120 Enable";
        };
    };

/* Disable the exmif node */
&exmif {
    status = "disabled";
};

Here is my excerpt of code:

#include <zephyr/device.h>
#include <zephyr/drivers/gpio.h>

const struct gpio_dt_spec crn120_en_pin =
    GPIO_DT_SPEC_GET(DT_NODELABEL(crn120_en), gpios);

int main(void) {
  int err;

  int status = 0;
  status = gpio_pin_configure_dt(&crn120_en_pin, GPIO_OUTPUT_ACTIVE);
  if (status != 0) {
    LOG_ERR("gpio_pin_configure_dt crn120_en_pin");
  }

  for (uint32_t i = 0; i < 100; i++) {
    gpio_pin_set_dt(&crn120_en_pin, 1);
    k_msleep(200);
    gpio_pin_set_dt(&crn120_en_pin, 0);
    k_msleep(200);
    LOG_INF("CRN120_EN Toggle");
  }
}

The pin does appear to respond for 2 or 3 loops but then stops. It is as if there is another driver taking control of the pin? 

I have looked through the compiled DTS and have not seen any other use case of the pin. 

The labelling on the schematic as a CKN pin has me concerned.

Any help is appreciated!

Chris

Related