int mvblm7_init_fpga(void) { fpga_debug("Initialize FPGA interface\n"); fpga_init(); fpga_add(fpga_altera, &cyclone2); fpga_config_fn(0, 1, 0); udelay(60); return 1; }
int mvblm7_init_fpga(void) { fpga_debug("Initialize FPGA interface (reloc 0x%.8lx)\n", gd->reloc_off); fpga_init(gd->reloc_off); fpga_add(fpga_altera, &cyclone2); fpga_config_fn(0, 1, 0); udelay(60); return 1; }
/* return FPGA_SUCCESS on success, else FPGA_FAIL */ int mvblx_init_fpga(void) { fpga_debug("Initializing FPGA interface\n"); fpga_init(); fpga_add(fpga_altera, &cyclone2); if (gpio_request(GPIO_DCLK, "dclk") || gpio_request(GPIO_nSTATUS, "nStatus") || #ifndef CONFIG_SYS_FPGA_DONT_USE_CONF_DONE gpio_request(GPIO_CONF_DONE, "conf_done") || #endif gpio_request(GPIO_nCONFIG, "nConfig") || gpio_request(GPIO_DATA0, "data0") || gpio_request(GPIO_DATA1, "data1") || gpio_request(GPIO_DATA2, "data2") || gpio_request(GPIO_DATA3, "data3") || gpio_request(GPIO_DATA4, "data4") || gpio_request(GPIO_DATA5, "data5") || gpio_request(GPIO_DATA6, "data6") || gpio_request(GPIO_DATA7, "data7")) { printf("%s: error requesting GPIOs.", __func__); return FPGA_FAIL; } /* set up outputs */ gpio_direction_output(GPIO_DCLK, 0); gpio_direction_output(GPIO_nCONFIG, 0); gpio_direction_output(GPIO_DATA0, 0); gpio_direction_output(GPIO_DATA1, 0); gpio_direction_output(GPIO_DATA2, 0); gpio_direction_output(GPIO_DATA3, 0); gpio_direction_output(GPIO_DATA4, 0); gpio_direction_output(GPIO_DATA5, 0); gpio_direction_output(GPIO_DATA6, 0); gpio_direction_output(GPIO_DATA7, 0); /* NB omap_free_gpio() resets to an input, so we can't * free ie. nCONFIG, or else the FPGA would reset * Q: presumably gpio_free() has the same effect? */ /* set up inputs */ gpio_direction_input(GPIO_nSTATUS); #ifndef CONFIG_SYS_FPGA_DONT_USE_CONF_DONE gpio_direction_input(GPIO_CONF_DONE); #endif fpga_config_fn(0, 1, 0); udelay(60); return FPGA_SUCCESS; }