void vParTestInitialise( void ) { /* Set GPIO direction. */ alt_gpio_port_datadir_set( ALT_GPIO_PORTB, ulAllLEDs, ulAllLEDs ); /* Start with all LEDs off. */ alt_gpio_port_data_write( ALT_GPIO_PORTB, ulAllLEDs, ulAllLEDs ); ulPortValue = ulAllLEDs; }
//------------------------------------------------------------------------------ void gpio_init(void) { ALT_STATUS_CODE halRet = ALT_E_SUCCESS; /* Initialize HPS GPIO */ // Initialize GPIO module halRet = alt_gpio_init(); if (halRet != ALT_E_SUCCESS) { goto Exit; } halRet = alt_gpio_group_config(cfgHpsGPO, ARRAY_COUNT(cfgHpsGPO)); // Setup GPIO LED if (halRet != ALT_E_SUCCESS) { goto Exit; } halRet = alt_gpio_port_data_write(ALT_GPIO_PORTB, HPS_LED_ALL_BIT_MASK, HPS_LED_ALL_TURN_OFF); // clear the Leds if (halRet != ALT_E_SUCCESS) { goto Exit; } halRet = alt_gpio_group_config(cfgHpsGPI, ARRAY_COUNT(cfgHpsGPI)); // Setup GPIO PUSHBUTTON if (halRet != ALT_E_SUCCESS) { goto Exit; } halRet = alt_gpio_port_int_disable(ALT_GPIO_PORTC, HPS_PB_INT_ALL_BIT_MASK); // Enable GPIO interrupts if (halRet != ALT_E_SUCCESS) { goto Exit; } /* Initialize FPGA GPIO */ // will be initialized in target intialization // Clear the dip switch and push button interrupt status registers #ifdef HOST_0_BUTTON_PIO_BASE IOWR_ALTERA_AVALON_PIO_IRQ_MASK(HOST_0_BUTTON_PIO_BASE, 0x0); IOWR_ALTERA_AVALON_PIO_EDGE_CAP(HOST_0_BUTTON_PIO_BASE, FPGA_PB_ALL_BIT_MASK); #endif #ifdef HOST_0_DIPSW_PIO_BASE IOWR_ALTERA_AVALON_PIO_IRQ_MASK(HOST_0_DIPSW_PIO_BASE, 0x0); IOWR_ALTERA_AVALON_PIO_EDGE_CAP(HOST_0_DIPSW_PIO_BASE, FPGA_DIPSW_ALL_BIT_MASK); #endif Exit: return; }
//------------------------------------------------------------------------------ void gpio_setAppOutputs(UINT32 val_p) { ALT_STATUS_CODE halRet = ALT_E_SUCCESS; halRet = alt_gpio_port_data_write(ALT_GPIO_PORTB, HPS_LED_ALL_BIT_MASK, ~val_p); }