From ea1000f433ad82d5e66156a9399fecb404c578af Mon Sep 17 00:00:00 2001 From: Daniel Hillenbrand Date: Fri, 22 Jun 2012 23:55:37 +0200 Subject: initial commit --- Android.mk | 29 + AndroidProducts.mk | 18 + BoardConfig.mk | 27 + BoardConfigCommon.mk | 108 ++ CleanSpec.mk | 60 + board-info.txt | 3 + cm.dependencies | 10 + cm.mk | 40 + configs/Volume.db | Bin 0 -> 10240 bytes configs/default_gain.conf | 1817 ++++++++++++++++++++ configs/egl.cfg | 1 + configs/gps.conf | 6 + configs/gps.xml | 69 + configs/media_profiles.xml | 467 +++++ configs/tinyucm.conf | 396 +++++ configs/vold.fstab | 19 + configs/wpa_supplicant.conf | 9 + extract-files.sh | 43 + full_p3100.mk | 26 + init.espresso.rc | 359 ++++ init.espresso.usb.rc | 89 + liblights/Android.mk | 33 + liblights/lights.c | 142 ++ .../base/core/res/res/values-large/config.xml | 24 + .../base/core/res/res/values-sw600dp/config.xml | 24 + .../frameworks/base/core/res/res/values/config.xml | 202 +++ .../base/core/res/res/xml/power_profile.xml | 62 + .../base/core/res/res/xml/storage_list.xml | 51 + .../SettingsProvider/res/values/defaults.xml | 21 + .../base/packages/SystemUI/res/values/config.xml | 27 + p3100.mk | 31 + p31xx-common.mk | 146 ++ proprietary-common-files.txt | 71 + proprietary-p3100-files.txt | 3 + recovery.fstab | 15 + res/charger/battery_0.png | Bin 0 -> 5515 bytes res/charger/battery_1.png | Bin 0 -> 5549 bytes res/charger/battery_2.png | Bin 0 -> 5548 bytes res/charger/battery_3.png | Bin 0 -> 5548 bytes res/charger/battery_4.png | Bin 0 -> 5548 bytes res/charger/battery_5.png | Bin 0 -> 5522 bytes res/charger/battery_charge.png | Bin 0 -> 7126 bytes res/charger/battery_fail.png | Bin 0 -> 7051 bytes setup-makefiles.sh | 148 ++ system.prop | 6 + ueventd.espresso.rc | 35 + usr/keychars/Generic.kcm | 672 ++++++++ usr/keychars/Virtual.kcm | 544 ++++++ usr/keychars/espresso-gpio-keypad.kcm | 15 + usr/keychars/qwerty.kcm | 508 ++++++ usr/keychars/qwerty2.kcm | 505 ++++++ usr/keylayout/AVRCP.kl | 23 + usr/keylayout/Generic.kl | 423 +++++ usr/keylayout/Vendor_045e_Product_028e.kl | 46 + usr/keylayout/Vendor_046d_Product_c216.kl | 37 + usr/keylayout/Vendor_046d_Product_c294.kl | 53 + usr/keylayout/Vendor_046d_Product_c299.kl | 62 + usr/keylayout/Vendor_046d_Product_c532.kl | 133 ++ usr/keylayout/Vendor_04e8_Product_7021.kl | 393 +++++ usr/keylayout/Vendor_054c_Product_0268.kl | 76 + usr/keylayout/Vendor_05ac_Product_0239.kl | 119 ++ usr/keylayout/Vendor_22b8_Product_093d.kl | 105 ++ usr/keylayout/espresso-gpio-keypad.kl | 17 + usr/keylayout/qwerty.kl | 112 ++ usr/keylayout/sec_keyboard.kl | 93 + 65 files changed, 8573 insertions(+) create mode 100644 Android.mk create mode 100644 AndroidProducts.mk create mode 100644 BoardConfig.mk create mode 100644 BoardConfigCommon.mk create mode 100644 CleanSpec.mk create mode 100644 board-info.txt create mode 100644 cm.dependencies create mode 100644 cm.mk create mode 100644 configs/Volume.db create mode 100644 configs/default_gain.conf create mode 100644 configs/egl.cfg create mode 100644 configs/gps.conf create mode 100644 configs/gps.xml create mode 100644 configs/media_profiles.xml create mode 100644 configs/tinyucm.conf create mode 100644 configs/vold.fstab create mode 100644 configs/wpa_supplicant.conf create mode 100755 extract-files.sh create mode 100644 full_p3100.mk create mode 100755 init.espresso.rc create mode 100755 init.espresso.usb.rc create mode 100755 liblights/Android.mk create mode 100644 liblights/lights.c create mode 100644 overlay/frameworks/base/core/res/res/values-large/config.xml create mode 100644 overlay/frameworks/base/core/res/res/values-sw600dp/config.xml create mode 100644 overlay/frameworks/base/core/res/res/values/config.xml create mode 100644 overlay/frameworks/base/core/res/res/xml/power_profile.xml create mode 100644 overlay/frameworks/base/core/res/res/xml/storage_list.xml create mode 100644 overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml create mode 100644 overlay/frameworks/base/packages/SystemUI/res/values/config.xml create mode 100644 p3100.mk create mode 100755 p31xx-common.mk create mode 100644 proprietary-common-files.txt create mode 100644 proprietary-p3100-files.txt create mode 100644 recovery.fstab create mode 100644 res/charger/battery_0.png create mode 100644 res/charger/battery_1.png create mode 100644 res/charger/battery_2.png create mode 100644 res/charger/battery_3.png create mode 100644 res/charger/battery_4.png create mode 100644 res/charger/battery_5.png create mode 100644 res/charger/battery_charge.png create mode 100644 res/charger/battery_fail.png create mode 100755 setup-makefiles.sh create mode 100644 system.prop create mode 100644 ueventd.espresso.rc create mode 100644 usr/keychars/Generic.kcm create mode 100644 usr/keychars/Virtual.kcm create mode 100644 usr/keychars/espresso-gpio-keypad.kcm create mode 100644 usr/keychars/qwerty.kcm create mode 100644 usr/keychars/qwerty2.kcm create mode 100644 usr/keylayout/AVRCP.kl create mode 100644 usr/keylayout/Generic.kl create mode 100644 usr/keylayout/Vendor_045e_Product_028e.kl create mode 100644 usr/keylayout/Vendor_046d_Product_c216.kl create mode 100644 usr/keylayout/Vendor_046d_Product_c294.kl create mode 100644 usr/keylayout/Vendor_046d_Product_c299.kl create mode 100644 usr/keylayout/Vendor_046d_Product_c532.kl create mode 100644 usr/keylayout/Vendor_04e8_Product_7021.kl create mode 100644 usr/keylayout/Vendor_054c_Product_0268.kl create mode 100644 usr/keylayout/Vendor_05ac_Product_0239.kl create mode 100644 usr/keylayout/Vendor_22b8_Product_093d.kl create mode 100644 usr/keylayout/espresso-gpio-keypad.kl create mode 100644 usr/keylayout/qwerty.kl create mode 100644 usr/keylayout/sec_keyboard.kl diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..64bb136 --- /dev/null +++ b/Android.mk @@ -0,0 +1,29 @@ +# +# 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. +# + +# WARNING: Everything listed here will be built on ALL platforms, +# including x86, the emulator, and the SDK. Modules must be uniquely +# named (liblights.tuna), and must build everywhere, or limit themselves +# to only building on ARM if they include assembly. Individual makefiles +# are responsible for having their own logic, for fine-grained control. + +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),p3100) + +include $(call all-makefiles-under,$(LOCAL_PATH)) + +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..64c3d35 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,18 @@ +# +# 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. +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/full_p3100.mk diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..1c781d9 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,27 @@ +# +# 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. +# + +# Include p31xx BoardConfigCommon +-include device/samsung/p3100/BoardConfigCommon.mk + +TARGET_BOARD_INFO_FILE := device/samsung/p3100/board-info.txt + +# Inline kernel building +TARGET_KERNEL_SOURCE := kernel/samsung/espresso10 +TARGET_KERNEL_CONFIG := cyanogenmod_p3100_defconfig + +# assert +TARGET_OTA_ASSERT_DEVICE := p3100,GT-P3100,espressorf,espressorfxx diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk new file mode 100644 index 0000000..7c26b00 --- /dev/null +++ b/BoardConfigCommon.mk @@ -0,0 +1,108 @@ +# +# 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. +# + +# This variable is set first, so it can be overridden +# by BoardConfigVendor.mk +USE_CAMERA_STUB := true + +TARGET_CPU_ABI := armeabi-v7a +TARGET_CPU_ABI2 := armeabi +TARGET_CPU_SMP := true +TARGET_ARCH_VARIANT := armv7-a-neon +ARCH_ARM_HAVE_TLS_REGISTER := true +TARGET_GLOBAL_CFLAGS += -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp +TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp + +TARGET_NO_BOOTLOADER := true +TARGET_NO_RADIOIMAGE := true + +TARGET_BOARD_PLATFORM := omap4 +TARGET_BOOTLOADER_BOARD_NAME := piranha + +BOARD_NAND_PAGE_SIZE := 4096 +BOARD_NAND_SPARE_SIZE := 128 +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_KERNEL_BASE := 0x40000000 +BOARD_KERNEL_CMDLINE := + +# Init +TARGET_PROVIDES_INIT := true +TARGET_PROVIDES_INIT_TARGET_RC := true + +# Filesystem +TARGET_USERIMAGES_USE_EXT4 := true +BOARD_BOOTIMAGE_PARTITION_SIZE := 8388608 +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1073741824 +BOARD_USERDATAIMAGE_PARTITION_SIZE := 2147483648 +BOARD_FLASH_BLOCK_SIZE := 4096 + +# Egl +BOARD_EGL_CFG := device/samsung/p3100/configs/egl.cfg +USE_OPENGL_RENDERER := true +COMMON_GLOBAL_CFLAGS += -DSURFACEFLINGER_FORCE_SCREEN_RELEASE +TARGET_BOOTANIMATION_PRELOAD := true + +# Audio +BOARD_USE_SAMSUNG_SEPARATEDSTREAM := true +BOARD_USES_LIBMEDIA_WITH_AUDIOPARAMETER := true + +# HWComposer +BOARD_USES_HWCOMPOSER := true + +# Vold +BOARD_VOLD_MAX_PARTITIONS := 12 +BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true +BOARD_VOLD_DISC_HAS_MULTIPLE_MAJORS := true +TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/class/android_usb/f_mass_storage/lun%d/file" + +# Wifi +BOARD_WLAN_DEVICE := bcmdhd +BOARD_WLAN_DEVICE_REV := bcm4330_b1 +WPA_SUPPLICANT_VERSION := VER_0_8_X +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd +BOARD_HOSTAPD_DRIVER := NL80211 +BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd +WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/dhd.ko" +WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path" +WIFI_DRIVER_FW_PATH_STA := "/system/etc/wifi/bcmdhd_sta.bin" +WIFI_DRIVER_FW_PATH_AP := "/system/etc/wifi/bcmdhd_apsta.bin" +WIFI_DRIVER_FW_PATH_P2P := "/system/etc/wifi/bcmdhd_p2p.bin" +WIFI_DRIVER_MODULE_NAME := "dhd" +WIFI_DRIVER_MODULE_ARG := "iface_name=wlan0 firmware_path=/system/etc/wifi/bcmdhd_sta.bin nvram_path=/system/etc/wifi/nvram_net.txt" +WIFI_BAND := 802_11_ABG + +# Bluetooth +BOARD_HAVE_BLUETOOTH := true +BOARD_HAVE_BLUETOOTH_BCM := true + +# Security +BOARD_USES_SECURE_SERVICES := true + +# Recovery +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" +BOARD_UMS_LUNFILE := "/sys/class/android_usb/f_mass_storage/lun0/file" +BOARD_USES_MMCUTILS := true +BOARD_HAS_NO_MISC_PARTITION := true +BOARD_HAS_NO_SELECT_BUTTON := true + +# Charging mode +BOARD_CHARGER_RES := device/samsung/p3100/res/charger + +TARGET_SPECIFIC_HEADER_PATH := device/samsung/p3100/overlay/include + +# Use the non-open-source parts, if they're present +-include vendor/samsung/p31xx/BoardConfigVendor.mk diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..d12bff3 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,60 @@ +# Copyright (C) 2007 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. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) +$(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ +$(call add-clean-step, rm -rf $(TARGET_OUT)/build.prop) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/SHARED_LIBRARIES/libaudio_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/SHARED_LIBRARIES/libaudio_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/STATIC_LIBRARIES/libasound_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/EXECUTABLES/alsa_*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/system/bin/alsa_*) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/system/etc/asound.conf) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/system/usr/share/alsa) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/PACKAGING/systemimage_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/p3100/obj/SHARED_LIBRARIES/libaudio_intermediates) diff --git a/board-info.txt b/board-info.txt new file mode 100644 index 0000000..5854e25 --- /dev/null +++ b/board-info.txt @@ -0,0 +1,3 @@ +require board=espresso +require version-bootloader=P3100XWALE2 +require version-baseband=P3100XWALE2 diff --git a/cm.dependencies b/cm.dependencies new file mode 100644 index 0000000..1b9a2f3 --- /dev/null +++ b/cm.dependencies @@ -0,0 +1,10 @@ +[ + { + "repository": "android_kernel_samsung_espresso10", + "target_path": "kernel/samsung/espresso10" + }, + { + "repository": "android_packages_apps_SamsungServiceMode", + "target_path": "packages/apps/SamsungServiceMode" + } +] diff --git a/cm.mk b/cm.mk new file mode 100644 index 0000000..b663b25 --- /dev/null +++ b/cm.mk @@ -0,0 +1,40 @@ +# +# 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. +# + +## Specify phone tech before including full_phone +$(call inherit-product, vendor/cm/config/gsm.mk) + +# Release name +PRODUCT_RELEASE_NAME := p3100 + +# Boot animation +TARGET_BOOTANIMATION_NAME := horizontal-1024x600 + +# Inherit some common CM stuff. +$(call inherit-product, vendor/cm/config/common_full_phone.mk) + +# Inherit device configuration +$(call inherit-product, device/samsung/p3100/full_p3100.mk) + +## Device identifier. This must come after all inclusions +PRODUCT_DEVICE := p3100 +PRODUCT_NAME := cm_p3100 +PRODUCT_BRAND := samsung +PRODUCT_MODEL := GT-P3100 +PRODUCT_MANUFACTURER := samsung + +#Set build fingerprint / ID / Prduct Name ect. +PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=espressorfxx TARGET_DEVICE=espressorf BUILD_FINGERPRINT=samsung/espressorfxx/espressorf:4.0.3/IML74K/P3100XWALE2:user/release-keys PRIVATE_BUILD_DESC="espressorfxx-user 4.0.3 IML74K P3100XWALE2 release-keys" diff --git a/configs/Volume.db b/configs/Volume.db new file mode 100644 index 0000000..cd27537 Binary files /dev/null and b/configs/Volume.db differ diff --git a/configs/default_gain.conf b/configs/default_gain.conf new file mode 100644 index 0000000..5a82649 --- /dev/null +++ b/configs/default_gain.conf @@ -0,0 +1,1817 @@ +#Output Modifier Stage +#Normal, Incall, Ringtone, Incommunication + +#Modifier: Normal + +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", 6 }, + { "Speaker Volume", 59 }, + } + 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 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Normal" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Normal" { + SupportedDevice { + "SCO Headset Out" + } + Enable { + } + Disable { + } +} + +Modifier "Normal" { + SupportedDevice { + "SCO Carkit" + } + Enable { + } + Disable { + } +} + +Modifier "Normal" { + SupportedDevice { + "SCO" + } + Enable { + } + Disable { + } +} + +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", 56 }, + { "LINEOUT1 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 }, + { "LINEOUT1 Volume", 1 }, + } +} + +#Modifier : Incall +Modifier "Incall" { + SupportedDevice { + "Speaker" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + { "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", 60 }, + { "Speaker Boost Volume", 0 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "Headset Out" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 52 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "Headphone" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 60 }, + { "AIF2DAC Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "AIF2 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "SCO Headset Out" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 1 }, + { "AIF2DAC2R Mixer AIF2 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 }, + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "Incall" { + SupportedDevice { + "SCO" + } + Enable { + { "AIF2DAC2L Mixer AIF2 Switch", 1 }, + { "AIF2DAC2R Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "AIF2DAC Volume", 96 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +#Modifier: Ringtone +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", 5 }, + { "Speaker Volume", 63 }, + } + 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 }, + { "Headphone Volume", 50 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 0 }, + } +} + +Modifier "Ringtone" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 50 }, + } + 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", 0 }, + } +} + +Modifier "Ringtone" { + SupportedDevice { + "SCO" + } + Enable { + } + Disable { + } +} + +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 }, + { "LINEOUT1 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 }, + { "LINEOUT1 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", 5 }, + { "Speaker Volume", 60 }, + } + 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 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 51 }, + } +} + +Modifier "Dual Normal" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +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", 5 }, + { "Speaker Volume", 60 }, + } + 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 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 51 }, + } +} + +Modifier "Dual Ringtone" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 27 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +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", 6 }, + { "Speaker Volume", 62 }, + } + 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 "Incommunication" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incommunication" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Incommunication" { + 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 "Incommunication" { + 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 "Incommunication" { + 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 "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 }, + { "LINEOUT1 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 }, + { "LINEOUT1 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", 62 }, + } + 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 "Voipout" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "Voipout" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "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 { + "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 }, + { "LINEOUT1 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 }, + { "LINEOUT1 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", 6 }, + { "Speaker Volume", 62 }, + } + 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 "SecVoipout" { + SupportedDevice { + "Headset Out" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 45 }, + } +} + +Modifier "SecVoipout" { + SupportedDevice { + "Headphone" + } + Enable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "Headphone Volume", 54 }, + } + Disable { + { "Headphone ZC Switch", 0 }, + { "AIF1DAC1 Volume", 96 }, + { "AIF1 Boost Volume", 0 }, + { "DAC1 Volume", 96 }, + { "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 { + "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 }, + { "LINEOUT1 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 }, + { "LINEOUT1 Volume", 1 }, + } +} + +#Modifier : Loopback +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", 6 }, + { "Speaker Volume", 50 }, + } + 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", 50 }, + { "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 }, + { "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 }, + { "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 }, + { "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 }, + { "Headphone Volume", 45 }, + } +} + +#Modifier : LoopbackPacket +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", 6 }, + { "Speaker Volume", 50 }, + } + 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", 50 }, + { "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 }, + { "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 }, + { "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 }, + { "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 }, + { "Headphone Volume", 45 }, + } +} + +#INPUT Modifier Stage +#Voice, Camcorder, Recognition, Communication, + +Modifier "Voice" { + SupportedDevice { + "Builtin Mic" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 30 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 120 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 30 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 120 }, + } +} + +Modifier "Voice" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 18 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voice" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +Modifier "Camcorder" { + SupportedDevice { + "Builtin Mic" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 17 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 120 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Camcorder" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 30 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Camcorder" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +Modifier "Recognition" { + SupportedDevice { + "Builtin Mic" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 30 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 112 }, + } +} + +Modifier "Recognition" { + SupportedDevice { + "Headset In" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1R Volume", 18 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 118 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Recognition" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +Modifier "Communication" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 17 }, + { "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 "Communication" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 11 }, + { "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 { + "Headset In" + } + 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 "Communication" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 31 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 81 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "Voipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 11 }, + { "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 { + "Headset In" + } + 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 "Voipin" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "SecVoipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 31 }, + { "MIXINL IN1L Volume", 1 }, + { "AIF1ADC1 Volume", 90 }, + } + Disable { + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +Modifier "SecVoipin" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "AIF1ADC1 HPF Mode", 1 }, + { "AIF1ADC1 HPF Switch", 1 }, + { "IN1L Volume", 11 }, + { "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 { + "Headset In" + } + 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 "SecVoipin" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + { "AIF2DAC Volume", 96 }, + { "AIF1ADC1 HPF Mode", 0 }, + { "AIF1ADC1 HPF Switch", 0 }, + { "AIF1ADC1 Volume", 96 }, + } +} + +#Incall-Capture Modifier +Modifier "IncallIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "IN1L Volume", 28 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "IN1L Volume", 17 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 11 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "Back Mic" + } + Enable { + { "IN2R Volume", 11 }, + { "MIXINR IN2R Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN2R Volume", 11 }, + { "MIXINR IN2R Volume", 0 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "Headset In" + } + Enable { +// { "Sidetone HPF Mux", 3 }, +// { "Sidetone HPF Switch", 1 }, + { "IN1R Volume", 9 }, + { "MIXINR IN1R Volume", 1 }, + { "MIXINR IN1RP Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { +// { "Sidetone HPF Mux", 0 }, +// { "Sidetone HPF Switch", 0 }, + { "IN1R Volume", 9 }, + { "MIXINR IN1R Volume", 0 }, + { "MIXINR IN1RP Volume", 0 }, + { "DAC2 Right Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "IncallIn" { + SupportedDevice { + "SCO Headset In" + } + Enable { + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 0 }, + } + Disable { + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } +} + +#LoopbackIn-Capture Modifier +Modifier "LoopbackIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headset Out" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackIn" { + SupportedDevice { + "Headset In" + } + Enable { +// { "Sidetone HPF Mux", 3 }, +// { "Sidetone HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "MIXINR IN1RP Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { +// { "Sidetone HPF Mux", 0 }, +// { "Sidetone HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "MIXINR IN1RP Volume", 0 }, + { "DAC2 Right Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +#LoopbackPacketIn-Capture Modifier +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headphone" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Speaker" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Builtin Mic" + } + OutputDevice { + "Headset Out" + } + Enable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 1 }, + { "DAC2 Left Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { + { "IN1L Volume", 8 }, + { "MIXINL IN1L Volume", 0 }, + { "DAC2 Left Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +Modifier "LoopbackPacketIn" { + SupportedDevice { + "Headset In" + } + Enable { +// { "Sidetone HPF Mux", 3 }, +// { "Sidetone HPF Switch", 1 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 1 }, + { "MIXINR IN1RP Volume", 1 }, + { "DAC2 Right Sidetone Volume", 12 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } + Disable { +// { "Sidetone HPF Mux", 0 }, +// { "Sidetone HPF Switch", 0 }, + { "IN1R Volume", 11 }, + { "MIXINR IN1R Volume", 0 }, + { "MIXINR IN1RP Volume", 0 }, + { "DAC2 Right Sidetone Volume", 0 }, + { "DAC2 Volume", 96 }, + { "AIF2ADC Volume", 96 }, + } +} + +#Special Modifier for voicecall recording, not gain +Modifier "MicRec" { + 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 "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 "Audio_GND_Switch" { + Enable { + { "HP Output Mode", 0}, + } + Disable { + { "HP Output Mode", 1}, + } +} + +Modifier "Audio_PM_Const" { + Enable { + { "PM Constraints Mode", 1}, + } + Disable { + { "PM Constraints Mode", 0}, + } +} \ No newline at end of file diff --git a/configs/egl.cfg b/configs/egl.cfg new file mode 100644 index 0000000..3e1a8c6 --- /dev/null +++ b/configs/egl.cfg @@ -0,0 +1 @@ +0 1 POWERVR_SGX540_120 diff --git a/configs/gps.conf b/configs/gps.conf new file mode 100644 index 0000000..5015eb0 --- /dev/null +++ b/configs/gps.conf @@ -0,0 +1,6 @@ +NTP_SERVER=north-america.pool.ntp.org +XTRA_SERVER_1=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat +XTRA_SERVER_2=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat +XTRA_SERVER_3=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat +SUPL_HOST=supl.google.com +SUPL_PORT=7276 diff --git a/configs/gps.xml b/configs/gps.xml new file mode 100644 index 0000000..1c4aaa9 --- /dev/null +++ b/configs/gps.xml @@ -0,0 +1,69 @@ + + + + + + + + + + diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml new file mode 100644 index 0000000..3b2a56a --- /dev/null +++ b/configs/media_profiles.xml @@ -0,0 +1,467 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/tinyucm.conf b/configs/tinyucm.conf new file mode 100644 index 0000000..f040eb2 --- /dev/null +++ b/configs/tinyucm.conf @@ -0,0 +1,396 @@ +// 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 0 +BasebandLink 1 +BluetoothLink 2 + +//Modifier File +ModifierFile "default_gain.conf" + +INOUT_MAP { + { "Speaker", "Builtin Mic" }, + { "Headset Out", "Headset In" }, + { "Headphone", "Builtin Mic" }, + { "SCO Headset Out", "SCO Headset In" }, + { "SCO", "SCO Headset In" }, +} + +INPUT_CHANNEL_MAP { + { "Builtin Mic", "Left" }, + { "Headset In", "Right" }, + { "SCO Headset In", "Left" }, +} + +Core { +//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", "DAC" }, + { "Right Headphone Mux", "DAC" }, + +// DAC1->SPKL/R->SPKL/R Boost->SPK + { "SPKL DAC1 Switch", 1 }, + { "SPKR DAC1 Switch", 1 }, + { "SPKL Boost SPKL Switch", 1 }, + { "SPKL Boost SPKR Switch", 0 }, + { "SPKR Boost SPKL Switch", 0 }, + { "SPKR Boost SPKR Switch", 1 }, + { "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 }, + { "LINEOUT1N Mixer Right Output Switch", 1 }, + { "LINEOUT1P Mixer Left Output 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->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->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 }, + +// 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", 1 }, + +// Work around core issue + { "ADCL Mux", "DMIC" }, + { "ADCL Mux", "ADC" }, + { "ADCR Mux", "DMIC" }, + { "ADCR Mux", "ADC" }, + +// Default all outputs off + { "HP Switch", 0 }, + { "SPK Switch", 0 }, + { "RCV Switch", 0 }, + { "LINEOUT Switch", 0 }, + +// Default all inputs off + { "Main Mic Switch", 0 }, + { "Sub Mic Switch", 0 }, + { "Headset Mic 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 "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 }, + { "AIF2ADCL Source", "Left" }, + { "AIF2ADCR Source", "Left" }, + } + Disable { + { "AIF3ADC Mux", 0 }, + { "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 }, + { "AIF2ADCL Source", "Left" }, + { "AIF2ADCR Source", "Left" }, + } + Disable { + { "AIF3ADC Mux", 0 }, + { "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 }, + { "AIF2ADCL Source", "Left" }, + { "AIF2ADCR Source", "Left" }, + } + Disable { + { "AIF3ADC Mux", 0 }, + { "AIF2DAC2L Mixer AIF1.1 Switch", 0 }, + { "AIF2DAC2R Mixer AIF1.1 Switch", 0 }, + } +} + +Device "Analogue Dock Out" { + Enable { + { "LINEOUT1N Switch", 1 }, + { "LINEOUT1P Switch", 1 }, + { "LINEOUT Switch", 1 }, + } + Disable { + { "LINEOUT1N Switch", 0 }, + { "LINEOUT1P Switch", 0 }, + { "LINEOUT Switch", 0 }, + } +} + +Device "Builtin Mic" { + Enable { + { "Main Mic Switch", 1 }, + { "AIF1ADCL Source", "Left" }, + { "AIF1ADCR Source", "Left" }, + { "AIF2ADCL Source", "Left" }, + { "AIF2ADCR Source", "Left" }, + { "MIXINL IN1L Switch", 1 }, + } + Disable { + { "Main Mic Switch", 0 }, + { "MIXINL IN1L Switch", 0 }, + } +} + +Device "Headset In" { + Enable { + { "Headset Mic Switch", 1 }, + { "AIF1ADCL Source", "Right" }, + { "AIF1ADCR Source", "Right" }, + { "AIF2ADCL Source", "Right" }, + { "AIF2ADCR Source", "Right" }, + { "MIXINR IN1R Switch", 1 }, + } + Disable { + { "Headset Mic Switch", 0 }, + { "MIXINR IN1R Switch", 0 }, + } +} + +Device "SCO Headset In" { + Enable { + { "AIF2ADC Mux", 1 }, + { "AIF1ADCL Source", "Left" }, + { "AIF1ADCR Source", "Left" }, + { "AIF2ADCL Source", "Left" }, + { "AIF2ADCR Source", "Left" }, + { "AIF1ADC1R Mixer AIF2 Switch", 1 }, + { "AIF1ADC1L Mixer AIF2 Switch", 1 }, + } + Disable { + { "AIF2ADC Mux", 0 }, + { "AIF1ADC1R Mixer AIF2 Switch", 0 }, + { "AIF1ADC1L Mixer AIF2 Switch", 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 { + { "AIF2 Mode", 0 }, +// { "DAC1L Mixer AIF1.1 Switch", 0 }, +// { "DAC1R Mixer AIF1.1 Switch", 0 }, + { "AIF2DAC Mux", "AIF2DACDAT" }, + } +} + +Verb "Ringtone" { + Enable { + { "DAC1L Mixer AIF1.1 Switch", 1 }, + { "DAC1R Mixer AIF1.1 Switch", 1 }, + } + Disable { +// { "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 { + { "DAC1L Mixer AIF1.1 Switch", 0 }, + { "DAC1R Mixer AIF1.1 Switch", 0 }, + } +} + +Verb "Voicecall" { + Enable { + { "HP Output Mode", 0 }, + { "AIF2 Mode", 0 }, +//left:0, right:1 + { "AIF2DACL Source", 0 }, + { "AIF2DACR Source", 0 }, + { "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 }, + { "AIF2DACL Source", 0 }, + { "AIF2DACR Source", 1 }, +// { "DAC1L Mixer AIF1.1 Switch", 0 }, +// { "DAC1R Mixer AIF1.1 Switch", 0 }, + { "DAC1L Mixer AIF2 Switch", 0 }, + { "DAC1R Mixer AIF2 Switch", 0 }, + { "AIF2DAC Mux", "AIF2DACDAT" }, + } +} + +Verb "Loopback" { + Enable { + { "HP Output Mode", 0 }, + { "AIF2 Mode", 0 }, +//left:0, right:1 + { "AIF2DACL Source", 0 }, + { "AIF2DACR Source", 0 }, + { "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" }, + { "AIF2DAC2L Mixer AIF2 Switch", 0 }, + { "AIF2DAC2R Mixer AIF2 Switch", 0 }, + } + Disable { + { "AIF2 Mode", 0 }, + { "AIF2DACL Source", 0 }, + { "AIF2DACR Source", 1 }, +// { "DAC1L Mixer AIF1.1 Switch", 0 }, +// { "DAC1R Mixer AIF1.1 Switch", 0 }, + { "DAC1L Mixer AIF2 Switch", 0 }, + { "DAC1R Mixer AIF2 Switch", 0 }, + { "AIF2DAC Mux", "AIF2DACDAT" }, + } +} + +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/configs/vold.fstab b/configs/vold.fstab new file mode 100644 index 0000000..2c6f66e --- /dev/null +++ b/configs/vold.fstab @@ -0,0 +1,19 @@ +## Vold 2.0 Generic fstab +## - San Mehat (san@android.com) +## + +####################### +## Regular device mount +## +## Format: dev_mount