Using GPIO of DW3000 with nRF52840DK-DW3_QM33_SDK

Hello everyone,

I would like to use the GPIOs of the Qorvo QM33120W chip, but it’s not working.

The setup consists of an evaluation board, the “QM33110WEVB RevC,” with the firmware “nRF52840DK-DW3_QM33_SDK-FreeRTOS.”

I have added the following code to set GPIO1 to a high state within the function “static int start(struct mcps802154_llhw *llhw)” of the module “dw3000_mcps_mcu.c”:

dwt_enablegpioclocks();
nrf_gpio_cfg_input(6, NRF_GPIO_PIN_NOPULL); // To set the nRF MCU pin to high impedance
dwt_setgpiomode(GPIO1_BIT_MASK, DW3000_GPIO_PIN1_GPIO);
dwt_setgpiodir(0b1111111111111101);
dwt_setgpiovalue(GPIO1_BIT_MASK, 0b0000000000000010);

The problem is that GPIO1 is still in a low state. Debugging is quite challenging because the firmware uses a compiled library.

I’m struggling to make any progress.

Any suggestions?

Problem solved.

dwt_enablegpioclocks();
nrf_gpio_cfg_input(6, NRF_GPIO_PIN_NOPULL); // To set nRF mcu pin to high impedence
dwt_setgpiomode(GPIO1_BIT_MASK, DW37XX_GPIO_PIN1_GPIO);
dwt_setgpiodir(0b1111111111111101);
dwt_setgpiovalue(GPIO1_BIT_MASK, 1);