--- /dev/null
+#ifndef GPIO_EXP_CALLPAD_H\r
+#define GPIO_EXP_CALLPAD_H\r
+\r
+#define GPIOEXP_INT_TRIGGER_FALLING 0x01\r
+#define GPIOEXP_INT_TRIGGER_RISING 0x02\r
+#define GPIOEXP_INT_TRIGGER_MASK (GPIOEXP_INT_TRIGGER_FALLING | GPIOEXP_INT_TRIGGER_RISING)\r
+\r
+enum gpioexp_port_pin_num\r
+{\r
+ //P0\r
+ GPIOEXP_P0_0 = 0,\r
+ GPIOEXP_P0_1,\r
+ GPIOEXP_P0_2,\r
+ GPIOEXP_P0_3,\r
+ GPIOEXP_P0_4,\r
+ GPIOEXP_P0_5,\r
+ GPIOEXP_P0_6,\r
+ GPIOEXP_P0_7,\r
+ \r
+ //P1\r
+ GPIOEXP_P1_0,\r
+ GPIOEXP_P1_1,\r
+ GPIOEXP_P1_2,\r
+ GPIOEXP_P1_3,\r
+ GPIOEXP_P1_4,\r
+ GPIOEXP_P1_5,\r
+ GPIOEXP_P1_6,\r
+ GPIOEXP_P1_7,\r
+ GPIOEXP_PIN_MAX,\r
+};\r
+\r
+typedef void (*gpioexp_int_handler_t)(void *data);\r
+\r
+\r
+extern int gpioexp_set_direction(unsigned gpio, int is_in);\r
+extern int gpioexp_set_output_level(unsigned gpio, int value);\r
+extern int gpioexp_read_input_level(unsigned gpio);\r
+extern int gpioexp_request_irq(unsigned int irq, gpioexp_int_handler_t handler, unsigned long flags);\r
+extern int gpioexp_free_irq(unsigned int irq);\r
+extern int gpioexp_enable_irq(unsigned int irq);\r
+extern int gpioexp_disable_irq(unsigned int irq);\r
+ \r
+#endif\r