summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Schinagl <oliver@schinagl.nl>2011-03-18 21:54:51 (GMT)
committerOliver Schinagl <oliver@schinagl.nl>2011-03-18 21:54:51 (GMT)
commitf10b00be2b0a5efbb8024e8c90b4c0db31a95b7a (patch)
tree6ac121ac945496668e40a6bc369f2830d93e616a
parentb10d9039a678f38ed48f4cf032c6b3bc82848594 (diff)
downloadopenipcam-f10b00be2b0a5efbb8024e8c90b4c0db31a95b7a.zip
openipcam-f10b00be2b0a5efbb8024e8c90b4c0db31a95b7a.tar.gz
openipcam-f10b00be2b0a5efbb8024e8c90b4c0db31a95b7a.tar.bz2
This commit goes with the gpio commit earlier (-r 10:12)
-rw-r--r--uClinux-2.4.20-uc1/include/gpio/gpio_i2c.h47
-rw-r--r--uClinux-2.4.20-uc1/include/gpio/gpio_interface.h40
2 files changed, 87 insertions, 0 deletions
diff --git a/uClinux-2.4.20-uc1/include/gpio/gpio_i2c.h b/uClinux-2.4.20-uc1/include/gpio/gpio_i2c.h
new file mode 100644
index 0000000..af8e031
--- /dev/null
+++ b/uClinux-2.4.20-uc1/include/gpio/gpio_i2c.h
@@ -0,0 +1,47 @@
+#ifndef __GPIO_I2C_H_
+#define __GPIO_I2C_H_
+
+//I2C define
+#define GPIO_I2C_SDA 0
+#define GPIO_I2C_SCLK 1
+
+/*schen add 2004-7-22 15:55 for smartcard module*/
+#define GPIO_SC_IO1 2
+#define GPIO_SC_IO2 3
+#define GPIO_SC_CLK 4
+
+#define GPIO_I2C_RD 0x01
+#define GPIO_I2C_WR 0x02
+
+/*schen add 2004-7-22 16:17 for smartcard module*/
+#define GPIO_I2C_LOW 0
+#define GPIO_I2C_HIGH 1
+
+/*schen add 2004-7-22 15:55 for smartcard module*/
+#define I2C_ACK 0
+#define I2C_NAK 1
+
+#define GPIO_I2C_DELAY 200 //400khz (fast-mode) / 800 //100khz
+#define GPIO_I2C_MAX_BYTES 8192 //max bytes to be transfer one time
+
+void GPIO_Enable_I2C_Channel(void); /* choose gpio0 and gpio1 */
+
+
+int GPIO_I2C_Start(void); /* start I2C communication */
+void GPIO_I2C_Stop(void); /* stop I2C communication */
+int GPIO_I2C_Send_Byte(unsigned char c); /* write a byte to slave * device */
+int GPIO_I2C_Read_Ack(void); /* read acknowledge from * slave device */
+int GPIO_I2C_Read_Byte(void); /* read a byte from slave * device */
+int GPIO_I2C_Read_Last_Byte(void); /* read last byte from * slave device */
+int GPIO_I2C_Send_Ack(void); /* master send acknowledge * when reading */
+int GPIO_I2C_Send_NoAck(void); /* master send no * acknowledge before stop */
+int output_data(unsigned char dat);
+unsigned char input_data(unsigned char ack);
+
+#if 1
+#define I2C_DEBUG(x)
+#else
+#define I2C_DEBUG(x) x
+#endif
+
+#endif
diff --git a/uClinux-2.4.20-uc1/include/gpio/gpio_interface.h b/uClinux-2.4.20-uc1/include/gpio/gpio_interface.h
new file mode 100644
index 0000000..e371810
--- /dev/null
+++ b/uClinux-2.4.20-uc1/include/gpio/gpio_interface.h
@@ -0,0 +1,40 @@
+#define GPIO_OUT 1
+#define GPIO_IN 0
+
+#define GPIO_TIMEOUT (-2)
+#define GPIO_ERROR (-1)
+#define GPIO_OK (0)
+
+#define GPIO_LOW 0
+#define GPIO_HIGH 1
+
+#define GPIO_CHANNEL_0_3 0xFFFFFFFC
+#define GPIO_CHANNEL_9_4 0xFFFFFFF3
+#define GPIO_CHANNEL_11_10 0xFFFFFFCF
+#define GPIO_CHANNEL_12 0xFFFFFF3F
+#define GPIO_CHANNEL_13 0xFFFFFCFF
+#define GPIO_CHANNEL_14 0xFFFFF3FF
+#define GPIO_CHANNEL_16_15 0xFFFFCFFF
+#define GPIO_CHANNEL_17 0xFFFFCFFF
+#define GPIO_CHANNEL_18 0xFFFCFFFF
+#define GPIO_CHANNEL_19 0xFFF3FFFF
+#define GPIO_CHANNEL_20 0xFFCFFFFF
+
+
+extern void GPIO_Enable_Channel(int channel);//normal I/O mode
+
+extern int Set_Dir(int channel, int dir);
+extern void GPIO_SET(int channel_num, int sig_status);
+extern int GPIO_GET(int channel_num);//0-20
+
+extern int GPIO_EnableChannel0_3(int mode);
+extern int GPIO_EnableChannel4_9(int mode);
+extern int GPIO_EnableChannel10_11(int mode);
+extern int GPIO_EnableChannel12(int mode);
+extern int GPIO_EnableChannel13(int mode);
+extern int GPIO_EnableChannel14(int mode);
+extern int GPIO_EnableChannel15_16(int mode);
+extern int GPIO_EnableChannel17(int mode);
+extern int GPIO_EnableChannel18(int mode);
+extern int GPIO_EnableChannel19(int mode);
+extern int GPIO_EnableChannel20(int mode);