Hi,
I have been using i.MX8 QuadXPlus MEK Evaluation board running on QNX 7.1 RTOS.
I am able to boot the board in QNX 7.1 with the BSP provided the qnx for this board.
the below code is part of the Startup program present in QNX 7.1 BSP.
imx_pad_t pads[] = {
{SC_P_PCIE_CTRL0_WAKE_B, IMX_PAD_ALT_4, SC_PAD_CONFIG_NORMAL, SC_PAD_ISO_OFF, SC_PAD_28FDSOI_DSE_DV_LOW, SC_PAD_28FDSOI_PS_NONE}, }
set_28fdsoi_pad(startup_data->ipc, &pads[0], sizeof(pads) / sizeof(imx_pad_t));
the above function calls the below 2 functions.
sc_pad_set_mux(ipc, pads[i].pad, pads[i].mux, pads[i].cfg, pads[i].iso);
sc_pad_set_gp_28fdsoi(ipc, pads[i].pad, pads[i].dse, pads[i].ps);
once the mux configuration is done, i am calling the application code
out32(gpio4_base + IMX_GPIO_GDIR, (in32(gpio4_base + IMX_GPIO_GDIR) & ~(0x01 << 2)));
if((0x01 << 2) & in32(gpio4_base + IMX_GPIO_DR))
{
printf("PCIE_CTRL0_WAKE_B is set\n");
}
else
{
printf("PCIE_CTRL0_WAKE_B is not set\n");
}
observation: even though this GPIO pin is pulled high by default, this code always reads low. I am unable to figure out what is the issue. Any support on this is really appreciated.
Thanks
Nagaraj