else if((ret | ICE_INT_TYPE_GPIO) == ICE_INT_TYPE_GPIO)\r
{\r
#if defined(CONFIG_SPI_GPIO)\r
- printk("%s:ICE_INT_TYPE_GPIO ret=0x%x\n",__FUNCTION__,ret);\r
+ DBG("%s:ICE_INT_TYPE_GPIO ret=0x%x\n",__FUNCTION__,ret);\r
spi_gpio_handle_irq(spi);\r
#endif\r
}\r
#define DBG(x...)\r
#endif\r
\r
-#define SPI_GPIO_TEST 0\r
+#define SPI_GPIO_TEST 1\r
#define HIGH_SPI_TEST 1\r
-#if SPI_GPIO_TEST\r
#define USE_SYS_INT 1\r
-#else\r
-#define USE_SYS_INT 0\r
-#endif\r
+\r
spinlock_t gpio_lock;\r
spinlock_t gpio_state_lock;\r
spinlock_t gpio_irq_lock;\r
for(i=4;i<81;i++)\r
{\r
gpio_direction_output(GPIOS_EXPANDER_BASE+i,TestGpioPinLevel);\r
- ret = gpio_direction_input(GPIOS_EXPANDER_BASE+i);\r
- if (ret) {\r
- printk("%s:failed to set GPIO[%d] input\n",__FUNCTION__,GPIOS_EXPANDER_BASE+i);\r
- }\r
+ //ret = gpio_direction_input(GPIOS_EXPANDER_BASE+i);\r
+ //if (ret) {\r
+ // printk("%s:failed to set GPIO[%d] input\n",__FUNCTION__,GPIOS_EXPANDER_BASE+i);\r
+ //}\r
udelay(1);\r
ret = gpio_get_value (GPIOS_EXPANDER_BASE+i);\r
if(ret != TestGpioPinLevel)\r
spi_gpio_set_pinlevel(i, SPI_GPIO_LOW);\r
spi_gpio_set_pindirection(i, SPI_GPIO_OUT); \r
}\r
-/* \r
- for(i=6; i<16; i++)\r
- {\r
- DBG("i=%d\n\n",i);\r
- spi_gpio_int_sel(i,SPI_GPIO0_IS_INT);\r
- spi_gpio_set_int_trigger(i,SPI_GPIO_EDGE_FALLING);\r
- spi_gpio_disable_int(i); \r
- } \r
-*/ \r
+\r
for(i=16; i<32; i++)\r
{\r
spi_gpio_set_pinlevel(i, SPI_GPIO_LOW);\r
spi_gpio_set_pindirection(i, SPI_GPIO_OUT);\r
}\r
- \r
- //spi_out(port, (ICE_SEL_GPIO1 | ICE_SEL_GPIO_DATA), 0, SEL_GPIO);//all gpio is zero\r
- //spi_out(port, (ICE_SEL_GPIO1 | ICE_SEL_GPIO_DIR), 0, SEL_GPIO);//all gpio is input\r
- \r
+ \r
#elif (FPGA_TYPE == ICE_CC196)\r
\r
#if 0\r
\r
#endif\r
#if SPI_GPIO_TEST\r
-#if 1\r
+#if (USE_SYS_INT == 0)\r
for(i=0;i<81;i++)\r
{\r
if(i<4)\r
printk("%s:failed to request GPIO[%d]\n",__FUNCTION__,gpio);\r
}\r
}\r
-#if 1\r
+#if USE_SYS_INT\r
for(i=0;i<4;i++)\r
{\r
gpio = GPIOS_EXPANDER_BASE+i;\r