This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5729: Cant drive AM5729 GPIO from DSP code

Part Number: AM5729
Other Parts Discussed in Thread: AM5728,

Hello,

I am trying to use Ti PinMux tool v4 to enable Beagelbone AI (AM5729) boards gpio so that I can drive gpio from dsp1. On pinmux I have to select AM5728_SR2.0, because there is no AM5729 available.

I can see that setting it pull down, up or no pull makes changes to the actual IO, but my code using GPIO driver cant drive it.

For example in this case the processor actually freezes and I have to reset the whole board when I try to drive GPIO high.

----------------------------------------------------

#include <ti/drv/gpio/GPIO.h>
#include <ti/drv/gpio/soc/GPIO_soc.h>

#include <ti/board/board.h>
#include "Utils/trace.h"

#include <stdbool.h>

GPIO_PinConfig gpioPinConfigs[] = {
GPIO_DEVICE_CONFIG(0x4, 0x0B) | GPIO_CFG_OUTPUT ,
GPIO_DEVICE_CONFIG(0x4, 0x0D) | GPIO_CFG_OUTPUT
};

/* GPIO Driver call back functions */
GPIO_CallbackFxn gpioCallbackFunctions[] = {
NULL,
NULL
};

GPIO_v1_Config GPIO_v1_config = {
gpioPinConfigs,
NULL,
sizeof(gpioPinConfigs) / sizeof(GPIO_PinConfig),
//sizeof(gpioCallbackFunctions) / sizeof(GPIO_CallbackFxn),
0,
0,
};

void init_task(UArg arg0, UArg arg1) {

bool running = true;

TRACE("DSP1 init task started...");

Board_STATUS ret;
Board_initCfg boardCfg;

boardCfg = BOARD_INIT_PINMUX_CONFIG;

ret = Board_init(boardCfg);
TRACE_INT("Board init return value: %d", ret);


GPIO_init();

GPIO_write(0x0,0x1);
GPIO_write(0x1,0x1);

while(running) {
Task_sleep(1000);
}

TRACE("DSP1 init task ended...");
}

-------------------------------------------------------------

What I am doing wrong?

-Sami