diff --git a/display/current.txt b/display/current.txt
index d77cbf2..c7b3085 100644
--- a/display/current.txt
+++ b/display/current.txt
@@ -75,3 +75,4 @@
 fa035077927f2dff68d2b1ad6e6379822d29364999aa3fd70c5d2ffe93707d9b vendor.qti.hardware.display.demura@1.0::IDemuraFileFinder
 e609d77b00158060ca222ccd13e0ba8019a42336e3b6a6a32c6396f7b7ea2077 vendor.qti.hardware.display.composer@3.1::IQtiComposer
 ee6870d17e33bf8e2365165637b75559ceffda57770b1a35f3a9a8bbf3769266 vendor.qti.hardware.display.composer@3.1::IQtiComposerClient
+550322847ebc31fd2c13a34aefa1f75df1c879cb423422831d5a5f35ba77aca4 vendor.qti.hardware.display.demura@2.0::IDemuraFileFinder
diff --git a/display/demura/2.0/Android.bp b/display/demura/2.0/Android.bp
new file mode 100644
index 0000000..44f02a5
--- /dev/null
+++ b/display/demura/2.0/Android.bp
@@ -0,0 +1,15 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.qti.hardware.display.demura@2.0",
+    owner: "qti",
+    root: "vendor.qti.hardware.display",
+    system_ext_specific: true,
+    srcs: [
+        "IDemuraFileFinder.hal",
+    ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
+}
diff --git a/display/demura/2.0/IDemuraFileFinder.hal b/display/demura/2.0/IDemuraFileFinder.hal
new file mode 100644
index 0000000..6b2a915
--- /dev/null
+++ b/display/demura/2.0/IDemuraFileFinder.hal
@@ -0,0 +1,46 @@
+/*
+*Copyright (c) 2021, The Linux Foundation. All rights reserved.
+*
+*Redistribution and use in source and binary forms, with or without
+*modification, are permitted provided that the following conditions are
+*met:
+*    * Redistributions of source code must retain the above copyright
+*      notice, this list of conditions and the following disclaimer.
+*    * Redistributions in binary form must reproduce the above
+*      copyright notice, this list of conditions and the following
+*      disclaimer in the documentation and/or other materials provided
+*      with the distribution.
+*    * Neither the name of The Linux Foundation nor the names of its
+*      contributors may be used to endorse or promote products derived
+*      from this software without specific prior written permission.
+*
+*THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+*WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+*MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+*ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+*BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+*CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+*SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+*WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+*OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+*IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+package vendor.qti.hardware.display.demura@2.0;
+
+interface IDemuraFileFinder {
+
+   struct DemuraFilePaths {
+     string configFilePath;
+     string signatureFilePath;
+     string publickeyFilePath;
+   };
+
+   /*
+    * file_paths: paths of demura files
+    * result: standard errno value
+    */
+   getDemuraFilePaths(uint64_t panel_id) generates (int32_t result, DemuraFilePaths file_paths);
+};
+
