summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2013-01-18 16:09:55 +0000
committercodeworkx <codeworkx@cyanogenmod.org>2013-01-18 16:09:55 +0000
commit8d431cd0bf0e81f1c522b729dda36265d51d409c (patch)
tree92b0643a66b9a676ec2105d8934b2c1cef5f050c
parent998e9538de917d42b06e8cfce1ab9e169125aec0 (diff)
parentc360220875f7ba3e0a674ffc3b982d19ce2cba71 (diff)
downloaddevice_samsung_t0lte-8d431cd0bf0e81f1c522b729dda36265d51d409c.tar.gz
device_samsung_t0lte-8d431cd0bf0e81f1c522b729dda36265d51d409c.tar.bz2
device_samsung_t0lte-8d431cd0bf0e81f1c522b729dda36265d51d409c.zip
Merge github.com:teamhacksung/android_device_samsung_t0lte into cm-10.1
Conflicts: AndroidProducts.mk BoardConfig.mk cm.mk recovery.fstab system.prop
-rw-r--r--Android.mk23
-rw-r--r--AndroidBoard.mk8
-rw-r--r--AndroidProducts.mk18
-rw-r--r--BoardConfig.mk55
-rw-r--r--DeviceSettings/Android.mk15
-rw-r--r--DeviceSettings/AndroidManifest.xml31
-rwxr-xr-xDeviceSettings/res/drawable/ic_launcher_cmdevicesettings.pngbin0 -> 8207 bytes
-rwxr-xr-xDeviceSettings/res/layout/top.xml5
-rw-r--r--DeviceSettings/res/values-de/arrays.xml56
-rw-r--r--DeviceSettings/res/values-de/strings.xml34
-rw-r--r--DeviceSettings/res/values-es/arrays.xml48
-rw-r--r--DeviceSettings/res/values-es/strings.xml28
-rw-r--r--DeviceSettings/res/values-hu/arrays.xml56
-rw-r--r--DeviceSettings/res/values-hu/strings.xml34
-rwxr-xr-xDeviceSettings/res/values-pt-rBR/arrays.xml55
-rwxr-xr-xDeviceSettings/res/values-pt-rBR/strings.xml28
-rw-r--r--DeviceSettings/res/values-ru/arrays.xml54
-rw-r--r--DeviceSettings/res/values-ru/strings.xml34
-rw-r--r--DeviceSettings/res/values-zh-rCN/arrays.xml56
-rw-r--r--DeviceSettings/res/values-zh-rCN/strings.xml33
-rw-r--r--DeviceSettings/res/values/arrays.xml109
-rw-r--r--DeviceSettings/res/values/strings.xml34
-rw-r--r--DeviceSettings/res/xml/haptic_preferences.xml13
-rw-r--r--DeviceSettings/res/xml/radio_preferences.xml12
-rw-r--r--DeviceSettings/res/xml/screen_preferences.xml65
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java166
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java66
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/Hspa.java67
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/LedFade.java59
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java66
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java102
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java38
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/TouchkeyTimeout.java59
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java143
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/VibratorIntensity.java59
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeMode.java59
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeNegative.java59
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeScenario.java59
-rw-r--r--README6
-rw-r--r--bluetooth/bdroid_buildcfg.h23
-rw-r--r--cm.dependencies14
-rw-r--r--cm.mk15
-rw-r--r--configs/80cfw10
-rw-r--r--configs/audio_policy.conf102
-rw-r--r--configs/default_gain.conf3340
-rw-r--r--configs/gps.conf102
-rw-r--r--configs/gps.xml71
-rw-r--r--configs/nfcee_access.xml11
-rw-r--r--configs/nfcee_access_debug.xml17
-rw-r--r--configs/tiny_hw.xml353
-rw-r--r--configs/tinyucm.conf473
-rw-r--r--device_t0lte.mk24
-rwxr-xr-xextract-files.sh104
-rw-r--r--full_t0lte.mk35
-rw-r--r--kernelbin4781156 -> 0 bytes
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml125
-rw-r--r--overlay/frameworks/base/core/res/res/xml/power_profile.xml69
-rw-r--r--overlay/frameworks/base/core/res/res/xml/storage_list.xml52
-rw-r--r--overlay/frameworks/base/packages/SystemUI/res/values/config.xml26
-rw-r--r--overlay/packages/apps/Phone/res/values/config.xml25
-rw-r--r--overlay/packages/apps/Torch/res/values/config.xml36
-rw-r--r--proprietary-files.txt70
-rw-r--r--recovery.fstab20
-rw-r--r--rootdir/fstab.smdk4x1211
-rwxr-xr-xrootdir/init.smdk4x12.rc621
-rw-r--r--rootdir/ueventd.smdk4x12.rc108
-rw-r--r--system.prop14
-rw-r--r--t0lte.mk97
68 files changed, 7816 insertions, 64 deletions
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..5c429a9
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,23 @@
+#
+# 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+ifeq ($(TARGET_DEVICE),t0lte)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
+
+endif
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
deleted file mode 100644
index df965b5..0000000
--- a/AndroidBoard.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET)
-
-# include the non-open-source counterpart to this file
--include vendor/samsung/t0lte/AndroidBoardVendor.mk
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index 7953f7f..6a1072b 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -1,2 +1,18 @@
+#
+# 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.
+#
+
PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/device_t0lte.mk
+ $(LOCAL_DIR)/full_t0lte.mk
diff --git a/BoardConfig.mk b/BoardConfig.mk
index add4fc8..504b19f 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -1,27 +1,44 @@
-USE_CAMERA_STUB := true
+#
+# 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.
+#
+
+# This variable is set first, so it can be overridden
+# by BoardConfigVendor.mk
-include device/samsung/smdk4412-common/BoardCommonConfig.mk
-# inherit from the proprietary version
--include vendor/samsung/t0lte/BoardConfigVendor.mk
+# Bluetooth
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/samsung/t0lte/bluetooth
-TARGET_ARCH := arm
-TARGET_NO_BOOTLOADER := true
-TARGET_BOARD_PLATFORM := unknown
-TARGET_CPU_ABI := armeabi
-TARGET_BOOTLOADER_BOARD_NAME := t0lte
+# RIL
+COMMON_GLOBAL_CFLAGS += -DPROPERTY_PERMS_APPEND='{ "ril.ks.status", AID_SYSTEM, 0 },'
-BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.hardware=jet
-BOARD_KERNEL_BASE := 0x10000000
-BOARD_KERNEL_PAGESIZE := 2048
+# Audio
+BOARD_USE_SAMSUNG_SEPARATEDSTREAM := true
+BOARD_USES_LIBMEDIA_WITH_AUDIOPARAMETER := true
+COMMON_GLOBAL_CFLAGS += -DMR0_AUDIO_BLOB
-# fix this up by examining /proc/mtd on a running device
-BOARD_BOOTIMAGE_PARTITION_SIZE := 0x105c0000
-BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x105c0000
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x105c0000
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x105c0000
-BOARD_FLASH_BLOCK_SIZE := 131072
+# Camera
+COMMON_GLOBAL_CFLAGS += -DCAMERA_WITH_CITYID_PARAM
-TARGET_PREBUILT_KERNEL := device/samsung/t0lte/kernel
+# Kernel
+TARGET_KERNEL_SOURCE := kernel/samsung/smdk4412
+TARGET_KERNEL_CONFIG := cyanogenmod_t0lte_defconfig
-BOARD_HAS_NO_SELECT_BUTTON := true
+# assert
+TARGET_OTA_ASSERT_DEVICE := t0lte,t0ltexx,GT-N7105,t0lteatt,SGH-I317,t0ltetmo,SGH-T889
+
+# inherit from the proprietary version
+-include vendor/samsung/t0lte/BoardConfigVendor.mk
diff --git a/DeviceSettings/Android.mk b/DeviceSettings/Android.mk
new file mode 100644
index 0000000..134d713
--- /dev/null
+++ b/DeviceSettings/Android.mk
@@ -0,0 +1,15 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := GalaxyNote2Settings
+LOCAL_CERTIFICATE := platform
+
+include $(BUILD_PACKAGE)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/DeviceSettings/AndroidManifest.xml b/DeviceSettings/AndroidManifest.xml
new file mode 100644
index 0000000..d373ded
--- /dev/null
+++ b/DeviceSettings/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.cyanogenmod.settings.device"
+ android:sharedUserId="android.uid.system" >
+
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+ <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
+
+ <application android:label="@string/app_name">
+ <activity
+ android:name="com.cyanogenmod.settings.device.DeviceSettings"
+ android:icon="@drawable/ic_launcher_cmdevicesettings"
+ android:label="@string/app_name" >
+ <intent-filter>
+ <action android:name="com.cyanogenmod.action.LAUNCH_DEVICE_SETTINGS" />
+ <action android:name="android.intent.action.MAIN" />
+ </intent-filter>
+ </activity>
+
+ <receiver android:name=".Startup">
+ <intent-filter android:priority="100">
+ <action android:name="android.intent.action.BOOT_COMPLETED" />
+ </intent-filter>
+ </receiver>
+
+ <activity android:name=".HapticFragmentActivity" />
+ <activity android:name=".RadioFragmentActivity" />
+ <activity android:name=".ScreenFragmentActivity" />
+
+ </application>
+</manifest>
diff --git a/DeviceSettings/res/drawable/ic_launcher_cmdevicesettings.png b/DeviceSettings/res/drawable/ic_launcher_cmdevicesettings.png
new file mode 100755
index 0000000..66de9c3
--- /dev/null
+++ b/DeviceSettings/res/drawable/ic_launcher_cmdevicesettings.png
Binary files differ
diff --git a/DeviceSettings/res/layout/top.xml b/DeviceSettings/res/layout/top.xml
new file mode 100755
index 0000000..744b568
--- /dev/null
+++ b/DeviceSettings/res/layout/top.xml
@@ -0,0 +1,5 @@
+<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/viewPager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
diff --git a/DeviceSettings/res/values-de/arrays.xml b/DeviceSettings/res/values-de/arrays.xml
new file mode 100644
index 0000000..9edf346
--- /dev/null
+++ b/DeviceSettings/res/values-de/arrays.xml
@@ -0,0 +1,56 @@
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (Standard)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+
+ <string-array name="hspa_entries">
+ <item>Nur UMTS</item>
+ <item>Nur HSDPA</item>
+ <item>HSDPA + HSUPA</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (Standard)</item>
+ <item>UI</item>
+ <item>Video</item>
+ <item>Video warm</item>
+ <item>Video kalt</item>
+ <item>Kamera</item>
+ <item>Navigation</item>
+ <item>Gallerie</item>
+ <item>VT</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries">
+ <item>Dynamisch (Standard)</item>
+ <item>Standard</item>
+ <item>Natürlich</item>
+ <item>Film</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries">
+ <item>Normal</item>
+ <item>Invertiert</item>
+ </string-array>
+
+ <string-array name="led_fade_entries">
+ <item>Blinken</item>
+ <item>Verblassen</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries">
+ <item>Niemals</item>
+ <item>1 Sekunde</item>
+ <item>2 Sekunden</item>
+ <item>3 Sekunden (Standard)</item>
+ <item>4 Sekunden</item>
+ <item>5 Sekunden</item>
+ <item>6 Sekunden</item>
+ </string-array>
+
+</resources>
diff --git a/DeviceSettings/res/values-de/strings.xml b/DeviceSettings/res/values-de/strings.xml
new file mode 100644
index 0000000..ab0ff5d
--- /dev/null
+++ b/DeviceSettings/res/values-de/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Galaxy Note 2 Einstellungen</string>
+
+ <string name="category_haptic_title">Haptik</string>
+ <string name="vibrator_subcat_title">Vibrator</string>
+ <string name="vibrator_intensity_title_head">Vibrator Intensität</string>
+ <string name="vibrator_intensity_summary_head">Wähle Vibrator Intensität</string>
+
+ <string name="category_radio_title">Mobilfunk</string>
+ <string name="hspa_title_head">HSPA</string>
+ <string name="hspa_summary_head">Aktiviere HSDPA/HSUPA</string>
+
+ <string name="category_screen_title">Display</string>
+ <string name="mdnie_subcat_title">Farben</string>
+ <string name="mdnie_scenario_title_head">Szenario</string>
+ <string name="mdnie_scenario_summary_head">Wähle das mDNIe Szenario</string>
+ <string name="mdnie_mode_title_head">Modus</string>
+ <string name="mdnie_mode_summary_head">Wähle den mDNIe Modus</string>
+ <string name="mdnie_negative_title_head">Negativ Modus</string>
+ <string name="mdnie_negative_summary_head">Invertiere Farben</string>
+
+ <string name="led_subcat_title">Benachrichtigungslicht</string>
+ <string name="led_fade_title_head">Modus</string>
+ <string name="led_fade_summary_head">Wähle zwischen sanftem Verblassen und Blinken</string>
+
+ <string name="touchkey_subcat_title">Touchkeys</string>
+ <string name="touchkey_light_title_head">Beleuchtung</string>
+ <string name="touchkey_light_summary_off">Aktiviere Beleuchtung</string>
+ <string name="touchkey_light_summary_on">Deaktiviere Beleuchtung</string>
+ <string name="touchkey_timeout_title_head">Zeitabschaltung der Beleuchtung</string>
+ <string name="touchkey_timeout_summary_head">Setze Zeit für automatische Abschaltung</string>
+
+</resources>
diff --git a/DeviceSettings/res/values-es/arrays.xml b/DeviceSettings/res/values-es/arrays.xml
new file mode 100644
index 0000000..fd55bc4
--- /dev/null
+++ b/DeviceSettings/res/values-es/arrays.xml
@@ -0,0 +1,48 @@
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (por defecto)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+ <string-array name="hspa_entries">
+ <item>Solo UMTS</item>
+ <item>Solo HSDPA</item>
+ <item>HSDPA + HSUPA</item>
+ </string-array>
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (por defecto)</item>
+ <item>UI</item>
+ <item>Vídeo</item>
+ <item>Vídeo cálido</item>
+ <item>Vídeo frío</item>
+ <item>Camara</item>
+ <item>Navegación</item>
+ <item>Galería</item>
+ <item>VT</item>
+ </string-array>
+ <string-array name="mdnie_mode_entries">
+ <item>Estándar (por defecto)</item>
+ <item>Dinámico</item>
+ <item>Natural</item>
+ <item>Película</item>
+ </string-array>
+ <string-array name="mdnie_negative_entries">
+ <item>Normal</item>
+ <item>Invertido</item>
+ </string-array>
+ <string-array name="led_fade_entries">
+ <item>Parpadeo</item>
+ <item>Fundido</item>
+ </string-array>
+ <string-array name="touchkey_timeout_entries">
+ <item>Nunca</item>
+ <item>1 segundo</item>
+ <item>2 segundos</item>
+ <item>3 segundos (por defecto)</item>
+ <item>4 segundos</item>
+ <item>5 segundos</item>
+ <item>6 segundos</item>
+ </string-array>
+</resources>
diff --git a/DeviceSettings/res/values-es/strings.xml b/DeviceSettings/res/values-es/strings.xml
new file mode 100644
index 0000000..0c99de2
--- /dev/null
+++ b/DeviceSettings/res/values-es/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">"Ajustes Galaxy Note 2"</string>
+ <string name="category_haptic_title">"Háptica"</string>
+ <string name="vibrator_subcat_title">"Vibración"</string>
+ <string name="vibrator_intensity_title_head">"Intensidad de vibración"</string>
+ <string name="vibrator_intensity_summary_head">"Establecer la intensidad de vibración"</string>
+ <string name="category_radio_title">"Radio"</string>
+ <string name="hspa_title_head">"HSPA"</string>
+ <string name="hspa_summary_head">"Habilitar HSDPA/HSUPA"</string>
+ <string name="category_screen_title">"Pantalla"</string>
+ <string name="mdnie_subcat_title">"Colores"</string>
+ <string name="mdnie_scenario_title_head">"Escenario"</string>
+ <string name="mdnie_scenario_summary_head">"Establecer escenario mDNIe"</string>
+ <string name="mdnie_mode_title_head">"Modo"</string>
+ <string name="mdnie_mode_summary_head">"Establecer modo mDNIe"</string>
+ <string name="mdnie_negative_title_head">"Modo negativo"</string>
+ <string name="mdnie_negative_summary_head">"Habilitar/deshabilitar colores invertidos"</string>
+ <string name="led_subcat_title">"Notificación LED"</string>
+ <string name="led_fade_title_head">"Fundido LED"</string>
+ <string name="led_fade_summary_head">"Habilitar fundido suave en vez de parpadeo intenso"</string>
+ <string name="touchkey_subcat_title">"Teclas táctiles"</string>
+ <string name="touchkey_light_title_head">"Retroiluminación"</string>
+ <string name="touchkey_light_summary_off">"Habilitar retroiluminación"</string>
+ <string name="touchkey_light_summary_on">"Deshabilitar retroiluminación"</string>
+ <string name="touchkey_timeout_title_head">"Tiempo de espera de retroiluminación"</string>
+ <string name="touchkey_timeout_summary_head">"Tiempo tras pulsar una tecla antes de apagar la retroiluminación"</string>
+</resources>
diff --git a/DeviceSettings/res/values-hu/arrays.xml b/DeviceSettings/res/values-hu/arrays.xml
new file mode 100644
index 0000000..824296d
--- /dev/null
+++ b/DeviceSettings/res/values-hu/arrays.xml
@@ -0,0 +1,56 @@
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (Alapbeállítás)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+
+ <string-array name="hspa_entries">
+ <item>UMTS</item>
+ <item>HSDPA</item>
+ <item>HSDPA + HSUPA</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (Alapbeállítás)</item>
+ <item>Felhasználói felület</item>
+ <item>Videó</item>
+ <item>Videó (Meleg árnyalat)</item>
+ <item>Videó (Hideg árnyalat)</item>
+ <item>Kamera</item>
+ <item>Navigáció</item>
+ <item>Galéria</item>
+ <item>VT</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries">
+ <item>Dinamikus (Alapbeállítás)</item>
+ <item>Hagyományos</item>
+ <item>Természetes</item>
+ <item>Film</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries">
+ <item>Normál</item>
+ <item>Fordított</item>
+ </string-array>
+
+ <string-array name="led_fade_entries">
+ <item>Villogás</item>
+ <item>Elhalványulás</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries">
+ <item>Soha</item>
+ <item>1 másodperc</item>
+ <item>2 másodperc</item>
+ <item>3 másodperc (Alapbeállítás)</item>
+ <item>4 másodperc</item>
+ <item>5 másodperc</item>
+ <item>6 másodperc</item>
+ </string-array>
+
+</resources>
diff --git a/DeviceSettings/res/values-hu/strings.xml b/DeviceSettings/res/values-hu/strings.xml
new file mode 100644
index 0000000..4d3acee
--- /dev/null
+++ b/DeviceSettings/res/values-hu/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Galaxy Note 2 Beállítások</string>
+
+ <string name="category_haptic_title">Érintési visszajelzés</string>
+ <string name="vibrator_subcat_title">Rezgés</string>
+ <string name="vibrator_intensity_title_head">Rezgés erőssége</string>
+ <string name="vibrator_intensity_summary_head">Rezgés erősségének beállítása</string>
+
+ <string name="category_radio_title">GSM Rádió</string>
+ <string name="hspa_title_head">HSPA</string>
+ <string name="hspa_summary_head">HSDPA/HSUPA engedélyezése</string>
+
+ <string name="category_screen_title">Kijelző</string>
+ <string name="mdnie_subcat_title">Színek</string>
+ <string name="mdnie_scenario_title_head">Megjelenítés</string>
+ <string name="mdnie_scenario_summary_head">mDNIe megjelenítési beállítások</string>
+ <string name="mdnie_mode_title_head">Üzemmód</string>
+ <string name="mdnie_mode_summary_head">mDNIe üzemmódok</string>
+ <string name="mdnie_negative_title_head">Negatív üzemmód</string>
+ <string name="mdnie_negative_summary_head">Fordított színek ki/be</string>
+
+ <string name="led_subcat_title">LED értesítés</string>
+ <string name="led_fade_title_head">LED halványítás</string>
+ <string name="led_fade_summary_head">LED elhalványítása villogtatás helyett</string>
+
+ <string name="touchkey_subcat_title">Érintőgombok</string>
+ <string name="touchkey_light_title_head">Háttérvilágítás</string>
+ <string name="touchkey_light_summary_off">Háttérvilágítás engedélyezése</string>
+ <string name="touchkey_light_summary_on">Háttérvilágítás tiltása</string>
+ <string name="touchkey_timeout_title_head">Háttérvilágítás időkorlátja</string>
+ <string name="touchkey_timeout_summary_head">Háttérvilágítás késleltetése</string>
+
+</resources>
diff --git a/DeviceSettings/res/values-pt-rBR/arrays.xml b/DeviceSettings/res/values-pt-rBR/arrays.xml
new file mode 100755
index 0000000..7ade7ea
--- /dev/null
+++ b/DeviceSettings/res/values-pt-rBR/arrays.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (Padrão)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+
+ <string-array name="hspa_entries">
+ <item>Somente UMTS</item>
+ <item>Somente HSDPA</item>
+ <item>HSDPA + HSUPA</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (Padrão)</item>
+ <item>IU</item>
+ <item>Vídeo</item>
+ <item>Vídeo Quente</item>
+ <item>Vídeo Frio</item>
+ <item>Câmera</item>
+ <item>Navegação</item>
+ <item>Galeria</item>
+ <item>VT</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries">
+ <item>Padrão</item>
+ <item>Dinâmico</item>
+ <item>Natural</item>
+ <item>Filme</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries">
+ <item>Normal</item>
+ <item>Invertido</item>
+ </string-array>
+
+ <string-array name="led_fade_entries">
+ <item>Piscando</item>
+ <item>Desvanecimento</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries">
+ <item>Nunca</item>
+ <item>1 segundo</item>
+ <item>2 segundos</item>
+ <item>3 segundos (Padrão)</item>
+ <item>4 segundos</item>
+ <item>5 segundos</item>
+ <item>6 segundos</item>
+ </string-array>
+</resources>
diff --git a/DeviceSettings/res/values-pt-rBR/strings.xml b/DeviceSettings/res/values-pt-rBR/strings.xml
new file mode 100755
index 0000000..fb39be8
--- /dev/null
+++ b/DeviceSettings/res/values-pt-rBR/strings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Config. Galaxy Note 2</string>
+ <string name="category_haptic_title">Resposta Tátil</string>
+ <string name="vibrator_subcat_title">Vibração</string>
+ <string name="vibrator_intensity_title_head">Intensidade da Vibração</string>
+ <string name="vibrator_intensity_summary_head">Define a intensidade da vibração</string>
+ <string name="category_radio_title">Rádio</string>
+ <string name="hspa_summary_head">Ativar HSDPA/HSUPA</string>
+ <string name="category_screen_title">Tela</string>
+ <string name="mdnie_subcat_title">Cores</string>
+ <string name="mdnie_scenario_title_head">Cenário</string>
+ <string name="mdnie_scenario_summary_head">Define o Cenário mDNIe</string>
+ <string name="mdnie_mode_title_head">Modo</string>
+ <string name="mdnie_mode_summary_head">Define o Modo mDNIe</string>
+ <string name="mdnie_negative_title_head">Modo Negativo</string>
+ <string name="mdnie_negative_summary_head">Ativar/Desativar cores invertidas</string>
+ <string name="led_subcat_title">Notificação com LED</string>
+ <string name="led_fade_title_head">Desvanecimento LED</string>
+ <string name="led_fade_summary_head">Ativar desvanecimento suave do LED em vez de piscar.</string>
+ <string name="touchkey_subcat_title">Teclas sensíveis ao toque</string>
+ <string name="touchkey_light_title_head">Luz de fundo</string>
+ <string name="touchkey_light_summary_off">Ativar luz de fundo</string>
+ <string name="touchkey_light_summary_on">Desativar luz de fundo</string>
+ <string name="touchkey_timeout_title_head">Tempo limite da luz de fundo</string>
+ <string name="touchkey_timeout_summary_head">Define o tempo limite para a luz de fundo</string>
+ <string name="hspa_title_head">HSPA</string>
+</resources>
diff --git a/DeviceSettings/res/values-ru/arrays.xml b/DeviceSettings/res/values-ru/arrays.xml
new file mode 100644
index 0000000..ed61b6e
--- /dev/null
+++ b/DeviceSettings/res/values-ru/arrays.xml
@@ -0,0 +1,54 @@
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (По умолч.)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+
+ <string-array name="hspa_entries">
+ <item>Только UMTS</item>
+ <item>Только HSDPA</item>
+ <item>HSDPA + HSUPA</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (По умолч.)</item>
+ <item>Видео</item>
+ <item>Видео (тёпл.)</item>
+ <item>Видео (хол.)</item>
+ <item>Камера</item>
+ <item>Навигация</item>
+ <item>Галерея</item>
+ <item>VT</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries">
+ <item>Динамический (По умолч.)</item>
+ <item>Стандартный</item>
+ <item>Натуральный</item>
+ <item>Кино</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries">
+ <item>Нормально</item>
+ <item>Инверсия</item>
+ </string-array>
+
+ <string-array name="led_fade_entries">
+ <item>Мигание</item>
+ <item>Затухание</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries">
+ <item>Никогда</item>
+ <item>1 секунда</item>
+ <item>2 секунды</item>
+ <item>3 секунды (По умолч.)</item>
+ <item>4 секунды</item>
+ <item>5 секунд</item>
+ <item>6 секунд</item>
+ </string-array>
+</resources>
diff --git a/DeviceSettings/res/values-ru/strings.xml b/DeviceSettings/res/values-ru/strings.xml
new file mode 100644
index 0000000..ab8a16c
--- /dev/null
+++ b/DeviceSettings/res/values-ru/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Настройки Galaxy Note 2</string>
+
+ <string name="category_haptic_title">Отклик</string>
+ <string name="vibrator_subcat_title">Вибрация</string>
+ <string name="vibrator_intensity_title_head">Интенсивность вибрации</string>
+ <string name="vibrator_intensity_summary_head">Установка интенсивности вибрации</string>
+
+ <string name="category_radio_title">Модем</string>
+ <string name="hspa_title_head">HSPA</string>
+ <string name="hspa_summary_head">Включить HSDPA/HSUPA</string>
+
+ <string name="category_screen_title">Экран</string>
+ <string name="mdnie_subcat_title">Цвета</string>
+ <string name="mdnie_scenario_title_head">Сценарий</string>
+ <string name="mdnie_scenario_summary_head">Установка сценария mDNIe</string>
+ <string name="mdnie_mode_title_head">Режим</string>
+ <string name="mdnie_mode_summary_head">Установка режима mDNIe</string>
+ <string name="mdnie_negative_title_head">Негатив</string>
+ <string name="mdnie_negative_summary_head">Вкл./выкл. инверсии цветов</string>
+
+ <string name="led_subcat_title">Индикатор событий</string>
+ <string name="led_fade_title_head">Режим</string>
+ <string name="led_fade_summary_head">Плавное затухание или резкое мигание</string>
+
+ <string name="touchkey_subcat_title">Сенсорные клавиши</string>
+ <string name="touchkey_light_title_head">Подсветка</string>
+ <string name="touchkey_light_summary_off">Подсветка включена</string>
+ <string name="touchkey_light_summary_on">Подсветка выключена</string>
+ <string name="touchkey_timeout_title_head">Тайм-аут подсветки</string>
+ <string name="touchkey_timeout_summary_head">Установка тайм-аута подсветки</string>
+
+</resources>
diff --git a/DeviceSettings/res/values-zh-rCN/arrays.xml b/DeviceSettings/res/values-zh-rCN/arrays.xml
new file mode 100644
index 0000000..3fe1780
--- /dev/null
+++ b/DeviceSettings/res/values-zh-rCN/arrays.xml
@@ -0,0 +1,56 @@
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (默认)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+
+ <string-array name="hspa_entries">
+ <item>仅使用 UMTS</item>
+ <item>仅使用 HSDPA</item>
+ <item>使用 HSDPA + HSUPA</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (默认)</item>
+ <item>界面</item>
+ <item>影片</item>
+ <item>影片 (温)</item>
+ <item>影片 (冷)</item>
+ <item>相机</item>
+ <item>导航</item>
+ <item>图库</item>
+ <item>VT</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries">
+ <item>动态 (默认)</item>
+ <item>标准</item>
+ <item>自然</item>
+ <item>电影</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries">
+ <item>正常</item>
+ <item>反色</item>
+ </string-array>
+
+ <string-array name="led_fade_entries">
+ <item>闪烁</item>
+ <item>淡出</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries">
+ <item>从不</item>
+ <item>1 秒</item>
+ <item>2 秒</item>
+ <item>3 秒 (默认)</item>
+ <item>4 秒</item>
+ <item>5 秒</item>
+ <item>6 秒</item>
+ </string-array>
+
+</resources>
diff --git a/DeviceSettings/res/values-zh-rCN/strings.xml b/DeviceSettings/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..d6b1d8d
--- /dev/null
+++ b/DeviceSettings/res/values-zh-rCN/strings.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Galaxy Note 2 设置</string>
+
+ <string name="category_haptic_title">振动</string>
+ <string name="vibrator_subcat_title">振动器</string>
+ <string name="vibrator_intensity_title_head">振动器强度</string>
+ <string name="vibrator_intensity_summary_head">设置振动器强度</string>
+
+ <string name="category_radio_title">无线电</string>
+ <string name="hspa_title_head">HSPA</string>
+ <string name="hspa_summary_head">启用 HSDPA/HSUPA</string>
+
+ <string name="category_screen_title">屏幕</string>
+ <string name="mdnie_subcat_title">颜色</string>
+ <string name="mdnie_scenario_title_head">场景</string>
+ <string name="mdnie_scenario_summary_head">设置 mDNIe 场景</string>
+ <string name="mdnie_mode_title_head">模式</string>
+ <string name="mdnie_mode_summary_head">设置 mDNIe 模式</string>
+ <string name="mdnie_negative_title_head">负极模式</string>
+ <string name="mdnie_negative_summary_head">启用/禁用反色</string>
+
+ <string name="led_subcat_title">LED 指示灯</string>
+ <string name="led_fade_title_head">LED 淡出</string>
+ <string name="led_fade_summary_head">启用后 LED 指示灯将会产生淡出效果而替代闪烁效果.</string>
+
+ <string name="touchkey_subcat_title">触摸键</string>
+ <string name="touchkey_light_title_head">背光灯</string>
+ <string name="touchkey_light_summary_off">启用背光灯</string>
+ <string name="touchkey_light_summary_on">禁用背光灯</string>
+ <string name="touchkey_timeout_title_head">背光灯超时</string>
+ <string name="touchkey_timeout_summary_head">设置背光灯超时时间</string>
+</resources>
diff --git a/DeviceSettings/res/values/arrays.xml b/DeviceSettings/res/values/arrays.xml
new file mode 100644
index 0000000..d82ffbc
--- /dev/null
+++ b/DeviceSettings/res/values/arrays.xml
@@ -0,0 +1,109 @@
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string-array name="vibrator_intensity_entries">
+ <item>0%</item>
+ <item>25%</item>
+ <item>50% (Default)</item>
+ <item>75%</item>
+ <item>100%</item>
+ </string-array>
+
+ <string-array name="vibrator_intensity_entries_values" translatable="false">
+ <item>0</item>
+ <item>25</item>
+ <item>50</item>
+ <item>75</item>
+ <item>100</item>
+ </string-array>
+
+ <string-array name="hspa_entries">
+ <item>UMTS Only</item>
+ <item>HSDPA Only</item>
+ <item>HSDPA + HSUPA</item>
+ </string-array>
+
+ <string-array name="hspa_entries_values" translatable="false">
+ <item>21</item>
+ <item>22</item>
+ <item>23</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries">
+ <item>CyanogenMod (Default)</item>
+ <item>UI</item>
+ <item>Video</item>
+ <item>Video Warm</item>
+ <item>Video Cold</item>
+ <item>Camera</item>
+ <item>Navigation</item>
+ <item>Gallery</item>
+ <item>VT</item>
+ </string-array>
+
+ <string-array name="mdnie_scenario_entries_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ <item>6</item>
+ <item>7</item>
+ <item>8</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries">
+ <item>Dynamic (Default)</item>
+ <item>Standard</item>
+ <item>Natural</item>
+ <item>Movie</item>
+ </string-array>
+
+ <string-array name="mdnie_mode_entries_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ <item>3</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries">
+ <item>Normal</item>
+ <item>Inverted</item>
+ </string-array>
+
+ <string-array name="mdnie_negative_entries_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ </string-array>
+
+ <string-array name="led_fade_entries">
+ <item>Blinking</item>
+ <item>Fading</item>
+ </string-array>
+
+ <string-array name="led_fade_entries_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries">
+ <item>Never</item>
+ <item>1 second</item>
+ <item>2 seconds</item>
+ <item>3 seconds (Default)</item>
+ <item>4 seconds</item>
+ <item>5 seconds</item>
+ <item>6 seconds</item>
+ </string-array>
+
+ <string-array name="touchkey_timeout_entries_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ <item>3</item>
+ <item>4</item>
+ <item>5</item>
+ <item>6</item>
+ </string-array>
+
+</resources>
diff --git a/DeviceSettings/res/values/strings.xml b/DeviceSettings/res/values/strings.xml
new file mode 100644
index 0000000..7a1ed16
--- /dev/null
+++ b/DeviceSettings/res/values/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">Galaxy Note 2 Settings</string>
+
+ <string name="category_haptic_title">Haptic</string>
+ <string name="vibrator_subcat_title">Vibrator</string>
+ <string name="vibrator_intensity_title_head">Vibrator Intensity</string>
+ <string name="vibrator_intensity_summary_head">Set vibrator intensity</string>
+
+ <string name="category_radio_title">Radio</string>
+ <string name="hspa_title_head">HSPA</string>
+ <string name="hspa_summary_head">Enable HSDPA/HSUPA</string>
+
+ <string name="category_screen_title">Screen</string>
+ <string name="mdnie_subcat_title">Colors</string>
+ <string name="mdnie_scenario_title_head">Scenario</string>
+ <string name="mdnie_scenario_summary_head">Set the mDNIe Scenario</string>
+ <string name="mdnie_mode_title_head">Mode</string>
+ <string name="mdnie_mode_summary_head">Set the mDNIe Mode</string>
+ <string name="mdnie_negative_title_head">Negative Mode</string>
+ <string name="mdnie_negative_summary_head">Enable/Disable inverted colors</string>
+
+ <string name="led_subcat_title">Notification LED</string>
+ <string name="led_fade_title_head">LED Fading</string>
+ <string name="led_fade_summary_head">Enable LED smooth fading instead of sharp blinking.</string>
+
+ <string name="touchkey_subcat_title">Touchkeys</string>
+ <string name="touchkey_light_title_head">Backlight</string>
+ <string name="touchkey_light_summary_off">Enable backlight</string>
+ <string name="touchkey_light_summary_on">Disable backlight</string>
+ <string name="touchkey_timeout_title_head">Backlight timeout</string>
+ <string name="touchkey_timeout_summary_head">Set timeout for the backlight</string>
+
+</resources>
diff --git a/DeviceSettings/res/xml/haptic_preferences.xml b/DeviceSettings/res/xml/haptic_preferences.xml
new file mode 100644
index 0000000..31c0e21
--- /dev/null
+++ b/DeviceSettings/res/xml/haptic_preferences.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <PreferenceCategory
+ android:title="@string/vibrator_subcat_title">
+ <com.cyanogenmod.settings.device.VibratorIntensity
+ android:key="vibrator_intensity"
+ android:title="@string/vibrator_intensity_title_head"
+ android:summary="@string/vibrator_intensity_summary_head"
+ android:entries="@array/vibrator_intensity_entries"
+ android:entryValues="@array/vibrator_intensity_entries_values"
+ android:defaultValue="50" />
+ </PreferenceCategory>
+</PreferenceScreen>
diff --git a/DeviceSettings/res/xml/radio_preferences.xml b/DeviceSettings/res/xml/radio_preferences.xml
new file mode 100644
index 0000000..c173db7
--- /dev/null
+++ b/DeviceSettings/res/xml/radio_preferences.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <!-- Hspa modes -->
+ <com.cyanogenmod.settings.device.Hspa
+ android:key="hspa"
+ android:title="@string/hspa_title_head"
+ android:summary="@string/hspa_summary_head"
+ android:entries="@array/hspa_entries"
+ android:entryValues="@array/hspa_entries_values"
+ android:defaultValue="23" />
+
+</PreferenceScreen>
diff --git a/DeviceSettings/res/xml/screen_preferences.xml b/DeviceSettings/res/xml/screen_preferences.xml
new file mode 100644
index 0000000..aff39c0
--- /dev/null
+++ b/DeviceSettings/res/xml/screen_preferences.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <PreferenceCategory
+ android:title="@string/mdnie_subcat_title">
+ <!-- mDNIe Scenario modes -->
+ <com.cyanogenmod.settings.device.mDNIeScenario
+ android:key="mdnie_scenario"
+ android:title="@string/mdnie_scenario_title_head"
+ android:summary="@string/mdnie_scenario_summary_head"
+ android:entries="@array/mdnie_scenario_entries"
+ android:entryValues="@array/mdnie_scenario_entries_values"
+ android:defaultValue="0" />
+
+ <!-- mDNIe Mode -->
+ <com.cyanogenmod.settings.device.mDNIeMode
+ android:key="mdnie_mode"
+ android:title="@string/mdnie_mode_title_head"
+ android:summary="@string/mdnie_mode_summary_head"
+ android:entries="@array/mdnie_mode_entries"
+ android:entryValues="@array/mdnie_mode_entries_values"
+ android:defaultValue="0" />
+
+ <!-- mDNIe Negative mode -->
+ <com.cyanogenmod.settings.device.mDNIeNegative
+ android:key="mdnie_negative"
+ android:title="@string/mdnie_negative_title_head"
+ android:summary="@string/mdnie_negative_summary_head"
+ android:entries="@array/mdnie_negative_entries"
+ android:entryValues="@array/mdnie_negative_entries_values"
+ android:defaultValue="0" />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/led_subcat_title">
+ <!-- LED fading mode -->
+ <com.cyanogenmod.settings.device.LedFade
+ android:key="led_fade"
+ android:title="@string/led_fade_title_head"
+ android:summary="@string/led_fade_summary_head"
+ android:entries="@array/led_fade_entries"
+ android:entryValues="@array/led_fade_entries_values"
+ android:defaultValue="1" />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/touchkey_subcat_title">
+ <!-- Touchkey backlight -->
+ <CheckBoxPreference
+ android:key="touchkey_light"
+ android:title="@string/touchkey_light_title_head"
+ android:summaryOff="@string/touchkey_light_summary_off"
+ android:summaryOn="@string/touchkey_light_summary_on"
+ android:defaultValue="true"
+ />
+ <com.cyanogenmod.settings.device.TouchkeyTimeout
+ android:key="touchkey_timeout"
+ android:title="@string/touchkey_timeout_title_head"
+ android:summary="@string/touchkey_timeout_summary_head"
+ android:entries="@array/touchkey_timeout_entries"
+ android:entryValues="@array/touchkey_timeout_entries_values"
+ android:defaultValue="3" />
+ </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java b/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
new file mode 100644
index 0000000..152e361
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.app.ActionBar;
+import android.app.ActionBar.Tab;
+import android.app.Activity;
+import android.app.Fragment;
+import android.app.FragmentTransaction;
+import android.content.Context;
+import android.os.Bundle;
+import android.support.v4.app.FragmentActivity;
+import android.support.v13.app.FragmentPagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.view.MenuItem;
+
+import com.cyanogenmod.settings.device.R;
+
+import java.util.ArrayList;
+
+public class DeviceSettings extends FragmentActivity {
+
+ public static final String SHARED_PREFERENCES_BASENAME = "com.cyanogenmod.settings.device";
+ public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE";
+ public static final String KEY_HSPA = "hspa";
+ public static final String KEY_VIBRATOR_INTENSITY = "vibrator_intensity";
+ public static final String KEY_MDNIE_SCENARIO = "mdnie_scenario";
+ public static final String KEY_MDNIE_MODE = "mdnie_mode";
+ public static final String KEY_MDNIE_NEGATIVE = "mdnie_negative";
+ public static final String KEY_LED_FADE = "led_fade";
+ public static final String KEY_TOUCHKEY_LIGHT = "touchkey_light";
+ public static final String KEY_TOUCHKEY_TIMEOUT = "touchkey_timeout";
+
+ ViewPager mViewPager;
+ TabsAdapter mTabsAdapter;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ mViewPager = new ViewPager(this);
+ mViewPager.setId(R.id.viewPager);
+ setContentView(mViewPager);
+
+ final ActionBar bar = getActionBar();
+ bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
+ bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);
+ bar.setTitle(R.string.app_name);
+ bar.setDisplayHomeAsUpEnabled(true);
+
+ mTabsAdapter = new TabsAdapter(this, mViewPager);
+ mTabsAdapter.addTab(bar.newTab().setText(R.string.category_radio_title),
+ RadioFragmentActivity.class, null);
+ mTabsAdapter.addTab(bar.newTab().setText(R.string.category_screen_title),
+ ScreenFragmentActivity.class, null);
+ mTabsAdapter.addTab(bar.newTab().setText(R.string.category_haptic_title),
+ HapticFragmentActivity.class, null);
+
+
+ if (savedInstanceState != null) {
+ bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
+ }
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putInt("tab", getActionBar().getSelectedNavigationIndex());
+ }
+
+ public static class TabsAdapter extends FragmentPagerAdapter
+ implements ActionBar.TabListener, ViewPager.OnPageChangeListener {
+ private final Context mContext;
+ private final ActionBar mActionBar;
+ private final ViewPager mViewPager;
+ private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();
+
+ static final class TabInfo {
+ private final Class<?> clss;
+ private final Bundle args;
+
+ TabInfo(Class<?> _class, Bundle _args) {
+ clss = _class;
+ args = _args;
+ }
+ }
+
+ public TabsAdapter(Activity activity, ViewPager pager) {
+ super(activity.getFragmentManager());
+ mContext = activity;
+ mActionBar = activity.getActionBar();
+ mViewPager = pager;
+ mViewPager.setAdapter(this);
+ mViewPager.setOnPageChangeListener(this);
+ }
+
+ public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {
+ TabInfo info = new TabInfo(clss, args);
+ tab.setTag(info);
+ tab.setTabListener(this);
+ mTabs.add(info);
+ mActionBar.addTab(tab);
+ notifyDataSetChanged();
+ }
+
+ @Override
+ public int getCount() {
+ return mTabs.size();
+ }
+
+ @Override
+ public Fragment getItem(int position) {
+ TabInfo info = mTabs.get(position);
+ return Fragment.instantiate(mContext, info.clss.getName(), info.args);
+ }
+
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ }
+
+ public void onPageSelected(int position) {
+ mActionBar.setSelectedNavigationItem(position);
+ }
+
+ public void onPageScrollStateChanged(int state) {
+ }
+
+ public void onTabSelected(Tab tab, FragmentTransaction ft) {
+ Object tag = tab.getTag();
+ for (int i=0; i<mTabs.size(); i++) {
+ if (mTabs.get(i) == tag) {
+ mViewPager.setCurrentItem(i);
+ }
+ }
+ }
+
+ public void onTabUnselected(Tab tab, FragmentTransaction ft) {
+ }
+
+ public void onTabReselected(Tab tab, FragmentTransaction ft) {
+ }
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ DeviceSettings.this.onBackPressed();
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java
new file mode 100644
index 0000000..0f3313d
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/HapticFragmentActivity.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.preference.PreferenceScreen;
+import android.util.Log;
+
+import com.cyanogenmod.settings.device.R;
+
+public class HapticFragmentActivity extends PreferenceFragment {
+
+ private static final String PREF_ENABLED = "1";
+ private static final String TAG = "GalaxyS3Settings_Haptic";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ addPreferencesFromResource(R.xml.haptic_preferences);
+
+ PreferenceScreen prefSet = getPreferenceScreen();
+
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+
+ String boxValue;
+ String key = preference.getKey();
+
+ Log.w(TAG, "key: " + key);
+
+ return true;
+ }
+
+ public static boolean isSupported(String FILE) {
+ return Utils.fileExists(FILE);
+ }
+
+ public static void restore(Context context) {
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/Hspa.java b/DeviceSettings/src/com/cyanogenmod/settings/device/Hspa.java
new file mode 100644
index 0000000..f19eff7
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/Hspa.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.util.AttributeSet;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class Hspa extends ListPreference implements OnPreferenceChangeListener {
+
+ private static final String FILE = "/system/app/SamsungServiceMode.apk";
+ private Context mCtx;
+
+ public Hspa(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ mCtx = context;
+ }
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore hspa setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ sendIntent(context, sharedPrefs.getString(DeviceSettings.KEY_HSPA, "23"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ sendIntent(mCtx, (String) newValue);
+ return true;
+ }
+
+ private static void sendIntent(Context context, String value) {
+ Intent i = new Intent("com.cyanogenmod.SamsungServiceMode.EXECUTE");
+ i.putExtra("sub_type", 20); // HSPA Setting
+ i.putExtra("data", value);
+ context.sendBroadcast(i);
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/LedFade.java b/DeviceSettings/src/com/cyanogenmod/settings/device/LedFade.java
new file mode 100644
index 0000000..6d11947
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/LedFade.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import java.io.IOException;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.content.SharedPreferences;
+import android.preference.Preference;
+import android.preference.ListPreference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class LedFade extends ListPreference implements OnPreferenceChangeListener {
+
+ public LedFade(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE = "/sys/class/sec/led/led_fade";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore led fading mode setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE, sharedPrefs.getString(DeviceSettings.KEY_LED_FADE, "1"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE, (String) newValue);
+ return true;
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java
new file mode 100644
index 0000000..62b855c
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/RadioFragmentActivity.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.preference.PreferenceScreen;
+import android.util.Log;
+
+import com.cyanogenmod.settings.device.R;
+
+public class RadioFragmentActivity extends PreferenceFragment {
+
+ private static final String PREF_ENABLED = "1";
+ private static final String TAG = "GalaxyS2Parts_Radio";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ addPreferencesFromResource(R.xml.radio_preferences);
+
+ PreferenceScreen prefSet = getPreferenceScreen();
+
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+
+ String boxValue;
+ String key = preference.getKey();
+
+ Log.w(TAG, "key: " + key);
+
+ return true;
+ }
+
+ public static boolean isSupported(String FILE) {
+ return Utils.fileExists(FILE);
+ }
+
+ public static void restore(Context context) {
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
new file mode 100644
index 0000000..36180ae
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.preference.PreferenceScreen;
+import android.util.Log;
+
+import com.cyanogenmod.settings.device.R;
+
+public class ScreenFragmentActivity extends PreferenceFragment {
+
+ private static final String PREF_ENABLED = "1";
+ private static final String TAG = "GalaxyS3Settings_Screen";
+ private mDNIeScenario mmDNIeScenario;
+ private mDNIeMode mmDNIeMode;
+ private mDNIeNegative mmDNIeNegative;
+ private LedFade mLedFade;
+
+ private static final String FILE_TOUCHKEY_BRIGHTNESS = "/sys/class/sec/sec_touchkey/brightness";
+ private static final String FILE_TOUCHKEY_DISABLE = "/sys/class/sec/sec_touchkey/force_disable";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ addPreferencesFromResource(R.xml.screen_preferences);
+
+ PreferenceScreen prefSet = getPreferenceScreen();
+ mmDNIeScenario = (mDNIeScenario) findPreference(DeviceSettings.KEY_MDNIE_SCENARIO);
+ mmDNIeScenario.setEnabled(mDNIeScenario.isSupported());
+
+ mmDNIeMode = (mDNIeMode) findPreference(DeviceSettings.KEY_MDNIE_MODE);
+ mmDNIeMode.setEnabled(mDNIeMode.isSupported());
+
+ mmDNIeNegative = (mDNIeNegative) findPreference(DeviceSettings.KEY_MDNIE_NEGATIVE);
+ mmDNIeNegative.setEnabled(mDNIeNegative.isSupported());
+
+ mLedFade = (LedFade) findPreference(DeviceSettings.KEY_LED_FADE);
+ mLedFade.setEnabled(LedFade.isSupported());
+
+ if (((CheckBoxPreference)prefSet.findPreference(DeviceSettings.KEY_TOUCHKEY_LIGHT)).isChecked()) {
+ prefSet.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(true);
+ } else {
+ prefSet.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(false);
+ }
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+
+ String key = preference.getKey();
+ Log.w(TAG, "key: " + key);
+
+ if (key.compareTo(DeviceSettings.KEY_TOUCHKEY_LIGHT) == 0) {
+ if (((CheckBoxPreference)preference).isChecked()) {
+ Utils.writeValue(FILE_TOUCHKEY_DISABLE, "0");
+ Utils.writeValue(FILE_TOUCHKEY_BRIGHTNESS, "1");
+ preferenceScreen.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(true);
+ } else {
+ Utils.writeValue(FILE_TOUCHKEY_DISABLE, "1");
+ Utils.writeValue(FILE_TOUCHKEY_BRIGHTNESS, "2");
+ preferenceScreen.findPreference(DeviceSettings.KEY_TOUCHKEY_TIMEOUT).setEnabled(false);
+ }
+ }
+ return true;
+ }
+
+ public static boolean isSupported(String FILE) {
+ return Utils.fileExists(FILE);
+ }
+
+ public static void restore(Context context) {
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean light = sharedPrefs.getBoolean(DeviceSettings.KEY_TOUCHKEY_LIGHT, true);
+
+ Utils.writeValue(FILE_TOUCHKEY_DISABLE, light ? "0" : "1");
+ Utils.writeValue(FILE_TOUCHKEY_BRIGHTNESS, light ? "1" : "2");
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java b/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
new file mode 100644
index 0000000..dc9ec9c
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+public class Startup extends BroadcastReceiver {
+
+ @Override
+ public void onReceive(final Context context, final Intent bootintent) {
+ HapticFragmentActivity.restore(context);
+ Hspa.restore(context);
+ RadioFragmentActivity.restore(context);
+ ScreenFragmentActivity.restore(context);
+ mDNIeScenario.restore(context);
+ mDNIeMode.restore(context);
+ mDNIeNegative.restore(context);
+ LedFade.restore(context);
+ VibratorIntensity.restore(context);
+ TouchkeyTimeout.restore(context);
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/TouchkeyTimeout.java b/DeviceSettings/src/com/cyanogenmod/settings/device/TouchkeyTimeout.java
new file mode 100644
index 0000000..6ea9bfb
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/TouchkeyTimeout.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import java.io.IOException;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.content.SharedPreferences;
+import android.preference.Preference;
+import android.preference.ListPreference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class TouchkeyTimeout extends ListPreference implements OnPreferenceChangeListener {
+
+ public TouchkeyTimeout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE_TOUCHKEY_TIMEOUT = "/sys/class/sec/sec_touchkey/timeout";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE_TOUCHKEY_TIMEOUT);
+ }
+
+ /**
+ * Restore touchscreen sensitivity setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE_TOUCHKEY_TIMEOUT, sharedPrefs.getString(DeviceSettings.KEY_TOUCHKEY_TIMEOUT, "3"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE_TOUCHKEY_TIMEOUT, (String) newValue);
+ return true;
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java b/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java
new file mode 100644
index 0000000..d4df92f
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/Utils.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.SyncFailedException;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Context;
+
+public class Utils {
+
+ private static final String TAG = "GalaxyS3Settings_Utils";
+ private static final String TAG_READ = "GalaxyS3Settings_Utils_Read";
+ private static final String TAG_WRITE = "GalaxyS3Settings_Utils_Write";
+
+ /**
+ * Write a string value to the specified file.
+ *
+ * @param filename The filename
+ * @param value The value
+ */
+ public static void writeValue(String filename, String value) {
+ FileOutputStream fos = null;
+ try {
+ fos = new FileOutputStream(new File(filename), false);
+ fos.write(value.getBytes());
+ fos.flush();
+ // fos.getFD().sync();
+ } catch (FileNotFoundException ex) {
+ Log.w(TAG, "file " + filename + " not found: " + ex);
+ } catch (SyncFailedException ex) {
+ Log.w(TAG, "file " + filename + " sync failed: " + ex);
+ } catch (IOException ex) {
+ Log.w(TAG, "IOException trying to sync " + filename + ": " + ex);
+ } catch (RuntimeException ex) {
+ Log.w(TAG, "exception while syncing file: ", ex);
+ } finally {
+ if (fos != null) {
+ try {
+ Log.w(TAG_WRITE, "file " + filename + ": " + value);
+ fos.close();
+ } catch (IOException ex) {
+ Log.w(TAG, "IOException while closing synced file: ", ex);
+ } catch (RuntimeException ex) {
+ Log.w(TAG, "exception while closing file: ", ex);
+ }
+ }
+ }
+
+ }
+
+ /**
+ * Write a string value to the specified file.
+ *
+ * @param filename The filename
+ * @param value The value
+ */
+ public static void writeValue(String filename, Boolean value) {
+ FileOutputStream fos = null;
+ String sEnvia;
+ try {
+ fos = new FileOutputStream(new File(filename), false);
+ if (value)
+ sEnvia = "1";
+ else
+ sEnvia = "0";
+ fos.write(sEnvia.getBytes());
+ fos.flush();
+ // fos.getFD().sync();
+ } catch (FileNotFoundException ex) {
+ Log.w(TAG, "file " + filename + " not found: " + ex);
+ } catch (SyncFailedException ex) {
+ Log.w(TAG, "file " + filename + " sync failed: " + ex);
+ } catch (IOException ex) {
+ Log.w(TAG, "IOException trying to sync " + filename + ": " + ex);
+ } catch (RuntimeException ex) {
+ Log.w(TAG, "exception while syncing file: ", ex);
+ } finally {
+ if (fos != null) {
+ try {
+ Log.w(TAG_WRITE, "file " + filename + ": " + value);
+ fos.close();
+ } catch (IOException ex) {
+ Log.w(TAG, "IOException while closing synced file: ", ex);
+ } catch (RuntimeException ex) {
+ Log.w(TAG, "exception while closing file: ", ex);
+ }
+ }
+ }
+ }
+
+ /**
+ * Write the "color value" to the specified file. The value is scaled from
+ * an integer to an unsigned integer by multiplying by 2.
+ * @param filename The filename
+ * @param value The value of max value Integer.MAX
+ */
+ public static void writeColor(String filename, int value) {
+ writeValue(filename, String.valueOf((long) value * 2));
+ }
+
+ /**
+ * Check if the specified file exists.
+ * @param filename The filename
+ * @return Whether the file exists or not
+ */
+ public static boolean fileExists(String filename) {
+ return new File(filename).exists();
+ }
+
+
+ public static void showDialog(Context ctx, String title, String message) {
+ final AlertDialog alertDialog = new AlertDialog.Builder(ctx).create();
+ alertDialog.setTitle(title);
+ alertDialog.setMessage(message);
+ alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ alertDialog.dismiss();
+ }
+ });
+ alertDialog.show();
+ }
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/VibratorIntensity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/VibratorIntensity.java
new file mode 100644
index 0000000..7a809a5
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/VibratorIntensity.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import java.io.IOException;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.content.SharedPreferences;
+import android.preference.Preference;
+import android.preference.ListPreference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class VibratorIntensity extends ListPreference implements OnPreferenceChangeListener {
+
+ public VibratorIntensity(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE = "/sys/vibrator/pwm_val";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore vibrator intensity setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE, sharedPrefs.getString(DeviceSettings.KEY_VIBRATOR_INTENSITY, "50"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE, (String) newValue);
+ return true;
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeMode.java b/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeMode.java
new file mode 100644
index 0000000..7969637
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeMode.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.Context;
+
+import android.content.SharedPreferences;
+import android.util.AttributeSet;
+import android.preference.Preference;
+import android.preference.ListPreference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class mDNIeMode extends ListPreference implements OnPreferenceChangeListener {
+
+ public mDNIeMode(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE = "/sys/class/mdnie/mdnie/mode";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore mdnie user mode setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE, sharedPrefs.getString(DeviceSettings.KEY_MDNIE_MODE, "0"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE, (String) newValue);
+ return true;
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeNegative.java b/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeNegative.java
new file mode 100644
index 0000000..c2ccc7b
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeNegative.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import java.io.IOException;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.content.SharedPreferences;
+import android.preference.Preference;
+import android.preference.ListPreference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class mDNIeNegative extends ListPreference implements OnPreferenceChangeListener {
+
+ public mDNIeNegative(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE = "/sys/class/mdnie/mdnie/negative";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore mdnie user mode setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE, sharedPrefs.getString(DeviceSettings.KEY_MDNIE_NEGATIVE, "0"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE, (String) newValue);
+ return true;
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeScenario.java b/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeScenario.java
new file mode 100644
index 0000000..a9c935a
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/mDNIeScenario.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+package com.cyanogenmod.settings.device;
+
+import android.content.Context;
+
+import android.content.SharedPreferences;
+import android.util.AttributeSet;
+import android.preference.Preference;
+import android.preference.ListPreference;
+import android.preference.Preference.OnPreferenceChangeListener;
+import android.preference.PreferenceManager;
+
+public class mDNIeScenario extends ListPreference implements OnPreferenceChangeListener {
+
+ public mDNIeScenario(Context context, AttributeSet attrs) {
+ super(context,attrs);
+ this.setOnPreferenceChangeListener(this);
+ }
+
+ private static final String FILE = "/sys/class/mdnie/mdnie/scenario";
+
+ public static boolean isSupported() {
+ return Utils.fileExists(FILE);
+ }
+
+ /**
+ * Restore mdnie "camera" setting from SharedPreferences. (Write to kernel.)
+ * @param context The context to read the SharedPreferences from
+ */
+ public static void restore(Context context) {
+ if (!isSupported()) {
+ return;
+ }
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Utils.writeValue(FILE, sharedPrefs.getString(DeviceSettings.KEY_MDNIE_SCENARIO, "0"));
+ }
+
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ Utils.writeValue(FILE, (String) newValue);
+ return true;
+ }
+
+}
diff --git a/README b/README
new file mode 100644
index 0000000..ea8ea43
--- /dev/null
+++ b/README
@@ -0,0 +1,6 @@
+Samsung Galaxy Note 2 LTE (GSM)
+
+Supported variants:
+ - GT-N7105 (EUR)
+ - SGH-I317 (AT&T)
+ - SGH-T889 (TMO)
diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h
new file mode 100644
index 0000000..bc6db1e
--- /dev/null
+++ b/bluetooth/bdroid_buildcfg.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2012 The CyanogenMod Project <http://www.cyanogenmod.org>
+ *
+ * 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.
+ */
+
+#ifndef _BDROID_BUILDCFG_H
+#define _BDROID_BUILDCFG_H
+
+#define BTM_DEF_LOCAL_NAME "Galaxy Note 2 LTE"
+
+#endif
diff --git a/cm.dependencies b/cm.dependencies
new file mode 100644
index 0000000..a1ab9d7
--- /dev/null
+++ b/cm.dependencies
@@ -0,0 +1,14 @@
+[
+ {
+ "repository": "android_device_samsung_smdk4412-common",
+ "target_path": "device/samsung/smdk4412-common"
+ },
+ {
+ "repository": "android_kernel_samsung_smdk4412",
+ "target_path": "kernel/samsung/smdk4412"
+ },
+ {
+ "repository": "android_hardware_samsung",
+ "target_path": "hardware/samsung"
+ }
+]
diff --git a/cm.mk b/cm.mk
index ff408aa..701b5fe 100644
--- a/cm.mk
+++ b/cm.mk
@@ -1,18 +1,25 @@
-## Specify phone tech before including full_phone
+# Specify phone tech before including full_phone
$(call inherit-product, vendor/cm/config/gsm.mk)
# Release name
PRODUCT_RELEASE_NAME := t0lte
+# Boot animation
+TARGET_SCREEN_HEIGHT := 1280
+TARGET_SCREEN_WIDTH := 720
+
# Inherit some common CM stuff.
$(call inherit-product, vendor/cm/config/common_full_phone.mk)
# Inherit device configuration
-$(call inherit-product, device/samsung/t0lte/device_t0lte.mk)
+$(call inherit-product, device/samsung/t0lte/full_t0lte.mk)
-## Device identifier. This must come after all inclusions
+# Device identifier. This must come after all inclusions
PRODUCT_DEVICE := t0lte
PRODUCT_NAME := cm_t0lte
PRODUCT_BRAND := samsung
-PRODUCT_MODEL := t0lte
+PRODUCT_MODEL := GT-N7105
PRODUCT_MANUFACTURER := samsung
+
+# Set build fingerprint / ID / Product Name ect.
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=t0lte TARGET_DEVICE=t0lte BUILD_FINGERPRINT="samsung/t0ltexx/t0lte:4.1.2/JZO54K/N7105XXDLL4:user/release-keys" PRIVATE_BUILD_DESC="t0ltexx-user 4.1.2 JZO54K N7105XXDLL4 release-keys"
diff --git a/configs/80cfw b/configs/80cfw
new file mode 100644
index 0000000..45a9871
--- /dev/null
+++ b/configs/80cfw
@@ -0,0 +1,10 @@
+#!/system/bin/sh
+#
+# Copy camera firmware to /data/cfw
+#
+
+busybox cp /system/vendor/firmware/SlimISP_GK.bin /data/cfw/SlimISP_GK.bin
+busybox cp /system/vendor/firmware/SlimISP_ZK.bin /data/cfw/SlimISP_ZK.bin
+busybox chown system /data/cfw/*
+busybox chgrp media /data/cfw/*
+busybox chmod 0775 /data/cfw/*
diff --git a/configs/audio_policy.conf b/configs/audio_policy.conf
new file mode 100644
index 0000000..6b774b1
--- /dev/null
+++ b/configs/audio_policy.conf
@@ -0,0 +1,102 @@
+# Global configuration section: lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+
+global_configuration {
+ attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER
+ default_output_device AUDIO_DEVICE_OUT_SPEAKER
+ attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC
+}
+
+# audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+ primary {
+ outputs {
+ primary {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
+ flags AUDIO_OUTPUT_FLAG_PRIMARY
+ }
+ hdmi {
+ sampling_rates 44100|48000
+ channel_masks dynamic
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_AUX_DIGITAL
+ flags AUDIO_OUTPUT_FLAG_MULTI_CH
+ }
+ }
+ inputs {
+ primary {
+ sampling_rates 8000|11025|16000|22050|24000|32000|44100|48000
+ channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC
+ }
+ }
+ }
+ a2dp {
+ outputs {
+ a2dp {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_ALL_A2DP
+ }
+ }
+ }
+ usb {
+ outputs {
+ usb_accessory {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_USB_ACCESSORY
+ }
+ usb_device {
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_USB_DEVICE
+ }
+ }
+ }
+ wfd {
+ outputs {
+ wfd{
+ sampling_rates 48000
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_EXTERNAL_WIFI
+ }
+ }
+ }
+ tms {
+ outputs {
+ tms{
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_OUT_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_OUT_EXTERNAL_TMS
+ }
+ }
+ inputs {
+ tms{
+ sampling_rates 44100
+ channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
+ formats AUDIO_FORMAT_PCM_16_BIT
+ devices AUDIO_DEVICE_IN_EXTERNAL_TMS
+ }
+ }
+}
diff --git a/configs/default_gain.conf b/configs/default_gain.conf
new file mode 100644
index 0000000..07a2556
--- /dev/null
+++ b/configs/default_gain.conf
@@ -0,0 +1,3340 @@
+#Output Modifier Stage
+#Normal, Incall, Ringtone, Incommunication
+
+#Modifier: Normal
+
+Modifier "Normal" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 51 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 55},
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 56 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Headphone Volume", 50 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 56 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "SCO Headset Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "SCO Carkit"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "Analogue Dock Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 55 },
+ { "LINEOUT2 Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+}
+
+Modifier "Normal" {
+ SupportedDevice {
+ "AUX Digital Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+#Modifier : Incall
+Modifier "Incall" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 100 },
+ { "AIF2DAC Volume", 100 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 100 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 63 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 100 },
+ { "AIF2DAC Volume", 100 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 100 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 70 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Incall" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 3 },
+ { "Speaker Volume", 62 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 0 },
+ { "SPKR DAC1 Volume", 0 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Incall" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ { "Headphone ZC Switch", 0 },
+ { "AIF2ADC HPF Mode", 0 },
+ { "AIF2ADC HPF Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 57 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Incall" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ { "Headphone ZC Switch", 0 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 57 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Incall" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 1 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Incall" {
+ SupportedDevice {
+ "SCO Headset Out"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 1 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Incall" {
+ SupportedDevice {
+ "SCO Carkit"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 1 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "TTY Mode Out" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ { "Headphone ZC Switch", 0 },
+ { "AIF2ADC HPF Mode", 0 },
+ { "AIF2ADC HPF Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 57 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "TTY Mode Out" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ { "AIF2ADC HPF Mode", 1 },
+ { "AIF2ADC HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 6 },
+ { "Speaker Volume", 60 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 0 },
+ { "SPKR DAC1 Volume", 0 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+#Modifier: Ringtone
+Modifier "Ringtone" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 55 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 23 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 23},
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "SCO Headset Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "SCO Carkit"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Ringtone" {
+ SupportedDevice {
+ "Analogue Dock Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+}
+
+Modifier "Dual Normal" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 55 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Dual Normal" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 22 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 23 },
+ }
+}
+
+Modifier "Dual Normal" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 22 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 23 },
+ }
+}
+
+Modifier "Dual Ringtone" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 55 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 57 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Dual Ringtone" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 22 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 23 },
+ }
+}
+
+Modifier "Dual Ringtone" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 22 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 23 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 54 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 52 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 56 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "SCO Headset Out"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "SCO Carkit"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+
+Modifier "Incommunication" {
+ SupportedDevice {
+ "Analogue Dock Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 52 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 6 },
+ { "Speaker Volume", 48 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 56 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45},
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "SCO Headset Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "SCO Carkit"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+
+Modifier "Voipout" {
+ SupportedDevice {
+ "Analogue Dock Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 54 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 5 },
+ { "Speaker Volume", 56 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 56 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 49 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 48},
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "SCO Headset Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "SCO Carkit"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+
+Modifier "SecVoipout" {
+ SupportedDevice {
+ "Analogue Dock Out"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "LINEOUT2 Volume", 1 },
+ }
+}
+
+#Modifier : FMRadio
+Modifier "FMRadio" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 88 },
+ { "Left Output Mixer IN2RN Volume", 7 },
+ { "Right Output Mixer IN2RP Volume", 7 },
+ { "Left Output Mixer DAC Volume", 0 },
+ { "Right Output Mixer DAC Volume", 0 },
+ { "Headphone Volume", 63 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "DAC1 Volume", 96 },
+ }
+}
+
+Modifier "FMRadio" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 88 },
+ { "Left Output Mixer IN2RN Volume", 7 },
+ { "Right Output Mixer IN2RP Volume", 7 },
+ { "Left Output Mixer DAC Volume", 0 },
+ { "Right Output Mixer DAC Volume", 0 },
+ { "Headphone Volume", 63 },
+
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "DAC1 Volume", 96 },
+ }
+}
+
+Modifier "FMRadio" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "IN2R PGA IN2RP Switch", 0 },
+ { "IN2R Switch", 1},
+ { "MIXINR IN2R Switch", 1},
+ { "IN2R Volume", 19},
+ { "MIXINR IN2R Volume", 0 },
+ { "Right Output Mixer Right Input Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "SPKR Output Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 60 },
+ }
+ Disable {
+ { "IN2R Switch", 0},
+ { "MIXINR IN2R Switch", 0},
+ { "Right Output Mixer Right Input Switch", 0 },
+ }
+}
+
+Modifier "FMRadio" {
+ SupportedDevice {
+ "Analogue Dock Out"
+ }
+ Enable {
+ { "IN2R Switch", 1},
+ { "MIXINR IN2R Switch", 1},
+ { "IN2R Volume", 19},
+ { "MIXINR IN2R Volume", 0 },
+ { "Right Output Mixer Right Input Switch", 1 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "LINEOUT2N Mixer Right Output Switch", 1 },
+ { "LINEOUT2P Mixer Right Output Switch", 1 },
+ { "Output Volume", 55 },
+ { "LINEOUT2 Volume", 1 },
+ }
+ Disable {
+ { "IN2R Switch", 0},
+ { "MIXINR IN2R Switch", 0},
+ { "Right Output Mixer Right Input Switch", 0 },
+ }
+}
+
+Modifier "FMRadio" {
+ SupportedDevice {
+ "FMRadio In"
+ }
+ OutputDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "MIXINL Output Record Volume", 7 },
+ { "MIXINL Output Record Volume", 7 },
+ { "AIF1ADC1 Volume", 119 },
+ }
+ Disable {
+ { "Headphone Volume", 63 },
+ }
+}
+
+Modifier "FMRadio" {
+ SupportedDevice {
+ "FMRadio In"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "MIXINL Output Record Volume", 7 },
+ { "MIXINL Output Record Volume", 7 },
+ { "AIF1ADC1 Volume", 119 },
+ }
+ Disable {
+ { "Headphone Volume", 63 },
+ }
+}
+
+Modifier "FMRadio" {
+ SupportedDevice {
+ "FMRadio In"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "Headphone Volume", 63 },
+ }
+}
+
+#Modifier : FMRadio Mute
+Modifier "FMRadio_Mute" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Input Clamp", 1 },
+ { "Headphone Volume", 30 },
+ { "Left Output Mixer IN2RN Switch", 0},
+ { "Right Output Mixer IN2RP Switch", 0},
+ { "Headphone Volume", 63 },
+ { "Input Clamp", 0 },
+ }
+ Disable {
+ { "Input Clamp", 1 },
+ { "Headphone Volume", 30},
+ { "Left Output Mixer IN2RN Switch", 1},
+ { "Right Output Mixer IN2RP Switch", 1},
+ { "Headphone Volume", 63},
+ { "Input Clamp", 0 },
+ }
+}
+
+Modifier "FMRadio_Mute" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Input Clamp", 1 },
+ { "Headphone Volume", 30 },
+ { "Left Output Mixer IN2RN Switch", 0},
+ { "Right Output Mixer IN2RP Switch", 0},
+ { "Headphone Volume", 63 },
+ { "Input Clamp", 0 },
+ }
+ Disable {
+ { "Input Clamp", 1 },
+ { "Headphone Volume", 30},
+ { "Left Output Mixer IN2RN Switch", 1},
+ { "Right Output Mixer IN2RP Switch", 1},
+ { "Headphone Volume", 63},
+ { "Input Clamp", 0 },
+ }
+}
+
+Modifier "FMRadio_Mute" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "Right Output Mixer Right Input Switch", 0 },
+ { "Right Output Mixer Right Input Switch", 0 },
+ }
+ Disable {
+ { "Right Output Mixer Right Input Switch", 1 },
+ { "Right Output Mixer Right Input Switch", 1 },
+ }
+}
+
+#Modifier : Loopback
+Modifier "Loopback" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Loopback" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 62 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 0 },
+ { "SPKR DAC1 Volume", 0 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 60 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Loopback" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 51 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Loopback" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 51 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "Loopback" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+#Modifier : LoopbackPacket
+Modifier "LoopbackPacket" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "LoopbackPacket" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 4 },
+ { "Speaker Volume", 62 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 0 },
+ { "SPKR DAC1 Volume", 0 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 60 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "LoopbackPacket" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 51 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "LoopbackPacket" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 51 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+Modifier "LoopbackPacket" {
+ SupportedDevice {
+ "SCO"
+ }
+ Enable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+#Modifier : Loop
+Modifier "Loop" {
+ SupportedDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+ Disable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Output Volume", 57 },
+ { "Earpiece Volume", 1 },
+ }
+}
+
+Modifier "Loop" {
+ SupportedDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 1 },
+ { "SPKR DAC1 Volume", 1 },
+ { "Speaker Mixer Volume", 3 },
+ { "Speaker Boost Volume", 6 },
+ { "Speaker Volume", 57 },
+ }
+ Disable {
+ { "AIF2DAC Volume", 96 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "SPKL DAC1 Volume", 0 },
+ { "SPKR DAC1 Volume", 0 },
+ { "Speaker Mixer Volume", 0 },
+ { "Speaker Volume", 35 },
+ { "Speaker Boost Volume", 0 },
+ }
+}
+
+Modifier "Loop" {
+ SupportedDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 42 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 38 },
+ }
+}
+
+Modifier "Loop" {
+ SupportedDevice {
+ "Headphone"
+ }
+ Enable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 54 },
+ }
+ Disable {
+ { "Headphone ZC Switch", 0 },
+ { "AIF1DAC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ { "AIF1 Boost Volume", 0 },
+ { "AIF2 Boost Volume", 0 },
+ { "DAC1 Volume", 96 },
+ { "Left Output Mixer DAC Volume", 7 },
+ { "Right Output Mixer DAC Volume", 7 },
+ { "Headphone Volume", 45 },
+ }
+}
+
+#INPUT Modifier Stage
+#Voice, Camcorder, Recognition, Communication,
+
+Modifier "Voice" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 28 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 4 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voice" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1R Volume", 30 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voice" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 24 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voice" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "Camcorder" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 29 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Camcorder" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1R Volume", 25 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Camcorder" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 24 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Camcorder" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "Recognition" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 12 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 5 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Recognition" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Recognition" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 19 },
+ { "MIXINL IN1L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Recognition" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "SecRecognition" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 5 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecRecognition" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecRecognition" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 16 },
+ { "MIXINL IN1L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecRecognition" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "SecHighGain" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 28 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 4 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecHighGain" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1R Volume", 30 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecHighGain" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 24 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecHighGain" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "Communication" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Communication" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 26 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 21 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Communication" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Communication" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 6 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Communication" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 15 },
+ { "MIXINL IN1L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Communication" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 99 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "SecVoipin" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 28 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecVoipin" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 21 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecVoipin" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 8 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecVoipin" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1R Volume", 8 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 9 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecVoipin" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 14 },
+ { "MIXINL IN1L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "SecVoipin" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "Voipin" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 28 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voipin" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voipin" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voipin" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 13 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voipin" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 HPF Mode", 1 },
+ { "AIF1ADC1 HPF Switch", 1 },
+ { "IN1L Volume", 15 },
+ { "MIXINL IN1L Volume", 1 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 HPF Mode", 0 },
+ { "AIF1ADC1 HPF Switch", 0 },
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "Voipin" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF1ADC1 Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+#Incall-Capture Modifier
+Modifier "IncallIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 25},
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "IncallIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 25},
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 0 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "IncallIn" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 0 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 1 },
+ { "IN1R Volume", 25 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 100 },
+ }
+ Disable {
+ { "IN1R Volume", 7 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "IncallIn" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF2DAC2R Mixer Left Sidetone Switch", 0 },
+ { "AIF2DAC2R Mixer Right Sidetone Switch", 1 },
+ { "IN1R Volume", 25 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1R Volume", 7 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "IncallIn" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN1L Volume", 23 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "IncallIn" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF2ADC Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+ Disable {
+ { "AIF2ADC Volume", 96 },
+ { "AIF2DAC Volume", 96 },
+ }
+}
+
+Modifier "TTY Mode In" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN1L Volume", 23 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "TTY Mode In" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 25},
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+#LoopbackIn-Capture Modifier
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 9 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 0 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headset"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 25 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 0 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 1 },
+ { "IN1R Volume", 22 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN1L Volume", 28 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackIn" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+#LoopbackPacketIn-Capture Modifier
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 13 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 0 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headset"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 25 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 11 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "Back Mic"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 0 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 1 },
+ { "IN1R Volume", 22 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1R Volume", 11 },
+ { "MIXINR IN1R Volume", 0 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN1L Volume", 28 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN1L Volume", 11 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopbackPacketIn" {
+ SupportedDevice {
+ "SCO Headset In"
+ }
+ Enable {
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+#LoopIn-Capture Modifier
+Modifier "LoopIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Earpiece"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 9 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF2ADC Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 7 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 0 },
+ { "AIF2ADC Volume", 96 },
+ }
+}
+
+Modifier "LoopIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headphone"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 8 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 8 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "LoopIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Speaker"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 23 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF1ADC1 Volume", 80 },
+ }
+ Disable {
+ { "IN2L Volume", 5 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC1 Left Sidetone Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "LoopIn" {
+ SupportedDevice {
+ "Builtin Mic"
+ }
+ OutputDevice {
+ "Headset Out"
+ }
+ Enable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "IN2L Volume", 8 },
+ { "MIXINL IN2L Volume", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+ Disable {
+ { "IN2L Volume", 8 },
+ { "MIXINL IN2L Volume", 0 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Volume", 96 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+Modifier "LoopIn" {
+ SupportedDevice {
+ "Headset In"
+ }
+ Enable {
+ { "IN1L Volume", 5 },
+ { "MIXINL IN1L Volume", 1 },
+ { "DAC1 Left Sidetone Volume", 12 },
+ { "IN1R Volume", 5 },
+ { "MIXINR IN1R Volume", 1 },
+ { "MIXINR IN1RP Volume", 1 },
+ { "DAC1 Right Sidetone Volume", 12 },
+ { "AIF1ADC1 Volume", 80 },
+ }
+ Disable {
+ { "IN1L Volume", 5 },
+ { "MIXINL IN1L Volume", 0 },
+ { "DAC1 Left Sidetone Volume", 0 },
+ { "IN1R Volume", 5 },
+ { "MIXINR IN1R Volume", 0 },
+ { "MIXINR IN1RP Volume", 0 },
+ { "DAC1 Right Sidetone Volume", 0 },
+ { "AIF1ADC1 Volume", 96 },
+ }
+}
+
+#Special Modifier for voicecall recording, not gain
+Modifier "MicRec" {
+ Enable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ }
+ Disable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+}
+
+Modifier "Downlink" {
+ Enable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 0 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 0 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 1 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 1 },
+ }
+ Disable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+}
+
+Modifier "Uplink" {
+ Enable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+ Disable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+}
+
+Modifier "VoicecallRec" {
+ Enable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 1 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 1 },
+ }
+ Disable {
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+}
+
+#Modifier "CodecRxMute" {
+# Enable {
+# { "AIF2 digital mute", 1 },
+# }
+# Disable {
+# { "AIF2 digital mute", 0 },
+# }
+#}
+
+Modifier "ForceVoIPMic" {
+ Enable {
+ { "MainMicBias Mode", 3 },
+ { "SubMicBias Mode", 3 },
+ }
+ Disable {
+ { "MainMicBias Mode", 2 },
+ { "SubMicBias Mode", 2 },
+ }
+}
diff --git a/configs/gps.conf b/configs/gps.conf
new file mode 100644
index 0000000..6576285
--- /dev/null
+++ b/configs/gps.conf
@@ -0,0 +1,102 @@
+#Test
+NTP_SERVER=time.gpsonextra.net
+#Asia
+# NTP_SERVER=asia.pool.ntp.org
+#Europe
+# NTP_SERVER=europe.pool.ntp.org
+#North America
+# NTP_SERVER=north-america.pool.ntp.org
+
+XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra2.bin
+XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
+XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra2.bin
+
+# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
+# 4 - Debug, 5 - Verbose
+DEBUG_LEVEL = 4
+
+# Intermediate position report, 1=enable, 0=disable
+INTERMEDIATE_POS=0
+
+# supl version 1.0
+SUPL_VER=0x10000
+
+# Error Estimate
+# _SET = 1
+# _CLEAR = 0
+ERR_ESTIMATE=0
+
+# GPS Capabilities bit mask
+# SCHEDULING = 1
+# MSB = 2
+# MSA = 4
+# ULP = 0x20
+# ON_DEMAND_TIME = 0x10 // yunu.lee
+# default = MSA | MSB | SCHEDULING | ULP
+CAPABILITIES=0x16
+
+# Accuracy threshold for intermediate positions
+# less accurate positions are ignored, 0 for passing all positions
+# ACCURACY_THRES=5000
+
+################################
+##### AGPS server settings #####
+################################
+
+# FOR SUPL SUPPORT, set the following
+# SUPL_HOST=supl.host.com or IP
+# SUPL_PORT=1234
+
+# FOR C2K PDE SUPPORT, set the following
+# C2K_HOST=c2k.pde.com or IP
+# C2K_PORT=1234
+
+################################
+# Sensor Settings
+################################
+
+# Needs to be set explicitly based on sensor
+# There is no default value.
+GYRO_BIAS_RANDOM_WALK=0.00001
+
+# Sensor Sampling Rate Parameters for Low-Data Rate Filter (should be greater than 0)
+SENSOR_ACCEL_BATCHES_PER_SEC=3
+SENSOR_ACCEL_SAMPLES_PER_BATCH=5
+SENSOR_GYRO_BATCHES_PER_SEC=3
+SENSOR_GYRO_SAMPLES_PER_BATCH=5
+# Sensor Sampling Rate Parameters for High-Data Rate Filter (should be greater than 0)
+SENSOR_ACCEL_BATCHES_PER_SEC_HIGH=4
+SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH=25
+SENSOR_GYRO_BATCHES_PER_SEC_HIGH=4
+SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH=25
+
+# INS Filter Mode (0=Enable, 1=Disable)
+SENSOR_ALGORITHM_CONFIG_MASK=1
+
+# Sensor Control Mode (0=AUTO, 1=FORCE_ON)
+SENSOR_CONTROL_MODE=0
+
+# Enable or Disable Sensors for GPS use (0=Enable, 1=Disable)
+SENSOR_USAGE=0
+
+# Choose GSIFF sensor provider (1=DSPS, 2=Android NDK)
+SENSOR_PROVIDER=2
+
+################################
+# Indoor Positioning Settings
+################################
+# 0: QUIPC disabled, 1: QUIPC enabled, 2: forced QUIPC only
+QUIPC_ENABLED = 0
+
+################################
+# EXTRA SETTINGS
+################################
+# Enable or Disable Wiper (1=Enable, 0=Disable)
+ENABLE_WIPER=0
+
+####################################
+# LTE Positioning Profile Settings
+####################################
+# 0: Enable RRLP on LTE(Default) 1: Enable LPP_User_Plane on LTE
+LPP_PROFILE = 0
+
diff --git a/configs/gps.xml b/configs/gps.xml
new file mode 100644
index 0000000..d482215
--- /dev/null
+++ b/configs/gps.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<glgps xmlns="http://www.glpals.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.glpals.com/glconfig.xsd" >
+ <!--HAL Confguration -->
+ <hal
+ acPortName="/dev/ttySAC1"
+ lBaudRate="921600"
+ gpioNStdbyPath="/sys/class/sec/gps/GPS_PWR_EN/value"
+ gpioDelayMs="250"
+ acNvStoDir="/data/gps/"
+ FactoryTestFilePath="/data/"
+
+ Log="JAVA"
+ acLogDirectory="/sdcard/gps/broadcom/storage"
+
+ TISEnabled="true"
+ LPmode="false"
+ cp-cold-start="false"
+ cp-guard-time-sec="1"
+
+ arp-supl-enable="true"
+ arp-supl-cap-msb="true"
+ arp-supl-cap-msa="true"
+ arp-supl-cap-ecid="false"
+ arp-supl-use-apn="false"
+ acSuplServer="supl.google.com"
+ SuplPort="7276"
+ tlsCertPath="/system/bin/gps.cer"
+ tlsEnable="false"
+ ReAidingIntervalSec="1200"
+ SuplUT1Seconds="20"
+ SuplUT2Seconds="20"
+ SuplUT3Seconds="20"
+ SuplVersion="1"
+
+ LbsEnable="true"
+ LbsLocal="false"
+ LbsServer="BCMLS2.glpals.com"
+ LbsPort="7275"
+ LbsSyncLto="false"
+ SyncLto="true"
+ ltoFileName="lto2.dat"
+ acLtoDir="/data/gps/"
+ LbsSyncLtoThresholdDays="1"
+ LbsTAC="10101106"
+ ctrlPipe="/data/gps/glgpsctrl"
+ LbsWlanEnable="false"
+
+ IgnoreJniTime="true"
+ AssertEnabled="false"
+ SensorsTimePeriodGyroMs="20"
+ SensorsTimePeriodAcclMs="20"
+
+
+ />
+
+ <gll
+ LogPriMask="LOG_INFO"
+ LogFacMask="LOG_RAWDATA | LOG_DEVKF | LOG_GLLAPI | LOG_NMEA"
+ FrqPlan="FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB"
+ RfType="GL_RF_4752_BRCM_EXT_LNA"
+ WarmStandbyTimeout1Seconds="10"
+ WarmStandbyTimeout2Seconds="15"
+ >
+ </gll>
+
+ <gll_features
+ EnableLowPowerEls="false"
+ EnableLowPowerPmm="true"
+ />
+
+</glgps>
diff --git a/configs/nfcee_access.xml b/configs/nfcee_access.xml
new file mode 100644
index 0000000..02e12fd
--- /dev/null
+++ b/configs/nfcee_access.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Applications granted NFCEE access on user builds
+
+ See packages/apps/Nfc/etc/sample_nfcee_access.xml for full documentation.
+ -->
+
+ <!-- Google wallet release signature -->
+ <signer android:signature="3082044c30820334a003020102020900a8cd17c93da5d990300d06092a864886f70d01010505003077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e4643301e170d3131303332343031303635335a170d3338303830393031303635335a3077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e464330820120300d06092a864886f70d01010105000382010d00308201080282010100c30f88add9b492096a2c586a5a9a80356bfa026958f8ff0c5dfaf59f49268ad870dee821a53e1f5b170fc96245a3c982a7cb4527053be35e34f396d24b2291ec0c528d6e26927465e06875ea621f7ff98c40e3345b204907cc9354743acdaace65565f48ba74cd4121cdc876df3522badb095c20d934c56a3e5c393ee5f0e02f8fe0621f918d1f35a82489252c6fa6b63392a7686b3e48612d06a9cf6f49bff11d5d96289c9dfe14ac5762439697dd29eafdb9810de3263513a905ac8e8eaf20907e46750a5ab7bf9a77262f47b03f5a3c6e6d7b51343f69c7f725f70bcc1b4ad592250b705a86e6e83ee2ae37fe5701bcbdb26feefdfff60f6a5bdfb5b64793020103a381dc3081d9301d0603551d0e041604141ccece0eea4dc1121fc7515f0d0a0c72e08cc96d3081a90603551d230481a130819e80141ccece0eea4dc1121fc7515f0d0a0c72e08cc96da17ba4793077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e4643820900a8cd17c93da5d990300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100a470c728e1d31b06d9af6ae768b565046c57806b9843724931d75d4ca10c321520d33ccfed2aa65462234c9ef9b6f910cc676b99cb7f9895d6c06763574fbb78331275dc5cf38fbaa918d7938c051ffba2ade8f303cde8d9e68a048d1fdb9e7c9f2a49b222c68fff422bf15569b85eeeedb04aa30873dbe64b9c9e74f8f2c2f6c40124aaa8d1780d18512b540add28b3e9581971a4170dd868cf5f31e44712b2c23bb51037d7ef9f87a6e5bdb35e2ceb6bb022636c17a56a96bc7a50258c0bd2ed7b31555a18452e17321a0d52838c82f63f742d74ff79586a5cbb7faf7198a84bcf744310e9e927597f00a23dd00660800c2238d90b2fb372dfdbba75bd852e" />
+
+</resources>
diff --git a/configs/nfcee_access_debug.xml b/configs/nfcee_access_debug.xml
new file mode 100644
index 0000000..a96a2d1
--- /dev/null
+++ b/configs/nfcee_access_debug.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- Applications granted NFCEE access on userdebug/eng builds
+
+ See packages/apps/Nfc/etc/sample_nfcee_access.xml for full documentation.
+ -->
+
+ <!-- Google Wallet dev signature -->
+ <signer android:signature="3082044c30820334a003020102020900de7695041d7650c0300d06092a864886f70d01010505003077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e4643301e170d3131303332343031303332345a170d3338303830393031303332345a3077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e464330820120300d06092a864886f70d01010105000382010d00308201080282010100e6ff3defe92aa10d71eb0fa6408bc036b7e243eeed68a6a4763dc7a52a31757cdac61fe510bb73c716e4000104265b347fcecef4c42bf1e1379dd0a876f028227fbbc1f9bdd5d713b2f6a935a379d2cba9c96f92d2d0787c11f1eb19548008a6a072b34b91836cfa0ae1276780e9007530166986a11c9cef46cef7c704806dde9431fb60284d120ab0e7de1d633f07687d468c51139afffdc6bc9a207ca904b8be1da0aa7b4e97756f43606488be5cae3c68e8bb7942cdf51607c930a2fcda655b75d0759cba89ad06e739bd0ba29b1f404296c2c0a85a847f5ab0d067c6c3ec9c49212042ac63a7e53b546c65b46080b4e3e680e23e1f77cfe7f6de744b1a65020103a381dc3081d9301d0603551d0e04160414a2e89064b05d08865c34db930a9d840050117aec3081a90603551d230481a130819e8014a2e89064b05d08865c34db930a9d840050117aeca17ba4793077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e4643820900de7695041d7650c0300c0603551d13040530030101ff300d06092a864886f70d010105050003820101003771870ce87c3c52ea84899230c6e962d94b4d5f1293c25d88261541fd90b5555d1285cef3b8312c3f5df691a8aae04cb981b305e427fd1d2d9e1987e1d29078f13c8452990f1821980263d8d4bd36519348d8d8ba26d8b99fbf09f5fd3ebb0ea3c2f0c9376f1e1fca76f3a6a405429d081b752a7a90b756e9ab44da41abc8e1e8f88ac2758da743fb73e650719a57840ccb6b7add21b99fc681e456e1872c223d5c074adf55f6abda268c2d8b64ea0a8845eecd968f92b493127e75c753c3ff30cbc678b51c9f52961472f17da20a0dc6274aa2463434c1a9b614df697d8ff5ca8101e7a25c7db3fb055d65569c04b01d389cabba57b3a1703ec2e74a88d334" />
+
+ <!-- Google wallet release signature -->
+ <signer android:signature="3082044c30820334a003020102020900a8cd17c93da5d990300d06092a864886f70d01010505003077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e4643301e170d3131303332343031303635335a170d3338303830393031303635335a3077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e464330820120300d06092a864886f70d01010105000382010d00308201080282010100c30f88add9b492096a2c586a5a9a80356bfa026958f8ff0c5dfaf59f49268ad870dee821a53e1f5b170fc96245a3c982a7cb4527053be35e34f396d24b2291ec0c528d6e26927465e06875ea621f7ff98c40e3345b204907cc9354743acdaace65565f48ba74cd4121cdc876df3522badb095c20d934c56a3e5c393ee5f0e02f8fe0621f918d1f35a82489252c6fa6b63392a7686b3e48612d06a9cf6f49bff11d5d96289c9dfe14ac5762439697dd29eafdb9810de3263513a905ac8e8eaf20907e46750a5ab7bf9a77262f47b03f5a3c6e6d7b51343f69c7f725f70bcc1b4ad592250b705a86e6e83ee2ae37fe5701bcbdb26feefdfff60f6a5bdfb5b64793020103a381dc3081d9301d0603551d0e041604141ccece0eea4dc1121fc7515f0d0a0c72e08cc96d3081a90603551d230481a130819e80141ccece0eea4dc1121fc7515f0d0a0c72e08cc96da17ba4793077310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e205669657731143012060355040a130b476f6f676c6520496e632e3110300e060355040b1307416e64726f6964311330110603550403130a476f6f676c65204e4643820900a8cd17c93da5d990300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100a470c728e1d31b06d9af6ae768b565046c57806b9843724931d75d4ca10c321520d33ccfed2aa65462234c9ef9b6f910cc676b99cb7f9895d6c06763574fbb78331275dc5cf38fbaa918d7938c051ffba2ade8f303cde8d9e68a048d1fdb9e7c9f2a49b222c68fff422bf15569b85eeeedb04aa30873dbe64b9c9e74f8f2c2f6c40124aaa8d1780d18512b540add28b3e9581971a4170dd868cf5f31e44712b2c23bb51037d7ef9f87a6e5bdb35e2ceb6bb022636c17a56a96bc7a50258c0bd2ed7b31555a18452e17321a0d52838c82f63f742d74ff79586a5cbb7faf7198a84bcf744310e9e927597f00a23dd00660800c2238d90b2fb372dfdbba75bd852e" />
+
+ <!-- Platform dev-keys signature -->
+ <signer android:signature="308204a830820390a003020102020900bcdfe81405d5c69e300d06092a864886f70d0101050500308194310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e20566965773110300e060355040a1307416e64726f69643110300e060355040b1307416e64726f69643110300e06035504031307416e64726f69643122302006092a864886f70d0109011613616e64726f696440616e64726f69642e636f6d301e170d3131303931393230303634325a170d3339303230343230303634325a308194310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e20566965773110300e060355040a1307416e64726f69643110300e060355040b1307416e64726f69643110300e06035504031307416e64726f69643122302006092a864886f70d0109011613616e64726f696440616e64726f69642e636f6d30820120300d06092a864886f70d01010105000382010d00308201080282010100ef7a8a34d8151d0479a239903261fe5026c520d5d88cd65920c98e096d2770f49636da9ffc4e80c472b05bd62a435f8266912aa2a34a18f6f4856f9ef52c10b88c267627136726823e8f3389b051ba92920e10bbaae0e38879efbe681b05863b655d81a6f3b75a85eb230b38b23ea4ef56f2161ff01652ae2049881adbe60d3bf8b5386a81f7404c0cf0c111c0a35ab0a9760426e4af12add73327ec433e047e3517f47a2d3674c2b819354d56eb7fd6c9aa67dd05b4bb1ca8a7e1946c2494e9364ea677a25481ac81f434bff3dd56e93e59fccef0e24a753461cd1cf15f22b62251d07416057ac5ca3e03a24f7f4eca876bacc5a1828acbde04c5cfdb608c47020103a381fc3081f9301d0603551d0e0416041402f997668541fa74693bea699a5766893a362a5d3081c90603551d230481c13081be801402f997668541fa74693bea699a5766893a362a5da1819aa48197308194310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d4d6f756e7461696e20566965773110300e060355040a1307416e64726f69643110300e060355040b1307416e64726f69643110300e06035504031307416e64726f69643122302006092a864886f70d0109011613616e64726f696440616e64726f69642e636f6d820900bcdfe81405d5c69e300c0603551d13040530030101ff300d06092a864886f70d0101050500038201010047d6fb32cadeae4444c379b3441ff9ba10990c23d10472c54fb7ebd9c33b2a173836337e1c175c980847a8894f6a99782e9c2e2133629254295fe52749f93ec1e39d213dd06d0ba99de3b6b5d4d856fafe74e08113b7b23a1b56f4918ed41218a03b9564456480b665200267d3770a9463db413c6a47bd81d725cb7d39c9d0941693c59cbe727d40415f0815c3c8363fb8fa2e028ceeb3bbfbc6b119db5b72f0edb0bb417bfcbf74d9fa069de22afe56a50bcde7ea1078749bb9ec0adc0e6de045641ee3a82c576645160b4ab9710d3cb3201f23957da8de9084c0bec93ad1c8c2054195f13c926db07c8bdf15673acf6d791ec1d3a0d7e1b3470447acd95873" />
+
+</resources>
diff --git a/configs/tiny_hw.xml b/configs/tiny_hw.xml
new file mode 100644
index 0000000..365f5d1
--- /dev/null
+++ b/configs/tiny_hw.xml
@@ -0,0 +1,353 @@
+<!-- TinyHAL configuration file for Samsung Galaxy S III -->
+<tinyhal>
+<!--
+We are able to have most of our routing static so do that
+-->
+<path>
+ <!-- don't change adc&dac source of AIF -->
+ <ctl name="AIF2DACL Source" val="0"/>
+ <ctl name="AIF2DACR Source" val="0"/>
+ <ctl name="AIF2ADCL Source" val="0"/>
+ <ctl name="AIF2ADCR Source" val="1"/>
+
+ <!-- AIF1->DAC1 -->
+ <ctl name="DAC1 Switch" val="1"/>
+
+ <ctl name="IN1L ZC Switch" val="0"/>
+ <ctl name="IN1R ZC Switch" val="0"/>
+ <ctl name="IN2L ZC Switch" val="0"/>
+ <ctl name="IN2R ZC Switch" val="0"/>
+ <ctl name="Output ZC Switch" val="0"/>
+ <ctl name="Speaker ZC Switch" val="0"/>
+ <ctl name="Headphone ZC Switch" val="0"/>
+
+ <!-- AIF1->DAC1 -->
+ <ctl name="DAC1L Mixer AIF1.1 Switch" val="1"/>
+ <ctl name="DAC1R Mixer AIF1.1 Switch" val="1"/>
+ <ctl name="DAC1 Switch" val="1"/>
+
+ <!-- ADC->AIF2 -->
+ <ctl name="AIF2DAC2L Mixer Left Sidetone Switch" val="1"/>
+ <ctl name="AIF2DAC2L Mixer Right Sidetone Switch" val="0"/>
+ <ctl name="AIF2DAC2R Mixer Left Sidetone Switch" val="0"/>
+ <ctl name="AIF2DAC2R Mixer Right Sidetone Switch" val="1"/>
+ <ctl name="DAC2 Left Sidetone Volume" val="12"/>
+ <ctl name="DAC2 Right Sidetone Volume" val="12"/>
+ <ctl name="DAC2 Switch" val="1"/>
+
+ <!-- DAC1->HP -->
+ <ctl name="Left Headphone Mux" val="Mixer"/>
+ <ctl name="Right Headphone Mux" val="Mixer"/>
+
+ <!-- DAC1->SPKL/R->SPKL/R Boost->SPK -->
+ <ctl name="SPKL DAC1 Switch" val="1"/>
+ <ctl name="SPKR DAC1 Switch" val="1"/>
+ <ctl name="SPKL Boost SPKL Switch" val="1"/>
+ <ctl name="SPKL Boost SPKR Switch" val="1"/>
+ <ctl name="SPKR Boost SPKL Switch" val="0"/>
+ <ctl name="SPKR Boost SPKR Switch" val="0"/>
+ <ctl name="Speaker Mixer Volume" val="3"/>
+
+ <!-- DAC->Output mixer->Earpiece -->
+ <ctl name="Left Output Mixer DAC Switch" val="1"/>
+ <ctl name="Right Output Mixer DAC Switch" val="1"/>
+ <ctl name="Earpiece Mixer Left Output Switch" val="1"/>
+ <ctl name="Earpiece Mixer Right Output Switch" val="1"/>
+ <ctl name="Earpiece Switch" val="1"/>
+
+ <!-- LINEOUT -->
+ <ctl name="LINEOUT2N Mixer Left Output Switch" val="1"/>
+ <ctl name="LINEOUT2P Mixer Right Output Switch" val="1"/>
+ <ctl name="LINEOUT1N Mixer Right Output Switch" val="1"/>
+ <ctl name="LINEOUT1P Mixer Left Output Switch" val="1"/>
+
+ <!-- Input mixer->ADC->AIF1.1 -->
+ <ctl name="AIF1ADC1L Mixer ADC/DMIC Switch" val="1"/>
+ <ctl name="AIF1ADC1R Mixer ADC/DMIC Switch" val="1"/>
+
+ <!-- Main Mic->IN1LP/N->Input Mixer with +30dB at mixer -->
+ <ctl name="IN1L PGA IN1LP Switch" val="1"/>
+ <ctl name="IN1L PGA IN1LN Switch" val="1"/>
+ <ctl name="MIXINL IN1L Volume" val="1"/>
+ <ctl name="IN1L Switch" val="1"/>
+
+ <!-- Sub Mic->IN1RP/N->Input Mixer with +30dB at mixer -->
+ <ctl name="IN1R PGA IN1RP Switch" val="1"/>
+ <ctl name="IN1R PGA IN1RN Switch" val="1"/>
+ <ctl name="MIXINR IN1R Volume" val="1"/>
+ <ctl name="IN1R Switch" val="1"/>
+
+ <!-- FM Radio->IN2RP/N->Input Mixer with +30dB at mixer -->
+ <ctl name="IN2R PGA IN2RP Switch" val="1"/>
+ <ctl name="IN2R PGA IN2RN Switch" val="1"/>
+ <ctl name="MIXINR IN2R Volume" val="1"/>
+ <ctl name="IN2R Switch" val="1"/>
+
+ <!-- Ear Mic->IN2LP/N->Input Mixer with +30dB at mixer -->
+ <ctl name="IN2L PGA IN2LP Switch" val="1"/>
+ <ctl name="IN2L PGA IN2LN Switch" val="1"/>
+ <ctl name="MIXINL IN2L Volume" val="1"/>
+ <ctl name="IN2L Switch" val="1"/>
+
+ <!-- Input mixer->ADC->AIF1 -->
+ <ctl name="AIF1ADC1L Mixer ADC/DMIC Switch" val="1"/>
+ <ctl name="AIF1ADC1R Mixer ADC/DMIC Switch" val="1"/>
+ <ctl name="ADCL Mux" val="ADC"/>
+
+ <!-- HPF on to take out some bounce -->
+ <ctl name="Sidetone HPF Switch" val="0"/>
+
+ <!-- Work around core issue -->
+ <ctl name="ADCL Mux" val="DMIC"/>
+ <ctl name="ADCL Mux" val="ADC"/>
+ <ctl name="ADCR Mux" val="DMIC"/>
+ <ctl name="ADCR Mux" val="ADC"/>
+
+ <!-- AIF2ADCDAT to AIF3ADC mux -->
+ <ctl name="AIF3ADC Mux" val="1"/>
+
+ <!-- Default all outputs off -->
+ <ctl name="HP Switch" val="0"/>
+ <ctl name="SPK Switch" val="0"/>
+ <ctl name="RCV Switch" val="0"/>
+ <ctl name="LINE Switch" val="0"/>
+ <ctl name="HDMI Switch" val="0"/>
+
+ <!-- Default all inputs off -->
+ <ctl name="Main Mic Switch" val="0"/>
+ <ctl name="Sub Mic Switch" val="0"/>
+ <ctl name="Headset Mic Switch" val="0"/>
+ <ctl name="FM In Switch" val="0"/>
+
+</path>
+<device name="speaker">
+ <path name="on">
+ <ctl name="SPK Switch" val="1"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="Left Output Mixer DAC Volume" val="7"/>
+ <ctl name="Right Output Mixer DAC Volume" val="7"/>
+ <ctl name="SPKL DAC1 Volume" val="1"/>
+ <ctl name="SPKR DAC1 Volume" val="1"/>
+ <ctl name="Speaker Mixer Volume" val="3"/>
+ <ctl name="Speaker Boost Volume" val="4"/>
+ <ctl name="Speaker Volume" val="57"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="1"/>
+ <ctl name="AIF1DAC1 EQ1 Volume" val="9"/>
+ <ctl name="AIF1DAC1 EQ2 Volume" val="7"/>
+ <ctl name="AIF1DAC1 EQ3 Volume" val="10"/>
+ <ctl name="AIF1DAC1 EQ4 Volume" val="13"/>
+ <ctl name="AIF1DAC1 EQ5 Volume" val="12"/>
+ </path>
+ <path name="off">
+ <ctl name="SPK Switch" val="0"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="SPKL DAC1 Volume" val="1"/>
+ <ctl name="SPKR DAC1 Volume" val="1"/>
+ <ctl name="Speaker Mixer Volume" val="0"/>
+ <ctl name="Speaker Volume" val="0"/>
+ <ctl name="Speaker Boost Volume" val="0"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="0"/>
+ </path>
+</device>
+<device name="earpiece">
+ <path name="on">
+ <ctl name="RCV Switch" val="1"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="Left Output Mixer DAC Volume" val="7"/>
+ <ctl name="Right Output Mixer DAC Volume" val="7"/>
+ <ctl name="Output Volume" val="57"/>
+ <ctl name="Earpiece Volume" val="1"/>
+ <ctl name="Speaker Mixer Volume" val="1"/>
+ </path>
+ <path name="off">
+ <ctl name="RCV Switch" val="0"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="Left Output Mixer DAC Volume" val="7"/>
+ <ctl name="Right Output Mixer DAC Volume" val="7"/>
+ <ctl name="Output Volume" val="57"/>
+ <ctl name="Earpiece Volume" val="1"/>
+ </path>
+</device>
+<device name="headphone">
+ <path name="on">
+ <ctl name="HP Switch" val="1"/>
+ <ctl name="Headphone Volume" val="50"/>
+ <ctl name="Headphone ZC Switch" val="0"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="Left Output Mixer DAC Volume" val="7"/>
+ <ctl name="Right Output Mixer DAC Volume" val="7"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="1"/>
+ <ctl name="AIF1DAC1 EQ1 Volume" val="16"/>
+ <ctl name="AIF1DAC1 EQ2 Volume" val="14"/>
+ <ctl name="AIF1DAC1 EQ3 Volume" val="12"/>
+ <ctl name="AIF1DAC1 EQ4 Volume" val="14"/>
+ <ctl name="AIF1DAC1 EQ5 Volume" val="16"/>
+ </path>
+ <path name="off">
+ <ctl name="HP Switch" val="0"/>
+ <ctl name="AIF1DAC1 EQ Switch" val="0"/>
+ </path>
+</device>
+<device name="sco-out">
+ <path name="on">
+ <ctl name="AIF3ADC Mux" val="1"/>
+ <ctl name="AIF2DAC2L Mixer AIF1.1 Switch" val="1"/>
+ <ctl name="AIF2DAC2R Mixer AIF1.1 Switch" val="1"/>
+ <ctl name="AIF2DAC Volume" val="96"/>
+ <ctl name="DAC2 Volume" val="96"/>
+ <ctl name="AIF2ADC Volume" val="96"/>
+ <ctl name="Speaker Mixer Volume" val="1"/>
+ </path>
+ <path name="off">
+ <ctl name="AIF2DAC2L Mixer AIF1.1 Switch" val="0"/>
+ <ctl name="AIF2DAC2R Mixer AIF1.1 Switch" val="0"/>
+ <ctl name="Speaker Mixer Volume" val="1"/>
+ </path>
+</device>
+<device name="analog-dock">
+ <path name="on">
+ <ctl name="LINEOUT2N Switch" val="1"/>
+ <ctl name="LINEOUT2P Switch" val="1"/>
+ <ctl name="LINEOUT2N Mixer Left Output Switch" val="1"/>
+ <ctl name="LINEOUT2P Mixer Right Output Switch" val="1"/>
+ <ctl name="LINE Switch" val="1"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="Left Output Mixer DAC Volume" val="7"/>
+ <ctl name="Right Output Mixer DAC Volume" val="7"/>
+ <ctl name="Output Volume" val="55"/>
+ <ctl name="Earpiece Volume" val="1"/>
+ </path>
+ <path name="off">
+ <ctl name="LINEOUT2N Switch" val="0"/>
+ <ctl name="LINEOUT2P Switch" val="0"/>
+ <ctl name="LINE Switch" val="0"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="Left Output Mixer DAC Volume" val="7"/>
+ <ctl name="Right Output Mixer DAC Volume" val="7"/>
+ <ctl name="Output Volume" val="57"/>
+ <ctl name="LINEOUT2 Volume" val="1"/>
+ </path>
+</device>
+<device name="digital-dock">
+ <path name="on">
+ <ctl name="LINEOUT1N Switch" val="1"/>
+ <ctl name="LINEOUT1P Switch" val="1"/>
+ <ctl name="HDMI Switch" val="1"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ </path>
+ <path name="off">
+ <ctl name="LINEOUT1N Switch" val="1"/>
+ <ctl name="LINEOUT1P Switch" val="1"/>
+ <ctl name="HDMI Switch" val="1"/>
+ <ctl name="AIF1DAC1 Volume" val="96"/>
+ <ctl name="AIF1 Boost Volume" val="0"/>
+ <ctl name="DAC1 Volume" val="96"/>
+ <ctl name="SPKL DAC1 Volume" val="1"/>
+ <ctl name="SPKR DAC1 Volume" val="1"/>
+ <ctl name="Speaker Mixer Volume" val="0"/>
+ <ctl name="Speaker Boost Volume" val="0"/>
+ </path>
+</device>
+<device name="builtin-mic">
+ <path name="on">
+ <ctl name="Main Mic Switch" val="1"/>
+ <ctl name="MainMicBias Mode" val="1"/>
+ <ctl name="IN2L Volume" val="22"/>
+ <ctl name="MIXINL IN2L Switch" val="1"/>
+ <ctl name="MIXINL IN2L Volume" val="1"/>
+ <ctl name="AIF1ADCL Source" val="0"/>
+ <ctl name="AIF1ADC1 HPF Mode" val="0"/>
+ <ctl name="AIF1ADC1 HPF Switch" val="1"/>
+ <ctl name="AIF1ADC1 Volume" val="96"/>
+ </path>
+ <path name="off">
+ <ctl name="Main Mic Switch" val="0"/>
+ <ctl name="MainMicBias Mode" val="0"/>
+ <ctl name="MIXINL IN2L Switch" val="0"/>
+ <ctl name="MIXINL IN2L Volume" val="0"/>
+ <ctl name="IN2L Volume" val="10"/>
+ </path>
+</device>
+<device name="back-mic">
+ <path name="on">
+ <ctl name="Sub Mic Switch" val="1"/>
+ <ctl name="SubMicBias Mode" val="1"/>
+ <ctl name="IN1R Volume" val="22"/>
+ <ctl name="MIXINR IN1R Switch" val="1"/>
+ <ctl name="MIXINR IN1R Volume" val="1"/>
+ <ctl name="AIF1ADCR Source" val="1"/>
+ <ctl name="AIF1ADC1 HPF Mode" val="1"/>
+ <ctl name="AIF1ADC1 HPF Switch" val="1"/>
+ <ctl name="AIF1ADC1 Volume" val="96"/>
+ </path>
+ <path name="off">
+ <ctl name="Sub Mic Switch" val="0"/>
+ <ctl name="SubMicBias Mode" val="0"/>
+ <ctl name="MIXINR IN1R Switch" val="0"/>
+ <ctl name="IN1R Volume" val="10"/>
+ </path>
+</device>
+<device name="headset-in">
+ <path name="on">
+ <ctl name="MIXINL IN1L Switch" val="0"/>
+ <ctl name="Headset Mic Switch" val="1"/>
+ <ctl name="IN1L Volume" val="22"/>
+ <ctl name="MIXINL IN1L Switch" val="1"/>
+ <ctl name="MIXINL IN1L Volume" val="1"/>
+ <ctl name="AIF1ADC1 HPF Mode" val="1"/>
+ <ctl name="AIF1ADC1 HPF Switch" val="1"/>
+ <ctl name="AIF1ADC1 Volume" val="96"/>
+ <ctl name="AIF1ADCL Source" val="0"/>
+ <ctl name="AIF1ADCR Source" val="0"/>
+ </path>
+ <path name="off">
+ <ctl name="Headset Mic Switch" val="0"/>
+ <ctl name="IN1L Volume" val="10"/>
+ <ctl name="MIXINL IN1L Switch" val="0"/>
+ <ctl name="MIXINL IN1L Volume" val="0"/>
+ <ctl name="AIF1ADC1 HPF Mode" val="0"/>
+ <ctl name="AIF1ADC1 HPF Switch" val="0"/>
+ <ctl name="AIF1ADC1 Volume" val="96"/>
+ </path>
+</device>
+<device name="sco-in">
+ <path name="on">
+ <ctl name="AIF2ADC Mux" val="1"/>
+ <ctl name="AIF1ADC1R Mixer AIF2 Switch" val="1"/>
+ <ctl name="AIF1ADC1L Mixer AIF2 Switch" val="1"/>
+ <ctl name="AIF1ADC1 Volume" val="96"/>
+ <ctl name="AIF2DAC Volume" val="96"/>
+ </path>
+ <path name="off">
+ <ctl name="AIF2ADC Mux" val="0"/>
+ <ctl name="AIF1ADC1R Mixer AIF2 Switch" val="0"/>
+ <ctl name="AIF1ADC1L Mixer AIF2 Switch" val="0"/>
+ <ctl name="AIF1ADC1 Volume" val="96"/>
+ <ctl name="AIF2DAC Volume" val="96"/>
+ </path>
+</device>
+<device name="fmradio">
+ <path name="on">
+ <ctl name="DAC1L Mixer AIF1.1 Switch" val="1"/>
+ <ctl name="DAC1L Mixer AIF1.1 Switch" val="1"/>
+ </path>
+ <path name="off">
+ <ctl name="MIXINL Output Record Volume" val="0"/>
+ <ctl name="MIXINR Output Record Volume" val="0"/>
+ </path>
+</device>
+</tinyhal>
diff --git a/configs/tinyucm.conf b/configs/tinyucm.conf
new file mode 100644
index 0000000..725bebc
--- /dev/null
+++ b/configs/tinyucm.conf
@@ -0,0 +1,473 @@
+// Controls that can be set once at system startup. As the WM8994/WM1811
+// outputs don't conflict with each other we set up most of our routing
+// statically at system startup.
+
+//NOTICE
+//default gain & tinyucm file are in libaudio folder.
+//If you want to have vendor specific configuration files, put the files in device/*product*/
+//Use tinyucm.conf and default_gain.conf in target device
+
+// We need to do symmetric rates so fix the hardware at 44.1kHz and
+// resample.
+InputRate 44100
+OutputRate 44100
+PlaybackLink 0
+CaptureLink 3
+BasebandLink 1
+BluetoothLink 2
+
+//Modifier File
+ModifierFile "default_gain.conf"
+
+INOUT_MAP {
+ { "Earpiece", "Builtin Mic", "Back Mic" },
+ { "Speaker", "Back Mic" },
+ { "Headset Out", "Headset In" },
+ { "Headphone", "Builtin Mic" },
+ { "SCO Headset Out", "SCO Headset In" },
+ { "SCO", "SCO Headset In" },
+ { "SCO Carkit", "SCO Headset In" },
+}
+
+INPUT_CHANNEL_MAP {
+ { "Builtin Mic", "Left" },
+ { "Back Mic", "Right" },
+ { "Headset In", "Left" },
+ { "SCO Headset In", "Left" },
+}
+
+Core {
+//do not change the adc & dac source of AIF2
+ { "AIF2DACL Source", 0 },
+ { "AIF2DACR Source", 0 },
+ { "AIF2ADCL Source", 0 },
+ { "AIF2ADCR Source", 1 },
+
+//general
+ { "IN1L ZC Switch", 0 },
+ { "IN1R ZC Switch", 0 },
+ { "IN2L ZC Switch", 0 },
+ { "IN2R ZC Switch", 0 },
+ { "Output ZC Switch", 0 },
+ { "Speaker ZC Switch", 0 },
+ { "Headphone ZC Switch", 0 },
+
+// AIF1->DAC1
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "DAC1 Switch", 1 },
+
+// AIF2->DAC1
+// { "DAC1L Mixer AIF2 Switch", 1 },
+// { "DAC1R Mixer AIF2 Switch", 1 },
+
+// ADC->AIF2
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "AIF2DAC2R Mixer Left Sidetone Switch", 0 },
+ { "AIF2DAC2R Mixer Right Sidetone Switch", 1 },
+ { "DAC2 Left Sidetone Volume", 12 },
+ { "DAC2 Right Sidetone Volume", 12 },
+ { "DAC2 Switch", 1 },
+
+// DAC1->HP
+ { "Left Headphone Mux", "Mixer" },
+ { "Right Headphone Mux", "Mixer" },
+
+// DAC1->SPKL/R->SPKL/R Boost->SPK
+ { "SPKL DAC1 Switch", 1 },
+ { "SPKR DAC1 Switch", 1 },
+ { "SPKL Boost SPKL Switch", 1 },
+ { "SPKL Boost SPKR Switch", 1 },
+ { "SPKR Boost SPKL Switch", 0 },
+ { "SPKR Boost SPKR Switch", 0 },
+ { "Speaker Mixer Volume", 3 },
+
+// DAC->Output mixer->Earpiece
+ { "Left Output Mixer DAC Switch", 1 },
+ { "Right Output Mixer DAC Switch", 1 },
+ { "Earpiece Mixer Left Output Switch", 1 },
+ { "Earpiece Mixer Right Output Switch", 1 },
+ { "Earpiece Switch", 1 },
+
+// LINEOUT
+ { "LINEOUT2N Mixer Left Output Switch", 1 },
+ { "LINEOUT2P Mixer Right Output Switch", 1 },
+ { "LINEOUT1N Mixer Right Output Switch", 1 },
+ { "LINEOUT1P Mixer Left Output Switch", 1 },
+
+// Input mixer->ADC->AIF1.1
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+
+// Main Mic->IN1LP/N->Input Mixer with +30dB at mixer
+ { "IN1L PGA IN1LP Switch", 1 },
+ { "IN1L PGA IN1LN Switch", 1 },
+ { "MIXINL IN1L Volume", 1 },
+ { "IN1L Switch", 1 },
+
+// Sub Mic->IN1RP/N->Input Mixer with +30dB at mixer
+ { "IN1R PGA IN1RP Switch", 1 },
+ { "IN1R PGA IN1RN Switch", 1 },
+ { "MIXINR IN1R Volume", 1 },
+ { "IN1R Switch", 1 },
+
+// FM Radio->IN2RP/N->Input Mixer with +30dB at mixer
+ { "IN2R PGA IN2RP Switch", 1 },
+ { "IN2R PGA IN2RN Switch", 1 },
+ { "MIXINR IN2R Volume", 1 },
+ { "IN2R Switch", 1 },
+
+// Ear Mic->IN2LP/N->Input Mixer with +30dB at mixer
+ { "IN2L PGA IN2LP Switch", 1 },
+ { "IN2L PGA IN2LN Switch", 1 },
+ { "MIXINL IN2L Volume", 1 },
+ { "IN2L Switch", 1 },
+
+// Input mixer->ADC->AIF1
+ { "AIF1ADC1L Mixer ADC/DMIC Switch", 1 },
+ { "AIF1ADC1R Mixer ADC/DMIC Switch", 1 },
+ { "ADCL Mux", "ADC" },
+
+// HPF on to take out some bounce
+// { "AIF1ADC1 HPF Switch", 1 },
+ { "Sidetone HPF Switch", 0 },
+
+// Work around core issue
+ { "ADCL Mux", "DMIC" },
+ { "ADCL Mux", "ADC" },
+ { "ADCR Mux", "DMIC" },
+ { "ADCR Mux", "ADC" },
+
+//AIF2ADCDAT to AIF3ADC mux
+ { "AIF3ADC Mux", 1 },
+
+// Default all outputs off
+ { "HP Switch", 0 },
+ { "SPK Switch", 0 },
+ { "RCV Switch", 0 },
+ { "LINE Switch", 0 },
+ { "HDMI Switch", 0 },
+
+// Default all inputs off
+ { "Main Mic Switch", 0 },
+ { "Sub Mic Switch", 0 },
+ { "Headset Mic Switch", 0 },
+ { "FM In Switch", 0 },
+}
+
+// Default configuration for a specific output
+// Should really add aliasing; headset and headphone are the same thing
+// and we should refcount appropriately (ditto for speaker/earpiece on
+// some low end devices)
+Device "Earpiece" {
+ Enable {
+ { "RCV Switch", 1 },
+ }
+ Disable {
+ { "RCV Switch", 0 },
+ }
+}
+
+Device "Speaker" {
+ Enable {
+ { "SPK Switch", 1 },
+ }
+ Disable {
+ { "SPK Switch", 0 },
+ }
+}
+
+Device "Headset Out" {
+ Enable {
+ { "HP Switch", 1 },
+ }
+ Disable {
+ { "HP Switch", 0 },
+ }
+ SharedDevice "Headphone"
+}
+
+Device "Headphone" {
+ Enable {
+ { "HP Switch", 1 },
+ }
+ Disable {
+ { "HP Switch", 0 },
+ }
+ SharedDevice "Headset Out"
+}
+
+Device "SCO Headset Out" {
+ Enable {
+ { "AIF3ADC Mux", 1 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Device "SCO" {
+ Enable {
+ { "AIF3ADC Mux", 1 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Device "SCO Carkit" {
+ Enable {
+ { "AIF3ADC Mux", 1 },
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+ { "AIF2DAC2L Mixer AIF1.1 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Device "Analogue Dock Out" {
+ Enable {
+ { "LINEOUT2N Switch", 1 },
+ { "LINEOUT2P Switch", 1 },
+ { "LINEOUT2N Mixer Left Output Switch", 1 },
+ { "LINEOUT2N Mixer Right Output Switch", 0 },
+ { "LINEOUT2P Mixer Right Output Switch", 1 },
+ { "LINE Switch", 1 },
+ { "LineoutSwitch Mode", 1 },
+ }
+ Disable {
+ { "LineoutSwitch Mode", 0 },
+ { "LINEOUT2N Switch", 0 },
+ { "LINEOUT2P Switch", 0 },
+ { "LINE Switch", 0 },
+ }
+}
+
+Device "AUX Digital Out" {
+ Enable {
+ { "LINEOUT1N Switch", 1 },
+ { "LINEOUT1P Switch", 1 },
+ { "HDMI Switch", 1 },
+ }
+ Disable {
+ { "LINEOUT1N Switch", 0 },
+ { "LINEOUT1P Switch", 0 },
+ { "HDMI Switch", 0 },
+ }
+}
+
+Device "Builtin Mic" {
+ Enable {
+ { "Main Mic Switch", 1 },
+ { "MainMicBias Mode", 1 },
+ { "AIF1ADCL Source", 0 },
+ { "MIXINL IN2L Switch", 1 },
+ }
+ Disable {
+ { "Main Mic Switch", 0 },
+ { "MIXINL IN2L Switch", 0 },
+ { "MainMicBias Mode", 0 },
+ }
+}
+
+Device "Back Mic" {
+ Enable {
+ { "Sub Mic Switch", 1 },
+ { "SubMicBias Mode", 1 },
+ { "AIF1ADCR Source", 1 },
+ { "MIXINR IN1R Switch", 1 },
+ }
+ Disable {
+ { "Sub Mic Switch", 0 },
+ { "MIXINR IN1R Switch", 0 },
+ { "SubMicBias Mode", 0 },
+ }
+}
+
+Device "Headset In" {
+ Enable {
+ { "Headset Mic Switch", 1 },
+ { "AIF1ADCL Source", 0 },
+ { "AIF1ADCR Source", 0 },
+ { "MIXINL IN1L Switch", 1 },
+ }
+ Disable {
+ { "Headset Mic Switch", 0 },
+ { "MIXINL IN1L Switch", 0 },
+ }
+}
+
+Device "SCO Headset In" {
+ Enable {
+ { "AIF2ADC Mux", 1 },
+ { "AIF1ADCL Source", 0 },
+ { "AIF1ADCR Source", 1 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 1 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 1 },
+ }
+ Disable {
+ { "AIF2ADC Mux", 0 },
+ { "AIF1ADC1R Mixer AIF2 Switch", 0 },
+ { "AIF1ADC1L Mixer AIF2 Switch", 0 },
+ }
+}
+
+Device "FMRadio In" {
+ Enable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+ { "MIXINL Output Record Volume", 0 },
+ { "MIXINR Output Record Volume", 0 },
+ }
+}
+
+#Verb Stage
+#Currently just using normal and voicecall
+#Normal, Voicecall
+Verb "Normal" {
+ Enable {
+ { "AIF2 Mode", 1 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC Mux", "AIF3DACDAT" },
+ { "AIF2DAC2L Mixer AIF2 Switch", 0 },
+ { "AIF2DAC2R Mixer AIF2 Switch", 0 },
+ }
+ Disable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+}
+
+Verb "Ringtone" {
+ Enable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+// { "HP Output Mode", 0 },
+// { "DAC1L Mixer AIF1.1 Switch", 0 },
+// { "DAC1R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Verb "Communication" {
+ Enable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ }
+ Disable {
+// { "HP Output Mode", 0 },
+// { "DAC1L Mixer AIF1.1 Switch", 0 },
+// { "DAC1R Mixer AIF1.1 Switch", 0 },
+ }
+}
+
+Verb "Voicecall" {
+ Enable {
+ { "AIF2 Mode", 0 },
+ { "MainMicBias Mode", 3 },
+ { "SubMicBias Mode", 3 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "DAC1L Mixer AIF2 Switch", 1 },
+ { "DAC1R Mixer AIF2 Switch", 1 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+ Disable {
+ { "AIF2 Mode", 0 },
+ { "DAC1L Mixer AIF2 Switch", 0 },
+ { "DAC1R Mixer AIF2 Switch", 0 },
+ { "AIF2DAC Mux", "AIF3DACDAT" },
+ { "MainMicBias Mode", 2 },
+ { "SubMicBias Mode", 2 },
+ }
+}
+
+Verb "FMRadio" {
+ Enable {
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "SPKR Output Switch", 1},
+ { "FM In Switch", 1 },
+ }
+ Disable {
+ { "Input Clamp", 1 },
+ { "IN2R Switch", 0}
+ { "MIXINR IN2R Switch", 0}
+ { "Right Output Mixer IN2RP Switch", 0},
+ { "Left Output Mixer IN2RN Switch", 0},
+ { "Right Output Mixer Right Input Switch", 0 },
+ { "SPKR Output Switch", 0},
+ { "FM In Switch", 0 },
+ { "Input Clamp", 0 },
+ }
+}
+
+Verb "Loopback" {
+ Enable {
+ { "AIF2 Mode", 0 },
+ { "MainMicBias Mode", 1 },
+ { "SubMicBias Mode", 1 },
+ { "DAC1L Mixer AIF1.1 Switch", 1 },
+ { "DAC1R Mixer AIF1.1 Switch", 1 },
+ { "DAC1L Mixer AIF2 Switch", 1 },
+ { "DAC1R Mixer AIF2 Switch", 1 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ }
+ Disable {
+ { "AIF2DAC2L Mixer Left Sidetone Switch", 1 },
+ { "AIF2DAC2L Mixer Right Sidetone Switch", 0 },
+ { "DAC1L Mixer AIF2 Switch", 0 },
+ { "DAC1R Mixer AIF2 Switch", 0 },
+ { "AIF2DAC Mux", "AIF2DACDAT" },
+ { "MainMicBias Mode", 0 },
+ { "SubMicBias Mode", 0 },
+ }
+}
+
+ChannelSource "Left" {
+ Enable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Left" },
+ }
+ Disable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+}
+
+ChannelSource "Right" {
+ Enable {
+ { "AIF1ADCL Source", "Right" },
+ { "AIF1ADCR Source", "Right" },
+ }
+ Disable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+}
+
+ChannelSource "Stereo" {
+ Enable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+ Disable {
+ { "AIF1ADCL Source", "Left" },
+ { "AIF1ADCR Source", "Right" },
+ }
+}
+
diff --git a/device_t0lte.mk b/device_t0lte.mk
deleted file mode 100644
index 1d6233d..0000000
--- a/device_t0lte.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
-
-# The gps config appropriate for this device
-$(call inherit-product, device/common/gps/gps_us_supl.mk)
-
-$(call inherit-product-if-exists, vendor/samsung/t0lte/t0lte-vendor.mk)
-
-DEVICE_PACKAGE_OVERLAYS += device/samsung/t0lte/overlay
-
-LOCAL_PATH := device/samsung/t0lte
-ifeq ($(TARGET_PREBUILT_KERNEL),)
- LOCAL_KERNEL := $(LOCAL_PATH)/kernel
-else
- LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
-endif
-
-PRODUCT_COPY_FILES += \
- $(LOCAL_KERNEL):kernel
-
-$(call inherit-product, build/target/product/full.mk)
-
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
-PRODUCT_NAME := full_t0lte
-PRODUCT_DEVICE := t0lte
diff --git a/extract-files.sh b/extract-files.sh
new file mode 100755
index 0000000..6251bd8
--- /dev/null
+++ b/extract-files.sh
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# 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.
+
+# This file is generated by device/common/generate-blob-scripts.sh - DO NOT EDIT
+
+VENDOR=samsung
+DEVICE=t0lte
+
+mkdir -p ../../../vendor/$VENDOR/$DEVICE/proprietary
+
+adb root
+adb wait-for-device
+
+echo "Pulling proprietary files..."
+for FILE in `cat proprietary-files.txt | grep -v ^# | grep -v ^$`; do
+ DIR=`dirname $FILE`
+ if [ ! -d ../../../vendor/$VENDOR/$DEVICE/proprietary/$DIR ]; then
+ mkdir -p ../../../vendor/$VENDOR/$DEVICE/proprietary/$DIR
+ fi
+ adb pull /$FILE ../../../vendor/$VENDOR/$DEVICE/proprietary/$FILE
+done
+
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$DEVICE/t0lte-vendor-blobs.mk
+# 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.
+
+LOCAL_PATH := vendor/__VENDOR__/__DEVICE__
+
+PRODUCT_COPY_FILES += \\
+EOF
+
+LINEEND=" \\"
+COUNT=`cat proprietary-files.txt | grep -v ^# | grep -v ^$ | wc -l | awk {'print $1'}`
+for FILE in `cat proprietary-files.txt | grep -v ^# | grep -v ^$`; do
+ COUNT=`expr $COUNT - 1`
+ if [ $COUNT = "0" ]; then
+ LINEEND=""
+ fi
+ echo " \$(LOCAL_PATH)/proprietary/$FILE:$FILE$LINEEND" >> ../../../vendor/$VENDOR/$DEVICE/t0lte-vendor-blobs.mk
+done
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$DEVICE/t0lte-vendor.mk
+# 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.
+
+# Pick up overlay for features that depend on non-open-source files
+DEVICE_PACKAGE_OVERLAYS += vendor/__VENDOR__/__DEVICE__/overlay
+
+\$(call inherit-product, vendor/__VENDOR__/__DEVICE__/__DEVICE__-vendor-blobs.mk)
+EOF
+
+(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$DEVICE/BoardConfigVendor.mk
+# 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.
+
+EOF
+
diff --git a/full_t0lte.mk b/full_t0lte.mk
new file mode 100644
index 0000000..c598bc3
--- /dev/null
+++ b/full_t0lte.mk
@@ -0,0 +1,35 @@
+# 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.
+
+#
+# This file is the build configuration for a full Android
+# build for toro hardware. This cleanly combines a set of
+# device-specific aspects (drivers) with a device-agnostic
+# product configuration (apps). Except for a few implementation
+# details, it only fundamentally contains two inherit-product
+# lines, full and toro, hence its name.
+#
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
+# This is where we'd set a backup provider if we had one
+#$(call inherit-product, device/sample/products/backup_overlay.mk)
+$(call inherit-product, device/samsung/t0lte/t0lte.mk)
+
+# Discard inherited values and use our own instead.
+PRODUCT_NAME := full_t0lte
+PRODUCT_DEVICE := t0lte
+PRODUCT_BRAND := samsung
+PRODUCT_MANUFACTURER := samsung
+PRODUCT_MODEL := GT-N7105
diff --git a/kernel b/kernel
deleted file mode 100644
index 2ae38c8..0000000
--- a/kernel
+++ /dev/null
Binary files differ
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..d5f7ac3
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+
+ <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
+ autodetected from the Configuration. -->
+ <bool name="config_showNavigationBar">false</bool>
+
+ <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
+ Please don't copy them, copy anything else. -->
+
+ <!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
+ [associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
+ <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
+ before automatically restore the default connection. Set -1 if the connection
+ does not require auto-restore. -->
+ <!-- the 6th element indicates boot-time dependency-met value. -->
+ <string-array translatable="false" 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,3,60000,true"</item>
+ <item>"mobile_hipri,5,0,3,60000,true"</item>
+ <item>"mobile_bluetooth,7,7,1,-1,true"</item>
+ <item>"wifi_p2p,13,1,0,-1,true"</item>
+ </string-array>
+
+ <!-- An Array of "[ConnectivityManager connectionType],
+ [# simultaneous connection types]" -->
+ <string-array translatable="false" name="radioAttributes">
+ <item>"1,1"</item>
+ <item>"0,1"</item>
+ <item>"7,1"</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>"rndis0"</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>5</item>
+ <item>7</item>
+ </integer-array>
+
+ <!-- The default iface on which to monitor data use -->
+ <string name="config_datause_iface">pdp0</string>
+
+ <!-- Is the notification LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveNotificationLed">true</bool>
+
+ <!-- Is the battery LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveBatteryLed">true</bool>
+
+ <!-- Does the battery LED support multiple colors? Used to decide if the user can change the colors -->
+ <bool name="config_multiColorBatteryLed">true</bool>
+
+ <!-- Default color for notification LED is white. -->
+ <color name="config_defaultNotificationColor">#ffffffff</color>
+
+ <!-- Default LED on time for notification LED in milliseconds. -->
+ <integer name="config_defaultNotificationLedOn">1000</integer>
+
+ <!-- Default LED off time for notification LED in milliseconds. -->
+ <integer name="config_defaultNotificationLedOff">9000</integer>
+
+ <!-- Allow the menu hard key to be disabled in LockScreen on some devices -->
+ <bool name="config_disableMenuKeyInLockScreen">true</bool>
+
+ <!-- Disable the home key unlock setting -->
+ <bool name="config_disableHomeUnlockSetting">false</bool>
+
+ <!-- Workaround for devices with broken keyboards -->
+ <bool name="config_forceDisableHardwareKeyboard">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
+ For example, a device with Home, Back and Menu keys would set this
+ config to 7. -->
+ <integer name="config_deviceHardwareKeys">7</integer>
+
+ <!-- Boolean to enable stk functionality on Samsung phones -->
+ <bool name="config_samsung_stk">true</bool>
+
+ <!-- Set additional audio parameters for incall audio
+ Usage: parameter=onstring=offstring
+ Examples: <item>realcall=on=off</item> <item>dualmic_enabled=true=false</item> <item>mic_boost=yes=no</item> -->
+ <string-array name="config_telephony_set_audioparameters" translatable="false">
+ <item>realcall=on=on</item>
+ </string-array>
+
+</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..3501baa
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 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.
+*/
+-->
+
+<device name="Android">
+ <!-- All values are in mAh except as noted -->
+ <item name="none">0</item>
+ <item name="screen.on">71</item>
+ <item name="bluetooth.active">17</item>
+ <item name="bluetooth.on">0.3</item>
+ <item name="bluetooth.at">35690</item>
+ <item name="screen.full">380</item>
+ <item name="wifi.on">0.3</item>
+ <item name="wifi.active">96</item>
+ <item name="wifi.scan">70</item>
+ <item name="dsp.audio">44</item>
+ <item name="dsp.video">280</item>
+ <item name="radio.active">250</item>
+ <!-- The current consumed by the radio when it is scanning for a signal -->
+ <item name="radio.scanning">82</item>
+ <item name="gps.on">50</item>
+ <!-- Current consumed by the radio at different signal strengths, when paging -->
+ <array name="radio.on"> <!-- Strength 0 to BINS-1 -->
+ <value>3.4</value>
+ <value>3.4</value>
+ </array>
+ <!-- Different CPU speeds as reported in
+ /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -->
+ <array name="cpu.speeds">
+ <value>200000</value>
+ <value>500000</value>
+ <value>800000</value>
+ <value>1000000</value>
+ <value>1200000</value>
+ <value>1400000</value>
+ <value>1600000</value>
+ </array>
+ <!-- Power consumption when CPU is idle -->
+ <item name="cpu.idle">4</item>
+ <!-- Power consumption due to wake lock held -->
+ <item name="cpu.awake">44</item>
+ <!-- Power consumption at different speeds -->
+ <array name="cpu.active">
+ <value>55.4</value>
+ <value>82.1</value>
+ <value>113.7</value>
+ <value>140.0</value>
+ <value>170.0</value>
+ <value>200.0</value>
+ <value>230.0</value>
+ </array>
+ <!-- This is the battery capacity in mAh -->
+ <item name="battery.capacity">3100</item>
+</device>
diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/overlay/frameworks/base/core/res/res/xml/storage_list.xml
new file mode 100644
index 0000000..d9247c5
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/xml/storage_list.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 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.
+*/
+-->
+
+<!-- The <device> element should contain one or more <storage> elements.
+ Exactly one of these should have the attribute primary="true".
+ This storage will be the primary external storage and should have mountPoint="/mnt/sdcard".
+ Each storage should have both a mountPoint and storageDescription attribute.
+ The following attributes are optional:
+
+ primary: (boolean) this storage is the primary external storage
+ removable: (boolean) this is removable storage (for example, a real SD card)
+ emulated: (boolean) the storage is emulated via the FUSE sdcard daemon
+ mtpReserve: (integer) number of megabytes of storage MTP should reserve for free storage
+ (used for emulated storage that is shared with system's data partition)
+
+ A storage should not have both emulated and removable set to true
+-->
+
+<StorageList xmlns:android="http://schemas.android.com/apk/res/android">
+ <storage android:mountPoint="/storage/sdcard0"
+ android:storageDescription="@string/storage_internal"
+ android:primary="true"
+ android:emulated="true"
+ android:mtpReserve="100" />
+
+ <storage android:mountPoint="/storage/sdcard1"
+ android:storageDescription="@string/storage_sd_card"
+ android:primary="false"
+ android:removable="true"
+ android:allowMassStorage="true" />
+
+ <storage android:mountPoint="/storage/usbdisk0"
+ android:storageDescription="@string/storage_usb"
+ android:primary="false"
+ android:removable="true" />
+</StorageList>
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
new file mode 100644
index 0000000..88851f7
--- /dev/null
+++ b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2011, 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+ <!-- Control whether status bar should distinguish HSPA data icon form UMTS data icon on devices -->
+ <bool name="config_hspa_data_distinguishable">true</bool>
+</resources>
+
diff --git a/overlay/packages/apps/Phone/res/values/config.xml b/overlay/packages/apps/Phone/res/values/config.xml
new file mode 100644
index 0000000..23ec4e4
--- /dev/null
+++ b/overlay/packages/apps/Phone/res/values/config.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+
+<!-- Phone app resources that may need to be customized
+ for different hardware or product builds. -->
+<resources>
+ <!-- Determines if device implements a noise suppression device for in call audio-->
+ <bool name="has_in_call_noise_suppression">true</bool>
+
+ <!-- Audio parameter for setting noise suppression-->
+ <string name="in_call_noise_suppression_audioparameter">noise_suppression=true=false</string>
+</resources>
diff --git a/overlay/packages/apps/Torch/res/values/config.xml b/overlay/packages/apps/Torch/res/values/config.xml
new file mode 100644
index 0000000..d4611e2
--- /dev/null
+++ b/overlay/packages/apps/Torch/res/values/config.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2011, 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+ <!-- If there is no sysfs-based control mechanism, enable this -->
+ <bool name="useCameraInterface">false</bool>
+
+ <!-- Full path to the sysfs toggle -->
+ <string name="flashDevice">/sys/class/camera/flash/rear_flash</string>
+
+ <!-- Lowest setting -->
+ <integer name="valueOn">1</integer>
+ <!-- Middle setting -->
+ <integer name="valueHigh">10</integer>
+ <!-- Highest setting, leave -1 if it doesn't exist -->
+ <integer name="valueDeathRay">15</integer>
+
+</resources>
diff --git a/proprietary-files.txt b/proprietary-files.txt
new file mode 100644
index 0000000..17df07f
--- /dev/null
+++ b/proprietary-files.txt
@@ -0,0 +1,70 @@
+system/bin/at_distributor
+system/bin/efsks
+system/bin/gsiff_daemon
+system/bin/ks
+system/bin/netmgrd
+system/bin/qcks
+system/bin/qmiproxy
+system/bin/qmuxd
+system/bin/rild
+system/bin/sec-ril
+system/bin/sensorhubservice
+system/bin/smdexe
+system/etc/Diag.cfg
+system/etc/Diag_zero.cfg
+system/etc/Volume.db
+system/lib/lib_SamsungRec_V02002.so
+system/lib/lib_Samsung_Resampler.so
+system/lib/lib_Samsung_SB_AM_for_ICS_v04004.so
+system/lib/libakm.so
+system/lib/libatparser.so
+system/lib/libaudio-ril.so
+system/lib/libaudiopolicy_sec.so
+system/lib/libcontrolcsc.so
+system/lib/libcsd-client.so
+system/lib/libdiag.so
+system/lib/libdsi_netctrl.so
+system/lib/libdsutils.so
+system/lib/libfactoryutil.so
+system/lib/libgps.so
+system/lib/libgps.utils.so
+system/lib/libidl.so
+system/lib/libloc_adapter.so
+system/lib/libloc_api_v02.so
+system/lib/libloc_eng.so
+system/lib/libnetmgr.so
+system/lib/libomission_avoidance.so
+system/lib/libqcci_legacy.so
+system/lib/libqdi.so
+system/lib/libqdp.so
+system/lib/libqmi.so
+system/lib/libqmi_cci.so
+system/lib/libqmi_client_qmux.so
+system/lib/libqmi_common_so.so
+system/lib/libqmi_csi.so
+system/lib/libqmi_encdec.so
+system/lib/libqmiservices.so
+system/lib/libril.so
+system/lib/libril-qc-qmi-1.so
+system/lib/libril-qcril-hook-oem.so
+system/lib/libsamsungRecord.so
+system/lib/libsamsungSoundbooster.so
+system/lib/libsecnativefeature.so
+system/lib/libsecril-client.so
+system/lib/libsensorhubservice.so
+system/lib/libssaudio-client.so
+system/lib/libtinyalsa.so
+system/lib/hw/audio.primary.smdk4x12.so
+system/lib/hw/audio.tms.default.so
+system/lib/hw/audio.wfd.smdk4x12.so
+system/lib/hw/audio_policy.smdk4x12.so
+system/lib/hw/vendor-camera.exynos4.so
+system/lib/hw/gps.default.so
+system/lib/hw/sensorhubs.smdk4x12.so
+system/lib/hw/sensors.smdk4x12.so
+system/usr/idc/sec_e-pen.idc
+system/usr/keylayout/sec_e-pen.kl
+system/usr/keylayout/sec_touchkey.kl
+system/vendor/firmware/SlimISP_GK.bin
+system/vendor/firmware/SlimISP_ZK.bin
+system/vendor/firmware/libpn544_fw.so
diff --git a/recovery.fstab b/recovery.fstab
index ac15213..385dd9b 100644
--- a/recovery.fstab
+++ b/recovery.fstab
@@ -1,8 +1,12 @@
-/efs ext4 /dev/block/mmcblk0p3
-/boot emmc /dev/block/mmcblk0p8
-/recovery emmc /dev/block/mmcblk0p9
-/cache ext4 /dev/block/mmcblk0p12
-/system ext4 /dev/block/mmcblk0p13
-/data ext4 /dev/block/mmcblk0p16
-/sdcard datamedia /dev/null
-/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
+# mount point fstype device device2
+/efs ext4 /dev/block/mmcblk0p3
+/boot emmc /dev/block/mmcblk0p8
+/recovery emmc /dev/block/mmcblk0p9
+/cache ext4 /dev/block/mmcblk0p12
+/system ext4 /dev/block/mmcblk0p13
+/data ext4 /dev/block/mmcblk0p16 length=-16384
+/preload ext4 /dev/block/mmcblk0p14
+/modem emmc /dev/block/mmcblk0p10
+
+/sdcard datamedia /dev/null
+/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
diff --git a/rootdir/fstab.smdk4x12 b/rootdir/fstab.smdk4x12
new file mode 100644
index 0000000..d4c03f3
--- /dev/null
+++ b/rootdir/fstab.smdk4x12
@@ -0,0 +1,11 @@
+# Android fstab file.
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+# data partition must be located at the bottom for supporting device encryption
+
+/dev/block/mmcblk0p13 /system ext4 ro wait
+/dev/block/mmcblk0p3 /efs ext4 noatime,nosuid,nodev,journal_async_commit,errors=panic wait,check
+/dev/block/mmcblk0p12 /cache ext4 noatime,nosuid,nodev,journal_async_commit,errors=panic wait,check
+/dev/block/mmcblk0p16 /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer
+/dev/block/mmcblk0p11 /tombstones ext4 noatime,nosuid,nodev,journal_async_commit,errors=panic wait,check
diff --git a/rootdir/init.smdk4x12.rc b/rootdir/init.smdk4x12.rc
new file mode 100755
index 0000000..a221fad
--- /dev/null
+++ b/rootdir/init.smdk4x12.rc
@@ -0,0 +1,621 @@
+import init.smdk4x12.usb.rc
+import init.bt.rc
+
+on init
+ mkdir /mnt/shell/emulated 0700 shell shell
+ mkdir /storage 0550 system sdcard_r
+ mkdir /storage/emulated 0555 root root
+ mkdir /storage/sdcard1 0775 system system
+ mkdir /storage/usbdisk0 0775 system system
+
+ export EXTERNAL_STORAGE /storage/emulated/legacy
+ export SECONDARY_STORAGE /storage/sdcard1
+ export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
+ export EMULATED_STORAGE_TARGET /storage/emulated
+
+ # for backwards compatibility
+ symlink /storage/emulated/legacy /sdcard
+ symlink /storage/emulated/legacy /mnt/sdcard
+ symlink /storage/emulated/legacy /storage/sdcard0
+ symlink /mnt/shell/emulated/0 /storage/emulated/legacy
+ symlink /storage/sdcard1 /extSdCard
+ symlink /storage/sdcard1 /mnt/extSdCard
+ symlink /storage/usbdisk0 /usbdisk0
+ symlink /storage/usbdisk0 /mnt/usbdisk0
+
+ mkdir /efs 0771 radio system
+ mkdir /tombstones
+ symlink /efs /factory
+
+# ko files for FM Radio
+ insmod /system/lib/modules/Si4709_driver.ko
+
+on init
+ # WFD CES Demo
+ chmod 0666 /dev/graphics/fb5
+
+ # Vibetonz
+ export VIBE_PIPE_PATH /dev/pipes
+ mkdir /dev/pipes 0771 shell shell
+
+on fs
+ mount_all /fstab.smdk4x12
+
+ setprop ro.crypto.fuse_sdcard true
+
+ chown radio system /efs
+ chmod 0771 /efs
+
+#MDM requirement
+ mkdir /firmware 0771 system system
+ mount vfat /dev/block/mmcblk0p10 /firmware ro shortname=lower fmask=0133,dmask=0022
+ chown system system /tombstones
+ chmod 0775 /tombstones
+ mkdir /tombstones/modem 0775 system system
+ mkdir /tombstones/lpass 0775 system system
+ mkdir /tombstones/wcnss 0775 system system
+ mkdir /tombstones/dsps 0775 system system
+ rmdir /tombstones/qcks
+ mkdir /tombstones/qcks 771 system system
+ rmdir /tombstones/efs
+ mkdir /tombstones/efs 771 system system
+
+ chown system radio /dev/block/platform/dw_mmc/by-name
+ chmod 0775 /dev/block/platform/dw_mmc/by-name
+
+on post-fs-data
+ # we will remap this as /mnt/sdcard with the sdcard fuse tool
+ mkdir /data/media 0775 media_rw media_rw
+ chown media_rw media_rw /data/media
+
+#QCRIL
+
+ #Create QMUX deamon socket area
+ mkdir /dev/socket/qmux_radio 0770 radio radio
+ chmod 2770 /dev/socket/qmux_radio
+ mkdir /dev/socket/qmux_audio 0770 media audio
+ chmod 2770 /dev/socket/qmux_audio
+ mkdir /dev/socket/qmux_gps 0770 gps gps
+ chmod 2770 /dev/socket/qmux_gps
+
+ # Allow QMUX daemon to assign port open wait time
+ chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
+
+ # To prevent out of order acknowledgements from making
+ # connection tracking to treat them as not belonging to
+ # the connection they belong to.
+ # Otherwise, a weird issue happens in which some long
+ # connections on high-throughput links get dropped when
+ # an ack packet comes out of order
+ write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
+
+# for AT distributor
+ chown system radio /sys/module/cpuidle_exynos4/parameters/enable_mask
+ chmod 0664 /sys/module/cpuidle_exynos4/parameters/enable_mask
+
+# Waketime fot fast dormancy
+ chown system radio /sys/devices/platform/mdm_hsic_pm0/waketime
+ chmod 0660 /sys/devices/platform/mdm_hsic_pm0/waketime
+
+# data/log
+ mkdir /data/log 0775 system log
+ chown system log /data/log
+ chmod 0775 /data/log
+ chmod 0775 /data/anr
+
+ # create data/gps for GPS demon
+ chown root system /dev/ttySAC1
+ chmod 0660 /dev/ttySAC1
+ chown root system /sys/class/sec/gps/GPS_PWR_EN/value
+ chmod 0664 /sys/class/sec/gps/GPS_PWR_EN/value
+ chown root system /sys/class/sec/gps/GPS_nRST/value
+ chmod 0664 /sys/class/sec/gps/GPS_nRST/value
+ mkdir /data/gps 771 system system
+ chown system system /data/gps
+
+ mkdir /data/misc/radio 0775 radio system
+ chmod 0775 /data/misc/radio
+ mkdir /efs/imei 0775 radio system
+
+# HDCP 2.x
+ mkdir /data/system/hdcp2 0775 system system
+
+# h2k permission
+ chmod 0644 /efs/redata.bin
+ chmod 0644 /efs/h2k.dat
+
+# Camera firmware
+ mkdir /data/cfw 0775 system system
+ chown system media /data/cfw/SlimISP_GD.bin
+ chmod 0775 /data/cfw/SlimISP_GD.bin
+ chown system media /data/cfw/SlimISP_ZD.bin
+ chmod 0775 /data/cfw/SlimISP_ZD.bin
+
+# Camera
+ chown system radio /sys/class/camera/rear/rear_camfw
+ chown system radio /sys/class/camera/rear/rear_camtype
+ chown system radio /sys/class/camera/rear/rear_flash
+ chmod 0666 /sys/class/camera/flash/rear_flash
+ chown system radio /sys/class/camera/rear/isp_core
+ chown system radio /sys/class/camera/front/front_camfw
+ chown system radio /sys/class/camera/front/front_camtype
+ chown system radio /sys/class/camera/flash/rear_flash
+ chown radio system /sys/devices/platform/samsung-pd.5/s3c-fimc.2/range_mode
+ chmod 0660 /sys/devices/platform/samsung-pd.5/s3c-fimc.2/range_mode
+ write /data/ISP_CV 1
+
+ symlink /dev/block/mmcblk0p7 /dev/block/param
+
+# Permissions for bluetooth
+ setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
+ chown bluetooth bluetooth ro.bt.bdaddr_path
+ chown bluetooth bluetooth /dev/ttySAC0
+ chmod 0600 /dev/ttySAC0
+ chmod 0660 /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
+
+# NFC
+ setprop ro.nfc.port "I2C"
+ chmod 0600 /dev/pn544
+ chown nfc nfc /dev/pn544
+
+# Vibrator
+ chmod 0660 /dev/tspdrv
+ chown root shell /dev/tspdrv
+ chmod 0660 /sys/vibrator/pwm_val
+ chown system system /sys/vibrator/pwm_val
+
+# LED
+ chmod 0660 /sys/class/sec/led/led_fade
+ chown system system /sys/class/sec/led/led_fade
+
+# Touchkey
+ chmod 0660 /sys/class/sec/sec_touchkey/timeout
+ chown system system /sys/class/sec/sec_touchkey/timeout
+ chmod 0660 /sys/class/sec/sec_touchkey/force_disable
+ chown system system /sys/class/sec/sec_touchkey/force_disable
+
+# Permissions for LCD
+ chown system radio /sys/class/lcd/panel/lcd_power
+ chown system radio /sys/class/lcd/panel/lcd_type
+ chown system radio /sys/class/lcd/panel/device/hs_toggle
+ chown system media_rw /sys/class/lcd/panel/power_reduce
+ chown system system /sys/class/backlight/panel/auto_brightness
+ chown system system /sys/class/backlight/panel/brightness
+ chown system system /sys/class/graphics/fb0/lcdfreq/level
+
+# Permissions for mDNIe
+ chown system media_rw /sys/class/mdnie/mdnie/mode
+ chown system media_rw /sys/class/mdnie/mdnie/outdoor
+ chown system media_rw /sys/class/mdnie/mdnie/scenario
+ chown system system /sys/class/mdnie/mdnie/negative
+ write /sys/class/mdnie/mdnie/scenario 0
+ write /sys/class/mdnie/mdnie/mode 0
+
+# Permissions for System Server and daemons.
+ chown radio system /sys/android_power/state
+ chown radio system /sys/android_power/request_state
+ chown radio system /sys/android_power/acquire_full_wake_lock
+ chown radio system /sys/android_power/acquire_partial_wake_lock
+ chown radio system /sys/android_power/release_wake_lock
+ chown radio system /sys/power/state
+ chown radio system /sys/power/wake_lock
+ chown radio system /sys/power/wake_unlock
+ chown radio system /sys/power/cpufreq_table
+ chown radio system /sys/power/cpufreq_max_limit
+ chown radio system /sys/power/cpufreq_min_limit
+ chown radio system /sys/power/mali_lock
+ chown radio system /sys/class/power_supply/battery/siop_activated
+ chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
+ chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
+ chown radio system /sys/devices/system/cpu/busfreq/curr_freq
+ chown radio system /sys/module/mali/parameters/mali_dvfs_control
+ chown system radio /sys/bus/platform/devices/s5p-tmu/lot_id
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+ chmod 0660 /sys/power/cpufreq_table
+ chmod 0660 /sys/power/cpufreq_max_limit
+ chmod 0660 /sys/power/cpufreq_min_limit
+ chmod 0660 /sys/power/mali_lock
+ chmod 0660 /sys/class/power_supply/battery/siop_activated
+ chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
+ chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
+ chmod 0660 /sys/devices/system/cpu/busfreq/curr_freq
+ chmod 0660 /sys/module/mali/parameters/mali_dvfs_control
+ chmod 0664 /sys/bus/platform/devices/s5p-tmu/lot_id
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/class/leds/keyboard-backlight/brightness
+ chown system system /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/backlight/panel/brightness
+ chown system system /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/sec/sec_touchkey/brightness
+ chown system system /sys/class/leds/jogball-backlight/brightness
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/module/sco/parameters/disable_esco
+ chown system system /sys/kernel/ipv4/tcp_wmem_min
+ chown system system /sys/kernel/ipv4/tcp_wmem_def
+ chown system system /sys/kernel/ipv4/tcp_wmem_max
+ chown system system /sys/kernel/ipv4/tcp_rmem_min
+ chown system system /sys/kernel/ipv4/tcp_rmem_def
+ chown system system /sys/kernel/ipv4/tcp_rmem_max
+ chown root radio /proc/cmdline
+
+# Audio (Earjack)
+ chown system radio /sys/class/audio/earjack/select_jack
+ chown system radio /sys/class/audio/earjack/key_state
+ chown system radio /sys/class/audio/earjack/state
+ chown media system /sys/class/audio/earjack/reselect_jack
+
+# Battery node
+ chown system radio /sys/class/power_supply/battery/batt_reset_soc
+ chown system radio /sys/class/power_supply/battery/batt_read_raw_soc
+ chown system radio /sys/class/power_supply/battery/batt_read_adj_soc
+ chown system radio /sys/class/power_supply/battery/batt_type
+ chown system radio /sys/class/power_supply/battery/batt_temp_adc
+ chown system radio /sys/class/power_supply/battery/batt_temp_aver
+ chown system radio /sys/class/power_supply/battery/batt_temp_adc_aver
+ chown system radio /sys/class/power_supply/battery/batt_vfocv
+ chown system radio /sys/class/power_supply/battery/batt_lp_charging
+ chown system radio /sys/class/power_supply/battery/batt_charging_source
+ chown system radio /sys/class/power_supply/battery/test_mode
+ chown system radio /sys/class/power_supply/battery/wc_status
+ chown system radio /sys/class/power_supply/battery/wpc_pin_state
+
+# Thermistor node
+ chown radio system /sys/devices/platform/sec-thermistor/temp_adc
+ chown radio system /sys/devices/platform/sec-thermistor/temperature
+
+# Permissions for touch
+ chown system radio /sys/class/sec/tsp/cmd
+
+# Permissions for Touchkey
+ chown system radio /sys/class/sec/sec_touchkey/enable_disable
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_brightness
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_menu
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_back
+ chown system radio /sys/class/sec/sec_touchkey/touch_update
+ chown system radio /sys/class/sec/sec_touchkey/touch_version
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_panel
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_phone
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update_status
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
+ chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
+ chown system radio /sys/class/sec/sec_touchkey/touchkey_threshold
+ chown system system /sys/devices/virtual/sec/sec_touchkey/brightness
+
+# Permissions for gpio_keys
+ chown radio system /sys/class/sec/sec_key/wakeup_keys
+ write /sys/class/sec/sec_key/wakeup_keys 116,172
+
+# Switch Device
+ chown system system /sys/class/sec/switch/uart_sel
+ chown system system /sys/class/sec/switch/usb_sel
+ chown system system /sys/class/sec/switch/otg_test
+ chown system radio /sys/class/sec/switch/adc
+
+# SVC LED
+ chown system system /sys/class/sec/led/led_r
+ chown system system /sys/class/sec/led/led_g
+ chown system system /sys/class/sec/led/led_b
+
+ chown system system /sys/class/leds/led_r/brightness
+ chown system system /sys/class/leds/led_g/brightness
+ chown system system /sys/class/leds/led_b/brightness
+ chown system system /sys/class/leds/led_r/delay_on
+ chown system system /sys/class/leds/led_g/delay_on
+ chown system system /sys/class/leds/led_b/delay_on
+ chown system system /sys/class/leds/led_r/delay_off
+ chown system system /sys/class/leds/led_g/delay_off
+ chown system system /sys/class/leds/led_b/delay_off
+ chown system system /sys/class/leds/led_r/blink
+ chown system system /sys/class/leds/led_g/blink
+ chown system system /sys/class/leds/led_b/blink
+
+ chown system system /sys/class/sec/led/led_pattern
+ chown system system /sys/class/sec/led/led_blink
+ chown system system /sys/class/sec/led/led_br_lev
+
+# <Sensors & NFC>
+# Input Events
+ chown system radio /sys/class/input/input2/enable
+ chown system radio /sys/class/input/input2/poll_delay
+ chown system radio /sys/class/input/input3/enable
+ chown system radio /sys/class/input/input3/poll_delay
+ chown system radio /sys/class/input/input4/enable
+ chown system radio /sys/class/input/input4/poll_delay
+ chown system radio /sys/class/input/input5/enable
+ chown system radio /sys/class/input/input5/poll_delay
+ chown system radio /sys/class/input/input6/enable
+ chown system radio /sys/class/input/input6/poll_delay
+ chown system radio /sys/class/input/input7/enable
+ chown system radio /sys/class/input/input7/poll_delay
+ chown system radio /sys/class/input/input8/enable
+ chown system radio /sys/class/input/input8/poll_delay
+ chown system radio /sys/class/input/input9/enable
+ chown system radio /sys/class/input/input9/poll_delay
+# Accelerometer_sensor
+ chown system radio /sys/class/sensors/accelerometer_sensor/raw_data
+ chown system radio /sys/class/sensors/accelerometer_sensor/calibration
+ chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert
+ chown system radio /sys/class/sensors/accelerometer_sensor/vendor
+ chown system radio /sys/class/sensors/accelerometer_sensor/name
+# Proximity_sensor
+ chown system radio /sys/class/sensors/proximity_sensor/state
+ chown system radio /sys/class/sensors/proximity_sensor/prox_avg
+ chown system radio /sys/class/sensors/proximity_sensor/prox_cal
+ chown system radio /sys/class/sensors/proximity_sensor/vendor
+ chown system radio /sys/class/sensors/proximity_sensor/name
+ chown system radio /sys/class/sensors/proximity_sensor/prox_thresh
+ chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en
+# Light_sensor
+ chown system radio /sys/class/sensors/light_sensor/lux
+ chown system radio /sys/class/sensors/light_sensor/raw_data
+ chown system radio /sys/class/sensors/light_sensor/vendor
+ chown system radio /sys/class/sensors/light_sensor/name
+# Gyro_sensor
+ chown system radio /sys/class/sensors/gyro_sensor/power_on
+ chown system radio /sys/class/sensors/gyro_sensor/power_off
+ chown system radio /sys/class/sensors/gyro_sensor/temperature
+ chown system radio /sys/class/sensors/gyro_sensor/selftest
+ chown system radio /sys/class/sensors/gyro_sensor/selftest_dps
+ chown system radio /sys/class/sensors/gyro_sensor/vendor
+ chown system radio /sys/class/sensors/gyro_sensor/name
+# Barometer_sensor
+ chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure
+ chown system radio /sys/class/sensors/barometer_sensor/vendor
+ chown system radio /sys/class/sensors/barometer_sensor/name
+ chown system radio /sys/class/sensors/barometer_sensor/calibration
+# Magnetic_sensor
+ chown system radio /dev/akm8963
+ chown system radio /sys/class/sensors/magnetic_sensor/raw_data
+ chown system radio /sys/class/sensors/magnetic_sensor/vendor
+ chown system radio /sys/class/sensors/magnetic_sensor/name
+# SensorHub
+ chown system radio /sys/class/sensors/ssp_sensor/enable
+ chown system radio /sys/class/sensors/ssp_sensor/mcu_rev
+ chown system radio /sys/class/sensors/ssp_sensor/mcu_name
+ chown system radio /sys/class/sensors/ssp_sensor/mcu_test
+ chown system radio /sys/class/sensors/ssp_sensor/mcu_reset
+ chown system radio /sys/class/sensors/ssp_sensor/mcu_update
+ chown system radio /sys/class/sensors/ssp_sensor/mcu_sleep_test
+ chown system radio /sys/class/sensors/ssp_sensor/ori_poll_delay
+ chown system radio /sys/class/sensors/ssp_sensor/mag_poll_delay
+
+# for datarouter
+ chown system system /dev/dun
+ chown system system /dev/ttyGS0
+ chown system system /dev/ttyGS1
+ chown system system /dev/ttyGS2
+ chown system system /dev/ttyGS3
+
+# for wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/dhcp 0775 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp
+
+# for TRP/TIS
+ write /data/.psm.info 1
+ chown system root /data/.psm.info
+ chmod 0660 /data/.psm.info
+
+ # Set indication (checked by vold) that we have finished this action
+ setprop vold.post_fs_data_done 1
+
+on boot
+ mount debugfs /sys/kernel/debug /sys/kernel/debug
+
+ setprop ro.build.product smdk4x12
+ setprop ro.product.device smdk4x12
+ setprop ro.radio.noril yes
+ setprop wifi.interface wlan0
+
+# fake some battery state
+ setprop status.battery.state Slow
+ setprop status.battery.level 5
+ setprop status.battery.level_raw 50
+ setprop status.battery.level_scale 9
+
+# wifi display
+ write /proc/sys/net/core/wmem_max 262144
+
+ # Set permission for Widevine DRM temporarily
+ chmod 0777 /dev/s5p-smem
+ rm /data/app/tlcd_sock
+
+ # make param block device link for SysScope
+ symlink /dev/block/mmcblk0p7 /dev/block/param
+
+# serial keyboard port
+ chown root system /dev/ttySAC2
+ chmod 0660 /dev/ttySAC2
+
+# touchscreen
+ chown radio system /sys/class/sec/tsp/cmd
+ chown media_rw media_rw /sys/class/sec/tsp/set_jitter
+
+# epen
+ chown radio system /sys/class/sec/sec_epen/epen_firm_update
+ chown radio system /sys/class/sec/sec_epen/epen_checksum
+ chown radio system /sys/class/sec/sec_epen/epen_checksum_result
+ chown radio system /sys/class/sec/sec_epen/epen_reset
+
+# wakeup keys
+ chown radio system /sys/class/sec/sec_key/wakeup_keys
+ write /sys/class/sec/sec_key/wakeup_keys 116,172
+
+# serial keyboard daemon
+service sec_keyboard /system/bin/sec_keyboard /dev/ttySAC2
+ class late_start
+ disabled
+ group system
+
+# SISO-ANDR_PERF :: START Changing scheduler to cfq and reseting cpu min freq to -1 after boot complete
+on property:sys.boot_completed=1
+ write /sys/block/mmcblk0/queue/scheduler cfq
+ write /sys/power/cpufreq_min_limit -1
+# write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
+# write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
+# write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
+# write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
+# SISO-ANDR_PERF :: END
+
+on property:ro.uart_debug=0
+ start sec_keyboard
+
+# create virtual SD card at /mnt/sdcard, based on the /data/media directory
+# daemon will drop to user/group system/media_rw after initializing
+# underlying files in /data/media wil be created with user and group media_rw (1023)
+service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
+ class late_start
+
+# AT Distributor for factory test
+service at_distributor /system/bin/at_distributor
+ class main
+ user root
+ group radio log
+
+# diag app for cp uart
+service diag_uart_log /system/bin/diag_uart_log
+ class main
+ user root
+ group radio
+
+#service cpboot-daemon /sbin/cbd -d -p 10
+# class main
+# user root
+# group radio cache inet misc audio sdcard_rw log
+
+service p2p_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
+ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin \
+ -puse_p2p_group_interface=1
+ # we will start as root and wpa_supplicant will switch to user wifi
+ # after setting up the capabilities required for WEXT
+ # user wifi
+ # group wifi inet keystore
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service wpa_supplicant /system/bin/wpa_supplicant \
+ -Dnl80211 -iwlan0 -e/data/misc/wifi/entropy.bin \
+ -c/data/misc/wifi/wpa_supplicant.conf
+ # we will start as root and wpa_supplicant will switch to user wifi
+ # after setting up the capabilities required for WEXT
+ # user wifi
+ # group wifi inet keystore
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_p2p /system/bin/dhcpcd -aABKL
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_wlan0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service iprenew_p2p /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service iprenew_bnep0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+#service secstarter /system/bin/secstarter
+#NOT NEEDED
+# class main
+# user system
+# group system
+
+service macloader /system/bin/macloader
+ class main
+ oneshot
+
+service netmgrd /system/bin/netmgrd
+ class late_start
+
+service SMD-daemon /system/bin/smdexe
+ class main
+ user root
+ group system radio inet net_raw
+
+service qc_kickstart /system/bin/qcks s
+ class core
+ user root
+ group radio cache inet misc audio sdcard_rw log
+
+service secril-daemon /system/bin/sec-ril
+ class main
+ user root
+ group radio cache inet misc audio sdcard_rw qcom_diag log
+
+#For EncryptionMode - remove disabled, Modify class main
+service qmiproxy /system/bin/qmiproxy
+ class main
+ user radio
+ group radio gps
+
+service qmuxd /system/bin/qmuxd
+ class main
+ user root
+ group radio log audio bluetooth gps log
+
+#start GNSS/Sensor interface daemon
+service gsiff_daemon /system/bin/gsiff_daemon
+ class late_start
+ user system
+ group qcom_oncrpc gps
+
+service dmb /system/bin/dmbserver
+ class main
+ user system
+ group radio inet misc audio camera graphics net_bt net_bt_admin sdcard_rw
+
+# sensorhub
+service sensorhubservice /system/bin/sensorhubservice
+ class main
+ user system
+ group input
+
+# TVout
+#service TvoutService_C /system/bin/bintvoutservice
+# class main
+# user system
+# group graphics
+
+
+on property:ro.tvout.enable=false
+ stop TvoutService_C
diff --git a/rootdir/ueventd.smdk4x12.rc b/rootdir/ueventd.smdk4x12.rc
new file mode 100644
index 0000000..1ad756a
--- /dev/null
+++ b/rootdir/ueventd.smdk4x12.rc
@@ -0,0 +1,108 @@
+/dev/mali 0666 system system
+/dev/ump 0666 system graphics
+/dev/ion 0666 system system
+/dev/exynos-mem 0660 system camera
+
+/dev/media0 0660 system system
+/dev/media1 0660 system camera
+/dev/media2 0660 system camera
+/dev/v4l-subdev0 0660 system system
+/dev/v4l-subdev1 0660 system system
+/dev/v4l-subdev3 0660 system system
+/dev/v4l-subdev4 0660 system system
+/dev/v4l-subdev5 0660 system system
+/dev/v4l-subdev6 0660 system system
+/dev/v4l-subdev7 0660 system system
+/dev/v4l-subdev8 0660 system system
+/dev/v4l-subdev9 0660 system system
+/dev/v4l-subdev10 0660 system system
+/dev/v4l-subdev11 0660 system system
+/dev/v4l-subdev12 0660 system system
+/dev/v4l-subdev13 0660 system system
+/dev/v4l-subdev14 0660 system system
+/dev/v4l-subdev15 0660 system system
+/dev/v4l-subdev16 0660 system system
+/dev/v4l-subdev17 0660 system system
+
+/dev/video0 0666 system system
+/dev/video1 0666 system camera
+/dev/video2 0666 system system
+/dev/video3 0666 system system
+/dev/video4 0666 system system
+/dev/video11 0666 system system
+/dev/video12 0666 system system
+/dev/video16 0666 system system
+/dev/video20 0666 system system
+/dev/video6 0660 media graphics
+/dev/video7 0660 media graphics
+
+/dev/video11 0666 system graphics
+/dev/video12 0660 system camera
+
+/dev/video16 0660 system system
+/dev/video17 0660 system system
+/dev/video18 0660 system system
+/dev/video19 0660 system system
+
+# Rotator
+/dev/video21 0660 system system
+
+/dev/video23 0660 system system
+/dev/video24 0660 system system
+/dev/video25 0660 system camera
+/dev/video26 0666 media m2m
+/dev/video29 0666 media m2m
+/dev/video32 0660 media m2m
+
+/dev/video33 0660 system system
+/dev/video34 0660 system system
+
+/dev/video40 0660 system camera
+/dev/video41 0660 system camera
+/dev/video42 0660 system camera
+/dev/video43 0660 system camera
+
+/dev/i2c-2 0660 system system
+/dev/i2c-5 0660 system system
+/dev/i2c-6 0660 system system
+/dev/CEC 0660 system system
+/dev/HPD 0660 system system
+/dev/fimg2d 0666 system graphics
+/dev/fmradio 0660 system audio
+
+#ALP Audio
+/dev/srp 0660 system audio
+
+/dev/s3c-mfc 0666 system graphics
+/dev/s5p-mfc 0666 system graphics
+
+/dev/block/mmcblk0p7 0660 system root
+/dev/block/mmcblk0p10 0660 system radio
+/dev/block/mmcblk0p4 0660 system radio
+/dev/block/mmcblk0p5 0660 system radio
+/dev/block/mmcblk0p6 0660 system radio
+/dev/block/mmcblk0p11 0660 system radio
+/dev/mdm 0660 system system
+#CPRM
+/dev/block/mmcblk1 0660 root system
+/dev/ttyUSB0 0666 system system
+/dev/ttyUSB1 0666 system system
+/dev/ttyUSB2 0666 system system
+/dev/hsic* 0660 system radio
+/dev/usb/lp* 0660 system usb
+
+/dev/ttySAC* 0660 root system
+/dev/umts* 0660 system radio
+/dev/lte* 0660 system radio
+/dev/cdma* 0660 system radio
+/dev/link_pm 0660 system radio
+
+# sensor sysfs properties
+/sys/devices/virtual/input/input* acc_poll_delay 0660 system radio
+/sys/devices/virtual/input/input* gyro_poll_delay 0660 system radio
+/sys/devices/virtual/input/input* pressure_poll_delay 0660 system radio
+/sys/devices/virtual/input/input* light_poll_delay 0660 system radio
+/sys/devices/virtual/input/input* prox_poll_delay 0660 system radio
+
+# sensorhub
+/dev/ssp_sensorhub 0660 system input
diff --git a/system.prop b/system.prop
index 5f24a92..b3a35ea 100644
--- a/system.prop
+++ b/system.prop
@@ -1,3 +1,17 @@
#
# system.prop for t0lte
#
+
+rild.libpath=/system/lib/libril-qc-qmi-1.so
+rild.libargs=-d /dev/ttyS0
+ro.sf.lcd_density=320
+ro.lcd_min_brightness=20
+
+# System property ril adb log on
+persist.radio.adb_log_on=1
+
+# For sys info indication
+persist.radio.add_power_save=1
+
+# System property for SIM
+persist.radio.apm_sim_not_pwdn=1
diff --git a/t0lte.mk b/t0lte.mk
new file mode 100644
index 0000000..4be033d
--- /dev/null
+++ b/t0lte.mk
@@ -0,0 +1,97 @@
+#
+# 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.
+#
+
+LOCAL_PATH := device/samsung/t0lte
+
+# Overlay
+DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
+
+# This device is xhdpi. However the platform doesn't
+# currently contain all of the bitmaps at xhdpi density so
+# we do this little trick to fall back to the hdpi version
+# if the xhdpi doesn't exist.
+PRODUCT_AAPT_CONFIG := normal hdpi xhdpi
+PRODUCT_AAPT_PREF_CONFIG := xhdpi
+
+# Init files
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/rootdir/fstab.smdk4x12:root/fstab.smdk4x12 \
+ $(LOCAL_PATH)/rootdir/init.smdk4x12.rc:root/init.smdk4x12.rc \
+ $(LOCAL_PATH)/rootdir/ueventd.smdk4x12.rc:root/ueventd.smdk4x12.rc
+
+# Audio
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/audio_policy.conf:system/etc/audio_policy.conf \
+ $(LOCAL_PATH)/configs/default_gain.conf:system/etc/default_gain.conf \
+ $(LOCAL_PATH)/configs/tinyucm.conf:system/etc/tinyucm.conf
+
+# Gps
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/gps.xml:system/etc/gps.xml \
+ $(LOCAL_PATH)/configs/gps.conf:system/etc/gps.conf
+
+# Camera FW
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/configs/80cfw:system/etc/init.d/80cfw
+
+# Product specific Packages
+PRODUCT_PACKAGES += \
+ GalaxyNote2Settings
+
+# NFC
+PRODUCT_PACKAGES += \
+ nfc.exynos4 \
+ libnfc \
+ libnfc_jni \
+ Nfc \
+ Tag
+
+PRODUCT_COPY_FILES += \
+ packages/apps/Nfc/migrate_nfc.txt:system/etc/updatecmds/migrate_nfc.txt \
+ frameworks/base/nfc-extras/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
+ frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml
+
+# NFCEE access control
+ifeq ($(TARGET_BUILD_VARIANT),user)
+ NFCEE_ACCESS_PATH := $(LOCAL_PATH)/configs/nfcee_access.xml
+else
+ NFCEE_ACCESS_PATH := $(LOCAL_PATH)/configs/nfcee_access_debug.xml
+endif
+
+PRODUCT_COPY_FILES += \
+ $(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml
+
+PRODUCT_PACKAGES += \
+ com.android.nfc_extras
+
+$(call inherit-product, vendor/cm/config/nfc_enhanced.mk)
+
+# RIL
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.telephony.ril_class=SamsungQualcommD2RIL \
+ mobiledata.interfaces=pdp0,wlan0,gprs,ppp0 \
+ ro.ril.hsxpa=1 \
+ ro.ril.gprsclass=10
+
+# These are the hardware-specific features
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
+ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml
+
+# Include common makefile
+$(call inherit-product, device/samsung/smdk4412-common/common.mk)
+
+$(call inherit-product-if-exists, vendor/samsung/t0lte/t0lte-vendor.mk)