aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita <nikich340@gmail.com>2015-11-23 15:50:18 +1000
committerNikita <nikich340@gmail.com>2015-11-23 15:50:18 +1000
commit9195e7cbff61b8bfe37f411883b6af8d45f8f5f9 (patch)
treefa4b8baaa043d3fa985c0b4ab26c4e4b7cc98ffc
Initial commit
-rw-r--r--Android.mk22
-rw-r--r--AndroidBoard.mk6
-rw-r--r--AndroidProducts.mk2
-rw-r--r--BoardConfig.mk48
-rw-r--r--README.md1
-rw-r--r--cm.mk14
-rw-r--r--device_g2m.mk46
-rw-r--r--full_g2m.mk26
-rw-r--r--init/init_g2m.cpp113
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml303
-rw-r--r--overlay/frameworks/base/core/res/res/xml/power_profile.xml42
-rw-r--r--overlay/packages/services/Telephony/res/values/config.xml21
-rw-r--r--prebuilt/etc/media_profiles.xml360
-rw-r--r--prebuilt/etc/mixer_paths.xml1230
-rwxr-xr-xprebuilt/fixup.sh10
-rwxr-xr-xprebuilt/usr/idc/touch_dev.idc49
-rwxr-xr-xprebuilt/usr/keylayout/Generic.kl441
-rw-r--r--proprietary-blobs.txt148
-rw-r--r--recovery.fstab8
-rw-r--r--releasetools.py31
-rwxr-xr-xsetup-makefiles.sh123
-rw-r--r--vendorsetup.sh25
22 files changed, 3069 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..be05bf0
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2014 The CyanogenMod 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.
+#
+ifneq ($(filter g2m,$(TARGET_DEVICE)),)
+
+LOCAL_PATH := $(call my-dir)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
+
+endif
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
new file mode 100644
index 0000000..e8172ec
--- /dev/null
+++ b/AndroidBoard.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# include the non-open-source counterpart to this file
+-include vendor/lge/g2m/AndroidBoardVendor.mk
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
new file mode 100644
index 0000000..634dbcf
--- /dev/null
+++ b/AndroidProducts.mk
@@ -0,0 +1,2 @@
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/full_g2m.mk
diff --git a/BoardConfig.mk b/BoardConfig.mk
new file mode 100644
index 0000000..fabb6d5
--- /dev/null
+++ b/BoardConfig.mk
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2015 The CyanogenMod 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.
+
+#
+# This file sets variables that control the way modules are built
+# thorughout the system. It should not be used to conditionally
+# disable makefiles (the proper mechanism to control what gets
+# included in a build is to use PRODUCT_PACKAGES in a product
+# definition file).
+#
+
+
+# Common specific options in device_g2m.mk
+-include device/lge/msm8226-common/BoardConfigCommon.mk
+
+# Vendor Init
+TARGET_UNIFIED_DEVICE := true
+TARGET_INIT_VENDOR_LIB := libinit_msm
+TARGET_LIBINIT_DEFINES_FILE := device/lge/g2m/init/init_g2m.cpp
+TARGET_OTA_ASSERT_DEVICE := g2m,g2mds,g2mss
+TARGET_RELEASETOOLS_EXTENSIONS := device/lge/g2m
+
+# Bootloader
+TARGET_BOOTLOADER_BOARD_NAME := g2m
+
+# Kernel
+TARGET_KERNEL_CONFIG := g2m_cyanogenmod_defconfig
+
+# Filesystem,
+BOARD_FLASH_BLOCK_SIZE := 131072
+BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 754974720
+BOARD_CACHEIMAGE_PARTITION_SIZE := 536870912
+BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d6ee74c
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# android_device_lge_g2m
diff --git a/cm.mk b/cm.mk
new file mode 100644
index 0000000..442e58d
--- /dev/null
+++ b/cm.mk
@@ -0,0 +1,14 @@
+# Inherit some common CM stuff.
+$(call inherit-product, vendor/cm/config/common_full_phone.mk)
+
+# Boot animation
+TARGET_SCREEN_WIDTH := 540
+TARGET_SCREEN_HEIGHT := 960
+
+# Release name
+PRODUCT_RELEASE_NAME := LG G2 Mini
+PRODUCT_NAME := cm_g2m
+PRODUCT_MANUFACTURER := lge
+PRODUCT_MODEL := g2m
+
+$(call inherit-product, device/lge/g2m/full_g2m.mk)
diff --git a/device_g2m.mk b/device_g2m.mk
new file mode 100644
index 0000000..6bb713e
--- /dev/null
+++ b/device_g2m.mk
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2013 The CyanogenMod 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.
+#
+
+$(call inherit-product, frameworks/native/build/phone-hdpi-512-dalvik-heap.mk)
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
+
+# Specific overlay
+DEVICE_PACKAGE_OVERLAYS += device/lge/g2m/overlay
+
+# Configs
+PRODUCT_COPY_FILES += \
+ device/lge/g2m/prebuilt/etc/media_profiles.xml:system/etc/media_profiles.xml \
+ device/lge/g2m/prebuilt/etc/mixer_paths.xml:system/etc/mixer_paths.xml \
+ device/lge/g2m/prebuilt/usr/idc/touch_dev.idc:system/usr/idc/touch_dev.idc \
+ device/lge/g2m/prebuilt/usr/keylayout/Generic.kl:system/usr/keylayout/Generic.kl
+
+# OTA
+PRODUCT_COPY_FILES += \
+ device/lge/g2m/prebuilt/fixup.sh:fixup.sh
+
+# Screen density
+PRODUCT_AAPT_CONFIG := normal
+PRODUCT_AAPT_PREF_CONFIG := hdpi
+
+# Common specific options
+BOARD_HAS_QCOM_WCNSS := true
+BOARD_HAS_NFC := true
+
+# Inherit from msm8226-common
+$(call inherit-product, device/lge/msm8226-common/msm8226.mk)
+$(call inherit-product, vendor/lge/g2m/g2m-vendor.mk)
+
diff --git a/full_g2m.mk b/full_g2m.mk
new file mode 100644
index 0000000..ee43b00
--- /dev/null
+++ b/full_g2m.mk
@@ -0,0 +1,26 @@
+#
+# Copyright (C) 2014 The CyanogenMod 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.
+#
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
+$(call inherit-product, device/lge/g2m/device_g2m.mk)
+
+## Device identifier. This must come after all inclusions
+PRODUCT_DEVICE := g2m
+PRODUCT_NAME := full_g2m
+PRODUCT_BRAND := lge
+PRODUCT_MODEL := g2m
+PRODUCT_MANUFACTURER := LGE
diff --git a/init/init_g2m.cpp b/init/init_g2m.cpp
new file mode 100644
index 0000000..1941695
--- /dev/null
+++ b/init/init_g2m.cpp
@@ -0,0 +1,113 @@
+/*
+ Copyright (c) 2014, 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.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "vendor_init.h"
+#include "property_service.h"
+#include "log.h"
+#include "util.h"
+
+
+#define CHUNK 2048 /* read 2048 bytes at a time */
+
+int check_cmdline(const char param[]) {
+
+ char buf[CHUNK];
+ FILE *file;
+ size_t nread;
+ file = fopen("/proc/cmdline", "r");
+ if (file) {
+ while ((nread = fread(buf, 1, sizeof buf, file)) > 0) {
+ /* fwrite(buf, 1, nread, stdout); */
+ char delims[] = " ";
+ char *word = NULL;
+ word = strtok(buf, delims);
+
+ while(word != NULL) {
+ if (!strcmp(param,word)) {
+ fclose(file);
+ return 1;
+ }
+ word = strtok(NULL, delims);
+ }
+ }
+ }
+ fclose(file);
+ return 0;
+}
+
+void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type)
+{
+ char serial[PROP_VALUE_MAX];
+ char device[PROP_VALUE_MAX];
+ char devicename[PROP_VALUE_MAX];
+
+ property_get("ro.boot.serialno", serial);
+ if (strncmp(serial, "LGD618", 6) == 0) {
+ /* D618 */
+ property_set("ro.product.device", "g2mds");
+ property_set("ro.product.model", "LG-D618");
+ property_set("ro.build.description", "g2mds_global_com-user 5.1.1 LMY48Y 151391007575d release-keys");
+ property_set("ro.build.fingerprint", "lge/g2mds_global_com/g2mds:5.1.1/LMY48Y/151391007575d:user/release-keys");
+ property_set("persist.radio.multisim.config", "dsds");
+ property_set("persist.multisim.config", "dsds");
+ property_set("persist.radio.dont_use_dsd", "true");
+ property_set("ro.telephony.ril.config", "simactivation");
+ } else if (strncmp(serial, "LGD610", 6) == 0) {
+ /* D610 */
+ property_set("ro.product.model", "LG-D610");
+ property_set("ro.product.device", "g2mss");
+ property_set("ro.build.description", "g2mss_global_com-user 5.1.1 LMY48Y 151391007575d release-keys");
+ property_set("ro.build.fingerprint", "lge/g2mss_global_com/g2mss:5.1.1/LMY48Y/151391007575d:user/release-keys");
+ property_set("persist.radio.multisim.config", "");
+ property_set("persist.multisim.config", "");
+ } else if (strncmp(serial, "LGD620", 6) == 0) {
+ /* D620 */
+ property_set("ro.product.model", "LG-D620");
+ property_set("ro.product.device", "g2m");
+ property_set("ro.nfc.port", "I2C");
+ property_set("ro.build.description", "g2m_global_com-user 5.1.1 LMY48Y 151391007575d release-keys");
+ property_set("ro.build.fingerprint", "lge/g2m_global_com/g2m:5.1.1/LMY48Y/151391007575d:user/release-keys");
+ property_set("persist.radio.multisim.config", "");
+ property_set("persist.multisim.config", "");
+ } else {
+ /* XXX */
+ /* XXX */
+ property_set("ro.product.device", "g2m");
+ property_set("ro.product.model", "Please write your model name to nikich340@gmail.com");
+ property_set("persist.radio.multisim.config", "");
+ property_set("persist.multisim.config", "");
+ }
+ property_get("ro.product.device", device);
+ strlcpy(devicename, device, sizeof(devicename));
+ ERROR("Found hardware id: %s setting build properties for %s device\n", serial, devicename);
+}
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..28140eb
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+
+ <!-- Vibrator pattern for feedback about a long screen/key press -->
+ <integer-array name="config_longPressVibePattern">
+ <item>0</item>
+ <item>20</item>
+ </integer-array>
+
+ <!-- Vibrator pattern for feedback about touching a virtual key -->
+ <integer-array name="config_virtualKeyVibePattern">
+ <item>0</item>
+ <item>15</item>
+ </integer-array>
+
+ <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
+ <integer-array name="config_keyboardTapVibePattern">
+ <item>0</item>
+ <item>13</item>
+ </integer-array>
+
+ <!-- Vibrator pattern for feedback about booting with safe mode disabled -->
+ <integer-array name="config_safeModeDisabledVibePattern">
+ <item>0</item>
+ <item>15</item>
+ </integer-array>
+
+ <!-- Whether to enable auto provisioning the app for new SIM card on boot.
+ <bool name="config_auto_provision_enable">true</bool>
+-->
+ <!-- Set to true if we need to not prefer an APN.
+ This is being added to enable a simple scenario of pre-paid
+ provisioning on some carriers, working around a bug (7305641)
+ where if the preferred is used we don't try the others. -->
+ <bool name="config_dontPreferApn">true</bool>
+
+ <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
+ <bool translatable="false" name="config_wifi_dual_band_support">false</bool>
+
+ <!-- Boolean indicating whether the wifi chipset has background scan support -->
+ <bool translatable="false" name="config_wifi_background_scan_support">false</bool>
+
+ <bool name="config_enableWifiDisplay">true</bool>
+
+ <!-- Flag indicating whether we should enable the automatic brightness in Settings.
+ config_hardware_automatic_brightness_available is not set, so we will use software implementation -->
+ <bool name="config_automatic_brightness_available">false</bool>
+
+ <!-- Default interface to monitor data use -->
+ <string name="config_datause_iface">rmnet0</string>
+
+ <!-- If the DUN connection for this CDMA device supports more than just DUN -->
+ <!-- traffic you should list them here. -->
+ <!-- If this device is not CDMA this is ignored. If this list is empty on -->
+ <!-- a DUN-requireing CDMA device, the DUN APN will support -->
+ <!-- just DUN. -->
+ <string-array translatable="false" name="config_cdma_dun_supported_types">
+ <item>"default"</item>
+ <item>"dun"</item>
+ <item>"mms"</item>
+ <item>"supl"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tething over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan\\d"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of ConnectivityManager.TYPE_xxxx values allowable for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ <!== [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>0</item>
+ <item>1</item>
+ <item>4</item>
+ <item>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- The VoiceMail default value is displayed to my own number if it is true -->
+ <bool name="config_telephony_use_own_number_for_voicemail">true</bool>
+
+ <!-- Boolean indicating if restoring network selection should be skipped -->
+ <!-- The restoring is handled by modem if it is true-->
+ <bool name="skip_restoring_network_selection">true</bool>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option
+ <bool name="config_intrusiveNotificationLed">false</bool> -->
+
+ <!-- Is the battery LED intrusive? Used to decide if there should be a disable option
+ <bool name="config_intrusiveBatteryLed">false</bool> -->
+
+ <!-- Does the battery LED support multiple colors? Used to decide if the user can change the colors
+ <bool name="config_multiColorBatteryLed">false</bool> -->
+
+ <!-- Workaround for devices with broken keyboards
+ <bool name="config_forceDisableHardwareKeyboard">true</bool> -->
+
+ <!-- Indicate whether the SD card is accessible without removing the battery. -->
+ <bool name="config_batterySdCardAccessibility">true</bool>
+
+ <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
+ autodetected from the Configuration. -->
+ <bool name="config_showNavigationBar">true</bool>
+
+ <!-- Minimum screen brightness allowed by the power manager. -->
+ <integer name="config_screenBrightnessDim">5</integer>
+
+ <integer-array name="config_longPressVibePattern">
+ <item>0</item>
+ <item>40</item>
+ </integer-array>
+ <integer-array name="config_virtualKeyVibePattern">
+ <item>0</item>
+ <item>33</item>
+ </integer-array>
+ <integer-array name="config_keyboardTapVibePattern">
+ <item>0</item>
+ <item>25</item>
+ </integer-array>
+ <integer-array name="config_safeModeDisabledVibePattern">
+ <item>0</item>
+ <item>40</item>
+ </integer-array>
+ <integer-array name="config_safeModeEnabledVibePattern">
+ <item>0</item>
+ <item>40</item>
+ <item>600</item>
+ </integer-array>
+ <integer-array name="config_scrollBarrierVibePattern">
+ <item>0</item>
+ <item>33</item>
+ <item>60</item>
+ <item>33</item>
+ </integer-array>
+ <integer-array name="config_protectedNetworks">
+ <item>10</item>
+ <item>11</item>
+ <item>12</item>
+ </integer-array>
+ <string-array name="radioAttributes">
+ <item>1,1</item>
+ <item>0,1</item>
+ <item>7,1</item>
+ <item>9,1</item>
+ </string-array>
+ <integer-array name="config_data_usage_network_types">
+ <item>0</item>
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ <item>10</item>
+ <item>11</item>
+ <item>12</item>
+ </integer-array>
+ <string-array name="networkAttributes">
+ <item>wifi,1,1,1,-1,true</item>
+ <item>mobile,0,0,0,-1,true</item>
+ <item>mobile_mms,2,0,2,60000,true</item>
+ <item>mobile_supl,3,0,2,60000,true</item>
+ <item>mobile_dun,4,0,2,60000,true</item>
+ <item>mobile_hipri,5,0,3,60000,true</item>
+ <item>mobile_fota,10,0,2,60000,true</item>
+ <item>mobile_ims,11,0,2,-1,true</item>
+ <item>mobile_cbs,12,0,2,60000,true</item>
+ <item>bluetooth,7,7,1,-1,true</item>
+ <item>ethernet,9,9,1,-1,true</item>
+ <item>wifi_p2p,13,1,0,-1,true</item>
+ </string-array>
+
+ <!-- Control whether being in the desk dock (and powered) always
+ keeps the screen on. By default it stays on when plugged in to
+ AC. 0 will not keep it on; or together 1 to stay on when plugged
+ in to AC and 2 to stay on when plugged in to USB. (So 3 for both.) -->
+ <integer name="config_deskDockKeepsScreenOn">0</integer>
+ <integer name="config_carDockKeepsScreenOn">1</integer>
+
+ <!-- Our amoled doesn't animate well. -->
+ <bool name="config_animateScreenLights">false</bool>
+
+ <!-- We dont have different firmware for wifi modes, prevent reloading it
+ <bool name="config_wifiApFirmwareReload">false</bool>
+ -->
+ <!-- When true use the linux /dev/input/event subsystem to detect the switch changes
+ on the headphone/microphone jack. When false use the older uevent framework. -->
+ <bool name="config_useDevInputEventForAudioJack">true</bool>
+
+ <!-- Is the device capable of hot swapping an UICC Card -->
+ <bool name="config_hotswapCapable">true</bool>
+
+ <!-- Hardware 'face' keys present on the device, stored as a bit field.
+ This integer should equal the sum of the corresponding value for each
+ of the following keys present:
+ 1 - Home
+ 2 - Back
+ 4 - Menu
+ 8 - Assistant (search)
+ 16 - App switch
+ 32 - Camera
+ 64 - Volume rocker
+ For example, a device with Home, Back and Menu keys would set this
+ config to 7. -->
+ <integer name="config_deviceHardwareKeys">65</integer>
+
+ <!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
+ This integer should equal the sum of the corresponding value for each
+ of the following keys present:
+ 1 - Home
+ 2 - Back
+ 4 - Menu
+ 8 - Assistant (search)
+ 16 - App switch
+ 32 - Camera
+ 64 - Volume rocker
+ For example, a device with Home, Back and Menu keys would set this
+ config to 7. -->
+ <integer name="config_deviceHardwareWakeKeys">1</integer>
+
+ <!-- Disable lockscreen translucent decor by default -->
+ <bool name="config_enableLockScreenTranslucentDecor">true</bool>
+
+ <!-- Maximum number of supported users -->
+ <integer name="config_multiuserMaximumUsers">4</integer>
+
+ <!-- Whether UI for multi user should be shown -->
+ <bool name="config_enableMultiUserUI">true</bool>
+
+ <!-- Display low battery warning when battery level dips to this value -->
+ <integer name="config_lowBatteryWarningLevel">10</integer>
+
+ <!-- Indicate whether closing the lid causes the device to go to sleep and opening
+ it causes the device to wake up.
+ The default is false. -->
+ <bool name="config_lidControlsSleep">true</bool>
+
+ <!-- Defines the system property to set for performance profile xe: sys.cpu.modes. Leave it
+ blank if the device do not support performance profiles
+ <string name="config_perf_profile_prop" translatable="false">powerhal</string>
+ -->
+
+ <!-- When config_perf_profile_prop is defined, this value MUST be the index of
+ one of the listes values in frameworks/base/core/res/res/values/cm_arrays.xml
+ for "perf_profile_values" array. Leave it blank if the device do not support
+ performance profiles
+ <string name="config_perf_profile_default_entry" translatable="false">1</string>
+ -->
+
+ <!-- Whether device supports double tap to wake -->
+ <bool name="config_supportDoubleTapWake">true</bool>
+
+ <!-- enable doze powersaving mode -->
+ <bool name="config_enableAutoPowerModes">true</bool>
+
+ <!-- Enable overlay for all location components. -->
+ <bool name="config_enableNetworkLocationOverlay" translatable="false">false</bool>
+ <string name="config_networkLocationProviderPackageName" translatable="false">com.qualcomm.location</string>
+ <bool name="config_enableFusedLocationOverlay" translatable="false">false</bool>
+ <string name="config_fusedLocationProviderPackageName" translatable="false">com.qualcomm.location</string>
+
+ <integer name="config_longPressOnHomeBehavior">2</integer>
+
+ <!-- Our modem doesn't support this query yet -->
+ <string name="config_radio_access_family">GPRS|EDGE|UMTS|HSDPA|HSUPA|HSPA|HSPAP|GSM|WCDMA</string>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
new file mode 100644
index 0000000..4f4c4df
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<device name="Android">
+ <item name="none">0</item>
+ <item name="screen.on">86</item>
+ <item name="screen.full">229</item>
+ <item name="bluetooth.active">30</item>
+ <item name="bluetooth.on">3</item>
+ <item name="wifi.on">2</item>
+ <item name="wifi.active">50</item>
+ <item name="wifi.scan">100</item>
+ <item name="gps.on">70</item>
+ <item name="radio.active">250</item>
+ <item name="radio.scanning">10</item>
+ <array name="radio.on">
+ <value>10</value>
+ <value>8</value>
+ <value>6</value>
+ <value>4</value>
+ <value>2</value>
+ </array>
+ <array name="cpu.speeds">
+ <value>300000</value>
+ <value>384000</value>
+ <value>600000</value>
+ <value>787200</value>
+ <value>998400</value>
+ <value>1094400</value>
+ <value>1190400</value>
+ </array>
+ <item name="cpu.idle">3</item>
+ <item name="cpu.awake">22</item>
+ <array name="cpu.active">
+ <value>72</value>
+ <value>78</value>
+ <value>107</value>
+ <value>120</value>
+ <value>150</value>
+ <value>157</value>
+ <value>164</value>
+ </array>
+ <item name="battery.capacity">2440</item>
+</device>
diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml
new file mode 100644
index 0000000..7202ff5
--- /dev/null
+++ b/overlay/packages/services/Telephony/res/values/config.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source 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.
+-->
+
+<!-- shooteru-specific phone app resources. -->
+<resources>
+ <!-- Show enabled lte option for lte device -->
+ <bool name="config_enabled_lte" translatable="false">true</bool>
+</resources>
diff --git a/prebuilt/etc/media_profiles.xml b/prebuilt/etc/media_profiles.xml
new file mode 100644
index 0000000..1f72fbd
--- /dev/null
+++ b/prebuilt/etc/media_profiles.xml
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2013 The Android Open Source 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.
+-->
+<!DOCTYPE MediaSettings [
+<!ELEMENT MediaSettings (CamcorderProfiles,
+ EncoderOutputFileFormat+,
+ VideoEncoderCap+,
+ AudioEncoderCap+,
+ VideoDecoderCap,
+ AudioDecoderCap,
+ LgeCamcorderCap)>
+<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
+<!ELEMENT EncoderProfile (Video, Audio)>
+<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
+<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
+<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
+<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
+<!ELEMENT Video EMPTY>
+<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
+<!ATTLIST Video bitRate CDATA #REQUIRED>
+<!ATTLIST Video width CDATA #REQUIRED>
+<!ATTLIST Video height CDATA #REQUIRED>
+<!ATTLIST Video frameRate CDATA #REQUIRED>
+<!ELEMENT Audio EMPTY>
+<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
+<!ATTLIST Audio bitRate CDATA #REQUIRED>
+<!ATTLIST Audio sampleRate CDATA #REQUIRED>
+<!ATTLIST Audio channels (1|2) #REQUIRED>
+<!ELEMENT ImageEncoding EMPTY>
+<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
+<!ELEMENT ImageDecoding EMPTY>
+<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
+<!ELEMENT Camera EMPTY>
+<!ELEMENT EncoderOutputFileFormat EMPTY>
+<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
+<!ELEMENT VideoEncoderCap EMPTY>
+<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
+<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
+<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
+<!ELEMENT AudioEncoderCap EMPTY>
+<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
+<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
+<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
+<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
+<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
+<!ELEMENT VideoDecoderCap EMPTY>
+<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
+<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
+<!ELEMENT AudioDecoderCap EMPTY>
+<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
+<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
+]>
+<!--
+ This file is used to declare the multimedia profiles and capabilities
+ on an android-powered device.
+-->
+<MediaSettings>
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0">
+
+ <EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
+ <Video codec="m4v"
+ bitRate="128000"
+ width="320"
+ height="240"
+ frameRate="15" />
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="1200000"
+ width="352"
+ height="288"
+ frameRate="30" />
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="17000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="1200000"
+ width="352"
+ height="288"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="720"
+ height="480"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="12000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="17000000"
+ width="1920"
+ height="1080"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="2" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="95" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1">
+
+ <EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
+ <Video codec="m4v"
+ bitRate="128000"
+ width="320"
+ height="240"
+ frameRate="15" />
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="1200000"
+ width="352"
+ height="288"
+ frameRate="30" />
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="5000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="192000"
+ width="176"
+ height="144"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="amrnb"
+ bitRate="12200"
+ sampleRate="8000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="1200000"
+ width="352"
+ height="288"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+ <Video codec="h264"
+ bitRate="5000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+ <!-- audio setting is ignored -->
+ <Audio codec="aac"
+ bitRate="96000"
+ sampleRate="48000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="95" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="70" />
+ <ImageDecoding memCap="20000000" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <!--
+ If a codec is not enabled, it is invisible to the applications
+ In other words, the applications won't be able to use the codec
+ or query the capabilities of the codec at all if it is disabled
+ -->
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="64000" maxBitRate="20000000"
+ minFrameWidth="176" maxFrameWidth="1920"
+ minFrameHeight="144" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="64000" maxBitRate="2000000"
+ minFrameWidth="176" maxFrameWidth="800"
+ minFrameHeight="144" maxFrameHeight="480"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="64000" maxBitRate="4000000"
+ minFrameWidth="176" maxFrameWidth="1920"
+ minFrameHeight="144" maxFrameHeight="1080"
+ minFrameRate="15" maxFrameRate="30" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="758" maxBitRate="288000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="2" />
+
+ <AudioEncoderCap name="heaac" enabled="true"
+ minBitRate="8000" maxBitRate="64000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aaceld" enabled="true"
+ minBitRate="16000" maxBitRate="192000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="5525" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+
+ <!--
+ FIXME:
+ We do not check decoder capabilities at present
+ At present, we only check whether windows media is visible
+ for TEST applications. For other applications, we do
+ not perform any checks at all.
+ -->
+ <VideoDecoderCap name="wmv" enabled="true"/>
+ <AudioDecoderCap name="wma" enabled="true"/>
+
+</MediaSettings>
diff --git a/prebuilt/etc/mixer_paths.xml b/prebuilt/etc/mixer_paths.xml
new file mode 100644
index 0000000..afa979e
--- /dev/null
+++ b/prebuilt/etc/mixer_paths.xml
@@ -0,0 +1,1230 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<mixer>
+ <!-- These are the initial mixer settings -->
+ <ctl name="Voice Rx Device Mute" id="0" value="0" />
+ <ctl name="Voice Rx Device Mute" id="1" value="-1" />
+ <ctl name="Voice Rx Device Mute" id="2" value="20" />
+ <ctl name="Voice Tx Mute" id="0" value="0" />
+ <ctl name="Voice Tx Mute" id="1" value="-1" />
+ <ctl name="Voice Tx Mute" id="2" value="500" />
+ <ctl name="Voice Rx Gain" id="0" value="0" />
+ <ctl name="Voice Rx Gain" id="1" value="-1" />
+ <ctl name="Voice Rx Gain" id="2" value="20" />
+ <ctl name="Voip Tx Mute" id="0" value="0" />
+ <ctl name="Voip Tx Mute" id="1" value="500" />
+ <ctl name="Voip Rx Gain" id="0" value="0" />
+ <ctl name="Voip Rx Gain" id="1" value="20" />
+ <ctl name="Voip Mode Config" value="12" />
+ <ctl name="Voip Rate Config" value="0" />
+ <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
+ <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
+ <ctl name="Voip Dtx Mode" value="0" />
+ <ctl name="TTY Mode" value="Off" />
+ <ctl name="LINEOUT1 Volume" value="14" />
+ <ctl name="LINEOUT2 Volume" value="14" />
+ <ctl name="HPHL Volume" value="14" />
+ <ctl name="HPHR Volume" value="14" />
+ <ctl name="RX1 Digital Volume" value="84" />
+ <ctl name="RX2 Digital Volume" value="84" />
+ <ctl name="RX3 Digital Volume" value="84" />
+ <ctl name="RX4 Digital Volume" value="84" />
+ <ctl name="ADC1 Volume" value="19" />
+ <ctl name="ADC2 Volume" value="19" />
+ <ctl name="ADC3 Volume" value="19" />
+ <ctl name="ADC4 Volume" value="19" />
+ <ctl name="ADC5 Volume" value="19" />
+ <ctl name="DEC1 Volume" value="84" />
+ <ctl name="DEC2 Volume" value="84" />
+ <ctl name="DEC3 Volume" value="84" />
+ <ctl name="DEC4 Volume" value="84" />
+ <ctl name="IIR1 INP1 Volume" value="60" /> <!--LGE changed 84==>>60 -->
+ <ctl name="IIR1 INP2 Volume" value="60" /> <!--LGE changed 84==>>60 -->
+ <ctl name="IIR1 INP3 Volume" value="60" /> <!--LGE changed 84==>>60 -->
+ <ctl name="IIR1 INP4 Volume" value="60" /> <!--LGE changed 84==>>60 -->
+ <ctl name="COMP0 Switch" value="0" />
+ <ctl name="COMP1 Switch" value="0" />
+ <ctl name="COMP2 Switch" value="0" />
+ <ctl name="SLIMBUS_3_RX Port Mixer MI2S_TX" value="0" />
+ <ctl name="HDMI_RX Port Mixer MI2S_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Port Mixer SLIM_0_TX" value="0" />
+ <ctl name="AUX_PCM_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="AUX_PCM_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="0" />
+ <ctl name="SLIM_0_RX_Voice Mixer Voip" value="0" />
+ <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="0" />
+ <!-- Audio BTSCO -->
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <!-- Voice BTSCO -->
+ <ctl name="Internal BTSCO SampleRate" value="8000" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="0" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="0" />
+ <ctl name="SLIMBUS_4_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="SLIMBUS_4_RX Audio Mixer MultiMedia2" value="0" />
+ <ctl name="MultiMedia5 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="MultiMedia4 Mixer MI2S_TX" value="0" />
+ <ctl name="MultiMedia1 Mixer MI2S_TX" value="0" />
+ <ctl name="MultiMedia1 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia1 Mixer SLIM_4_TX" value="0" />
+ <ctl name="HDMI Mixer MultiMedia1" value="0" />
+ <ctl name="HDMI Mixer MultiMedia2" value="0" />
+ <ctl name="HDMI Mixer MultiMedia3" value="0" />
+ <ctl name="HDMI Mixer MultiMedia4" value="0" />
+ <ctl name="HDMI Mixer MultiMedia5" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia2" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="0" />
+ <ctl name="IIR1 INP1 MUX" value="ZERO" />
+ <ctl name="SLIM TX5 MUX" value="ZERO" />
+ <ctl name="SLIM TX4 MUX" value="ZERO" />
+ <ctl name="SLIM TX3 MUX" value="ZERO" />
+ <ctl name="SLIM TX2 MUX" value="ZERO" />
+ <ctl name="SLIM TX1 MUX" value="ZERO" />
+ <ctl name="DEC4 MUX" value="ZERO" />
+ <ctl name="DEC3 MUX" value="ZERO" />
+ <ctl name="DEC2 MUX" value="ZERO" />
+ <ctl name="DEC1 MUX" value="ZERO" />
+ <ctl name="RX2 MIX2 INP2" value="ZERO" />
+ <ctl name="RX2 MIX2 INP1" value="ZERO" />
+ <ctl name="RX1 MIX2 INP2" value="ZERO" />
+ <ctl name="RX1 MIX2 INP1" value="ZERO" />
+ <ctl name="RX4 MIX1 INP2" value="ZERO" />
+ <ctl name="RX4 MIX1 INP1" value="ZERO" />
+ <ctl name="RX3 MIX1 INP2" value="ZERO" />
+ <ctl name="RX3 MIX1 INP1" value="ZERO" />
+ <ctl name="RX2 MIX1 INP2" value="ZERO" />
+ <ctl name="RX2 MIX1 INP1" value="ZERO" />
+ <ctl name="RX1 MIX1 INP3" value="ZERO" />
+ <ctl name="RX1 MIX1 INP2" value="ZERO" />
+ <ctl name="RX1 MIX1 INP1" value="ZERO" />
+ <ctl name="HPHL DAC Switch" value="0" />
+ <ctl name="DAC1 Switch" value="0" />
+ <ctl name="SPK DAC Switch" value="0" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="SLIM_0_TX Channels" value="One" />
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ <ctl name="SLIM RX2 MUX" value="ZERO" />
+ <ctl name="SPK DRV Volume" value="7" />
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="0"/>
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="0" />
+ <ctl name="CLASS_H_DSM MUX" value="ZERO" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="0" />
+ <ctl name="HDMI Mixer MultiMedia4" value="0" />
+ <!-- VoLTE -->
+ <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="0" />
+ <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer VoLTE" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="0" />
+ <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="0" />
+ <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="0" />
+ <!-- VoLTE -->
+
+ <!-- Voice2 -->
+ <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
+ <ctl name="HDMI_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="0" />
+ <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
+ <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
+ <!-- Voice2 End-->
+
+ <!-- fm -->
+ <ctl name="SLIMBUS_0_RX Port Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="SLIMBUS_DL_HL Switch" value="0" />
+ <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="0" />
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="0" />
+ <!-- fm end -->
+
+ <!-- Incall Recording -->
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" />
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" />
+ <!-- Incall Recording end -->
+
+ <!-- Incall Music -->
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
+ <!-- Incall Music End -->
+
+ <!-- QCHAT -->
+ <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="0" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="0" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="0" />
+ <!-- QCHAT End -->
+
+ <!-- anc headset -->
+ <!-- IIR/voice anc -->
+ <ctl name="IIR1 Band1" id ="0" value="268435456" />
+ <ctl name="IIR1 Band1" id ="1" value="0" />
+ <ctl name="IIR1 Band1" id ="2" value="0" />
+ <ctl name="IIR1 Band1" id ="3" value="0" />
+ <ctl name="IIR1 Band1" id ="4" value="0" />
+ <ctl name="IIR1 Band2" id ="0" value="268435456" />
+ <ctl name="IIR1 Band2" id ="1" value="0" />
+ <ctl name="IIR1 Band2" id ="2" value="0" />
+ <ctl name="IIR1 Band2" id ="3" value="0" />
+ <ctl name="IIR1 Band2" id ="4" value="0" />
+ <ctl name="IIR1 Band3" id ="0" value="268435456" />
+ <ctl name="IIR1 Band3" id ="1" value="0" />
+ <ctl name="IIR1 Band3" id ="2" value="0" />
+ <ctl name="IIR1 Band3" id ="3" value="0" />
+ <ctl name="IIR1 Band3" id ="4" value="0" />
+ <ctl name="IIR1 Band4" id ="0" value="268435456" />
+ <ctl name="IIR1 Band4" id ="1" value="0" />
+ <ctl name="IIR1 Band4" id ="2" value="0" />
+ <ctl name="IIR1 Band4" id ="3" value="0" />
+ <ctl name="IIR1 Band4" id ="4" value="0" />
+ <ctl name="IIR1 Band5" id ="0" value="268435456" />
+ <ctl name="IIR1 Band5" id ="1" value="0" />
+ <ctl name="IIR1 Band5" id ="2" value="0" />
+ <ctl name="IIR1 Band5" id ="3" value="0" />
+ <ctl name="IIR1 Band5" id ="4" value="0" />
+ <ctl name="IIR1 Enable Band1" value="0" />
+ <ctl name="IIR1 Enable Band2" value="0" />
+ <ctl name="IIR1 Enable Band3" value="0" />
+ <ctl name="IIR1 Enable Band4" value="0" />
+ <ctl name="IIR1 Enable Band5" value="0" />
+ <!-- IIR/voice anc end -->
+ <!-- anc handset -->
+ <ctl name="ANC Slot" value="0" />
+ <ctl name="ANC1 FB MUX" value="ZERO" />
+ <!-- anc handset end -->
+ <ctl name="ANC1 MUX" value="ZERO" />
+ <ctl name="ANC2 MUX" value="ZERO" />
+ <ctl name="ANC Function" value="OFF" />
+ <!-- anc headset end-->
+ <!-- aanc handset mic -->
+ <ctl name="SLIM_0_RX AANC MUX" value="ZERO" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="0" />
+ <!-- aanc handset mic end -->
+ <!-- quad mic -->
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="0" />
+ <!-- quad mic end-->
+ <!-- audio record compress-->
+ <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer INTERNAL_BT_SCO_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="0" />
+ <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="0" />
+ <!-- audio record compress end-->
+ <!-- listen -->
+ <ctl name="LSM1 MUX" value="None" />
+ <ctl name="SLIMBUS_5_TX LSM Function" value="None" />
+ <!-- listen end-->
+ <!-- afe-proxy -->
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
+ <!-- afe-proxy end-->
+
+ <!-- These are audio route (FE to BE) specific mixer settings -->
+ <path name="deep-buffer-playback">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback hdmi">
+ <ctl name="HDMI Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-hdmi">
+ <path name="deep-buffer-playback hdmi" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="deep-buffer-playback bt-sco" />
+ </path>
+
+ <path name="deep-buffer-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="deep-buffer-playback usb-headphones">
+ <path name="deep-buffer-playback afe-proxy" />
+ </path>
+
+ <path name="deep-buffer-playback speaker-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones" />
+ <path name="deep-buffer-playback" />
+ </path>
+
+ <path name="deep-buffer-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia1" value="1" />
+ </path>
+
+ <path name="low-latency-playback">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback hdmi">
+ <ctl name="HDMI Mixer MultiMedia5" value="1" />
+ </path>
+ <path name="low-latency-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="low-latency-playback bt-sco" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-hdmi">
+ <path name="low-latency-playback hdmi" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="low-latency-playback usb-headphones">
+ <path name="low-latency-playback afe-proxy" />
+ </path>
+
+ <path name="low-latency-playback speaker-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones" />
+ <path name="low-latency-playback" />
+ </path>
+
+ <path name="low-latency-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia5" value="1" />
+ </path>
+
+ <path name="multi-channel-playback hdmi">
+ <ctl name="HDMI Mixer MultiMedia2" value="1" />
+ </path>
+
+ <path name="multi-channel-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="1" />
+ </path>
+
+ <path name="compress-offload-playback">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback usb-headphones">
+ <path name="compress-offload-playback afe-proxy" />
+ </path>
+
+ <path name="compress-offload-playback speaker-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones" />
+ <path name="compress-offload-playback" />
+ </path>
+
+ <path name="compress-offload-playback transmission-fm">
+ <ctl name="INTERNAL_FM_RX Audio Mixer MultiMedia4" value="1" />
+ </path>
+
+ <path name="compress-offload-playback bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="compress-offload-playback bt-sco" />
+ </path>
+
+ <path name="audio-record">
+ <ctl name="MultiMedia1 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="audio-record bt-sco">
+ <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="audio-record bt-sco" />
+ </path>
+
+ <path name="audio-record usb-headset-mic">
+ <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress">
+ <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress bt-sco">
+ <ctl name="MultiMedia8 Mixer INTERNAL_BT_SCO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-compress usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="1" />
+ </path>
+
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer INTERNAL_FM_TX" value="1" />
+ </path>
+
+ <path name="voice-call">
+ <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="1" />
+ </path>
+
+ <path name="voice-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="voice-call bt-sco" />
+ </path>
+
+ <path name="voice-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
+ <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
+ </path>
+
+ <path name="lg-voip-loopback">
+ <ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
+ </path>
+
+ <path name="voice2-call">
+ <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="1" />
+ </path>
+
+ <path name="voice2-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="voice2-call bt-sco" />
+ </path>
+
+ <path name="voice2-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
+ <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
+ </path>
+
+ <path name="play-fm">
+ <ctl name="Internal FM RX Volume" value="1" />
+ <ctl name="SLIMBUS_0_RX Port Mixer INTERNAL_FM_TX" value="1" />
+ <ctl name="SLIMBUS_DL_HL Switch" value="1" />
+ </path>
+
+ <path name="volte-call">
+ <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call hdmi">
+ <ctl name="HDMI_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="volte-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="volte-call bt-sco" />
+ </path>
+
+ <path name="volte-call usb-headphones">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
+ <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
+ </path>
+
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
+ </path>
+
+ <path name="incall-rec-uplink bt-sco">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink bt-sco-wb">
+ <path name="incall-rec-uplink" />
+ </path>
+
+ <path name="incall-rec-uplink-compress">
+ <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
+ </path>
+
+ <path name="incall-rec-uplink-compress bt-sco">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-compress bt-sco-wb">
+ <path name="incall-rec-uplink-compress" />
+ </path>
+
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
+ </path>
+
+ <path name="incall-rec-downlink bt-sco">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink bt-sco-wb">
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-downlink-compress">
+ <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
+ </path>
+
+ <path name="incall-rec-downlink-compress bt-sco">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-downlink-compress bt-sco-wb">
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink">
+ <path name="incall-rec-uplink" />
+ <path name="incall-rec-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink bt-sco">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress">
+ <path name="incall-rec-uplink-compress" />
+ <path name="incall-rec-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink-compress" />
+ </path>
+
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="1" />
+ </path>
+
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
+ </path>
+
+ <path name="compress-voip-call">
+ <ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
+ </path>
+
+ <path name="compress-voip-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+ </path>
+
+ <path name="compress-voip-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="compress-voip-call bt-sco" />
+ </path>
+
+ <path name="listen-high-power">
+ <ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
+ <ctl name="SLIMBUS_5_TX LSM Function" value="SWAUDIO" />
+ </path>
+
+ <path name="qchat-call">
+ <ctl name="SLIM_0_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer SLIM_0_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer QCHAT" value="1" />
+ <ctl name="QCHAT_Tx Mixer INTERNAL_BT_SCO_TX_QCHAT" value="1" />
+ </path>
+
+ <path name="qchat-call bt-sco-wb">
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <path name="qchat-call bt-sco" />
+ </path>
+
+ <!-- These are actual sound device specific mixer settings -->
+ <path name="adc1">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1"/>
+ <ctl name="SLIM_0_TX Channels" value="One" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="DEC1 MUX" value="ADC1" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="adc2">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1"/>
+ <ctl name="SLIM_0_TX Channels" value="One" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="DEC1 MUX" value="ADC2" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="adc3">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1"/>
+ <ctl name="SLIM_0_TX Channels" value="One" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="DEC1 MUX" value="ADC3" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="speaker">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX3 Digital Volume" value="63" />
+ <ctl name="SPK DRV Volume" value="7" />
+ <ctl name="SPK DAC Switch" value="1" />
+ </path>
+
+ <path name="speaker-lite">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX3 Digital Volume" value="63" />
+ <ctl name="RDAC4 MUX" value="DEM2" />
+ <ctl name="SPK DRV Volume" value="7" />
+ <ctl name="SPK DAC Switch" value="1" />
+ </path>
+
+ <path name="speaker-skuf">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM RX2 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="Two" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX4 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC4 MUX" value="DEM3" />
+ <ctl name="RDAC5 MUX" value="DEM4" />
+ <ctl name="COMP2 Switch" value="1" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="LINEOUT2 Volume" value="20" />
+ </path>
+
+ <path name="speaker-lite-skuf">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM RX2 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="Two" />
+ <ctl name="RX2 MIX1 INP1" value="RX1" />
+ <ctl name="RX3 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC5 MUX" value="DEM4" />
+ <ctl name="RDAC4 MUX" value="DEM2" />
+ <ctl name="RDAC3 MUX" value="DEM1" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="LINEOUT2 Volume" value="20" />
+ </path>
+
+ <path name="sidetone-iir">
+ <ctl name="IIR1 Enable Band1" value="1" />
+ <ctl name="IIR1 Enable Band2" value="1" />
+ <ctl name="IIR1 Enable Band3" value="1" />
+ <ctl name="IIR1 Enable Band4" value="1" />
+ <ctl name="IIR1 Enable Band5" value="1" />
+ </path>
+
+ <path name="sidetone-headphones">
+ <path name="sidetone-iir" />
+ <ctl name="IIR1 INP1 Volume" value="68" />
+ <ctl name="RX1 MIX2 INP1" value="IIR1" />
+ <ctl name="RX2 MIX2 INP1" value="IIR1" />
+ </path>
+
+ <path name="sidetone-handset">
+ <path name="sidetone-iir" />
+ <ctl name="IIR1 INP1 Volume" value="48" />
+ <ctl name="RX1 MIX2 INP1" value="IIR1" />
+ </path>
+
+ <path name="speaker-mic">
+ <path name="adc3" />
+ <ctl name="DEC1 Volume" value="60" />
+ <ctl name="ADC3 Volume" value="12" />
+ </path>
+
+ <path name="handset">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="CLASS_H_DSM MUX" value="RX_HPHL" />
+ <ctl name="RX1 Digital Volume" value="60" />
+ <ctl name="RDAC3 MUX" value="DEM2" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ <ctl name="DAC1 Switch" value="1" />
+ </path>
+
+ <path name="handset-mic">
+ <path name="adc1" />
+ <ctl name="ADC1 Volume" value="12" />
+ <ctl name="DEC1 Volume" value="60" />
+ </path>
+
+ <path name="anc-handset">
+ <ctl name="ANC Function" value="ON" />
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="CLASS_H_DSM MUX" value="RX_HPHL" />
+ <ctl name="RDAC3 MUX" value="DEM2" />
+ <ctl name="DAC1 Switch" value="1" />
+ <ctl name="RX1 Digital Volume" value="81" />
+ <ctl name="ANC Slot" value="6" />
+ <ctl name="ANC1 MUX" value="ADC3" />
+ <ctl name="ADC3 Volume" value="14" />
+ <ctl name="ANC1 FB MUX" value="EAR_HPH_L" />
+ </path>
+
+ <path name="headphones-lite">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM RX2 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="Two" />
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="RX2 MIX1 INP1" value="RX2" />
+ <ctl name="CLASS_H_DSM MUX" value="RX_HPHL" />
+ <ctl name="RDAC3 MUX" value="DEM2" />
+ <ctl name="HPHL DAC Switch" value="1" />
+ <ctl name="HPHL Volume" value="20" />
+ <ctl name="HPHR Volume" value="20" />
+ <ctl name="RX1 Digital Volume" value="60" />
+ <ctl name="RX2 Digital Volume" value="60" />
+ </path>
+
+ <path name="headphones">
+ <path name="headphones-lite" />
+ </path>
+
+ <path name="headphones-lite-skuf">
+ <path name="headphones-lite" />
+ </path>
+
+ <path name="headset-mic">
+ <path name="adc2" />
+ <ctl name="ADC2 Volume" value="12" />
+ <ctl name="DEC1 Volume" value="60" />
+ </path>
+
+ <path name="voice-handset">
+ <path name="handset" />
+ </path>
+
+ <path name="voice-handset-tmus">
+ <path name="handset" />
+ </path>
+
+ <path name="voice-speaker">
+ <path name="speaker" />
+ <ctl name="RX3 Digital Volume" value="65" />
+ <ctl name="SPK DRV Volume" value="8" />
+ </path>
+
+ <path name="voice-speaker-mic">
+ <path name="adc3" />
+ <ctl name="DEC1 Volume" value="60" />
+ <ctl name="ADC3 Volume" value="12" />
+ </path>
+
+ <path name="voice-headphones">
+ <path name="headphones" />
+ <ctl name="HPHL Volume" value="20" />
+ <ctl name="HPHR Volume" value="20" />
+ <ctl name="RX1 Digital Volume" value="60" />
+ <ctl name="RX2 Digital Volume" value="60" />
+ </path>
+
+ <path name="voice-headphones-lite">
+ <path name="headphones-lite" />
+ <ctl name="HPHL Volume" value="20" />
+ <ctl name="HPHR Volume" value="20" />
+ <ctl name="RX1 Digital Volume" value="60" />
+ <ctl name="RX2 Digital Volume" value="60" />
+ </path>
+
+ <path name="voice-headphones-lite-skuf">
+ <path name="voice-headphones-lite" />
+ </path>
+
+ <path name="voice-headset-mic">
+ <path name="headset-mic" />
+ <ctl name="ADC2 Volume" value="12" />
+ <ctl name="DEC1 Volume" value="60" />
+ </path>
+
+ <path name="speaker-and-headphones">
+ <path name="headphones" />
+ <ctl name="RX1 Digital Volume" value="50" />
+ <ctl name="RX2 Digital Volume" value="50" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX3 MIX1 INP2" value="RX2" />
+ <ctl name="RX3 Digital Volume" value="63" />
+ <ctl name="SPK DRV Volume" value="7" />
+ <ctl name="SPK DAC Switch" value="1" />
+ </path>
+
+ <path name="speaker-and-headphones-lite">
+ <path name="headphones" />
+ <ctl name="RX1 Digital Volume" value="50" />
+ <ctl name="RX2 Digital Volume" value="50" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX3 MIX1 INP2" value="RX2" />
+ <ctl name="RX3 Digital Volume" value="63" />
+ <ctl name="SPK DRV Volume" value="7" />
+ <ctl name="SPK DAC Switch" value="1" />
+ </path>
+
+ <path name="speaker-and-headphones-skuf">
+ <path name="headphones" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX4 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC4 MUX" value="DEM3" />
+ <ctl name="RDAC5 MUX" value="DEM4" />
+ <ctl name="COMP2 Switch" value="1" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="LINEOUT2 Volume" value="20" />
+ </path>
+
+ <path name="speaker-and-headphones-lite-skuf">
+ <path name="headphones-lite" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RDAC5 MUX" value="DEM4" />
+ <ctl name="RDAC4 MUX" value="DEM2" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="LINEOUT2 Volume" value="20" />
+ </path>
+
+ <path name="usb-headphones">
+ </path>
+
+ <path name="afe-proxy">
+ </path>
+
+ <path name="transmission-fm">
+ </path>
+
+ <path name="anc">
+ <ctl name="ANC Function" value="ON" />
+ <ctl name="ANC Slot" value="0" />
+ <ctl name="ANC1 FB MUX" value="EAR_HPH_L" />
+ <ctl name="ANC1 MUX" value="ADC4" />
+ <ctl name="ANC2 MUX" value="ADC5" />
+ <ctl name="ADC5 Volume" value="7" />
+ <ctl name="ADC4 Volume" value="7" />
+ </path>
+
+ <path name="anc-headphones">
+ <path name="anc" />
+ <path name="headphones" />
+ <ctl name="COMP1 Switch" value="0" />
+ <ctl name="HPHL Volume" value="8" />
+ <ctl name="HPHR Volume" value="8" />
+ </path>
+
+ <path name="speaker-and-anc-headphones">
+ <path name="anc-headphones" />
+ <ctl name="RX4 MIX1 INP1" value="RX1" />
+ <ctl name="RX4 MIX1 INP2" value="RX2" />
+ <ctl name="SPK DAC Switch" value="1" />
+ <ctl name="COMP0 Switch" value="1" />
+ </path>
+
+ <path name="speaker-and-anc-headphones-skuf">
+ <path name="anc-headphones" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX4 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC5 MUX" value="DEM4" />
+ <ctl name="COMP2 Switch" value="1" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="LINEOUT2 Volume" value="20" />
+ </path>
+
+ <path name="anc-fb-headphones">
+ <path name="anc-headphones" />
+ <ctl name="ANC Slot" value="1" />
+ </path>
+
+ <path name="speaker-and-anc-fb-headphones">
+ <path name="anc-fb-headphones" />
+ <ctl name="RX4 MIX1 INP1" value="RX1" />
+ <ctl name="RX4 MIX1 INP2" value="RX2" />
+ <ctl name="SPK DAC Switch" value="1" />
+ <ctl name="COMP0 Switch" value="1" />
+ </path>
+
+ <path name="speaker-and-anc-fb-headphones-skuf">
+ <path name="anc-fb-headphones" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX4 MIX1 INP1" value="RX2" />
+ <ctl name="RDAC4 MUX" value="DEM3" />
+ <ctl name="RDAC5 MUX" value="DEM4" />
+ <ctl name="COMP2 Switch" value="1" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="LINEOUT2 Volume" value="20" />
+ </path>
+
+ <path name="voice-anc-headphones">
+ <path name="anc-headphones" />
+ <path name="sidetone-iir" />
+ </path>
+
+ <path name="voice-anc-fb-headphones">
+ <path name="anc-fb-headphones" />
+ <path name="sidetone-iir" />
+ </path>
+
+ <path name="hdmi">
+ </path>
+
+ <path name="speaker-and-usb-headphones">
+ <path name="speaker" />
+ <path name="usb-headphones" />
+ </path>
+
+ <path name="speaker-and-hdmi">
+ <path name="speaker" />
+ <path name="hdmi" />
+ <ctl name="SPK DRV Volume" value="7" />
+ </path>
+
+ <path name="voice-rec-mic">
+ <path name="handset-mic" />
+ <ctl name="ADC1 Volume" value="12" /> <!-- HW Change -->
+ <ctl name="DEC1 Volume" value="64" /> <!-- HW Change -->
+ </path>
+
+ <path name="camcorder-mic">
+ <path name="handset-mic" />
+ <ctl name="ADC1 Volume" value="12" /> <!-- HW Change -->
+ <ctl name="DEC1 Volume" value="64" /> <!-- HW Change -->
+ </path>
+
+ <path name="hdmi-tx">
+ <path name="handset-mic" />
+ </path>
+
+ <path name="bt-sco-headset">
+ </path>
+
+ <path name="bt-sco-mic">
+ </path>
+
+ <path name="bt-sco-headset-wb">
+ </path>
+
+ <path name="bt-sco-mic-wb">
+ </path>
+
+ <path name="usb-headset-mic">
+ </path>
+
+ <path name="capture-fm">
+ </path>
+
+ <path name="aanc-handset-mic">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="1" />
+ <ctl name="SLIM_0_TX Channels" value="Three" />
+ <ctl name="SLIM_0_RX AANC MUX" value="SLIMBUS_0_TX" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="DEC1 MUX" value="ADC1" />
+ <ctl name="ADC1 Volume" value="11" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="DEC2 MUX" value="ADC3" />
+ <ctl name="ADC3 Volume" value="11" />
+ <ctl name="SLIM TX3 MUX" value="DEC3" />
+ <ctl name="DEC3 MUX" value="ADC4" />
+ <ctl name="ADC4 Volume" value="11" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <!-- Dual MIC devices -->
+ <path name="speaker-dmic-endfire">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="DEC1 MUX" value="ADC1" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="DEC2 MUX" value="ADC3" />
+ <ctl name="SLIM_0_TX Channels" value="Two" />
+ <ctl name="IIR1 INP1 MUX" value="DEC1" />
+ </path>
+
+ <path name="dmic-endfire">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="voice-dmic-ef-tmus">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-speaker-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-rec-dmic-ef">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="voice-rec-dmic-ef-fluence">
+ <path name="dmic-endfire" />
+ </path>
+
+ <path name="handset-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <path name="speaker-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire" />
+ </path>
+
+ <!-- Quad MIC devices -->
+ <path name="speaker-qmic">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="1" />
+ <ctl name="SLIM_0_TX Channels" value="Four" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="DEC1 MUX" value="DMIC1" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="DEC2 MUX" value="DMIC2" />
+ <ctl name="SLIM TX3 MUX" value="DEC3" />
+ <ctl name="DEC3 MUX" value="DMIC3" />
+ <ctl name="SLIM TX4 MUX" value="DEC4" />
+ <ctl name="DEC4 MUX" value="DMIC4" />
+ </path>
+
+ <path name="quad-mic">
+ <path name="speaker-qmic" />
+ </path>
+
+
+ <!-- TTY devices -->
+
+ <path name="tty-headphones-lite">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX1 MIX1 INP1" value="RX1" />
+ <ctl name="CLASS_H_DSM MUX" value="RX_HPHL" />
+ <ctl name="RDAC3 MUX" value="DEM2" />
+ <ctl name="HPHL DAC Switch" value="1" />
+ </path>
+
+ <path name="tty-headphones">
+ <path name="tty-headphones-lite" />
+ <ctl name="COMP1 Switch" value="1" />
+ </path>
+
+ <path name="voice-tty-full-headphones">
+ <ctl name="TTY Mode" value="FULL" />
+ <path name="tty-headphones" />
+ </path>
+
+ <path name="voice-tty-vco-headphones">
+ <ctl name="TTY Mode" value="VCO" />
+ <path name="tty-headphones" />
+ </path>
+
+ <path name="voice-tty-full-headphones-lite">
+ <ctl name="TTY Mode" value="FULL" />
+ <path name="tty-headphones-lite" />
+ </path>
+
+ <path name="voice-tty-vco-headphones-lite">
+ <ctl name="TTY Mode" value="VCO" />
+ <path name="tty-headphones-lite" />
+ </path>
+
+ <path name="voice-tty-full-headphones-lite-skuf">
+ <path name="voice-tty-full-headphones-lite" />
+ </path>
+
+ <path name="voice-tty-vco-headphones-lite-skuf">
+ <path name="voice-tty-vco-headphones-lite" />
+ </path>
+
+ <path name="voice-tty-hco-handset">
+ <ctl name="TTY Mode" value="HCO" />
+ <path name="handset" />
+ <ctl name="EAR PA Gain" value="POS_6_DB" />
+ </path>
+
+ <path name="voice-tty-full-headset-mic">
+ <path name="adc2" />
+ </path>
+
+ <path name="voice-tty-hco-headset-mic">
+ <path name="voice-tty-full-headset-mic" />
+ </path>
+
+ <path name="voice-tty-vco-handset-mic">
+ <path name="adc1" />
+ </path>
+
+ <path name="listen-handset-mic">
+ <path name="adc1" />
+ </path>
+
+ <!-- LGE devices IRRC -->
+ <path name="lg-irrc-playback">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia2" value="1" />
+ </path>
+
+ <path name="lg-irrc-lineout">
+ <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
+ <ctl name="SLIM_0_RX Channels" value="One" />
+ <ctl name="RX3 MIX1 INP1" value="RX1" />
+ <ctl name="RX3 Digital Volume" value="88" />
+ <ctl name="LINEOUT1 Volume" value="20" />
+ <ctl name="SPK DAC Switch" value="0" />
+ </path>
+ <!-- LGE devices VOICE MEMO -->
+ <path name="lg-vm-handset-mic">
+ <path name="handset-mic" />
+ <ctl name="ADC1 Volume" value="12" /> <!-- HW Change -->
+ <ctl name="DEC1 Volume" value="64" /> <!-- HW Change -->
+ </path>
+
+ <path name="lg-vm-headset-mic">
+ <path name="headset-mic" />
+ <ctl name="ADC2 Volume" value="12" /> <!-- HW Change -->
+ </path>
+
+ <!-- LGE devices VOICE RECOGNITION -->
+ <path name="lg-vr-handset-mic">
+ <path name="handset-mic" />
+ <ctl name="ADC1 Volume" value="12" /> <!-- HW Change -->
+ <ctl name="DEC1 Volume" value="64" /> <!-- HW Change -->
+ </path>
+
+ <path name="lg-vr-headset-mic">
+ <path name="headset-mic" />
+ <ctl name="ADC2 Volume" value="12" /> <!-- HW Change -->
+ </path>
+
+ <!-- LGE devices NREC -->
+ <path name="lg-bt-nrec-sco-mic">
+ </path>
+
+ <path name="lg-bt-nrec-sco-wb-mic">
+ </path>
+
+ <!-- LGE devices HAC -->
+ <path name="lg-hac-handset">
+ <path name="handset" />
+
+ </path>
+
+ <!-- LGE devices VC -->
+ <path name="lg-vc-handset">
+ <path name="handset" />
+ </path>
+
+ <!-- LGE devices loopback -->
+ <path name="lg-loopback-earpiece">
+ <path name="handset" />
+ <ctl name="RX1 Digital Volume" value="60" />
+ </path>
+
+ <path name="lg-loopback-headset">
+ <path name="headphones" />
+ <ctl name="HPHL Volume" value="15" /> <!-- HW Change -->
+ <ctl name="HPHR Volume" value="15" /> <!-- HW Change -->
+ <ctl name="RX1 Digital Volume" value="57" /> <!-- HW Change -->
+ <ctl name="RX2 Digital Volume" value="57" /> <!-- HW Change -->
+ </path>
+
+ <path name="lg-loopback-speaker">
+ <path name="speaker" />
+ <ctl name="SPK DRV Volume" value="7" /> <!-- HW Change -->
+ <ctl name="RX3 Digital Volume" value="60" /> <!-- HW Change -->
+ </path>
+
+ <path name="lg-loopback-earpiece-mic">
+ <path name="adc1" />
+ <ctl name="DEC1 Volume" value="60" /> <!-- HW Change -->
+ <ctl name="ADC1 Volume" value="12" /> <!-- HW Change -->
+ </path>
+
+ <path name="lg-loopback-headset-mic">
+ <path name="adc2" />
+ <ctl name="DEC1 Volume" value="55" /> <!-- HW Change -->
+ <ctl name="ADC2 Volume" value="12" /> <!-- HW Change -->
+ </path>
+
+ <path name="lg-loopback-speaker-mic">
+ <path name="adc3" />
+ <ctl name="DEC1 Volume" value="55" /> <!-- HW Change -->
+ <ctl name="ADC3 Volume" value="12" /> <!-- HW Change -->
+ <!-- <ctl name="DEC4 Volume" value="99" />--> <!-- HW Change -->
+ </path>
+
+ <path name="lg-voip-loopback bt-sco">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
+ <ctl name="Internal BTSCO SampleRate" value="8000" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+ </path>
+
+ <path name="lg-voip-loopback bt-sco-wb">
+ <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
+ <ctl name="Internal BTSCO SampleRate" value="16000" />
+ <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
+ <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
+ </path>
+
+ <path name="lg-mictest-speaker-mic">
+ <path name="speaker-mic" />
+ <ctl name="DEC1 Volume" value="72" />
+ <ctl name="ADC3 Volume" value="12" />
+ </path>
+
+</mixer>
diff --git a/prebuilt/fixup.sh b/prebuilt/fixup.sh
new file mode 100755
index 0000000..8da873b
--- /dev/null
+++ b/prebuilt/fixup.sh
@@ -0,0 +1,10 @@
+#!/sbin/sh
+
+model=`cat /proc/cmdline | sed 's/.*model.name=\([^ ]*\).*/\1/'`
+
+if [ "$model" = "LG-D618" ] || [ "$model" = "LG-D610" ]; then
+ rm /system/etc/permissions/android.hardware.nfc.xml
+ rm /system/etc/permissions/android.hardware.nfc.hce.xml
+ rm /system/lib/hw/nfc_nci.pn54x.default.so
+ rm -rf /system/app/NfcNci
+fi
diff --git a/prebuilt/usr/idc/touch_dev.idc b/prebuilt/usr/idc/touch_dev.idc
new file mode 100755
index 0000000..65544f3
--- /dev/null
+++ b/prebuilt/usr/idc/touch_dev.idc
@@ -0,0 +1,49 @@
+# Copyright (C) 2011 The Android Open Source 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.
+
+#
+# Input Device Calibration File for the Tuna touch screen.
+#
+
+device.internal = 1
+
+# Basic Parameters
+touch.deviceType = touchScreen
+touch.orientationAware = 1
+
+# Gesture Mode Parameters
+touch.gestureMode = spots
+
+
+# Size
+touch.size.calibration = geometric
+touch.size.scale = 1
+touch.size.bias = 0
+touch.size.isSummed = 0
+
+# Pressure
+# Driver reports signal strength as pressure.
+#
+# A normal thumb touch typically registers about 200 signal strength
+# units although we don't expect these values to be accurate.
+touch.pressure.calibration = physical
+touch.pressure.scale = 0.004
+
+# Orientation
+touch.orientation.calibration = none
+
+touch.distance.calibration = none
+touch.distance.scale = 1
+
+keyboard.layout = gpio-keys \ No newline at end of file
diff --git a/prebuilt/usr/keylayout/Generic.kl b/prebuilt/usr/keylayout/Generic.kl
new file mode 100755
index 0000000..f10ba96
--- /dev/null
+++ b/prebuilt/usr/keylayout/Generic.kl
@@ -0,0 +1,441 @@
+# Copyright (C) 2010 The Android Open Source 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.
+
+#
+# Generic key layout file for full alphabetic US English PC style external keyboards.
+#
+# This file is intentionally very generic and is intended to support a broad rang of keyboards.
+# Do not edit the generic key layout to support a specific keyboard; instead, create
+# a new key layout file with the required keyboard configuration.
+#
+
+key 1 ESCAPE
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 12 MINUS
+key 13 EQUALS
+key 14 DEL
+key 15 TAB
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+key 26 LEFT_BRACKET
+key 27 RIGHT_BRACKET
+key 28 ENTER
+key 29 CTRL_LEFT
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 39 SEMICOLON
+key 40 APOSTROPHE
+key 41 GRAVE
+key 42 SHIFT_LEFT
+key 43 BACKSLASH
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 53 SLASH
+key 54 SHIFT_RIGHT
+key 55 NUMPAD_MULTIPLY
+key 56 ALT_LEFT
+key 57 SPACE
+key 58 CAPS_LOCK
+key 59 F1
+key 60 F2
+key 61 F3
+key 62 F4
+key 63 F5
+key 64 F6
+key 65 F7
+key 66 F8
+key 67 F9
+key 68 F10
+key 69 NUM_LOCK
+key 70 SCROLL_LOCK
+key 71 NUMPAD_7
+key 72 NUMPAD_8
+key 73 NUMPAD_9
+key 74 NUMPAD_SUBTRACT
+key 75 NUMPAD_4
+key 76 NUMPAD_5
+key 77 NUMPAD_6
+key 78 NUMPAD_ADD
+key 79 NUMPAD_1
+key 80 NUMPAD_2
+key 81 NUMPAD_3
+key 82 NUMPAD_0
+key 83 NUMPAD_DOT
+# key 84 (undefined)
+key 85 ZENKAKU_HANKAKU
+key 86 BACKSLASH
+key 87 F11
+key 88 F12
+key 89 RO
+# key 90 "KEY_KATAKANA"
+# key 91 "KEY_HIRAGANA"
+key 92 HENKAN
+key 93 KATAKANA_HIRAGANA
+key 94 MUHENKAN
+key 95 NUMPAD_COMMA
+key 96 NUMPAD_ENTER
+key 97 CTRL_RIGHT
+key 98 NUMPAD_DIVIDE
+key 99 SYSRQ
+key 100 ALT_RIGHT
+# key 101 "KEY_LINEFEED"
+key 102 MOVE_HOME
+key 103 DPAD_UP
+key 104 PAGE_UP
+key 105 DPAD_LEFT
+key 106 DPAD_RIGHT
+key 107 MOVE_END
+key 108 DPAD_DOWN
+key 109 PAGE_DOWN
+key 110 INSERT
+key 111 FORWARD_DEL
+# key 112 "KEY_MACRO"
+key 113 VOLUME_MUTE
+key 114 VOLUME_DOWN
+key 115 VOLUME_UP
+key 116 POWER
+key 117 NUMPAD_EQUALS
+# key 118 "KEY_KPPLUSMINUS"
+key 119 BREAK
+# key 120 (undefined)
+key 121 NUMPAD_COMMA
+key 122 KANA
+key 123 EISU
+key 124 YEN
+key 125 META_LEFT
+key 126 META_RIGHT
+key 127 MENU
+key 128 MEDIA_STOP
+# key 129 "KEY_AGAIN"
+# key 130 "KEY_PROPS"
+# key 131 "KEY_UNDO"
+# key 132 "KEY_FRONT"
+# key 133 "KEY_COPY"
+# key 134 "KEY_OPEN"
+# key 135 "KEY_PASTE"
+# key 136 "KEY_FIND"
+# key 137 "KEY_CUT"
+# key 138 "KEY_HELP"
+key 139 MENU
+key 140 CALCULATOR
+# key 141 "KEY_SETUP"
+key 142 SLEEP
+key 143 WAKEUP
+# key 144 "KEY_FILE"
+# key 145 "KEY_SENDFILE"
+# key 146 "KEY_DELETEFILE"
+# key 147 "KEY_XFER"
+# key 148 "KEY_PROG1"
+# key 149 "KEY_PROG2"
+key 150 EXPLORER
+# key 151 "KEY_MSDOS"
+key 152 POWER
+# key 153 "KEY_DIRECTION"
+# key 154 "KEY_CYCLEWINDOWS"
+key 155 ENVELOPE
+key 156 BOOKMARK
+# key 157 "KEY_COMPUTER"
+key 158 BACK
+key 159 FORWARD
+key 160 MEDIA_CLOSE
+key 161 MEDIA_EJECT
+key 162 MEDIA_EJECT
+key 163 MEDIA_NEXT
+key 164 MEDIA_PLAY_PAUSE
+key 165 MEDIA_PREVIOUS
+key 166 MEDIA_STOP
+key 167 MEDIA_RECORD
+key 168 MEDIA_REWIND
+key 169 CALL
+# key 170 "KEY_ISO"
+key 171 MUSIC
+key 172 HOME
+# key 173 "KEY_REFRESH"
+# key 174 "KEY_EXIT"
+# key 175 "KEY_MOVE"
+# key 176 "KEY_EDIT"
+key 177 PAGE_UP
+key 178 PAGE_DOWN
+key 179 NUMPAD_LEFT_PAREN
+key 180 NUMPAD_RIGHT_PAREN
+# key 181 "KEY_NEW"
+# key 182 "KEY_REDO"
+# key 183 F13
+# key 184 F14
+# key 185 F15
+# key 186 F16
+# key 187 F17
+# key 188 F18
+# key 189 F19
+# key 190 F20
+# key 191 F21
+# key 192 F22
+# key 193 F23
+# key 194 F24
+# key 195 (undefined)
+# key 196 (undefined)
+# key 197 (undefined)
+# key 198 (undefined)
+# key 199 (undefined)
+key 200 MEDIA_PLAY
+key 201 MEDIA_PAUSE
+# key 202 "KEY_PROG3"
+# key 203 "KEY_PROG4"
+# key 204 (undefined)
+# key 205 "KEY_SUSPEND"
+# key 206 "KEY_CLOSE"
+key 207 MEDIA_PLAY
+key 208 MEDIA_FAST_FORWARD
+# key 209 "KEY_BASSBOOST"
+# key 210 "KEY_PRINT"
+# key 211 "KEY_HP"
+key 212 CAMERA
+key 213 MUSIC
+# key 214 "KEY_QUESTION"
+key 215 ENVELOPE
+# key 216 "KEY_CHAT"
+key 217 SEARCH
+# key 218 "KEY_CONNECT"
+# key 219 "KEY_FINANCE"
+# key 220 "KEY_SPORT"
+# key 221 "KEY_SHOP"
+# key 222 "KEY_ALTERASE"
+# key 223 "KEY_CANCEL"
+key 224 BRIGHTNESS_DOWN
+key 225 BRIGHTNESS_UP
+key 226 HEADSETHOOK
+
+key 256 BUTTON_1
+key 257 BUTTON_2
+key 258 BUTTON_3
+key 259 BUTTON_4
+key 260 BUTTON_5
+key 261 BUTTON_6
+key 262 BUTTON_7
+key 263 BUTTON_8
+key 264 BUTTON_9
+key 265 BUTTON_10
+key 266 BUTTON_11
+key 267 BUTTON_12
+key 268 BUTTON_13
+key 269 BUTTON_14
+key 270 BUTTON_15
+key 271 BUTTON_16
+
+key 288 BUTTON_1
+key 289 BUTTON_2
+key 290 BUTTON_3
+key 291 BUTTON_4
+key 292 BUTTON_5
+key 293 BUTTON_6
+key 294 BUTTON_7
+key 295 BUTTON_8
+key 296 BUTTON_9
+key 297 BUTTON_10
+key 298 BUTTON_11
+key 299 BUTTON_12
+key 300 BUTTON_13
+key 301 BUTTON_14
+key 302 BUTTON_15
+key 303 BUTTON_16
+
+
+key 304 BUTTON_A
+key 305 BUTTON_B
+key 306 BUTTON_C
+key 307 BUTTON_X
+key 308 BUTTON_Y
+key 309 BUTTON_Z
+key 310 BUTTON_L1
+key 311 BUTTON_R1
+key 312 BUTTON_L2
+key 313 BUTTON_R2
+key 314 BUTTON_SELECT
+key 315 BUTTON_START
+key 316 BUTTON_MODE
+key 317 BUTTON_THUMBL
+key 318 BUTTON_THUMBR
+
+
+# key 352 "KEY_OK"
+key 353 DPAD_CENTER
+# key 354 "KEY_GOTO"
+# key 355 "KEY_CLEAR"
+# key 356 "KEY_POWER2"
+# key 357 "KEY_OPTION"
+# key 358 "KEY_INFO"
+# key 359 "KEY_TIME"
+# key 360 "KEY_VENDOR"
+# key 361 "KEY_ARCHIVE"
+key 362 GUIDE
+# key 363 "KEY_CHANNEL"
+# key 364 "KEY_FAVORITES"
+# key 365 "KEY_EPG"
+key 366 DVR
+# key 367 "KEY_MHP"
+# key 368 "KEY_LANGUAGE"
+# key 369 "KEY_TITLE"
+# key 370 "KEY_SUBTITLE"
+# key 371 "KEY_ANGLE"
+# key 372 "KEY_ZOOM"
+# key 373 "KEY_MODE"
+# key 374 "KEY_KEYBOARD"
+# key 375 "KEY_SCREEN"
+# key 376 "KEY_PC"
+key 377 TV
+# key 378 "KEY_TV2"
+# key 379 "KEY_VCR"
+# key 380 "KEY_VCR2"
+# key 381 "KEY_SAT"
+# key 382 "KEY_SAT2"
+# key 383 "KEY_CD"
+# key 384 "KEY_TAPE"
+# key 385 "KEY_RADIO"
+# key 386 "KEY_TUNER"
+# key 387 "KEY_PLAYER"
+# key 388 "KEY_TEXT"
+# key 389 "KEY_DVD"
+# key 390 "KEY_AUX"
+# key 391 "KEY_MP3"
+# key 392 "KEY_AUDIO"
+# key 393 "KEY_VIDEO"
+# key 394 "KEY_DIRECTORY"
+# key 395 "KEY_LIST"
+# key 396 "KEY_MEMO"
+key 397 CALENDAR
+# key 398 "KEY_RED"
+# key 399 "KEY_GREEN"
+# key 400 "KEY_YELLOW"
+# key 401 "KEY_BLUE"
+key 402 CHANNEL_UP
+key 403 CHANNEL_DOWN
+# key 404 "KEY_FIRST"
+# key 405 "KEY_LAST"
+# key 406 "KEY_AB"
+# key 407 "KEY_NEXT"
+# key 408 "KEY_RESTART"
+# key 409 "KEY_SLOW"
+# key 410 "KEY_SHUFFLE"
+# key 411 "KEY_BREAK"
+# key 412 "KEY_PREVIOUS"
+# key 413 "KEY_DIGITS"
+# key 414 "KEY_TEEN"
+# key 415 "KEY_TWEN"
+
+key 429 CONTACTS
+
+# key 448 "KEY_DEL_EOL"
+# key 449 "KEY_DEL_EOS"
+# key 450 "KEY_INS_LINE"
+# key 451 "KEY_DEL_LINE"
+
+
+key 464 FUNCTION
+key 465 ESCAPE FUNCTION
+key 466 F1 FUNCTION
+key 467 F2 FUNCTION
+key 468 F3 FUNCTION
+key 469 F4 FUNCTION
+key 470 F5 FUNCTION
+key 471 F6 FUNCTION
+key 472 F7 FUNCTION
+key 473 F8 FUNCTION
+key 474 F9 FUNCTION
+key 475 F10 FUNCTION
+key 476 F11 FUNCTION
+key 477 F12 FUNCTION
+key 478 1 FUNCTION
+key 479 2 FUNCTION
+key 480 D FUNCTION
+key 481 E FUNCTION
+key 482 F FUNCTION
+key 483 S FUNCTION
+key 484 B FUNCTION
+
+
+# key 497 KEY_BRL_DOT1
+# key 498 KEY_BRL_DOT2
+# key 499 KEY_BRL_DOT3
+# key 500 KEY_BRL_DOT4
+# key 501 KEY_BRL_DOT5
+# key 502 KEY_BRL_DOT6
+# key 503 KEY_BRL_DOT7
+# key 504 KEY_BRL_DOT8
+
+key 580 APP_SWITCH
+key 582 VOICE_ASSIST
+
+# Keys defined by HID usages
+key usage 0x0c006F BRIGHTNESS_UP
+key usage 0x0c0070 BRIGHTNESS_DOWN
+
+# Joystick and game controller axes.
+# Axes that are not mapped will be assigned generic axis numbers by the input subsystem.
+axis 0x00 X
+axis 0x01 Y
+axis 0x02 Z
+axis 0x03 RX
+axis 0x04 RY
+axis 0x05 RZ
+axis 0x06 THROTTLE
+axis 0x07 RUDDER
+axis 0x08 WHEEL
+axis 0x09 GAS
+axis 0x0a BRAKE
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+# LEDs
+led 0x00 NUM_LOCK
+led 0x01 CAPS_LOCK
+led 0x02 SCROLL_LOCK
+led 0x03 COMPOSE
+led 0x04 KANA
+led 0x05 SLEEP
+led 0x06 SUSPEND
+led 0x07 MUTE
+led 0x08 MISC
+led 0x09 MAIL
+led 0x0a CHARGING
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
new file mode 100644
index 0000000..da608c0
--- /dev/null
+++ b/proprietary-blobs.txt
@@ -0,0 +1,148 @@
+# Adreno fw
+etc/firmware/leia_pfp_470.fw
+etc/firmware/leia_pm4_470.fw
+etc/firmware/a225p5_pm4.fw
+# Keystore firmware
+vendor/firmware/keymaster/keymaster.b00
+vendor/firmware/keymaster/keymaster.b02
+vendor/firmware/keymaster/keymaster.mdt
+vendor/firmware/keymaster/keymaster.b01
+vendor/firmware/keymaster/keymaster.b03
+# Venus (media) firmware
+etc/firmware/venus.b01
+etc/firmware/venus.b03
+etc/firmware/venus.mbn
+etc/firmware/venus.b00
+etc/firmware/venus.b02
+etc/firmware/venus.b04
+etc/firmware/venus.mdt
+# Graphics firmware
+etc/firmware/a225_pm4.fw
+etc/firmware/a300_pm4.fw
+etc/firmware/a330_pm4.fw
+etc/firmware/a225_pfp.fw
+etc/firmware/a300_pfp.fw
+etc/firmware/a330_pfp.fw
+# Camera firmware
+etc/firmware/cpp_firmware_v1_1_6.fw
+etc/firmware/cpp_firmware_v1_1_1.fw
+etc/firmware/cpp_firmware_v1_2_0.fw
+etc/firmware/cpp_firmware_v1_2_1.fw
+# NFC Firmware
+etc/firmware/Signedrompatch_v20.bin
+etc/firmware/Signedrompatch_v21.bin
+etc/firmware/Signedrompatch_v24.bin
+etc/firmware/Signedrompatch_v30.bin
+etc/firmware/nfc_test.bin
+
+# Bluetooth
+bin/bdaddr_loader
+bin/btnvtool
+bin/hci_qcomm_init
+lib/libatd_corelib.so
+-lib/libbtnv.so
+lib/liblgftmitem.so
+
+# Camera
+bin/mm-qcamera-daemon
+lib/hw/camera.msm8226.so
+lib/libmmcamera_imx179.so
+lib/libchromatix_imx179_common.so
+lib/libchromatix_imx179_default_video.so
+lib/libchromatix_imx179_preview.so
+lib/libchromatix_imx179_snapshot.so
+lib/libHDR.so
+lib/libmmcamera_interface.so
+lib/libmorpho_image_stab31.so
+lib/libmorpho_memory_allocator.so
+lib/libmorpho_panorama_gp.so
+lib/libmorpho_noise_reduction.so
+lib/libmmjpeg_interface.so
+lib/libmm-qcamera.so
+vendor/lib/liboemcamera.so
+vendor/lib/libmmjpeg.so
+vendor/lib/libjpegdhw.so
+vendor/lib/libjpegehw.so
+vendor/lib/libI420colorconvert.so
+vendor/lib/libmmqjpeg_codec.so
+vendor/lib/libchromatix_imx119_common.so
+vendor/lib/libchromatix_imx119_default_video.so
+vendor/lib/libchromatix_imx119_preview.so
+
+vendor/lib/libmmcamera2_c2d_module.so
+vendor/lib/libmmcamera2_cpp_module.so
+vendor/lib/libmmcamera2_frame_algorithm.so
+vendor/lib/libmmcamera2_iface_modules.so
+vendor/lib/libmmcamera2_imglib_modules.so
+vendor/lib/libmmcamera2_isp_modules.so
+vendor/lib/libmmcamera2_is.so
+vendor/lib/libmmcamera2_pproc_modules.so
+vendor/lib/libmmcamera2_sensor_modules.so
+vendor/lib/libmmcamera2_stats_algorithm.so
+vendor/lib/libmmcamera2_stats_modules.so
+vendor/lib/libmmcamera2_vpe_module.so
+vendor/lib/libmmcamera2_wnr_module.so
+vendor/lib/libmmcamera_faceproc.so
+vendor/lib/libmmcamera_hdr_gb_lib.so
+vendor/lib/libmmcamera_hdr_lib.so
+vendor/lib/libmmcamera_imglib.so
+vendor/lib/libmmcamera_imx119.so
+vendor/lib/libmmcamera_imx179_eeprom.so
+vendor/lib/libmmcamera_tintless_algo.so
+vendor/lib/libmmcamera_tintless_bg_pca_algo.so
+vendor/lib/libmmcamera_tuning.so
+vendor/lib/libmmcamera_wavelet_lib.so
+
+vendor/lib/libactuator_dw9714_camcorder.so
+vendor/lib/libactuator_dw9714_camera.so
+vendor/lib/libactuator_dw9714_imx091_camcorder.so
+vendor/lib/libactuator_dw9714_imx091_camera.so
+vendor/lib/libactuator_dw9714_imx091.so
+vendor/lib/libactuator_dw9714_imx219_475t_camcorder.so
+vendor/lib/libactuator_dw9714_imx219_475t_camera.so
+vendor/lib/libactuator_dw9714_imx219_475t.so
+vendor/lib/libactuator_dw9714.so
+vendor/lib/libactuator_dw9716_camcorder.so
+vendor/lib/libactuator_dw9716_camera.so
+vendor/lib/libactuator_dw9716.so
+vendor/lib/libactuator_dw9718_camcorder.so
+vendor/lib/libactuator_dw9718_camera.so
+vendor/lib/libactuator_dw9718_imx179_camcorder.so
+vendor/lib/libactuator_dw9718_imx179_camera.so
+vendor/lib/libactuator_dw9718_imx179.so
+vendor/lib/libactuator_dw9718_imx219_495t_camcorder.so
+vendor/lib/libactuator_dw9718_imx219_495t_camera.so
+vendor/lib/libactuator_dw9718_imx219_495t.so
+vendor/lib/libactuator_dw9718_ov8858_camcorder.so
+vendor/lib/libactuator_dw9718_ov8858_camera.so
+vendor/lib/libactuator_dw9718_ov8858.so
+vendor/lib/libactuator_dw9718.so
+vendor/lib/libactuator_iu074_camcorder.so
+vendor/lib/libactuator_iu074_camera.so
+vendor/lib/libactuator_iu074.so
+vendor/lib/libactuator_ov12830_camcorder.so
+vendor/lib/libactuator_ov12830_camera.so
+vendor/lib/libactuator_ov12830.so
+vendor/lib/libactuator_ov8825_camcorder.so
+vendor/lib/libactuator_ov8825_camera.so
+vendor/lib/libactuator_ov8825.so
+vendor/lib/libactuator_rohm_bu64243gwz_camcorder.so
+vendor/lib/libactuator_rohm_bu64243gwz_camera.so
+vendor/lib/libactuator_rohm_bu64243gwz.so
+vendor/lib/libqomx_jpegdec.so
+vendor/lib/libqomx_jpegenc.so
+
+# FM radio
+bin/fm_qsoc_patches
+
+# Sensors
+vendor/lib/hw/sensors.msm8226.so
+vendor/lib/libsensor1.so
+vendor/lib/libsensor_reg.so
+bin/sensors.qcom
+vendor/lib/libsensor_test.so
+vendor/lib/libsensor_thresh.so
+vendor/lib/libsensor_user_cal.so
+# just in case
+vendor/lib/libsensor_lge_cal.so
+
diff --git a/recovery.fstab b/recovery.fstab
new file mode 100644
index 0000000..a6a0654
--- /dev/null
+++ b/recovery.fstab
@@ -0,0 +1,8 @@
+/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
+/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
+/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard,data=ordered,errors=continue wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/encrypt
+/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
+/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
+/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
+/dev/block/mmcblk1p1 /external_sd vfat defaults defaults
+
diff --git a/releasetools.py b/releasetools.py
new file mode 100644
index 0000000..5818b9c
--- /dev/null
+++ b/releasetools.py
@@ -0,0 +1,31 @@
+# Copyright (C) 2012 The Android Open Source Project
+# Copyright (C) 2014 The CyanogenMod 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.
+
+import os
+
+TARGET_DIR = os.getenv('OUT')
+def InstallEnd_SetSpecificDeviceConfigs(self):
+ self.output_zip.write(os.path.join(TARGET_DIR, "fixup.sh"), "fixup.sh")
+ self.script.AppendExtra('package_extract_file("fixup.sh", "/tmp/fixup.sh");')
+ self.script.AppendExtra('set_metadata("/tmp/fixup.sh", "uid", 0, "gid", 0, "mode", 0755);')
+ self.script.Mount("/system")
+ self.script.AppendExtra('run_program("/tmp/fixup.sh");')
+
+def FullOTA_InstallEnd(self):
+ InstallEnd_SetSpecificDeviceConfigs(self)
+
+def IncrementalOTA_InstallEnd(self):
+ InstallEnd_SetSpecificDeviceConfigs(self)
+
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
new file mode 100755
index 0000000..62be739
--- /dev/null
+++ b/setup-makefiles.sh
@@ -0,0 +1,123 @@
+#!/bin/bash
+
+VENDOR=lge
+DEVICE=g2m
+OUTDIR=vendor/$VENDOR/$DEVICE
+MAKEFILE=../../../$OUTDIR/$DEVICE-vendor-blobs.mk
+
+(cat << EOF) > $MAKEFILE
+# Copyright (C) 2014 The CyanogenMod 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+PRODUCT_COPY_FILES += \\
+EOF
+
+LINEEND=" \\"
+COUNT=`cat proprietary-blobs.txt | grep -v ^# | grep -v ^$ | wc -l | awk {'print $1'}`
+for FILE in `cat proprietary-blobs.txt | grep -v ^# | grep -v ^$ | sed -e 's#^/system/##g'`; do
+ COUNT=`expr $COUNT - 1`
+ if [ $COUNT = "0" ]; then
+ LINEEND=""
+ fi
+ if [[ ! "$FILE" =~ ^-.* ]]; then
+ FILE=`echo $FILE | sed -e "s/^-//g"`
+ echo " $OUTDIR/proprietary/$FILE:system/$FILE$LINEEND" >> $MAKEFILE
+ fi
+done
+
+(cat << EOF) > ../../../$OUTDIR/$DEVICE-vendor.mk
+# Copyright (C) 2014 The CyanogenMod 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+# Pick up overlay for features that depend on non-open-source files
+DEVICE_PACKAGE_OVERLAYS := vendor/$VENDOR/$DEVICE/overlay
+
+PRODUCT_PACKAGES += \\
+ libbtnv \\
+
+#com.qualcomm.services.location
+\$(call inherit-product, vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk)
+EOF
+
+(cat << EOF) > ../../../$OUTDIR/BoardConfigVendor.mk
+# Copyright (C) 2014 The CyanogenMod 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+USE_CAMERA_STUB := false
+EOF
+
+(cat << EOF) > ../../../$OUTDIR/Android.mk
+# Copyright (C) 2014 The CyanogenMod 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+ifneq (\$(filter g2m,\$(TARGET_DEVICE)),)
+
+LOCAL_PATH := \$(call my-dir)
+
+include \$(CLEAR_VARS)
+LOCAL_MODULE := libbtnv
+LOCAL_MODULE_OWNER := $VENDOR
+LOCAL_SRC_FILES := proprietary/lib/libbtnv.so
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE_PATH := \$(TARGET_OUT_SHARED_LIBRARIES)
+LOCAL_PROPRIETARY_MODULE := true
+include \$(BUILD_PREBUILT)
+
+endif
+
+EOF
+
diff --git a/vendorsetup.sh b/vendorsetup.sh
new file mode 100644
index 0000000..e0154c3
--- /dev/null
+++ b/vendorsetup.sh
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2011 The Android Open Source 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.
+#
+
+# This file is executed by build/envsetup.sh, and can use anything
+# defined in envsetup.sh.
+#
+# In particular, you can add lunch options with the add_lunch_combo
+# function: add_lunch_combo generic-eng
+
+#dd_lunch_combo full_mb526-eng
+add_lunch_combo cm_g2m-userdebug
+