Added WORKING gprimeltecan device tree.
diff --git a/audio/audio_effects.conf b/audio/audio_effects.conf
new file mode 100644
index 0000000..8f7d40c
--- /dev/null
+++ b/audio/audio_effects.conf
@@ -0,0 +1,242 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+#    libraries {
+#        <lib name> {
+#          path <lib path>
+#        }
+#    }
+libraries {
+# This is a proxy library that will be an abstraction for
+# the HW and SW effects
+  proxy {
+    path /system/lib/soundfx/libeffectproxy.so
+  }
+# This is the HW implementation library for the effect
+  offload {
+    path /system/lib/soundfx/libaudioeffectoffload.so
+  }
+  bundle {
+    path /system/lib/soundfx/libbundlewrapper.so
+  }
+  reverb {
+    path /system/lib/soundfx/libreverbwrapper.so
+  }
+  qcbassboost {
+    path /vendor/lib/soundfx/libqcbassboost.so
+  }
+  qcvirt {
+    path /vendor/lib/soundfx/libqcvirt.so
+  }
+  qcreverb {
+    path /vendor/lib/soundfx/libqcreverb.so
+  }
+  visualizer_sw {
+    path /system/lib/soundfx/libvisualizer.so
+  }
+  visualizer_hw {
+    path /system/lib/soundfx/libqcomvisualizer.so
+  }
+  downmix {
+    path /system/lib/soundfx/libdownmix.so
+  }
+  soundalive {
+    path /system/lib/libaudiosa.so
+  }
+  soundalive_sec {
+    path /system/lib/soundfx/libaudiosa_sec.so
+  }
+  loudness_enhancer {
+    path /system/lib/soundfx/libldnhncr.so
+  }
+  pre_processing {
+    path /system/lib/soundfx/libqcomvoiceprocessing.so
+  }
+  offload_bundle {
+    path /system/lib/soundfx/libqcompostprocbundle.so
+  }
+  audio_pre_processing {
+    path /system/lib/soundfx/libqcomvoiceprocessing.so
+  }
+}
+
+# Default pre-processing library. Add to audio_effect.conf "libraries" section if
+# audio HAL implements support for default software audio pre-processing effects
+#
+#  pre_processing {
+#    path /system/lib/soundfx/libaudiopreprocessing.so
+#  }
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+#    effects {
+#        <fx name> {
+#            library <lib name>
+#            uuid <effect uuid>
+#        }
+#        ...
+#    }
+
+effects {
+  soundalive {
+    library proxy
+    uuid  05227ea0-50bb-11e3-ac69-0002a5d5c51b
+      libsw {
+        library soundalive_sec
+        uuid  cf65eb39-ce2f-48a8-a903-ceb818c06745
+      }
+      libhw {
+        library offload
+        uuid  0b2dbc60-50bb-11e3-988b-0002a5d5c51b
+      }
+  }
+  bassboost {
+    library proxy
+    uuid  10e50dc0-50bb-11e3-a9b0-0002a5d5c51b
+      libsw {
+        library soundalive
+        uuid a926a540-418a-11e1-b2f1-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  16a70d80-50bb-11e3-8959-0002a5d5c51b
+      }
+  }
+  virtualizer {
+    library proxy
+    uuid  1db5b180-50bb-11e3-888e-0002a5d5c51b
+      libsw {
+        library soundalive
+        uuid c747f6a0-418a-11e1-a621-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  23318080-50bb-11e3-9101-0002a5d5c51b
+      }
+  }
+  equalizer {
+    library proxy
+    uuid  295b42c0-50bb-11e3-a6ed-0002a5d5c51b
+      libsw {
+        library soundalive
+        uuid c117b70-f97f-11e0-be50-0002a5d5c51b
+      }
+      libhw {
+        library offload
+        uuid  2f2afe20-50bb-11e3-bc97-0002a5d5c51b
+      }
+  }
+  volume {
+    library bundle
+    uuid 119341a0-8469-11df-81f9-0002a5d5c51b
+  }
+  reverb_env_aux {
+    library reverb
+    uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
+  }
+  reverb_env_ins {
+    library reverb
+    uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
+  }
+  reverb_pre_aux {
+    library reverb
+    uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
+  }
+  reverb_pre_ins {
+    library reverb
+    uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b
+  }
+  visualizer {
+    library proxy
+    uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
+      libsw {
+        library visualizer_sw
+        uuid  d069d9e0-8329-11df-9168-0002a5d5c51b
+      }
+      libhw {
+        library visualizer_hw
+        uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
+      }
+  }
+  downmix {
+    library downmix
+    uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
+  }
+  loudness_enhancer {
+    library loudness_enhancer
+    uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
+  }
+  aec {
+    library pre_processing
+    uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
+  }
+  ns {
+    library pre_processing
+    uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306
+  }
+}
+
+# Default pre-processing effects. Add to audio_effect.conf "effects" section if
+# audio HAL implements support for them.
+#
+#  agc {
+#    library pre_processing
+#    uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
+#  }
+#  aec {
+#    library pre_processing
+#    uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
+#  }
+#  ns {
+#    library pre_processing
+#    uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
+#  }
+
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+#    pre_processing {
+#        <input source name> {
+#            <fx name> {
+#                <param 1 name> {
+#                    param {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                    value {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                }
+#                <param 2 name > {<param> <value>}
+#                ...
+#            }
+#            ...
+#        }
+#        ...
+#    }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
+  pre_processing {
+    voice_communication {
+      aec {}
+    }
+  }