Port USB Fastcharge : originally ported by showp1984

         https://github.com/showp1984/bricked-pyramid-3.0/commit/9074f71ce46a984ad790e1b6ffb2ff4221d7afd1
         https://github.com/showp1984/bricked-pyramid-3.0/commit/515dedcf5fa3268942b282f0ecbb36533d4245da

        USB forced fast charge v2

        Use sysfs interface to change behaviour :

         * /sys/kernel/fast_charge/force_fast_charge (rw)
         *
         *   0 - disabled (default)
         *   1 - substitute AC to USB charging always
         *   2 - substitute AC to USB charging only if no USB peripheral is detected

        For informational purposes I've also added a read-only sysfs file that indicates the current USB state :

         * /sys/kernel/fast_charge/USB_peripheral_detected (ro)
         *
         * The state will be returned in clear text (Yes/No).

        For informational purposes I've also added a read-only sysfs file that indicates the detected USB port type :

         * /sys/kernel/fast_charge/USB_porttype_detected (ro)
         *
         * The port type will be returned in clear text.

Change-Id: Iccd151e5bcd07af74859f5fe177312a12fb891c7
diff --git a/include/linux/fastchg.h b/include/linux/fastchg.h
new file mode 100644
index 0000000..f300c4a
--- /dev/null
+++ b/include/linux/fastchg.h
@@ -0,0 +1,42 @@
+/*
+ * Author: Chad Froebel <chadfroebel@gmail.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+
+#ifndef _LINUX_FASTCHG_H
+#define _LINUX_FASTCHG_H
+
+extern int force_fast_charge;
+
+#define FAST_CHARGE_DISABLED 0	/* default */
+#define FAST_CHARGE_FORCE_AC 1
+#define FAST_CHARGE_FORCE_AC_IF_NO_USB 2
+
+extern int USB_peripheral_detected;
+
+#define USB_ACC_NOT_DETECTED 0	/* default */
+#define USB_ACC_DETECTED 1
+
+#define USB_INVALID_DETECTED 0
+#define USB_SDP_DETECTED 1
+#define USB_DCP_DETECTED 2
+#define USB_CDP_DETECTED 3
+#define USB_ACA_A_DETECTED 4
+#define USB_ACA_B_DETECTED 5
+#define USB_ACA_C_DETECTED 6
+#define USB_ACA_DOCK_DETECTED 7
+#define NO_USB_DETECTED 10	/* default */
+
+extern int USB_porttype_detected;
+
+#endif