lineage/interfaces: add fastcharge HAL

 * Several OEMs let the user decide whether to enable or disable quick
   charging technology when using a quickcharge charger.
   Samsung, for example, exposes a sysfs node to disable it at
   will, depending on what the user sets in battery settings UI.

 * Disabling fast charge may be useful for reducing the heat produced by
   the device while charging, or for extending the lifespan of the battery.

 * This commit introduces the fastcharge HAL to implement the possibility
   to disable fastcharge at will by the user for devices that support
   such feature.

Change-Id: I7ce6862d42e7087808fa6e1f023d6bb1f106fb0e
diff --git a/fastcharge/1.0/Android.bp b/fastcharge/1.0/Android.bp
new file mode 100644
index 0000000..a39dcb5
--- /dev/null
+++ b/fastcharge/1.0/Android.bp
@@ -0,0 +1,14 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.lineage.fastcharge@1.0",
+    root: "vendor.lineage",
+    product_specific: true,
+    srcs: [
+        "IFastCharge.hal",
+    ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
+}
diff --git a/fastcharge/1.0/IFastCharge.hal b/fastcharge/1.0/IFastCharge.hal
new file mode 100644
index 0000000..ffd8178
--- /dev/null
+++ b/fastcharge/1.0/IFastCharge.hal
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2020 The LineageOS Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package vendor.lineage.fastcharge@1.0;
+
+interface IFastCharge {
+    isEnabled() generates (bool rc);
+    setEnabled(bool enable) generates (bool rc);
+};