Other Parts Discussed in Thread: SYSCONFIG
Hi Ti
My code is as follows, But GPIO0_32 can not output high level; Please help me check,Thank you very much
GPIO_PinConfig gpioPinConfigs[] = { GPIO_DEVICE_CONFIG(0, 12) | GPIO_CFG_INPUT, //FRONT_CAMERA_LINK_LOCK_GPIO GPIO_DEVICE_CONFIG(0, 29) | GPIO_CFG_INPUT, //FRONT_CAMERA_MAX_PMIC_INT_PIN GPIO_DEVICE_CONFIG(0, 39) | GPIO_CFG_INPUT, //SURROND_CAMERA_LINK_LOCK_GPIO GPIO_DEVICE_CONFIG(0, 14) | GPIO_CFG_INPUT, //SURROND_CAMERA_MAX_PMIC_INT_PIN GPIO_DEVICE_CONFIG(0, 32) | GPIO_CFG_OUTPUT, GPIO_DEVICE_CONFIG(1, 6) | GPIO_CFG_OUT_HIGH , //FCAM_96716_PWDN GPIO_DEVICE_CONFIG(1, 20) | GPIO_CFG_OUT_HIGH , //SCAM_96717A_PWDNB GPIO_DEVICE_CONFIG(1, 26) | GPIO_CFG_OUT_HIGH , //MAX20087_EN GPIO_DEVICE_CONFIG(1, 32) | GPIO_CFG_OUT_HIGH , //FCAM_96717_PWDNB GPIO_DEVICE_CONFIG(1, 30) | GPIO_CFG_OUT_HIGH , //ADAS_VDD_1V2_EN GPIO_DEVICE_CONFIG(1, 33) | GPIO_CFG_OUT_HIGH , //MAX20089_EN GPIO_DEVICE_CONFIG(1, 35) | GPIO_CFG_OUT_HIGH , //SCAM_96712_PWDN GPIO_DEVICE_CONFIG(1, 53) | GPIO_CFG_IN_INT_BOTH_EDGES| GPIO_CFG_OUT_HIGH , GPIO_DEVICE_CONFIG(1, 57) | GPIO_CFG_IN_INT_BOTH_EDGES| GPIO_CFG_OUT_HIGH , }; /* GPIO Driver call back functions */ GPIO_CallbackFxn gpioCallbackFunctions[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }; GPIO_v0_Config GPIO_v0_config = { gpioPinConfigs, gpioCallbackFunctions, sizeof(gpioPinConfigs) / sizeof(GPIO_PinConfig), sizeof(gpioCallbackFunctions) / sizeof(GPIO_CallbackFxn), 0x8U }; /* ========================================================================== */ /* Structure Declarations */ /* ========================================================================== */ static int32_t appSetupI2CInst(uint8_t i2cInst); static int32_t appCloseI2CInst(void); static int32_t appOv2775Config(AppSensorCmdParams *prms); static int32_t appImx390Config(AppSensorCmdParams *prms); int32_t appRemoteServiceSensorHandler(char *service_name, uint32_t cmd, void *prm, uint32_t prm_size, uint32_t flags); /* ========================================================================== */ /* Function Declarations */ /* ========================================================================== */ static void appInitGpio(void); /* ========================================================================== */ /* Global Variables */ /* ========================================================================== */ static I2C_Handle gI2cHandle = NULL; /* ========================================================================== */ /* Internal/Private Function Declarations */ /* ========================================================================== */ void appInitGpio(void) { { GPIO_v0_HwAttrs gpio_cfg; GPIO_socGetInitCfg(1, &gpio_cfg); gpio_cfg.baseAddr = CSL_WKUP_GPIO0_BASE; gpio_cfg.intCfg[53].eventId = 0; gpio_cfg.intCfg[53].intcMuxNum = INVALID_INTC_MUX_NUM; gpio_cfg.intCfg[53].intcMuxInEvent = 0; gpio_cfg.intCfg[53].intcMuxOutEvent = 0; gpio_cfg.intCfg[57].eventId = 0; gpio_cfg.intCfg[57].intcMuxNum = INVALID_INTC_MUX_NUM; gpio_cfg.intCfg[57].intcMuxInEvent = 0; gpio_cfg.intCfg[57].intcMuxOutEvent = 0; GPIO_socSetInitCfg(1, &gpio_cfg); } GPIO_init(); } static TimerP_Params timerParams; static TimerP_Handle timerHandle = NULL; static uint8_t timer_count = 0; static void timerFxn(uintptr_t arg) { if(timer_count == 0){ GPIO_write(4, 0); timer_count++; } else if(timer_count == 9) { GPIO_write(4, 1); timer_count = 0; }else timer_count++; //appLogPrintf("timer ........................\n"); } /* ========================================================================== */ /* Function Definitions */ /* ========================================================================== */ int32_t appGpioInit(void) { pinmuxPerCfg_t gGpio0PinCfg[] = { /* MyGPIO0 -> GPIO0_12 -> T26 */ { PIN_MCAN12_RX, PIN_MODE(7) | \ ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION)) }, /* MyGPIO0 -> GPIO0_29 -> R28 */ { PIN_MCAN2_TX, PIN_MODE(7) | \ ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION)) }, /* MyGPIO0 -> GPIO0_39 -> T24 */ { PIN_MCASP0_AXR11, PIN_MODE(7) | \ ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION)) }, /* MyGPIO0 -> GPIO0_14 -> AB28 */ { PIN_MCASP0_ACLKX, PIN_MODE(7) | \ ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION)) }, /* MyGPIO0 -> GPIO0_14 -> AB28 */ { PIN_MCASP0_AXR4, PIN_MODE(7) | \ ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION)) }, {PINMUX_END} }; #define BOARD_SOC_DOMAIN_MAIN (0) pinmuxModuleCfg_t gGpioPinCfg[] = { {0, TRUE, gGpio0PinCfg}, {PINMUX_END} }; pinmuxBoardCfg_t gJ721S2_MainPinmuxData[] = { {0, gGpioPinCfg}, {PINMUX_END} }; Board_pinmuxUpdate(gJ721S2_MainPinmuxData, BOARD_SOC_DOMAIN_MAIN); appInitGpio(); /* Initialize timer parameters */ TimerP_Params_init(&timerParams); /* Configure periodic timer for 0.003 sec*/ timerParams.period = 3333; /* 0.003s */ timerParams.periodType = TimerP_PeriodType_MICROSECS; timerParams.startMode = TimerP_StartMode_USER; timerParams.runMode = TimerP_RunMode_CONTINUOUS; timerHandle = TimerP_create(TimerP_ANY, (TimerP_Fxn)&timerFxn, &timerParams); #if 0 if (timerHandle == NULL) { appLogPrintf("ERR: TimerP_create failed\n"); } else (void)TimerP_start(timerHandle); /* start the timer */ #endif GPIO_write(4, 1); appLogPrintf( " appGpioInit Done!!!\n"); return 0; }