klte: Clean up Samsung device inheritance

* Clean up from msm8974-common cleanup
* Use dtbtoolCM
* Remove empty overlay folders
* Use nested dependencies
* Move wifi config to device trees from msm8974-common
* Remove unused items
* Remove unused qmiproxy
* Remove init.qcom.ril.rc
* Remove init.qcom.syspart.sh
* Remove init.qcom.modem_links.sh
* Remove init.qcom.sh
* Remove init.qcom.post_boot.sh
* Remove init.qcom.usb.sh
* Move egl.cfg to msm8974-common
* Clean up overlay
* Remove cm.dependencies for now
* Clean up proprietary file list
* Use proprietary NFC HAL
This commit is contained in:
Ethan Chen 2014-07-30 21:41:28 -07:00
parent 35f819e888
commit ac7fff4b8f
44 changed files with 1020 additions and 2722 deletions

View file

@ -1,4 +1,4 @@
# Copyright (C) 2009 The CyanogenMod Project
# Copyright (C) 2014 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -12,110 +12,97 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This file sets variables that control the way modules are built
# thorughout the system. It should not be used to conditionally
# disable makefiles (the proper mechanism to control what gets
# included in a build is to use PRODUCT_PACKAGES in a product
# definition file).
#
# inherit from common msm8974
-include device/samsung/msm8974-common/BoardConfigCommon.mk
TARGET_SPECIFIC_HEADER_PATH := device/samsung/klte/include
TARGET_OTA_ASSERT_DEVICE := kltexx,kltelra,kltespr,kltetmo,kltecan,klteatt,kltevzw,klteusc,kltedv,klteub,klteacg,kltedcm,klte
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := MSM8974
# Kernel Configs
TARGET_KERNEL_SOURCE := kernel/samsung/klte
# Kernel
BOARD_CUSTOM_BOOTIMG_MK := device/samsung/klte/mkbootimg.mk
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_CMDLINE := console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3
BOARD_KERNEL_PAGESIZE := 2048
BOARD_KERNEL_SEPARATED_DT := true
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02000000 --tags_offset 0x01e00000
TARGET_KERNEL_CONFIG := msm8974_sec_defconfig
TARGET_KERNEL_SELINUX_CONFIG := selinux_defconfig
TARGET_KERNEL_VARIANT_CONFIG := msm8974pro_sec_klte_spr_defconfig
# Kernel
BOARD_KERNEL_CMDLINE := console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_PAGESIZE := 2048
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02000000 --tags_offset 0x01e00000
BOARD_KERNEL_SEPARATED_DT := true
BOARD_CUSTOM_BOOTIMG_MK := device/samsung/klte/mkbootimg.mk
TARGET_KERNEL_SOURCE := kernel/samsung/klte
# Graphics
BOARD_EGL_CFG := device/samsung/klte/egl.cfg
# Audio
BOARD_HAVE_NEW_QCOM_CSDCLIENT := true
BOARD_HAVE_SAMSUNG_AUDIO := true
BOARD_USES_CUSTOM_AUDIO_PLATFORM_PATH := device/samsung/klte/audio/platform
BOARD_USES_FLUENCE_INCALL := true
BOARD_USES_FLUENCE_FOR_VOIP := true
BOARD_USES_SEPERATED_AUDIO_INPUT := true
AUDIO_FEATURE_DISABLED_ANC_HEADSET := true
AUDIO_FEATURE_DISABLED_FM := true
AUDIO_FEATURE_DISABLED_MULTI_VOICE_SESSIONS := true
# Bluetooth
BOARD_BLUEDROID_VENDOR_CONF := device/samsung/klte/bluetooth/vnd_klte.txt
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/samsung/klte/bluetooth
BOARD_BLUETOOTH_USES_HCIATTACH_PROPERTY := false
BOARD_HAVE_BLUETOOTH_BCM := true
# Display
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
# GPS
TARGET_NO_RPC := true
# Init
TARGET_INIT_VENDOR_LIB := libinit_msm
TARGET_LIBINIT_DEFINES_FILE := device/samsung/klte/init/init_klte.c
TARGET_UNIFIED_DEVICE := true
# Lights
TARGET_PROVIDES_LIBLIGHT := true
# NFC
BOARD_NFC_HAL_SUFFIX := msm8974
# Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 11534336
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 13631488
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1572864000
BOARD_USERDATAIMAGE_PARTITION_SIZE := 28651290624
BOARD_FLASH_BLOCK_SIZE := 131072
TARGET_USERIMAGES_USE_EXT4 := true
# Power HAL
TARGET_POWERHAL_VARIANT := qcom
# Recovery
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
BOARD_CUSTOM_RECOVERY_KEYMAPPING := ../../device/samsung/klte/recovery/recovery_keys.c
BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_23x41.h\"
BOARD_USES_MMCUTILS := true
BOARD_HAS_LARGE_FILESYSTEM := true
BOARD_HAS_NO_MISC_PARTITION := true
BOARD_HAS_NO_SELECT_BUTTON := true
BOARD_RECOVERY_SWIPE := true
TARGET_RECOVERY_FSTAB := device/samsung/klte/rootdir/etc/fstab.qcom
TARGET_USERIMAGES_USE_EXT4 := true
BOARD_BOOTIMAGE_PARTITION_SIZE := 11534336
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 13631488
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1572864000
BOARD_USERDATAIMAGE_PARTITION_SIZE := 28651290624
BOARD_FLASH_BLOCK_SIZE := 131072
BOARD_RECOVERY_SWIPE := true
# bluetooth
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/samsung/klte/bluetooth
BOARD_BLUEDROID_VENDOR_CONF := device/samsung/klte/bluetooth/vnd_klte.txt
BOARD_BLUETOOTH_USES_HCIATTACH_PROPERTY := false
# NFC
BOARD_NFC_HAL_SUFFIX := msm8974
# Samsung's nonstandard csd-client
BOARD_HAVE_NEW_QCOM_CSDCLIENT := true
# Audio settings
BOARD_USES_CUSTOM_AUDIO_PLATFORM_PATH := device/samsung/klte/audio/platform
AUDIO_FEATURE_DISABLED_MULTI_VOICE_SESSIONS := true
AUDIO_FEATURE_DISABLED_FM := true
AUDIO_FEATURE_DISABLED_ANC_HEADSET := true
# Build lights
TARGET_PROVIDES_LIBLIGHT := true
# Time services
BOARD_USES_QC_TIME_SERVICES := true
# Display
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
OVERRIDE_RS_DRIVER:= libRSDriver_adreno.so
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
# Shader cache config options
# Maximum size of the GLES Shaders that can be cached for reuse.
# Increase the size if shaders of size greater than 12KB are used.
MAX_EGL_CACHE_KEY_SIZE := 12*1024
# Maximum GLES shader cache size for each app to store the compiled shader
# binaries. Decrease the size if RAM or Flash Storage size is a limitation
# of the device.
MAX_EGL_CACHE_SIZE := 2048*1024
# Assert
TARGET_OTA_ASSERT_DEVICE := kltexx,kltelra,kltespr,kltetmo,kltecan,klteatt,kltevzw,klteusc,kltedv,klteub,klteacg,kltedcm,klte
# PowerHAL
TARGET_POWERHAL_VARIANT := qcom
# Consumerir
TARGET_PROVIDES_CONSUMERIR_HAL := true
# We don't use old-ass RPC
TARGET_NO_RPC := true
# Vendor Init
TARGET_UNIFIED_DEVICE := true
TARGET_INIT_VENDOR_LIB := libinit_msm
TARGET_LIBINIT_DEFINES_FILE := device/samsung/klte/init/init_klte.c
# Releasetools
TARGET_RELEASETOOLS_EXTENSIONS := device/samsung/klte
# Wifi
BOARD_HAVE_SAMSUNG_WIFI := true
BOARD_WLAN_DEVICE := bcmdhd
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
WPA_SUPPLICANT_VERSION := VER_0_8_X
WIFI_BAND := 802_11_ABG
WIFI_DRIVER_MODULE_ARG := "firmware_path=/system/etc/wifi/bcmdhd_sta.bin nvram_path=/system/etc/wifi/nvram_net.txt"
WIFI_DRIVER_MODULE_AP_ARG := "firmware_path=/system/etc/wifi/bcmdhd_apsta.bin nvram_path=/system/etc/wifi/nvram_net.txt"
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"

View file

@ -1,34 +0,0 @@
[
{
"repository": "android_device_qcom_common",
"target_path": "device/qcom/common"
},
{
"repository": "android_device_samsung_qcom-common",
"target_path": "device/samsung/qcom-common"
},
{
"repository": "android_device_samsung_msm8960-common",
"target_path": "device/samsung/msm8974-common"
},
{
"repository": "android_device_samsung_klte",
"target_path": "device/samsung/klte"
},
{
"repository": "android_kernel_samsung_klte",
"target_path": "kernel/samsung/klte"
},
{
"repository": "android_hardware_samsung",
"target_path": "hardware/samsung"
},
{
"repository": "android_hardware_qcom_display-caf-new",
"target_path": "hardware/qcom/display-caf-new"
},
{
"repository": "android_hardware_qcom_media-caf-new",
"target_path": "hardware/qcom/media-caf-new"
}
]

453
configs/libnfc-nxp.conf Normal file
View file

@ -0,0 +1,453 @@
## This file is used by NFC NXP NCI HAL(external/libnfc-nci/halimpl/pn547)
## and NFC Service Java Native Interface Extensions (packages/apps/Nfc/nci/jni/extns/pn547)
###############################################################################
# Application options
# Logging Levels
# NXPLOG_DEFAULT_LOGLEVEL 0x01
# ANDROID_LOG_DEBUG 0x03
# ANDROID_LOG_WARN 0x02
# ANDROID_LOG_ERROR 0x01
# ANDROID_LOG_SILENT 0x00
#
NXPLOG_EXTNS_LOGLEVEL=0x03
NXPLOG_NCIHAL_LOGLEVEL=0x03
NXPLOG_NCIX_LOGLEVEL=0x03
NXPLOG_NCIR_LOGLEVEL=0x03
NXPLOG_FWDNLD_LOGLEVEL=0x03
NXPLOG_TML_LOGLEVEL=0x03
###############################################################################
# Extension for Mifare reader enable
# 0x00 - Disabled
# 0x01 - Enabled
MIFARE_READER_ENABLE=0x01
###############################################################################
# File location for Firmware
#FW_STORAGE="/vendor/firmware/libpn547_fw.so"
###############################################################################
# System clock source selection configuration
# CLK_SRC_XTAL - 0x01
# CLK_SRC_PLL - 0x02
NXP_SYS_CLK_SRC_SEL=0x02
###############################################################################
# System clock frequency selection configuration for PLL
# CLK_FREQ_13MHZ - 0x01
# CLK_FREQ_19_2MHZ - 0x02
# CLK_FREQ_24MHZ - 0x03
# CLK_FREQ_26MHZ - 0x04
# CLK_FREQ_38_4MHZ - 0x05
# CLK_FREQ_52MHZ - 0x06
NXP_SYS_CLK_FREQ_SEL=0x02
###############################################################################
# The timeout value to be used for clock request acknowledgment
# min value = 0x01 to max = 0x0A
NXP_SYS_CLOCK_TO_CFG=0x0A
###############################################################################
# NXP proprietary settings
NXP_ACT_PROP_EXTN={2F, 02, 00}
###############################################################################
# NFC forum profile settings
NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00}
###############################################################################
# Standby enable settings
# 0x00 - Disabled
# 0x01 - Enabled
NXP_CORE_STANDBY={2F, 00, 01, 01}
###############################################################################
# NXP RF ALM (NO BOOSTER) configuration settings for FW VERSION = 08.01.15
###############################################################################
# A0, 0D, 03, 00, 40, 02 RF_CLIF_BOOT CLIF_ANA_NFCLD_REG
# A0, 0D, 03, 04, 43, 20 RF_CLIF_CFG_INITIATOR CLIF_ANA_PBF_CONTROL_REG
# A0, 0D, 03, 04, FF, 05 RF_CLIF_CFG_INITIATOR SMU_PMU_REG (0x40024010)
# A0, 0D, 06, 06, 44, A3, 90, 03, 00 RF_CLIF_CFG_TARGET CLIF_ANA_RX_REG
# A0, 0D, 06, 06, 30, CF, 00, 08, 00 RF_CLIF_CFG_TARGET CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C RF_CLIF_CFG_TARGET CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 04, 06, 03, 00, 6E RF_CLIF_CFG_TARGET CLIF_TRANSCEIVE_CONTROL_REG
# A0, 0D, 03, 06, 48, 1F RF_CLIF_CFG_TARGET CLIF_ANA_CLK_MAN_REG
# A0, 0D, 03, 06, 43, A0 RF_CLIF_CFG_TARGET CLIF_ANA_PBF_CONTROL_REG
# A0, 0D, 06, 06, 42, 00, 00, FF, FF RF_CLIF_CFG_TARGET CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 06, 41, 80, 00, 00, 00 RF_CLIF_CFG_TARGET CLIF_ANA_TX_CLK_CONTROL_REG
# A0, 0D, 03, 06, 37, 18 RF_CLIF_CFG_TARGET CLIF_TX_CONTROL_REG
# A0, 0D, 03, 06, 16, 00 RF_CLIF_CFG_TARGET CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 06, 15, 00 RF_CLIF_CFG_TARGET CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 06, FF, 05, 00, 00, 00 RF_CLIF_CFG_TARGET SMU_PMU_REG (0x40024010)
# A0, 0D, 06, 08, 44, 00, 00, 00, 00 RF_CLIF_CFG_I_PASSIVE CLIF_ANA_RX_REG
# A0, 0D, 06, 20, 4A, 00, 00, 00, 00 RF_CLIF_CFG_TECHNO_I_TX15693CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 20, 42, 88, 10, FF, FF RF_CLIF_CFG_TECHNO_I_TX15693CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 20, 16, 00 RF_CLIF_CFG_TECHNO_I_TX15693CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 20, 15, 00 RF_CLIF_CFG_TECHNO_I_TX15693CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 22, 44, 22, 00, 02, 00 RF_CLIF_CFG_TECHNO_I_RX15693CLIF_ANA_RX_REG
# A0, 0D, 06, 22, 2D, 50, 44, 0C, 00 RF_CLIF_CFG_TECHNO_I_RX15693CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 04, 32, 03, 40, 3D RF_CLIF_CFG_BR_106_I_TXA CLIF_TRANSCEIVE_CONTROL_REG
# A0, 0D, 06, 32, 42, F8, 10, FF, FF RF_CLIF_CFG_BR_106_I_TXA CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 32, 16, 00 RF_CLIF_CFG_BR_106_I_TXA CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 32, 15, 01 RF_CLIF_CFG_BR_106_I_TXA CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 03, 32, 0D, 22 RF_CLIF_CFG_BR_106_I_TXA CLIF_TX_DATA_MOD_REG
# A0, 0D, 03, 32, 14, 22 RF_CLIF_CFG_BR_106_I_TXA CLIF_TX_SYMBOL23_MOD_REG
# A0, 0D, 06, 32, 4A, 30, 0F, 01, 1F RF_CLIF_CFG_BR_106_I_TXA CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 34, 2D, 24, 77, 0C, 00 RF_CLIF_CFG_BR_106_I_RXA_P CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 34, 44, 21, 00, 02, 00 RF_CLIF_CFG_BR_106_I_RXA_P CLIF_ANA_RX_REG
# A0, 0D, 06, 35, 44, 21, 00, 02, 00 RF_CLIF_CFG_BR_106_I_RXA_P CLIF_ANA_RX_REG
# A0, 0D, 06, 38, 4A, 53, 07, 01, 1B RF_CLIF_CFG_BR_212_I_TXA CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 38, 42, 68, 10, FF, FF RF_CLIF_CFG_BR_212_I_TXA CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 38, 16, 00 RF_CLIF_CFG_BR_212_I_TXA CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 38, 15, 00 RF_CLIF_CFG_BR_212_I_TXA CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 3A, 2D, 15, 47, 0D, 00 RF_CLIF_CFG_BR_212_I_RXA CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 3C, 4A, 52, 07, 01, 1B RF_CLIF_CFG_BR_424_I_TXA CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 3C, 42, 68, 10, FF, FF RF_CLIF_CFG_BR_424_I_TXA CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 3C, 16, 00 RF_CLIF_CFG_BR_424_I_TXA CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 3C, 15, 00 RF_CLIF_CFG_BR_424_I_TXA CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 3E, 2D, 15, 47, 0D, 00 RF_CLIF_CFG_BR_424_I_RXA CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 40, 42, F0, 10, FF, FF RF_CLIF_CFG_BR_848_I_TXA CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 40, 0D, 02 RF_CLIF_CFG_BR_848_I_TXA CLIF_TX_DATA_MOD_REG
# A0, 0D, 03, 40, 14, 02 RF_CLIF_CFG_BR_848_I_TXA CLIF_TX_SYMBOL23_MOD_REG
# A0, 0D, 06, 40, 4A, 12, 07, 00, 00 RF_CLIF_CFG_BR_848_I_TXA CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 03, 40, 16, 00 RF_CLIF_CFG_BR_848_I_TXA CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 40, 15, 00 RF_CLIF_CFG_BR_848_I_TXA CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 42, 2D, 15, 47, 0D, 00 RF_CLIF_CFG_BR_848_I_RXA CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 46, 44, 21, 00, 02, 00 RF_CLIF_CFG_BR_106_I_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 46, 2D, 05, 47, 0E, 00 RF_CLIF_CFG_BR_106_I_RXB CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 44, 4A, 33, 07, 01, 07 RF_CLIF_CFG_BR_106_I_TXB CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 44, 42, 88, 10, FF, FF RF_CLIF_CFG_BR_106_I_TXB CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 44, 16, 00 RF_CLIF_CFG_BR_106_I_TXB CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 44, 15, 00 RF_CLIF_CFG_BR_106_I_TXB CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 4A, 44, 22, 00, 02, 00 RF_CLIF_CFG_BR_212_I_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 4A, 2D, 05, 37, 0C, 00 RF_CLIF_CFG_BR_212_I_RXB CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 48, 4A, 33, 07, 01, 07 RF_CLIF_CFG_BR_212_I_TXB CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 48, 42, 88, 10, FF, FF RF_CLIF_CFG_BR_212_I_TXB CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 48, 16, 00 RF_CLIF_CFG_BR_212_I_TXB CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 48, 15, 00 RF_CLIF_CFG_BR_212_I_TXB CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 4E, 44, 22, 00, 02, 00 RF_CLIF_CFG_BR_424_I_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 4E, 2D, 05, 37, 0C, 00 RF_CLIF_CFG_BR_424_I_RXB CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 4C, 4A, 33, 07, 01, 07 RF_CLIF_CFG_BR_424_I_TXB CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 4C, 42, 88, 10, FF, FF RF_CLIF_CFG_BR_424_I_TXB CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 4C, 16, 00 RF_CLIF_CFG_BR_424_I_TXB CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 4C, 15, 00 RF_CLIF_CFG_BR_424_I_TXB CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 52, 44, 22, 00, 02, 00 RF_CLIF_CFG_BR_848_I_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 52, 2D, 05, 25, 0C, 00 RF_CLIF_CFG_BR_848_I_RXB CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 50, 42, 90, 10, FF, FF RF_CLIF_CFG_BR_848_I_TXB CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 50, 4A, 11, 0F, 01, 07 RF_CLIF_CFG_BR_848_I_TXB CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 03, 50, 16, 00 RF_CLIF_CFG_BR_848_I_TXB CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 50, 15, 00 RF_CLIF_CFG_BR_848_I_TXB CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 56, 2D, 05, 9E, 0C, 00 RF_CLIF_CFG_BR_212_I_RXF_P CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 56, 44, 22, 00, 02, 00 RF_CLIF_CFG_BR_212_I_RXF_P CLIF_ANA_RX_REG
# A0, 0D, 06, 5C, 2D, 05, 69, 0C, 00 RF_CLIF_CFG_BR_424_I_RXF_P CLIF_SIGPRO_RM_CONFIG1_REG
# A0, 0D, 06, 5C, 44, 21, 00, 02, 00 RF_CLIF_CFG_BR_424_I_RXF_P CLIF_ANA_RX_REG
# A0, 0D, 06, 54, 42, 88, 10, FF, FF RF_CLIF_CFG_BR_212_I_TXF CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 54, 4A, 33, 07, 01, 07 RF_CLIF_CFG_BR_212_I_TXF CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 03, 54, 16, 00 RF_CLIF_CFG_BR_212_I_TXF CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 54, 15, 00 RF_CLIF_CFG_BR_212_I_TXF CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 5A, 42, 90, 10, FF, FF RF_CLIF_CFG_BR_424_I_TXF CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 5A, 4A, 31, 07, 01, 07 RF_CLIF_CFG_BR_424_I_TXF CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 03, 5A, 16, 00 RF_CLIF_CFG_BR_424_I_TXF CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 5A, 15, 00 RF_CLIF_CFG_BR_424_I_TXF CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 98, 2F, AF, 05, 80, 0F RF_CLIF_GTM_B CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 9A, 42, 00, 00, FF, FF RF_CLIF_GTM_FELICA CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 30, 44, A3, 90, 03, 00 RF_CLIF_CFG_TECHNO_T_RXF CLIF_ANA_RX_REG
# A0, 0D, 06, 6C, 44, A3, 90, 03, 00 RF_CLIF_CFG_BR_106_T_RXA CLIF_ANA_RX_REG
# A0, 0D, 06, 6C, 30, CF, 00, 08, 00 RF_CLIF_CFG_BR_106_T_RXA CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 6C, 2F, 8F, 05, 80, 0C RF_CLIF_CFG_BR_106_T_RXA CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 70, 2F, 8F, 05, 80, 12 RF_CLIF_CFG_BR_212_T_RXA CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 70, 30, CF, 00, 08, 00 RF_CLIF_CFG_BR_212_T_RXA CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 74, 2F, 8F, 05, 80, 12 RF_CLIF_CFG_BR_424_T_RXA CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 74, 30, DF, 00, 07, 00 RF_CLIF_CFG_BR_424_T_RXA CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 78, 2F, 1F, 06, 80, 01 RF_CLIF_CFG_BR_848_T_RXA CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 78, 30, 3F, 00, 04, 00 RF_CLIF_CFG_BR_848_T_RXA CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 78, 44, A2, 90, 03, 00 RF_CLIF_CFG_BR_848_T_RXA CLIF_ANA_RX_REG
# A0, 0D, 03, 78, 47, 00 RF_CLIF_CFG_BR_848_T_RXA CLIF_ANA_AGC_REG
# A0, 0D, 06, 7C, 2F, AF, 05, 80, 0F RF_CLIF_CFG_BR_106_T_RXB CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 7C, 30, CF, 00, 07, 00 RF_CLIF_CFG_BR_106_T_RXB CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 7C, 44, A3, 90, 03, 00 RF_CLIF_CFG_BR_106_T_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 7D, 30, CF, 00, 08, 00 RF_CLIF_CFG_BR_106_T_RXB CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 80, 2F, AF, 05, 80, 90 RF_CLIF_CFG_BR_212_T_RXB CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 80, 44, A3, 90, 03, 00 RF_CLIF_CFG_BR_212_T_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 84, 2F, AF, 05, 80, 92 RF_CLIF_CFG_BR_424_T_RXB CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 84, 44, A3, 90, 03, 00 RF_CLIF_CFG_BR_424_T_RXB CLIF_ANA_RX_REG
# A0, 0D, 06, 88, 2F, 7F, 04, 80, 10 RF_CLIF_CFG_BR_848_T_RXB CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 06, 88, 30, 5F, 00, 16, 00 RF_CLIF_CFG_BR_848_T_RXB CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 03, 88, 47, 00 RF_CLIF_CFG_BR_848_T_RXB CLIF_ANA_AGC_REG
# A0, 0D, 06, 88, 44, A1, 90, 03, 00 RF_CLIF_CFG_BR_848_T_RXB CLIF_ANA_RX_REG
# A0, 0D, 03, 0C, 48, 1F RF_CLIF_CFG_T_PASSIVE CLIF_ANA_CLK_MAN_REG
# A0, 0D, 03, 10, 43, 20 RF_CLIF_CFG_T_ACTIVE CLIF_ANA_PBF_CONTROL_REG
# A0, 0D, 06, 6A, 42, F8, 10, FF, FF RF_CLIF_CFG_BR_106_T_TXA_A CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 03, 6A, 16, 00 RF_CLIF_CFG_BR_106_T_TXA_A CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 6A, 15, 01 RF_CLIF_CFG_BR_106_T_TXA_A CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 6A, 4A, 30, 0F, 01, 1F RF_CLIF_CFG_BR_106_T_TXA_A CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 06, 8C, 42, 88, 10, FF, FF RF_CLIF_CFG_BR_212_T_TXF_A CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 8C, 4A, 33, 07, 01, 07 RF_CLIF_CFG_BR_212_T_TXF_A CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 03, 8C, 16, 00 RF_CLIF_CFG_BR_212_T_TXF_A CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 8C, 15, 00 RF_CLIF_CFG_BR_212_T_TXF_A CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 92, 42, 90, 10, FF, FF RF_CLIF_CFG_BR_424_T_TXF_A CLIF_ANA_TX_AMPLITUDE_REG
# A0, 0D, 06, 92, 4A, 31, 07, 01, 07 RF_CLIF_CFG_BR_424_T_TXF_A CLIF_ANA_TX_SHAPE_CONTROL_REG
# A0, 0D, 03, 92, 16, 00 RF_CLIF_CFG_BR_424_T_TXF_A CLIF_TX_UNDERSHOOT_CONFIG_REG
# A0, 0D, 03, 92, 15, 00 RF_CLIF_CFG_BR_424_T_TXF_A CLIF_TX_OVERSHOOT_CONFIG_REG
# A0, 0D, 06, 0A, 30, CF, 00, 08, 00 RF_CLIF_CFG_I_ACTIVE CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
# A0, 0D, 06, 0A, 2F, 8F, 05, 80, 0C RF_CLIF_CFG_I_ACTIVE CLIF_SIGPRO_ADCBCM_CONFIG_REG
# A0, 0D, 03, 0A, 48, 10 RF_CLIF_CFG_I_ACTIVE CLIF_ANA_CLK_MAN_REG
# A0, 0D, 06, 0A, 44, A3, 90, 03, 00 RF_CLIF_CFG_I_ACTIVE CLIF_ANA_RX_REG
# *** ALM(NO BOOSTER) FW VERSION = 08.01.15 ***
NXP_RF_CONF_BLK_1={
20, 02, F3, 20,
A0, 0D, 03, 00, 40, 03,
A0, 0D, 03, 04, 43, 20,
A0, 0D, 03, 04, FF, 05,
A0, 0D, 06, 06, 44, A3, 90, 03, 00,
A0, 0D, 06, 06, 30, CF, 00, 08, 00,
A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C,
A0, 0D, 04, 06, 03, 00, 71,
A0, 0D, 03, 06, 48, 18,
A0, 0D, 03, 06, 43, A0,
A0, 0D, 06, 06, 42, 00, 00, F1, F6,
A0, 0D, 06, 06, 41, 80, 00, 00, 00,
A0, 0D, 03, 06, 37, 18,
A0, 0D, 03, 06, 16, 00,
A0, 0D, 03, 06, 15, 00,
A0, 0D, 06, 06, FF, 05, 00, 00, 00,
A0, 0D, 06, 08, 44, 00, 00, 00, 00,
A0, 0D, 06, 20, 4A, 00, 00, 00, 00,
A0, 0D, 06, 20, 42, 88, 10, FF, FF,
A0, 0D, 03, 20, 16, 00,
A0, 0D, 03, 20, 15, 00,
A0, 0D, 06, 22, 44, 22, 00, 02, 00,
A0, 0D, 06, 22, 2D, 50, 44, 0C, 00,
A0, 0D, 04, 32, 03, 40, 3D,
A0, 0D, 06, 32, 42, F8, 10, FF, FF,
A0, 0D, 03, 32, 16, 00,
A0, 0D, 03, 32, 15, 01,
A0, 0D, 03, 32, 0D, 22,
A0, 0D, 03, 32, 14, 22,
A0, 0D, 06, 32, 4A, 30, 0F, 01, 1F,
A0, 0D, 06, 34, 2D, 24, 77, 0C, 00,
A0, 0D, 06, 34, 44, 21, 00, 02, 00,
A0, 0D, 06, 35, 44, 21, 00, 02, 00
}
# *** ALM(NO BOOSTER) FW VERSION = 08.01.15 ***
NXP_RF_CONF_BLK_2={
20, 02, F4, 1F,
A0, 0D, 06, 38, 4A, 53, 07, 01, 1B,
A0, 0D, 06, 38, 42, 68, 10, FF, FF,
A0, 0D, 03, 38, 16, 00,
A0, 0D, 03, 38, 15, 00,
A0, 0D, 06, 3A, 2D, 15, 47, 0D, 00,
A0, 0D, 06, 3C, 4A, 52, 07, 01, 1B,
A0, 0D, 06, 3C, 42, 68, 10, FF, FF,
A0, 0D, 03, 3C, 16, 00,
A0, 0D, 03, 3C, 15, 00,
A0, 0D, 06, 3E, 2D, 15, 47, 0D, 00,
A0, 0D, 06, 40, 42, F0, 10, FF, FF,
A0, 0D, 03, 40, 0D, 02,
A0, 0D, 03, 40, 14, 02,
A0, 0D, 06, 40, 4A, 12, 07, 00, 00,
A0, 0D, 03, 40, 16, 00,
A0, 0D, 03, 40, 15, 00,
A0, 0D, 06, 42, 2D, 15, 47, 0D, 00,
A0, 0D, 06, 46, 44, 21, 00, 02, 00,
A0, 0D, 06, 46, 2D, 05, 47, 0E, 00,
A0, 0D, 06, 44, 4A, 33, 07, 01, 07,
A0, 0D, 06, 44, 42, 88, 10, FF, FF,
A0, 0D, 03, 44, 16, 00,
A0, 0D, 03, 44, 15, 00,
A0, 0D, 06, 4A, 44, 22, 00, 02, 00,
A0, 0D, 06, 4A, 2D, 05, 37, 0C, 00,
A0, 0D, 06, 48, 4A, 33, 07, 01, 07,
A0, 0D, 06, 48, 42, 88, 10, FF, FF,
A0, 0D, 03, 48, 16, 00,
A0, 0D, 03, 48, 15, 00,
A0, 0D, 06, 4E, 44, 22, 00, 02, 00,
A0, 0D, 06, 4E, 2D, 05, 37, 0C, 00
}
# *** ALM(NO BOOSTER) FW VERSION = 08.01.15 ***
NXP_RF_CONF_BLK_3={
20, 02, F7, 1E,
A0, 0D, 06, 4C, 4A, 33, 07, 01, 07,
A0, 0D, 06, 4C, 42, 88, 10, FF, FF,
A0, 0D, 03, 4C, 16, 00,
A0, 0D, 03, 4C, 15, 00,
A0, 0D, 06, 52, 44, 22, 00, 02, 00,
A0, 0D, 06, 52, 2D, 05, 25, 0C, 00,
A0, 0D, 06, 50, 42, 90, 10, FF, FF,
A0, 0D, 06, 50, 4A, 11, 0F, 01, 07,
A0, 0D, 03, 50, 16, 00,
A0, 0D, 03, 50, 15, 00,
A0, 0D, 06, 56, 2D, 05, 9E, 0C, 00,
A0, 0D, 06, 56, 44, 22, 00, 02, 00,
A0, 0D, 06, 5C, 2D, 05, 69, 0C, 00,
A0, 0D, 06, 5C, 44, 21, 00, 02, 00,
A0, 0D, 06, 54, 42, 88, 10, FF, FF,
A0, 0D, 06, 54, 4A, 33, 07, 01, 07,
A0, 0D, 03, 54, 16, 00,
A0, 0D, 03, 54, 15, 00,
A0, 0D, 06, 5A, 42, 90, 10, FF, FF,
A0, 0D, 06, 5A, 4A, 31, 07, 01, 07,
A0, 0D, 03, 5A, 16, 00,
A0, 0D, 03, 5A, 15, 00,
A0, 0D, 06, 98, 2F, AF, 05, 80, 0F,
A0, 0D, 06, 9A, 42, 00, 00, F1, F6,
A0, 0D, 06, 30, 44, A3, 90, 03, 00,
A0, 0D, 06, 6C, 44, A3, 90, 03, 00,
A0, 0D, 06, 6C, 30, CF, 00, 08, 00,
A0, 0D, 06, 6C, 2F, 8F, 05, 80, 0C,
A0, 0D, 06, 70, 2F, 8F, 05, 80, 12,
A0, 0D, 06, 70, 30, CF, 00, 08, 00
}
# *** ALM(NO BOOSTER) FW VERSION = 08.01.15 ***
NXP_RF_CONF_BLK_4={
20, 02, F7, 1E,
A0, 0D, 06, 74, 2F, 8F, 05, 80, 12,
A0, 0D, 06, 74, 30, DF, 00, 07, 00,
A0, 0D, 06, 78, 2F, 1F, 06, 80, 01,
A0, 0D, 06, 78, 30, 3F, 00, 04, 00,
A0, 0D, 06, 78, 44, A2, 90, 03, 00,
A0, 0D, 03, 78, 47, 00,
A0, 0D, 06, 7C, 2F, AF, 05, 80, 0F,
A0, 0D, 06, 7C, 30, CF, 00, 07, 00,
A0, 0D, 06, 7C, 44, A3, 90, 03, 00,
A0, 0D, 06, 7D, 30, CF, 00, 08, 00,
A0, 0D, 06, 80, 2F, AF, 05, 80, 90,
A0, 0D, 06, 80, 44, A3, 90, 03, 00,
A0, 0D, 06, 84, 2F, AF, 05, 80, 92,
A0, 0D, 06, 84, 44, A3, 90, 03, 00,
A0, 0D, 06, 88, 2F, 7F, 04, 80, 10,
A0, 0D, 06, 88, 30, 5F, 00, 16, 00,
A0, 0D, 03, 88, 47, 00,
A0, 0D, 06, 88, 44, A1, 90, 03, 00,
A0, 0D, 03, 0C, 48, 18,
A0, 0D, 03, 10, 43, 20,
A0, 0D, 06, 6A, 42, F8, 10, FF, FF,
A0, 0D, 03, 6A, 16, 00,
A0, 0D, 03, 6A, 15, 01,
A0, 0D, 06, 6A, 4A, 30, 0F, 01, 1F,
A0, 0D, 06, 8C, 42, 88, 10, FF, FF,
A0, 0D, 06, 8C, 4A, 33, 07, 01, 07,
A0, 0D, 03, 8C, 16, 00,
A0, 0D, 03, 8C, 15, 00,
A0, 0D, 06, 92, 42, 90, 10, FF, FF,
A0, 0D, 06, 92, 4A, 31, 07, 01, 07
}
###############################################################################
# Core configuration extensions
# It includes
# A002 - Clock Request
# 0x00 - Disabled
# 0x01 - Enabled
# A003 - Clock Selection
# Please refer to User Manual
# A004 - Clock Time Out
# Defined in ms
# A00E - Load Modulation Mode
# 0x00 - PLM
# 0x01 - ALM
# A011 - Clock specific configuration
# Please refer to User Manual
# A012 - NFCEE interface 2 configuration
# 0x00 - SWP 2 interface is used
# 0x02 - DWP interface is used
# A013 - TVdd configuration
# 0x00 - TVdd is set to 3.1V in Poll mode
# 0x02 - TVdd is set to 2.7V in Poll mode
# A040-A043 - Low Power Card Detector
# Please refer to Application Note of LPCD
# A05E - Jewel Reader
# 0x00 - RID is not sent during activation
# 0x01 - RID is sent during activation
# A061 - Retry after LPCD
# 0b0000XXXX - Number of retry if activation failed
# 0bXXXX0000 - Duration to wait before retry (10ms per step)
# Please refer to User Manual
# A0CD - SWP interface 1: S1 line behavior
# Defined S1 High time-out during Activation sequence
# A0EC - SWP1 interface
# 0x00 - Disabled
# 0x01 - Enabled
# A0ED - SWP2 interface
# 0x00 - Disabled
# 0x01 - Enabled
NXP_CORE_CONF_EXTN={20, 02, 40, 0F,
A0, 02, 01, 01,
A0, 04, 01, 0A,
A0, 0E, 01, 01,
A0, 11, 04, 01, 22, 67, CD,
A0, 12, 01, 00,
A0, 13, 01, 00,
A0, 40, 01, 01,
A0, 41, 01, 02,
A0, 42, 01, 19,
A0, 43, 01, 00,
A0, 5E, 01, 01,
A0, 61, 01, 00,
A0, CD, 01, 0F,
A0, EC, 01, 01,
A0, ED, 01, 00
}
###############################################################################
# Core configuration settings
# It includes
# 18 - Poll Mode NFC-F: PF_BIT_RATE
# 21 - Poll Mode ISO-DEP: PI_BIT_RATE
# 28 - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED
# 30 - Lis. Mode NFC-A: LA_BIT_FRAME_SDD
# 31 - Lis. Mode NFC-A: LA_PLATFORM_CONFIG
# 33 - Lis. Mode NFC-A: LA_SEL_INFO
# 50 - Lis. Mode NFC-F: LF_PROTOCOL_TYPE
# 54 - Lis. Mode NFC-F: LF_CON_BITR_F
# 5B - Lis. Mode ISO-DEP: LI_BIT_RATE
# 60 - Lis. Mode NFC-DEP: LN_WT
# 80 - Other Param.: RF_FIELD_INFO
# 81 - Other Param.: RF_NFCEE_ACTION
# 82 - Other Param.: NFCDEP_OP
NXP_CORE_CONF={ 20, 02, 2B, 0D,
18, 01, 01,
21, 01, 00,
28, 01, 01,
30, 01, 08,
31, 01, 03,
33, 04, 01, 02, 03, 04,
50, 01, 02,
54, 01, 06,
5B, 01, 02,
60, 01, 0E,
80, 01, 01,
81, 01, 01,
82, 01, 0E
}
###############################################################################
# Mifare Classic Key settings
#NXP_CORE_MFCKEY_SETTING={20, 02, 25,04, A0, 51, 06, A0, A1, A2, A3, A4, A5,
# A0, 52, 06, D3, F7, D3, F7, D3, F7,
# A0, 53, 06, FF, FF, FF, FF, FF, FF,
# A0, 54, 06, 00, 00, 00, 00, 00, 00}
###############################################################################
# Default SE Options
# No secure element 0x00
# eSE 0x01
# UICC 0x02
# MULTI_SE 0x03
NXP_DEFAULT_SE=0x02
###############################################################################
NXP_DEFAULT_NFCEE_TIMEOUT=0x06
###############################################################################
#Enable SWP full power mode when phone is power off
NXP_SWP_FULL_PWR_ON=0x00
###############################################################################
#Chip type
#PN547C2 0x01
#PN65T 0x02
NXP_NFC_CHIP=0x01

View file

0
nfc/nfcee_access.xml → configs/nfcee_access.xml Executable file → Normal file
View file

View file

215
device.mk
View file

@ -1,5 +1,5 @@
#
# Copyright (C) 2011 The CyanogenMod Project
# Copyright (C) 2014 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -16,11 +16,11 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
## Get non-open-source specific aspects
# Get non-open-source specific aspects
$(call inherit-product-if-exists, vendor/samsung/klte/klte-vendor.mk)
## overlays
DEVICE_PACKAGE_OVERLAYS += device/samsung/klte/overlay
# Overlays
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
# Device uses high-density artwork where available
PRODUCT_AAPT_CONFIG := normal hdpi xhdpi xxhdpi
@ -30,55 +30,57 @@ PRODUCT_AAPT_PREF_CONFIG := xxhdpi
TARGET_SCREEN_HEIGHT := 1920
TARGET_SCREEN_WIDTH := 1080
# Audio configuration
$(call inherit-product, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)
# Audio
PRODUCT_COPY_FILES += \
device/samsung/klte/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf \
device/samsung/klte/audio/mixer_paths.xml:system/etc/mixer_paths.xml \
device/samsung/klte/audio/audio_policy.conf:system/etc/audio_policy.conf \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml
PRODUCT_PROPERTY_OVERRIDES += \
af.resampler.quality=4 \
audio.offload.buffer.size.kb=32 \
audio.offload.gapless.enabled=false \
av.offload.enable=true
# Thermal config
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/thermal-engine-8974.conf:system/etc/thermal-engine-8974.conf
# Media Profile
PRODUCT_COPY_FILES += \
device/samsung/klte/media/media_profiles.xml:system/etc/media_profiles.xml
# Extended media support
PRODUCT_PACKAGES += \
qcmediaplayer
PRODUCT_BOOT_JARS += qcmediaplayer
$(LOCAL_PATH)/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf \
$(LOCAL_PATH)/audio/audio_policy.conf:system/etc/audio_policy.conf \
$(LOCAL_PATH)/audio/mixer_paths.xml:system/etc/mixer_paths.xml
# GPS
PRODUCT_PACKAGES += \
gps.msm8974 \
libgps.utils \
libloc_core \
libloc_eng
GPS_CONF := device/samsung/klte/gps/etc/gps.conf
gps.msm8974
PRODUCT_COPY_FILES += \
$(GPS_CONF):/system/etc/gps.conf \
device/samsung/klte/gps/etc/sap.conf:/system/etc/sap.conf
$(LOCAL_PATH)/gps/etc/gps.conf:/system/etc/gps.conf \
$(LOCAL_PATH)/gps/etc/sap.conf:/system/etc/sap.conf
# Keylayouts
PRODUCT_COPY_FILES += \
device/samsung/klte/keylayout/atmel_mxt_ts.kl:system/usr/keylayout/atmel_mxt_ts.kl \
device/samsung/klte/keylayout/Button_Jack.kl:system/usr/keylayout/Button_Jack.kl \
device/samsung/klte/keylayout/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
device/samsung/klte/keylayout/philips_remote_ir.kl:system/usr/keylayout/philips_remote_ir.kl \
device/samsung/klte/keylayout/samsung_remote_ir.kl:system/usr/keylayout/samsung_remote_ir.kl \
device/samsung/klte/keylayout/sec_touchkey.kl:system/usr/keylayout/sec_touchkey.kl \
device/samsung/klte/keylayout/ue_rf4ce_remote.kl:system/usr/keylayout/ue_rf4ce_remote.kl
$(LOCAL_PATH)/keylayout/atmel_mxt_ts.kl:system/usr/keylayout/atmel_mxt_ts.kl \
$(LOCAL_PATH)/keylayout/Button_Jack.kl:system/usr/keylayout/Button_Jack.kl \
$(LOCAL_PATH)/keylayout/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
$(LOCAL_PATH)/keylayout/philips_remote_ir.kl:system/usr/keylayout/philips_remote_ir.kl \
$(LOCAL_PATH)/keylayout/samsung_remote_ir.kl:system/usr/keylayout/samsung_remote_ir.kl \
$(LOCAL_PATH)/keylayout/sec_touchkey.kl:system/usr/keylayout/sec_touchkey.kl \
$(LOCAL_PATH)/keylayout/ue_rf4ce_remote.kl:system/usr/keylayout/ue_rf4ce_remote.kl
# Lights
PRODUCT_PACKAGES += \
lights.msm8974
# Media
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml
# NFC
PRODUCT_PACKAGES += \
com.android.nfc_extras \
NfcNci \
Tag
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/libnfc-nxp.conf:system/etc/libnfc-nxp.conf \
$(LOCAL_PATH)/configs/nfcee_access.xml:system/etc/nfcee_access.xml
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml \
frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml
# Ramdisk
PRODUCT_PACKAGES += \
@ -86,132 +88,25 @@ PRODUCT_PACKAGES += \
initlogo.rle \
init.bt.rc \
init.carrier.rc \
init.crda.sh \
init.qcom.rc \
init.qcom.usb.rc \
init.ril.rc \
init.sec.boot.sh \
init.target.rc \
ueventd.qcom.rc
# System init scripts
PRODUCT_PACKAGES += \
init.crda.sh \
init.sec.boot.sh
# Audio
PRODUCT_PACKAGES += \
audiod \
libqcomvisualizer \
libqcomvoiceprocessing \
tinymix
# Torch
PRODUCT_PACKAGES += Torch
# Thermal
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/thermal-engine-8974.conf:system/etc/thermal-engine-8974.conf
# Wifi
PRODUCT_PACKAGES += \
libnetcmdiface \
macloader \
crda \
regulatory.bin \
linville.key.pub.pem
# libxml2 is needed for camera
PRODUCT_PACKAGES += libxml2
# IR packages
PRODUCT_PACKAGES += \
consumerir.msm8974
macloader
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.consumerir.xml:system/etc/permissions/android.hardware.consumerir.xml
$(LOCAL_PATH)/configs/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
$(LOCAL_PATH)/configs/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf
# Nfc
NFCEE_ACCESS_PATH := device/samsung/klte/nfc/nfcee_access.xml
ifeq ($(TARGET_NFC_TECH), nxp)
PRODUCT_PACKAGES += \
libnfc \
libnfc_jni \
Nfc \
Tag \
com.android.nfc_extras
PRODUCT_COPY_FILES += \
$(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml
else
PRODUCT_PACKAGES += \
libnfc-nci \
libnfc_nci_jni \
nfc_nci.msm8974 \
NfcNci \
Tag \
com.android.nfc_extras
PRODUCT_COPY_FILES += \
$(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml \
device/samsung/klte/nfc/libnfc-brcm-20791b05.conf:system/etc/libnfc-brcm-20791b05.conf \
device/samsung/klte/nfc/libnfc-brcm-20791b04.conf:system/etc/libnfc-brcm-20791b04.conf \
device/samsung/klte/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf
endif
# Set default USB interface
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
persist.sys.usb.config=mtp
# Lights
PRODUCT_PACKAGES += lights.MSM8974
# QC Perf
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.extension_library=/vendor/lib/libqc-opt.so
#common build.props
PRODUCT_PROPERTY_OVERRIDES += \
ro.chipname=msm8974 \
ro.sf.lcd_density=480 \
ro.opengles.version=196608 \
persist.timed.enable=true \
keyguard.no_require_sim=true
# Radio properties
PRODUCT_PROPERTY_OVERRIDES += \
rild.libpath=/system/lib/libsec-ril.so \
ril.subscription.types=NV,RUIM \
ro.ril.hsxpa=1 \
ro.ril.gprsclass=10 \
ro.use_data_netmgrd=true \
persist.data.netmgrd.qos.enable=true \
persist.radio.add_power_save=1 \
persist.radio.apm_sim_not_pwdn=1 \
persist.radio.lte_vrat_report=1 \
persist.rild.nitz_plmn="" \
persist.rild.nitz_long_ons_0="" \
persist.rild.nitz_long_ons_1="" \
persist.rild.nitz_long_ons_2="" \
persist.rild.nitz_long_ons_3="" \
persist.rild.nitz_short_ons_0="" \
persist.rild.nitz_short_ons_1="" \
persist.rild.nitz_short_ons_2="" \
persist.rild.nitz_short_ons_3=""
# msm_rng entropy feeder
PRODUCT_PACKAGES += \
qrngd \
qrngp
# Wifi
PRODUCT_COPY_FILES += \
device/samsung/klte/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
device/samsung/klte/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf
# call common msm8974
# common msm8974
$(call inherit-product, device/samsung/msm8974-common/msm8974.mk)
# call dalvik heap config
$(call inherit-product, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
# call hwui memory config
$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)

View file

@ -1,16 +0,0 @@
ifeq ($(BOARD_KERNEL_SEPARATED_DT),true)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
dtbtool.c
LOCAL_CFLAGS += \
-Wall
LOCAL_MODULE := dtbTool
LOCAL_MODULE_TAGS := optional
include $(BUILD_HOST_EXECUTABLE)
endif

View file

@ -1,555 +0,0 @@
/*
* Copyright (c) 2012, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of The Linux Foundation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#define _GNU_SOURCE
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <getopt.h>
#include <errno.h>
#include <unistd.h>
#define QCDT_MAGIC "QCDT" /* Master DTB magic */
#define QCDT_VERSION 1 /* QCDT version */
#define QCDT_DT_TAG "qcom,msm-id = <"
#define PAGE_SIZE_DEF 2048
#define PAGE_SIZE_MAX (1024*1024)
#define log_err(x...) printf(x)
#define log_info(x...) printf(x)
#define log_dbg(x...) { if (verbose) printf(x); }
#define COPY_BLK 1024 /* File copy block size */
#define RC_SUCCESS 0
#define RC_ERROR -1
struct chipInfo_t {
uint32_t chipset;
uint32_t platform;
uint32_t revNum;
uint32_t dtb_size;
char *dtb_file;
struct chipInfo_t *prev;
struct chipInfo_t *next;
struct chipInfo_t *master;
int wroteDtb;
uint32_t master_offset;
struct chipInfo_t *t_next;
};
struct chipInfo_t *chip_list;
char *input_dir;
char *output_file;
char *dtc_path;
int verbose;
int page_size = PAGE_SIZE_DEF;
void print_help()
{
log_info("dtbTool [options] -o <output file> <input DTB path>\n");
log_info(" options:\n");
log_info(" --output-file/-o output file\n");
log_info(" --dtc-path/-p path to dtc\n");
log_info(" --page-size/-s page size in bytes\n");
log_info(" --verbose/-v verbose\n");
log_info(" --help/-h this help screen\n");
}
int parse_commandline(int argc, char *const argv[])
{
int c;
struct option long_options[] = {
{"output-file", 1, 0, 'o'},
{"dtc-path", 1, 0, 'p'},
{"page-size", 1, 0, 's'},
{"verbose", 0, 0, 'v'},
{"help", 0, 0, 'h'},
{0, 0, 0, 0}
};
while ((c = getopt_long(argc, argv, "-o:p:s:vh", long_options, NULL))
!= -1) {
switch (c) {
case 1:
if (!input_dir)
input_dir = optarg;
break;
case 'o':
output_file = optarg;
break;
case 'p':
dtc_path = optarg;
break;
case 's':
page_size = atoi(optarg);
if ((page_size <= 0) || (page_size > (PAGE_SIZE_MAX))) {
log_err("Invalid page size (> 0 and <=1MB\n");
return RC_ERROR;
}
break;
case 'v':
verbose = 1;
break;
case 'h':
default:
return RC_ERROR;
}
}
if (!output_file) {
log_err("Output file must be specified\n");
return RC_ERROR;
}
if (!input_dir)
input_dir = "./";
if (!dtc_path)
dtc_path = "";
return RC_SUCCESS;
}
/* Unique entry sorted list add (by chipset->platform->rev) */
int chip_add(struct chipInfo_t *c)
{
struct chipInfo_t *x = chip_list;
if (!chip_list) {
chip_list = c;
c->next = NULL;
c->prev = NULL;
return RC_SUCCESS;
}
while (1) {
if ((c->chipset < x->chipset) ||
((c->chipset == x->chipset) &&
((c->platform < x->platform) ||
((c->platform == x->platform) &&
(c->revNum < x->revNum))))) {
if (!x->prev) {
c->next = x;
c->prev = NULL;
x->prev = c;
chip_list = c;
break;
} else {
c->next = x;
c->prev = x->prev;
x->prev->next = c;
x->prev = c;
break;
}
}
if ((c->chipset == x->chipset) &&
(c->platform == x->platform) &&
(c->revNum == x->revNum)) {
return RC_ERROR; /* duplicate */
}
if (!x->next) {
c->prev = x;
c->next = NULL;
x->next = c;
break;
}
x = x->next;
}
return RC_SUCCESS;
}
void chip_deleteall()
{
struct chipInfo_t *c = chip_list, *t;
while (c) {
t = c;
c = c->next;
if (t->dtb_file)
free(t->dtb_file);
free(t);
}
}
/* Extract 'qcom,msm-id' parameter triplet from DTB
qcom,msm-id = <x y z>;
*/
struct chipInfo_t *getChipInfo(const char *filename, int *num)
{
const char str1[] = "dtc -I dtb -O dts \"";
const char str2[] = "\" 2>&1";
char *buf, *pos;
char *line = NULL;
size_t line_size;
FILE *pfile;
int llen;
struct chipInfo_t *chip = NULL, *tmp;
uint32_t data[3] = {0, 0, 0};
char *tok, *sptr = NULL;
int i, count = 0, entryValid, entryEnded;
line_size = 1024;
line = (char *)malloc(line_size);
if (!line) {
log_err("Out of memory\n");
return NULL;
}
llen = sizeof(char) * (strlen(dtc_path) +
strlen(str1) +
strlen(str2) +
strlen(filename) + 1);
buf = (char *)malloc(llen);
if (!buf) {
log_err("Out of memory\n");
free(line);
return NULL;
}
strncpy(buf, dtc_path, llen);
strncat(buf, str1, llen);
strncat(buf, filename, llen);
strncat(buf, str2, llen);
pfile = popen(buf, "r");
free(buf);
if (pfile == NULL) {
log_err("... skip, fail to decompile dtb\n");
} else {
/* Find "qcom,msm-id" */
while ((llen = getline(&line, &line_size, pfile)) != -1) {
if ((pos = strstr(line, QCDT_DT_TAG)) != NULL) {
pos += strlen(QCDT_DT_TAG);
entryEnded = 0;
while (1) {
entryValid = 1;
for (i = 0; i < 3; i++) {
tok = strtok_r(pos, " \t", &sptr);
pos = NULL;
if (tok != NULL) {
if (*tok == '>') {
entryEnded = 1;
entryValid = 0;
break;
}
data[i] = strtoul(tok, NULL, 0);
} else {
data[i] = 0;
entryValid = 0;
entryEnded = 1;
}
}
if (entryEnded) {
free(line);
pclose(pfile);
*num = count;
return chip;
}
if (entryValid) {
tmp = (struct chipInfo_t *)
malloc(sizeof(struct chipInfo_t));
if (!tmp) {
log_err("Out of memory\n");
break;
}
if (!chip) {
chip = tmp;
chip->t_next = NULL;
} else {
tmp->t_next = chip->t_next;
chip->t_next = tmp;
}
tmp->chipset = data[0];
tmp->platform = data[1];
tmp->revNum = data[2];
tmp->dtb_size = 0;
tmp->dtb_file = NULL;
tmp->master = chip;
tmp->wroteDtb = 0;
tmp->master_offset = 0;
count++;
}
}
log_err("... skip, incorrect '%s' format\n", QCDT_DT_TAG);
break;
}
}
if (line)
free(line);
pclose(pfile);
}
return NULL;
}
int main(int argc, char **argv)
{
char buf[COPY_BLK];
struct chipInfo_t *chip, *t_chip;
struct dirent *dp;
FILE *pInputFile;
char *filename;
int padding;
uint8_t *filler = NULL;
int numBytesRead = 0;
int totBytesRead = 0;
int out_fd;
int flen;
int rc = RC_SUCCESS;
int dtb_count = 0, dtb_offset = 0;
size_t wrote = 0, expected = 0;
struct stat st;
uint32_t version = QCDT_VERSION;
int num;
uint32_t dtb_size;
log_info("DTB combiner:\n");
if (parse_commandline(argc, argv) != RC_SUCCESS) {
print_help();
return RC_ERROR;
}
log_info(" Input directory: '%s'\n", input_dir);
log_info(" Output file: '%s'\n", output_file);
DIR *dir = opendir(input_dir);
if (!dir) {
log_err("Failed to open input directory '%s'\n", input_dir);
return RC_ERROR;
}
filler = (uint8_t *)malloc(page_size);
if (!filler) {
log_err("Out of memory\n");
closedir(dir);
return RC_ERROR;
}
memset(filler, 0, page_size);
/* Open the .dtb files in the specified path, decompile and
extract "qcom,msm-id" parameter
*/
while ((dp = readdir(dir)) != NULL) {
if ((dp->d_type == DT_REG)) {
flen = strlen(dp->d_name);
if ((flen > 4) &&
(strncmp(&dp->d_name[flen-4], ".dtb", 4) == 0)) {
log_info("Found file: %s ... ", dp->d_name);
flen = strlen(input_dir) + strlen(dp->d_name) + 1;
filename = (char *)malloc(flen);
if (!filename) {
log_err("Out of memory\n");
rc = RC_ERROR;
break;
}
strncpy(filename, input_dir, flen);
strncat(filename, dp->d_name, flen);
num = 1;
chip = getChipInfo(filename, &num);
if (!chip) {
log_err("skip, failed to scan for '%s' tag\n",
QCDT_DT_TAG);
free(filename);
continue;
}
if ((stat(filename, &st) != 0) ||
(st.st_size == 0)) {
log_err("skip, failed to get DTB size\n");
free(filename);
continue;
}
log_info("chipset: %u, platform: %u, rev: %u\n",
chip->chipset, chip->platform, chip->revNum);
for (t_chip = chip->t_next; t_chip; t_chip = t_chip->t_next) {
log_info(" additional chipset: %u, platform: %u, rev: %u\n",
t_chip->chipset, t_chip->platform, t_chip->revNum);
}
rc = chip_add(chip);
if (rc != RC_SUCCESS) {
log_err("... duplicate info, skipped\n");
free(filename);
continue;
}
dtb_count++;
chip->dtb_size = st.st_size +
(page_size - (st.st_size % page_size));
chip->dtb_file = filename;
for (t_chip = chip->t_next; t_chip; t_chip = t_chip->t_next) {
rc = chip_add(t_chip);
if (rc != RC_SUCCESS) {
log_err("... duplicate info, skipped (chipset %u, platform: %u, rev: %u\n",
t_chip->chipset, t_chip->platform, t_chip->revNum);
continue;
}
dtb_count++;
}
}
}
}
closedir(dir);
log_info("=> Found %d unique DTB(s)\n", dtb_count);
if (!dtb_count)
goto cleanup;
/* Generate the master DTB file:
Simplify write error handling by just checking for actual vs
expected bytes written at the end.
*/
log_info("\nGenerating master DTB... ");
out_fd = open(output_file, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR);
if (!out_fd < 0) {
log_err("Cannot create '%s'\n", output_file);
rc = RC_ERROR;
goto cleanup;
}
/* Write header info */
wrote += write(out_fd, QCDT_MAGIC, sizeof(uint8_t) * 4); /* magic */
wrote += write(out_fd, &version, sizeof(uint32_t)); /* version */
wrote += write(out_fd, (uint32_t *)&dtb_count, sizeof(uint32_t));
/* #DTB */
/* Calculate offset of first DTB block */
dtb_offset = 12 + /* header */
(20 * dtb_count) + /* DTB table entries */
4; /* end of table indicator */
/* Round up to page size */
padding = page_size - (dtb_offset % page_size);
dtb_offset += padding;
expected = dtb_offset;
/* Write index table:
chipset
platform
soc rev
dtb offset
dtb size
*/
for (chip = chip_list; chip; chip = chip->next) {
wrote += write(out_fd, &chip->chipset, sizeof(uint32_t));
wrote += write(out_fd, &chip->platform, sizeof(uint32_t));
wrote += write(out_fd, &chip->revNum, sizeof(uint32_t));
if (chip->master->master_offset != 0) {
wrote += write(out_fd, &chip->master->master_offset, sizeof(uint32_t));
} else {
wrote += write(out_fd, &expected, sizeof(uint32_t));
chip->master->master_offset = expected;
expected += chip->master->dtb_size;
}
wrote += write(out_fd, &chip->master->dtb_size, sizeof(uint32_t));
}
rc = RC_SUCCESS;
wrote += write(out_fd, &rc, sizeof(uint32_t)); /* end of table indicator */
if (padding > 0)
wrote += write(out_fd, filler, padding);
/* Write DTB's */
for (chip = chip_list; chip; chip = chip->next) {
if (chip->master->wroteDtb) {
continue;
}
chip->master->wroteDtb = 1;
filename = chip->master->dtb_file;
dtb_size = chip->master->dtb_size;
log_dbg("\n (writing '%s' - %u bytes) ", filename, dtb_size);
pInputFile = fopen(filename, "r");
if (pInputFile != NULL) {
totBytesRead = 0;
while ((numBytesRead = fread(buf, 1, COPY_BLK, pInputFile)) > 0) {
wrote += write(out_fd, buf, numBytesRead);
totBytesRead += numBytesRead;
}
fclose(pInputFile);
padding = page_size - (totBytesRead % page_size);
if ((uint32_t)(totBytesRead + padding) != dtb_size) {
log_err("DTB size mismatch, please re-run: expected %d vs actual %d (%s)\n",
dtb_size, totBytesRead + padding,
filename);
rc = RC_ERROR;
break;
}
if (padding > 0)
wrote += write(out_fd, filler, padding);
} else {
log_err("failed to open DTB '%s'\n", filename);
rc = RC_ERROR;
break;
}
}
close(out_fd);
if (expected != wrote) {
log_err("error writing output file, please rerun: size mismatch %d vs %d\n",
expected, wrote);
rc = RC_ERROR;
} else
log_dbg("Total wrote %u bytes\n", wrote);
if (rc != RC_SUCCESS)
unlink(output_file);
else
log_info("completed\n");
cleanup:
free(filler);
chip_deleteall();
return rc;
}

View file

@ -1,158 +0,0 @@
Copyright (c) 2012, The Linux Foundation. All rights reserved.
Redistribution and use in source form and compiled forms (SGML, HTML,
PDF, PostScript, RTF and so forth) with or without modification, are
permitted provided that the following conditions are met:
Redistributions in source form must retain the above copyright
notice, this list of conditions and the following disclaimer as the
first lines of this file unmodified.
Redistributions in compiled form (transformed to other DTDs,
converted to PDF, PostScript, RTF and other formats) must reproduce
the above copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided with
the distribution.
THIS DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD
DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Android - Table of Device Tree
==============================
0) Document revision
v1.0 - Initial version (dng)
1) Android boot image:
----------------------
1.1) Header:
1) Magic (8B)
2) kernel size (4B)
3) kernel addr (4B)
4) ramdisk size (4B)
5) ramdisk addr (4B)
6) 2ndary size (4B)
7) 2ndary addr (4B)
8) tags addr (4B)
9) page size (4B)
10) unused #1 (4B) (zero in standard Android)
11) unused #2 (4B) (zero in standard Android)
12) product name (16B)
13) kernel cmdline (512B)
14) id (8B)
1.2) Layout:
A) header (as above - 1 page)
B) kernel (n pages)
C) ramdisk (m pages)
D) second stage (o pages)
2) QC table of device tree
--------------------------
2.1) Changes:
i) use "unused #1, #2" members in existing boot image
header to point to new table of device tree
(#1 - size of QC table of DT)
ii) append table of device tree (described later)
after "D) second stage"
2.2) Format:
size
x +------------------+
| | MAGIC ("QCDT") | 4B
| +------------------+
header | VERSION | uint32 (initial version 1)
| +------------------+
| | num of DTBs | uint32 (number of DTB entries)
x +------------------+
| | platform id #1 | uint32 (e.g. ID for MSM8974)
| +------------------+
| | variant id #1 | uint32 (e.g. ID for CDP, MTP)
device +------------------+
#1 | soc rev #1 | uint32 (e.g. MSM8974 v2)
entry +------------------+
| | offset #1 | uint32 (byte offset from start/before MAGIC
| +------------------+ to DTB entry)
| | size #1 | uint32 (size in bytes of DTB blob)
x +------------------+
. .
. . (repeat)
. .
x +------------------+
| | platform id #Z | uint32 (e.g. ID for MSM8974)
| +------------------+
device | variant id #Z | uint32 (e.g. ID for CDP, MTP)
#Z +------------------+
entry | soc rev #Z | uint32 (e.g. MSM8974 v2)
(last) +------------------+
| | offset #Z | uint32 (byte offset from start/before MAGIC
x +------------------+ to DTB entry)
| 0 ("zero") | uint32 (end of list delimiter)
+------------------+ to DTB entry)
| padding | variable length for next DTB to start on
+------------------+ page boundary
| DTB #1 | variable (start is page aligned)
| |
| |
+------------------+
| padding | variable length for next DTB to start on
+------------------+ page boundary
.
.
.
+------------------+
| DTB #Z (last) | variable (start is page aligned)
| |
| |
+------------------+
3) Operations
-------------
3.1) Build-time:
1) Each DTS per device will add a "qcom,msm-id" triplet
e.g. for msm8974-sim.dts, add
qcom,msm-id = <x y z>;
x = ID for msm8974
y = ID for CDP, MTP, etc.
z = ID for soc revision
The triplet can optionally be an array of triplets:
qcom,msm-id = <x1, y1, z1>, <x2, y2, z2>, ...;
2) Kernel compile will generate the DTB
3) Android build will run a new tool (dtbTool)
a) scan the DTB output directory for all compiled DTB
b) decompile the DTB for "qcom,msm-id"
c) generate the QC table of device tree in sorted
order (platform, variant, soc rev)
d) modified mkbootimg will merge new table of DT
3.2) Run-time:
1) LK bootloader will obtain MSM id/variant/soc rev info
either from early bootloaders or via other means
2) LK bootloader will check entries #10 for non-zero
value (set to zero for standard boot.img). If the
value is non-zero, refer to page section after
the "second stage" in the boot.img layout
3) Check QCDT magic
4) Check QCDT version (optional LK to handle multiple
QCDT version)
5) LK scans through the QCDT table to look for matching
entry. Search order is:
1) platform ID exact match
2) variant ID exact match
3) select the highest soc rev in QCDT that is
equal to or lower than the runtime detected soc rev
6) Load the matching DTB blob to the tags addr
7) LK pass the correct DTB to the kernel

View file

@ -1,2 +0,0 @@
0 0 android
0 1 adreno

View file

@ -11,7 +11,7 @@
# 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 maguro hardware. This cleanly combines a set of
@ -20,10 +20,10 @@
# details, it only fundamentally contains two inherit-product
# lines, full and maguro, hence its name.
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit from klte device
$(call inherit-product, device/samsung/klte/device.mk)
@ -33,4 +33,3 @@ PRODUCT_DEVICE := kltexx
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung
PRODUCT_MODEL := klte

View file

@ -59,7 +59,7 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar
property_set("ro.build.fingerprint", "samsung/kltevl/kltecan:4.3/JSS15J/N900W8VLUBMJ4:user/release-keys");
property_set("ro.build.description", "kltevl-user 4.3 JSS15J N900W8VLUBMJ4 release-keys");property_set("ro.product.model", "SM-G900W8");
property_set("ro.product.device", "kltecan");
gsm_properties();
gsm_properties();
} else if (strstr(bootloader, "G900P")) {
/* kltespr */
property_set("ro.build.fingerprint", "samsung/kltespr/kltespr:4.4.2/KOT49H/G900PVPU1ANCB:user/release-keys");
@ -80,35 +80,35 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar
property_set("ro.build.description", "kltetmo-user 4.4.2 KOT49H G900TUVU1ANCH release-keys");
property_set("ro.product.model", "SM-G900T");
property_set("ro.product.device", "kltetmo");
gsm_properties();
gsm_properties();
} else if (strstr(bootloader, "G900D")) {
/* kltedcm */
property_set("ro.build.fingerprint", "samsung/SC-04F/SC-04F:4.4.2/KOT49H/SC04FOMU1ANCO:user/release-keys");
property_set("ro.build.description", "kltedcm-user 4.4.2 KOT49H SC04FOMU1ANCO release-keys");
property_set("ro.product.model", "SM-G900D");
property_set("ro.product.device", "kltedcm");
gsm_properties();
gsm_properties();
} else if (strstr(bootloader, "G900I")) {
/* kltedv */
property_set("ro.build.fingerprint", "samsung/kltedv/klte:4.4.2/KOT49H/G900IDVU1ANC6:user/release-keys");
property_set("ro.build.description", "kltedv-user 4.4.2 KOT49H G900IDVU1ANC6 release-keys");
property_set("ro.product.model", "SM-G900I");
property_set("ro.product.device", "kltedv");
gsm_properties();
gsm_properties();
} else if (strstr(bootloader, "G900M")) {
/* klteub */
property_set("ro.build.fingerprint", "samsung/klteub/klte:4.4.2/KOT49H/G900MUBU1ANCE:user/release-keys");
property_set("ro.build.description", "klteub-user 4.4.2 KOT49H G900MUBU1ANCE release-keys");
property_set("ro.product.model", "SM-G900M");
property_set("ro.product.device", "klteub");
gsm_properties();
gsm_properties();
} else if (strstr(bootloader, "G900A")) {
/* klteatt */
property_set("ro.build.fingerprint", "samsung/klteatt/klte:4.4.2/KOT49H/G900AUCU2AND3:user/release-keys");
property_set("ro.build.description", "klteatt-user 4.4.2 KOT49H G900AUCU2AND3 release-keys");
property_set("ro.product.model", "SM-G900A");
property_set("ro.product.device", "klteatt");
gsm_properties();
gsm_properties();
} else if (strstr(bootloader, "G900R6")) {
/* kltelra */
property_set("ro.build.fingerprint", "samsung/kltelra/kltelra:4.4.2/KOT49H/G900R6WWU2AND7:user/release-keys");
@ -139,7 +139,7 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar
property_set("ro.build.description", "kltexx-user 4.4.2 KOT49H G900FXXU1ANCE release-keys");
property_set("ro.product.model", "SM-G900F");
property_set("ro.product.device", "kltexx");
gsm_properties();
gsm_properties();
}
property_get("ro.product.device", device);

View file

@ -24,7 +24,7 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_SHARED_LIBRARIES := liblog
LOCAL_MODULE := lights.MSM8974
LOCAL_MODULE := lights.msm8974
LOCAL_MODULE_TAGS := optional

View file

@ -25,7 +25,7 @@ endef
## Build and run dtbtool
DTBTOOL := $(HOST_OUT_EXECUTABLES)/dtbTool$(HOST_EXECUTABLE_SUFFIX)
DTBTOOL := $(HOST_OUT_EXECUTABLES)/dtbToolCM$(HOST_EXECUTABLE_SUFFIX)
INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img
$(INSTALLED_DTIMAGE_TARGET): $(DTBTOOL) $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr $(INSTALLED_KERNEL_TARGET)

View file

@ -1,82 +0,0 @@
###############################################################################
# Firmware patch file
# If the value is not set then patch download is disabled.
FW_PATCH="/vendor/firmware/bcm2079xB4_firmware.ncd"
FW_PATCH_20793="/vendor/firmware/bcm2079xB4_firmware_20793.ncd"
###############################################################################
# Firmware pre-patch file (sent before the above patch file)
# If the value is not set then pre-patch is not used.
FW_PRE_PATCH="/vendor/firmware/bcm2079xB4_pre_firmware.ncd"
FW_PRE_PATCH_20793="/vendor/firmware/bcm2079xB4_pre_firmware_20793.ncd"
###############################################################################
# LPTD mode configuration
# byte[0] is the length of the remaining bytes in this value
# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
# byte[1] is the param id it should be set to B9.
# byte[2] is the length of the LPTD parameters
# byte[3] indicates if LPTD is enabled
# if set to 0, LPTD will be disabled (parameters will still be sent).
# byte[4-n] are the LPTD parameters.
# By default, LPTD is enabled and default settings are used.
#
# These settings are tuned for B4 evaluation boards.
# LPTD DISABLED ---
#LPTD_CFG={29:B9:27:00:00:FF:FF:08:A0:0F:40:00:80:12:02:10:00:00:00:31:0B:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00}
# Eval Board ---
#LPTD_CFG={29:B9:27:01:00:FF:FF:08:A0:0F:40:00:80:12:02:10:00:00:00:31:0B:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00}
# HLTE EUR NFC LPTD ENABLED
LPTD_CFG={29:B9:27:01:00:FF:FF:0A:A0:0F:40:00:80:12:02:10:00:00:00:31:0F:30:00:00:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00}
###############################################################################
# Startup Configuration (100 bytes maximum)
#
# For the 0xC2 parameter, set byte[0] to 60 to disable UICC Idle Timeout.
# set to 61 to enable (The least significant bit of this byte enables
# the power off when Idle mode).
# 20 A1 07 00 == > These 4 bytes form a 4 byte value which decides the idle timeout(in us)
# value to trigger the uicc deactivation.
# NFC forum conformance
#NFA_DM_START_UP_CFG={27:B2:04:E8:03:00:00:CF:02:02:08:CB:01:01:A5:01:01:CA:0A:00:00:00:00:06:F0:55:00:00:0F:80:01:01:B5:03:01:03:09:5B:01:02}
# GCF combined + clfCfgTagPicc
NFA_DM_START_UP_CFG={48:CB:01:09:A5:01:01:CA:14:00:00:00:00:06:0C:D4:01:00:15:C0:E1:E4:00:C0:C6:2D:00:14:00:B5:03:01:03:FF:C2:08:61:00:82:04:80:C3:C9:01:80:01:01:C9:03:03:0F:AB:5B:01:02:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:00:12}
###############################################################################
# Pre-Discovery Startup Configuration (256 bytes maximum)
#
# This is applied before starting Discovery the first time.
#NFA_DM_PRE_DISCOVERY_CFG={0A:C2:08:01:08:00:04:80:C3:C9:01}
###############################################################################
# Antenna Configuration - This data is used when setting 0xC8 config item
# at startup (before discovery is started). If not used, no value is sent.
#
# The settings for this value are documented here:
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
# This document is maintained by Paul Forshaw.
#
# The values marked as ?? should be tweaked per antenna or customer/app:
# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}
# array[0] = 0x20 is length of the payload from array[1] to the end
# array[1] = 0xC8 is PREINIT_DSP_CFG
PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0A:03:30:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:4E:01:00:00:40:04}
###############################################################################
# Snooze Mode Settings
#
# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0
# to disable.
#
# If SNOOZE_MODE_CFG is not provided, the default settings are used:
# They are as follows:
# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)
# 0 Idle Threshold Host
# 0 Idle Threshold HC
# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh)
# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh)
#
#SNOOZE_MODE_CFG={08:00:00:00:01}

View file

@ -1,68 +0,0 @@
###############################################################################
# Firmware patch file
# If the value is not set then patch download is disabled.
FW_PATCH="/vendor/firmware/bcm2079xB5_firmware.ncd"
#FW_PATCH_20793="/vendor/firmware/bcm2079xB5_firmware_20793.ncd"
###############################################################################
# Firmware pre-patch file (sent before the above patch file)
# If the value is not set then pre-patch is not used.
FW_PRE_PATCH="/vendor/firmware/bcm2079xB5_pre_firmware.ncd"
#FW_PRE_PATCH_20793="/vendor/firmware/bcm2079xB5_pre_firmware_20793.ncd"
###############################################################################
# LPTD mode configuration
# byte[0] is the length of the remaining bytes in this value
# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
# byte[1] is the param id it should be set to B9.
# byte[2] is the length of the LPTD parameters
# byte[3] indicates if LPTD is enabled
# if set to 0, LPTD will be disabled (parameters will still be sent).
# byte[4-n] are the LPTD parameters.
# By default, LPTD is enabled and default settings are used.
# See nfc_hal_dm_cfg.c for defaults
LPTD_CFG={38:B9:36:01:00:FF:FF:09:00:00:00:A0:0F:40:00:00:12:02:10:00:00:00:2D:0B:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:03:00:D0:07:00:00:08:07:00:00:C8:00:00:00:00:00:00:00}
###############################################################################
# Startup Configuration (256 bytes maximum)
#
# This is applied at stack startup.
#
NFA_DM_START_UP_CFG={4A:CB:01:01:A5:01:01:CA:16:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:20:A1:07:00:14:01:14:0A:B5:03:01:03:FF:80:01:01:C9:03:03:0F:AB:5B:01:02:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:40:12:B0:05:03:03:03:03:FF:28:01:01}
###############################################################################
# Pre-Discovery Startup Configuration (256 bytes maximum)
#
# This is applied before starting Discovery the first time.
NFA_DM_PRE_DISCOVERY_CFG={0A:C2:08:01:08:00:04:80:C3:C9:01}
###############################################################################
# Antenna Configuration - This data is used when setting 0xC8 config item
# at startup (before discovery is started). If not used, no value is sent.
#
# The settings for this value are documented here:
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
#
# The values marked as ?? should be tweaked per antenna or customer/app:
# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}
# array[0] = 0x20 is length of the payload from array[1] to the end
# array[1] = 0xC8 is PREINIT_DSP_CFG
PREINIT_DSP_CFG={20:C8:1E:06:3F:00:0A:03:30:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:4E:01:00:00:40:04}
###############################################################################
# Snooze Mode Settings
#
# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0
# to disable.
#
# If SNOOZE_MODE_CFG is not provided, the default settings are used:
# They are as follows:
# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)
# 0 Idle Threshold Host
# 0 Idle Threshold HC
# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh)
# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh)
#
#SNOOZE_MODE_CFG={08:00:00:00:01}

View file

@ -1,277 +0,0 @@
###############################################################################
# Application options
APPL_TRACE_LEVEL=0xFF
PROTOCOL_TRACE_LEVEL=0xFFFFFFFF
###############################################################################
# Logging
# Set USE_RAW_NCI_TRACE = 1 for protocol logging in a raw format
# instead of decoded
# Set LOG_TO_FILE = 1 to log protocol traces to a file on the sdcard
# instead of to adb logcat
# Set LOGCAT_FILTER to the filter string which is passed to logcat
#USE_RAW_NCI_TRACE=0
#LOG_TO_FILE=0
#LOGCAT_FILTER="BrcmNciX:V BrcmNciR:V BrcmNote:V *:S"
PRESERVE_STORAGE=1
###############################################################################
# performance measurement
# Change this setting to control how often USERIAL log the performance (throughput)
# data on read/write/poll
# defailt is to log performance dara for every 100 read or write
#REPORT_PERFORMANCE_MEASURE=100
###############################################################################
# File used for NFA storage
NFA_STORAGE="/data/bcmnfc"
###############################################################################
# Low Power Mode Settings
#
# If NFA_DM_LP_CFG is not provided, stack default settings are
# used (see nfa_dm_brcm_cfg.c). They are as follows:
# 1 Power cycle to full power mode from CEx
# 5 Parameter for low power mode command
# 0 Primary Threshold for battery monitor
# 0-7 representing below voltages:
# {2, 2.2, 2.7, 2.8, 2.9, 3, 3.1, 3.2}
# 8 Secondary Threshold for battery monitor
# 0-15 representing below voltages:
# {5.2, 4.87, 4.54, 4.22, 3.9, 3.73, 3.57, 3.4,
# 3.2, 3.1, 3.0, 2.9, 2.8, 2.7, 2.2, 2.0}
#
#NFA_DM_LP_CFG={01:05:00:08}
# LPM Disable FW VBAT MON
NFA_DM_LP_CFG={01:01:00:08}
###############################################################################
# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC
NFC_WAKE_DELAY=20
###############################################################################
# Various Delay settings (in ms) used in USERIAL
# POWER_ON_DELAY
# Delay after turning on chip, before writing to transport (default 300)
# PRE_POWER_OFF_DELAY
# Delay after deasserting NFC-Wake before turn off chip (default 0)
# POST_POWER_OFF_DELAY
# Delay after turning off chip, before USERIAL_close returns (default 0)
# CE3_PRE_POWER_OFF_DELAY
# Delay after deasserting NFC-Wake before turn off chip (default 1000)
# when going to CE3 Switch Off mode
#
#POWER_ON_DELAY=300
PRE_POWER_OFF_DELAY=1500
#POST_POWER_OFF_DELAY=0
#CE3_PRE_POWER_OFF_DELAY=1000
###############################################################################
# Device Manager Config
#
# If NFA_DM_CFG is not provided, stack default settings are
# used (see nfa_dm_cfg.c). They are as follows:
# 0 (FALSE) Automatic NDEF detection when background polling
# 0 (FALSE) Automatic NDEF read when background polling
#
#NFA_DM_CFG={00:00}
###############################################################################
# Default poll duration (in ms)
# The defualt is 500ms if not set (see nfc_target.h) same as M0
NFA_DM_DISC_DURATION_POLL=500
###############################################################################
# Startup Vendor Specific Configuration (100 bytes maximum);
# byte[0] TLV total len = 0x5
# byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f
# byte[2] NCI_MSG_FRAME_LOG = 0x9
# byte[3] 2
# byte[4] 0=turn off RF frame logging; 1=turn on
# byte[5] 0=turn off SWP frame logging; 1=turn on
# NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}
#HW FSM
#NFA_DM_START_UP_VSC_CFG={04:2F:06:01:00}
###############################################################################
# Configure crystal frequency when internal LPO can't detect the frequency.
#XTAL_FREQUENCY=0
###############################################################################
# Use Nexus S NXP RC work to allow our stack/firmware to work with a retail
# Nexus S that causes IOP issues. Note, this will not pass conformance and
# should be removed for production.
#USE_NXP_P2P_RC_WORKAROUND=1
###############################################################################
# Configure the default Destination Gate used by HCI (the default is 4, which
# is the ETSI loopback gate.
#NFA_HCI_DEFAULT_DEST_GATE=0x04
###############################################################################
# Configure the single default SE to use. The default is to use the first
# SE that is detected by the stack. This value might be used when the phone
# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use
# one of them (e.g. 0xF4).
#ACTIVE_SE=0xF3
###############################################################################
# Configure the NFC Extras to open and use a static pipe. If the value is
# not set or set to 0, then the default is use a dynamic pipe based on a
# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
# for each UICC (where F3="UICC0" and F4="UICC1")
NFA_HCI_STATIC_PIPE_ID_F3=0x71
NFA_HCI_STATIC_PIPE_ID_F4=0x71
###############################################################################
# When disconnecting from Oberthur secure element, perform a warm-reset of
# the secure element to deselect the applet.
# The default hex value of the command is 0x3. If this variable is undefined,
# then this feature is not used.
#OBERTHUR_WARM_RESET_COMMAND=0x03
###############################################################################
# Force UICC to only listen to the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B.
UICC_LISTEN_TECH_MASK=0x00
###############################################################################
# AID for Empty Select command
# If specified, this AID will be substituted when an Empty SELECT command is
# detected. The first byte is the length of the AID. Maximum length is 16.
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
###############################################################################
# Force tag polling for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_A_ACTIVE |
# NFA_TECHNOLOGY_MASK_F_ACTIVE.
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A 0x01
# NFA_TECHNOLOGY_MASK_B 0x02
# NFA_TECHNOLOGY_MASK_F 0x04
# NFA_TECHNOLOGY_MASK_ISO15693 0x08
# NFA_TECHNOLOGY_MASK_B_PRIME 0x10
# NFA_TECHNOLOGY_MASK_KOVIO 0x20
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80
POLLING_TECH_MASK=0xEF
###############################################################################
# Force P2P to only listen for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
P2P_LISTEN_TECH_MASK=0xC4
###############################################################################
# Maximum Number of Credits to be allowed by the NFCC
# This value overrides what the NFCC specifices allowing the host to have
# the control to work-around transport limitations. If this value does
# not exist or is set to 0, the NFCC will provide the number of credits.
MAX_RF_DATA_CREDITS=1
###############################################################################
# This setting allows you to disable registering the T4t Virtual SE that causes
# the NFCC to send PPSE requests to the DH.
# The default setting is enabled (i.e. T4t Virtual SE is registered).
#REGISTER_VIRTUAL_SE=1
REGISTER_VIRTUAL_SE=0
###############################################################################
# When screen is turned off, specify the desired power state of the controller.
# 0: power-off-sleep state; DEFAULT
# 1: full-power state
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
# 3: FPM CE in snooze mode, Switch Off, Battery Off still available.
SCREEN_OFF_POWER_STATE=3
###############################################################################
# SPD Debug mode
# If set to 1, any failure of downloading a patch will trigger a hard-stop
#SPD_DEBUG=0
###############################################################################
# SPD Max Retry Count
# The number of attempts to download a patch before giving up (defualt is 3).
# Note, this resets after a power-cycle.
#SPD_MAX_RETRY_COUNT=3
###############################################################################
# Patch RAM Version Checking
# By default the stack will reject any attempt to download a patch where major
# version is < the one that is in NVM. If this config item is set to 1 then
# this version check is skipped.
#
#SPD_IGNORE_VERSION=0
###############################################################################
# transport driver
#
# TRANSPORT_DRIVER=<driver>
#
# where <driver> can be, for example:
# "/dev/ttyS" (UART)
# "/dev/bcmi2cnfc" (I2C)
# "hwtun" (HW Tunnel)
# "/dev/bcmspinfc" (SPI)
# "/dev/btusb0" (BT USB)
TRANSPORT_DRIVER="/dev/bcm2079x"
###############################################################################
# power control driver
# Specify a kernel driver that support ioctl commands to control NFC_EN and
# NFC_WAKE gpio signals.
#
# POWER_CONTRL_DRIVER=<driver>
# where <driver> can be, for example:
# "/dev/nfcpower"
# "/dev/bcmi2cnfc" (I2C)
# "/dev/bcmspinfc" (SPI)
# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal
POWER_CONTROL_DRIVER="/dev/bcm2079x"
###############################################################################
# I2C transport driver options
#
BCMI2CNFC_ADDRESS=0
###############################################################################
# I2C transport driver try to read multiple packets in read() if data is available
# remove the comment below to enable this feature
#READ_MULTIPLE_PACKETS=1
###############################################################################
# SPI transport driver options
#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}
###############################################################################
# UART transport driver options
#
# PORT=1,2,3,...
# BAUD=115200, 19200, 9600, 4800,
# DATABITS=8, 7, 6, 5
# PARITY="even" | "odd" | "none"
# STOPBITS="0" | "1" | "1.5" | "2"
#UART_PORT=2
#UART_BAUD=115200
#UART_DATABITS=8
#UART_PARITY="none"
#UART_STOPBITS="1"
###############################################################################
# Insert a delay in microseconds per byte after a write to NFCC.
# after writing a block of data to the NFCC, delay this an amopunt of time before
# writing next block of data. the delay is calculated as below
# NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds
# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write
NFC_WRITE_DELAY=20

View file

@ -1 +0,0 @@
EMPTY

View file

@ -1 +0,0 @@
EMPTY

View file

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Device audio defines "Voice Earpiece Extra Gain" mode. -->
<bool name="config_hasVocEpXgain">true</bool>
</resources>

View file

@ -258,6 +258,4 @@
<!-- Performance profiles -->
<string name="config_perf_profile_prop">sys.perf.profile</string>
<string name="config_perf_profile_default_entry">1</string>
<bool name="config_hotswapCapable">true</bool>
</resources>

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/* //device/apps/common/assets/res/any/dimens.xml
**
** Copyright 2006, 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.
*/
-->
<resources>
<!-- Pie service: Thickness of the active trigger fields around the screen border -->
<!-- <dimen name="pie_trigger_thickness">10dp</dimen> -->
</resources>

View file

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2012, The CyanogenMod Project
* Copyright (c) 2014, The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* 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
* 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
* 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.
*/
-->

View file

@ -1,28 +0,0 @@
<?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.
*/
-->
<!-- 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>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2011, The CyanogenMod Project
** Copyright 2014, The CyanogenMod Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View file

@ -1,24 +0,0 @@
<?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.
-->
<resources>
<!-- Whether or not the dock settings are to be displayed for this device when docked
<bool name="has_dock_settings">true</bool>-->
<bool name="has_powercontrol_widget">true</bool>
<!-- make home button wake configurable in display settings -->
<bool name="config_show_homeWake">true</bool>
</resources>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012 The CyanogenMod Project
<!-- Copyright (C) 2014 The CyanogenMod Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,6 +15,10 @@
-->
<resources>
<!-- Home button Wake support. Some devices do not support this.
Setting to false will disable Home button Wake support -->
<bool name="config_show_homeWake">true</bool>
<!-- Volume Rocker Wake -->
<bool name="config_show_volumeRockerWake">true</bool>
</resources>

View file

@ -1,17 +1,17 @@
<!--
/*
** Copyright 2011, The CyanogenMod Project
** Copyright 2014, The CyanogenMod Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
** 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
** 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
** 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.
*/
-->
@ -25,9 +25,10 @@
<!-- Lowest setting -->
<integer name="valueOn">5</integer>
<!-- Middle setting -->
<integer name="valueHigh">15</integer>
<!-- Highest setting, leave -1 if it doesn't exist -->
<integer name="valueDeathRay">-1</integer>
</resources>

View file

@ -17,21 +17,12 @@
<!-- Phone app resources that may need to be customized
for different hardware or product builds. -->
<resources>
<!-- Determine whether calls to mute the microphone in PhoneUtils
are routed through the android.media.AudioManager class (true) or through
the com.android.internal.telephony.Phone interface (false). -->
<bool name="send_mic_mute_to_AudioManager">true</bool>
<!-- This device implements a noise suppression device for in call audio-->
<bool name="has_in_call_noise_suppression">true</bool>
<!-- Flag indicating if the tty is enabled -->
<bool name="tty_enabled">true</bool>
<!-- Flag indicating if the phone is a world phone -->
<bool name="world_phone">true</bool>
<!-- Show enabled lte option for lte device -->
<bool name="config_enabled_lte" translatable="false">true</bool>
</resources>

View file

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Mobile network settings, network mode choices for a device supporting CDMA and LTE [CHAR LIMIT=25] -->
<string-array name="preferred_network_mode_choices">
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
<item>LTE/GSM/WCDMA</item>
<item>LTE/CDMA/EvDo</item>
<item>CDMA/EvDo auto</item>
<item>GSM/WCDMA auto</item>
<item>GSM/WCDMA preferred</item>
<item>GSM only</item>
</string-array>
<string-array name="preferred_network_mode_values" translatable="false">
<item>"10"</item>
<item>"9"</item>
<item>"8"</item>
<item>"4"</item>
<item>"3"</item>
<item>"0"</item>
<item>"1"</item>
</string-array>
</resources>

View file

@ -1,181 +1,78 @@
# Bins
bin/hvdcp
bin/mpdecision
bin/radish
bin/rfs_access
#bin/prepare_param.sh
# Thermal
bin/thermald
bin/thermal-engine
vendor/lib/libthermalclient.so
# Bluetooth firmware
vendor/firmware/bcm4350.hcd
vendor/firmware/bcm4350.hcd:vendor/firmware/bcm4335.hcd
#vendor/firmware/bcm4339_A0.hcd
#vendor/firmware/bcm4339_semco.hcd
#vendor/firmware/bcm4339_wisol.hcd
# GPS
-app/com.qualcomm.location.apk
bin/gsiff_daemon
etc/permissions/com.qualcomm.location.xml
lib/libloc_api_v02.so
vendor/lib/libgeofence.so
vendor/lib/libizat_core.so
vendor/lib/liblbs_core.so
vendor/lib/liblocationservice.so
# Audio
vendor/lib/libacdbloader.so
vendor/lib/libacdbloader.so:lib/libacdbloader.so
vendor/lib/libacdbmapper.so
vendor/lib/libaudcal.so
vendor/lib/libcsd-client.so
vendor/lib/libacdbrtac.so
vendor/lib/libadiertac.so
lib/libmysound.so
lib/libaudiosa.so
lib/libsoundalive.so
lib/lib_soundaliveresampler.so
lib/libaudio-ril.so
lib/libwebrtc_audio_coding.so
lib/libwebrtc_audio_preprocessing.so
vendor/lib/libaudcal.so
vendor/lib/libcsd-client.so
etc/firmware/audience-es705-fw.bin
etc/firmware/audience-es705-vs.bin
etc/Bluetooth_cal.acdb
etc/General_cal.acdb
etc/Handset_cal.acdb
etc/Global_cal.acdb
etc/Handset_cal.acdb
etc/Hdmi_cal.acdb
etc/Headset_cal.acdb
etc/Speaker_cal.acdb
etc/Diag_audio.cfg
# Bluetooth firmware
vendor/firmware/bcm4350.hcd
vendor/firmware/BT_FW_VER_BCM4354_003.001.012.0167.0213_K_LTE_ORC.hcd
# Adreno GPU
vendor/lib/egl/eglsubAndroid.so
vendor/lib/egl/libEGL_adreno.so
vendor/lib/egl/libGLESv1_CM_adreno.so
vendor/lib/egl/libGLESv2_adreno.so
vendor/lib/egl/libq3dtools_adreno.so
vendor/lib/libadreno_utils.so
vendor/lib/libC2D2.so
vendor/lib/libc2d30-a3xx.so
vendor/lib/libc2d30.so
vendor/lib/libc2d2_z180.so
vendor/lib/libCB.so
vendor/lib/libgsl.so
vendor/lib/libOpenVG.so
vendor/lib/libOpenCL.so
vendor/lib/libllvm-qcom.so
#vendor/lib/librs_adreno_sha1.so
#vendor/lib/librs_adreno.so
#vendor/lib/libRSDriver_adreno.so
vendor/lib/libsc-a3xx.so
etc/firmware/a330_pfp.fw
etc/firmware/a330_pm4.fw
# Graphics
vendor/lib/libmm-color-convertor.so
lib/libsec-ril.so
lib/libril.so
#lib/cdma/libsec-ril.so
#lib/cdma/libril.so
#lib/gsm/libsec-ril.so
#lib/gsm/libril.so
#lib/libsensirion_h_2.so
lib/hw/sensors.msm8974.so
# Radio
bin/ds_fmc_appd
bin/efsks
bin/ks
#vendor/bin/netmgrd
#vendor/bin/sec-ril
bin/qcks
bin/qmiproxy
bin/qmuxd
bin/rild
bin/rmt_storage
lib/libatparser.so
lib/libcordon.so
vendor/lib/libdiag.so
vendor/lib/libdsutils.so
#vendor/lib/libdsi_netctrl.so
lib/libfactoryutil.so
vendor/lib/libidl.so
#lib/libnetmgr.so
lib/libomission_avoidance.so
#vendor/lib/libqdi.so
#vendor/lib/libqdp.so
vendor/lib/libqmi.so
vendor/lib/libqmiservices.so
vendor/lib/libqmi_cci.so
vendor/lib/libqmi_common_so.so
vendor/lib/libqmi_csi.so
vendor/lib/libqmi_encdec.so
vendor/lib/libqcci_legacy.so
vendor/lib/libqmi_client_qmux.so
lib/libreference-ril.so
vendor/lib/libril-qcril-hook-oem.so
lib/libsecril-client.so
# Time services
bin/time_daemon
-vendor/lib/libtime_genoff.so
# Sensors
lib/hw/sensorhubs.msm8974.so
# Unsorted
vendor/lib/libmmQSM.so
vendor/lib/libmmQTA.so
vendor/lib/libmmhttpstack.so
vendor/lib/libmmiipstreammmihttp.so
vendor/lib/libmmipstreamaal.so
vendor/lib/libmmipstreamnetwork.so
vendor/lib/libmmipstreamsourcehttp.so
vendor/lib/libmmipstreamutils.so
vendor/lib/libmmrtpencoder.so
vendor/lib/libmmrtpdecoder.so
vendor/lib/libmmwfdinterface.so
vendor/lib/libmmwfdsinkinterface.so
vendor/lib/libmmwfdsrcinterface.so
# Media
lib/libOmxVdecHevc.so
vendor/lib/libDivxDrm.so
vendor/lib/libExtendedExtractor.so
vendor/lib/libHevcSwDecoder.so
vendor/lib/libI420colorconvert.so
vendor/lib/libmmosal.so
vendor/lib/libmmparser.so
vendor/lib/libOmxAacDec.so
vendor/lib/libOmxAmrwbplusDec.so
vendor/lib/libOmxEvrcDec.so
vendor/lib/libOmxQcelp13Dec.so
vendor/lib/libOmxWmaDec.so
vendor/lib/libmm-hdcpmgr.so
# ADSP
bin/adsprpcd
vendor/lib/libadsprpc.so
vendor/lib/libfastcvadsp_stub.so
vendor/lib/libfastcvopt.so
vendor/lib/libscve.so
vendor/lib/libscve_stub.so
# Camera
bin/mm-qcamera-daemon
cameradata/datapattern_420sp.yuv
cameradata/datapattern_front_420sp.yuv
etc/C16QL_s5k2p2xx_module_info.xml
etc/F16QS_imx240_module_info.xml
etc/F16QL_s5k2p2xx_module_info.xml
lib/hw/camera.msm8974.so
lib/libTsAe.so
lib/libTsAf.so
lib/libTs_J_Accm.so
lib/libTs_J_Awb.so
lib/hw/camera.msm8974.so:lib/hw/camera.vendor.msm8974.so
lib/libarcsoft_nighthawk.so
lib/libliveframework.so
lib/libmmcamera2_stats_algorithm.so
lib/libmmcamera_cac3_lib.so
lib/libmmcamera_fidelix_eeprom.so
lib/libmmcamera_interface.so
lib/libmmipl.so
lib/libmmjpeg_interface.so
lib/libmmjpeg.so
lib/libmmqjpeg_codec.so
lib/libqomx_core.so
lib/libqomx_jpegenc.so
lib/libliveframework.so
lib/libarcsoft_nighthawk.so
lib/libarccamera.so
lib/libvdis.so
vendor/lib/libactuator_ak7345_camcorder.so
vendor/lib/libactuator_ak7345_camera.so
vendor/lib/libactuator_dw9714_camcorder.so
vendor/lib/libactuator_dw9714_camera.so
vendor/lib/libactuator_dw9716_camcorder.so
vendor/lib/libactuator_dw9716_camera.so
vendor/lib/libactuator_wv560_camcorder.so
vendor/lib/libactuator_wv560_camera.so
vendor/lib/libmmcamera2_c2d_module.so
vendor/lib/libmmcamera2_companion_s5k2p2xx.so
vendor/lib/libmmcamera2_companion_imx240.so
vendor/lib/libmmcamera2_cpp_module.so
vendor/lib/libmmcamera2_iface_modules.so
vendor/lib/libmmcamera2_imglib_modules.so
vendor/lib/libmmcamera2_isp_modules.so
vendor/lib/libmmcamera2_pproc_modules.so
vendor/lib/libmmcamera2_sensor_modules.so
vendor/lib/libmmcamera2_stats_modules.so
vendor/lib/libmmcamera2_vpe_module.so
vendor/lib/libmmcamera2_wnr_module.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libmmcamera_image_stab.so
vendor/lib/libmmcamera_imglib_faceproc_adspstub.so
vendor/lib/libmmcamera_imglib.so
vendor/lib/libmmcamera_imx240.so
vendor/lib/libmmcamera_s5k2p2xx.so
vendor/lib/libmmcamera_s5k8b1yx.so
vendor/lib/liboemcamera.so
vendor/lib/libsensor1.so
# Camera chromatix
lib/C16QL_libchromatix_s5k2p2xx_default_video.so
lib/C16QL_libchromatix_s5k2p2xx_golfshot.so
lib/C16QL_libchromatix_s5k2p2xx_hdr_liveshot.so
@ -211,6 +108,7 @@ lib/F16QL_libchromatix_s5k2p2xx_hfr_120.so
lib/F16QL_libchromatix_s5k2p2xx_hfr_1080p_b.so
lib/F16QL_libchromatix_s5k2p2xx_hfr_1080p_s.so
lib/F16QL_libchromatix_s5k2p2xx_liveshot.so
lib/F16QL_libchromatix_s5k2p2xx_lowres_zslshot.so
lib/F16QL_libchromatix_s5k2p2xx_pip.so
lib/F16QL_libchromatix_s5k2p2xx_preview.so
lib/F16QL_libchromatix_s5k2p2xx_shotmode_preview.so
@ -235,6 +133,7 @@ lib/F16QS_libchromatix_imx240_hfr_120.so
lib/F16QS_libchromatix_imx240_hfr_1080p_b.so
lib/F16QS_libchromatix_imx240_hfr_1080p_s.so
lib/F16QS_libchromatix_imx240_liveshot.so
lib/F16QS_libchromatix_imx240_lowres_zslshot.so
lib/F16QS_libchromatix_imx240_pip.so
lib/F16QS_libchromatix_imx240_preview.so
lib/F16QS_libchromatix_imx240_shotmode_preview.so
@ -248,37 +147,10 @@ lib/F16QS_libTsAe.so
lib/F16QS_libTsAf.so
lib/F16QS_libTs_J_Accm.so
lib/F16QS_libTs_J_Awb.so
lib/libmmipl.so
lib/libmmcamera2_stats_algorithm.so
lib/libmmcamera_cac3_lib.so
lib/libmmcamera_fidelix_eeprom.so
lib/libmmqjpeg_codec.so
lib/libmmjpeg.so
lib/libmmjpeg_interface.so
vendor/lib/libmmcamera_s5k8b1yx.so
vendor/lib/libmmcamera_s5k2p2xx.so
lib/libsecnativefeature.so
lib/libvdis.so
vendor/lib/libthermalclient.so
vendor/lib/libmmcamera_imx240.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libmmcamera_imglib_faceproc_adspstub.so
vendor/lib/libsensor1.so
vendor/lib/libmmcamera2_stats_modules.so
vendor/lib/libmmcamera_image_stab.so
vendor/lib/libmmcamera2_iface_modules.so
vendor/lib/libmmcamera2_isp_modules.so
vendor/lib/libmmcamera2_sensor_modules.so
vendor/lib/libmmcamera2_pproc_modules.so
vendor/lib/libmmcamera2_cpp_module.so
vendor/lib/libmmcamera2_c2d_module.so
vendor/lib/libmmcamera2_imglib_modules.so
vendor/lib/libmmcamera_imglib.so
vendor/lib/libmmcamera2_wnr_module.so
vendor/lib/libmmcamera2_vpe_module.so
vendor/lib/libmmcamera2_companion_s5k2p2xx.so
vendor/lib/libmmcamera2_companion_imx240.so
vendor/lib/libadsprpc.so
lib/libTsAe.so
lib/libTsAf.so
lib/libTs_J_Accm.so
lib/libTs_J_Awb.so
vendor/lib/C16QL_libchromatix_s5k2p2xx_common.so
vendor/lib/C16QL_libchromatix_s5k2p2xx_common_res0.so
vendor/lib/C16QL_libchromatix_s5k2p2xx_common_res1.so
@ -294,81 +166,160 @@ vendor/lib/F16QS_libchromatix_imx240_common_res0.so
vendor/lib/F16QS_libchromatix_imx240_common_res1.so
vendor/lib/F16QS_libchromatix_imx240_common_res2.so
vendor/lib/F16QS_libchromatix_imx240_common_res3.so
vendor/lib/libactuator_ak7345_camcorder.so
vendor/lib/libactuator_ak7345_camera.so
vendor/lib/libactuator_dw9714_camcorder.so
vendor/lib/libactuator_dw9714_camera.so
vendor/lib/libactuator_dw9716_camcorder.so
vendor/lib/libactuator_dw9716_camera.so
vendor/lib/libactuator_wv560_camcorder.so
vendor/lib/libactuator_wv560_camera.so
vendor/lib/libchromatix_s5k8b1yx_vt.so
vendor/lib/libchromatix_s5k8b1yx_pip.so
vendor/lib/libchromatix_s5k8b1yx_video.so
vendor/lib/libchromatix_s5k8b1yx_vt_hd.so
vendor/lib/libchromatix_s5k8b1yx_common.so
vendor/lib/libchromatix_s5k8b1yx_pip.so
vendor/lib/libchromatix_s5k8b1yx_preview.so
vendor/lib/libchromatix_s5k8b1yx_zslshot.so
vendor/lib/libchromatix_s5k8b1yx_snapshot.so
vendor/lib/libchromatix_s5k8b1yx_vt_beauty.so
vendor/lib/libchromatix_s5k8b1yx_smart_stay.so
vendor/lib/liboemcamera.so
vendor/lib/lib-imscamera.so
vendor/lib/libchromatix_s5k8b1yx_snapshot.so
vendor/lib/libchromatix_s5k8b1yx_video.so
vendor/lib/libchromatix_s5k8b1yx_vt_beauty.so
vendor/lib/libchromatix_s5k8b1yx_vt_hd.so
vendor/lib/libchromatix_s5k8b1yx_vt.so
vendor/lib/libchromatix_s5k8b1yx_zslshot.so
# Wi-Fi
etc/wifi/bcmdhd_apsta.bin
#etc/wifi/bcmdhd_apsta.bin_a0
etc/wifi/bcmdhd_mfg.bin
#etc/wifi/bcmdhd_mfg.bin_a0
etc/wifi/bcmdhd_sta.bin
#etc/wifi/bcmdhd_sta.bin_a0
etc/wifi/cred.conf
etc/wifi/nvram_mfg.txt
#etc/wifi/nvram_mfg.txt_a0
#etc/wifi/nvram_mfg.txt
#etc/wifi/nvram_mfg.txt_murata
#etc/wifi/nvram_mfg.txt_murata_a0
#etc/wifi/nvram_mfg.txt_muratafem1
#etc/wifi/nvram_mfg.txt_muratafem2
etc/wifi/nvram_net.txt
#etc/wifi/nvram_net.txt_murata
#etc/wifi/nvram_net.txt_murata_a0
#etc/wifi/nvram_net.txt_muratafem1
etc/wifi/wpa_supplicant.conf
# Perf
vendor/lib/libqc-opt.so
# DRM
bin/qseecomd
lib/libdrmdecrypt.so
lib/libhdcp2.so
lib/libstagefright_hdcp.so
vendor/lib/libWVStreamControlAPI_L1.so
lib/libwvm.so
lib/drm/libdrmwvmplugin.so
vendor/lib/libdrmfs.so
vendor/lib/libdrmtime.so
vendor/lib/liboemcrypto.so
vendor/lib/librpmb.so
vendor/lib/libssd.so
vendor/lib/libQSEEComAPI.so
vendor/lib/mediadrm/libwvdrmengine.so
# IPC router security
etc/sec_config
bin/irsc_util
# CPP firmware
# Camera firmware
cameradata/C16QL_Isp0_s5k2p2xx.bin
cameradata/C16QL_Isp1_s5k2p2xx.bin
cameradata/F16QL_Isp0_s5k2p2xx.bin
cameradata/F16QL_Isp1_s5k2p2xx.bin
cameradata/F16QS_Isp0_imx240.bin
cameradata/F16QS_Isp1_imx240.bin
cameradata/Master0.bin
cameradata/Master1.bin
cameradata/cal_data_LSCmaster.bin
cameradata/datapattern_420sp.yuv
cameradata/datapattern_front_420sp.yuv
etc/firmware/cpp_firmware_v1_1_1.fw
etc/firmware/cpp_firmware_v1_1_6.fw
etc/firmware/cpp_firmware_v1_2_0.fw
# nfc firmware
vendor/firmware/bcm2079xB4_firmware.ncd
vendor/firmware/bcm2079xB4_pre_firmware.ncd
# CPU
bin/mpdecision
bin/thermal-engine
vendor/lib/libthermalclient.so
# postproc
# DRM
bin/qseecomd
lib/drm/libdrmwvmplugin.so
lib/libdrmdecrypt.so
lib/libwvm.so
vendor/lib/libdrmdiag.so
vendor/lib/libdrmfs.so
vendor/lib/libdrmtime.so
vendor/lib/liboemcrypto.so
vendor/lib/libQSEEComAPI.so
vendor/lib/librpmb.so
vendor/lib/libssd.so
vendor/lib/libWVStreamControlAPI_L1.so
vendor/lib/mediadrm/libwvdrmengine.so
# GPS
-app/com.qualcomm.location.apk
bin/gsiff_daemon
etc/permissions/com.qualcomm.location.xml
lib/libloc_api_v02.so
vendor/lib/libgeofence.so
vendor/lib/libizat_core.so
vendor/lib/liblbs_core.so
vendor/lib/liblocationservice.so
# Graphics
vendor/lib/egl/eglsubAndroid.so
vendor/lib/egl/libEGL_adreno.so
vendor/lib/egl/libGLESv1_CM_adreno.so
vendor/lib/egl/libGLESv2_adreno.so
vendor/lib/egl/libq3dtools_adreno.so
vendor/lib/libadreno_utils.so
vendor/lib/libC2D2.so
vendor/lib/libc2d30.so
vendor/lib/libc2d30-a3xx.so
vendor/lib/libCB.so
vendor/lib/libgsl.so
vendor/lib/libllvm-qcom.so
vendor/lib/libOpenVG.so
vendor/lib/libOpenCL.so
vendor/lib/libRSDriver_adreno.so
vendor/lib/librs_adreno.so
vendor/lib/librs_adreno_sha1.so
vendor/lib/libsc-a3xx.so
vendor/lib/libscale.so
# Graphics firmware
etc/firmware/a330_pfp.fw
etc/firmware/a330_pm4.fw
# IPC router security
bin/irsc_util
etc/sec_config
# Media
vendor/lib/libDivxDrm.so
vendor/lib/libExtendedExtractor.so
-vendor/lib/libHevcSwDecoder.so
vendor/lib/libI420colorconvert.so
vendor/lib/libmm-color-convertor.so
vendor/lib/libmmosal.so
vendor/lib/libmmparser.so
vendor/lib/libOmxAacDec.so
vendor/lib/libOmxAmrwbplusDec.so
vendor/lib/libOmxEvrcDec.so
vendor/lib/libOmxQcelp13Dec.so
vendor/lib/libOmxWmaDec.so
# NFC
lib/hw/nfc_nci.msm8974.so
vendor/firmware/libpn547_fw.so
# Perf
vendor/lib/libqc-opt.so
# Postprocessing
vendor/lib/libdisp-aba.so
vendor/lib/libmm-abl.so
-vendor/lib/libmm-abl.so
vendor/lib/libmm-abl-oem.so
# Qualcomm framework
vendor/lib/libdiag.so
vendor/lib/libdsutils.so
vendor/lib/libidl.so
vendor/lib/libqcci_legacy.so
vendor/lib/libqmi.so
vendor/lib/libqmi_cci.so
vendor/lib/libqmi_client_qmux.so
vendor/lib/libqmi_common_so.so
vendor/lib/libqmi_csi.so
vendor/lib/libqmi_encdec.so
vendor/lib/libqmiservices.so
# Radio
bin/efsks
bin/ks
bin/qcks
bin/qmuxd
bin/rild
bin/rmt_storage
lib/cdma/libsec-ril.so
lib/cdma/libril.so
lib/gsm/libsec-ril.so
lib/gsm/libril.so
lib/libreference-ril.so
lib/libsecril-client.so
lib/libsecnativefeature.so
vendor/lib/libril-qcril-hook-oem.so
# Sensors
lib/hw/sensors.msm8974.so
lib/hw/sensorhubs.msm8974.so
# Time services
bin/time_daemon
-vendor/lib/libtime_genoff.so
# Wi-Fi
etc/wifi/bcmdhd_apsta.bin
etc/wifi/bcmdhd_mfg.bin
etc/wifi/bcmdhd_sta.bin
etc/wifi/cred.conf
etc/wifi/nvram_mfg.txt
etc/wifi/nvram_net.txt
etc/wifi/wpa_supplicant.conf

0
releasetools.py Normal file → Executable file
View file

View file

@ -33,14 +33,6 @@ LOCAL_SRC_FILES := etc/init.qcom.usb.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.ril.rc
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.ril.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional eng
@ -57,13 +49,6 @@ LOCAL_SRC_FILES := etc/ueventd.qcom.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.modem_links.sh
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.modem_links.sh
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.crda.sh
LOCAL_MODULE_TAGS := optional eng

View file

@ -1,502 +0,0 @@
#!/system/bin/sh
# Copyright (c) 2012, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# No path is set up at this point so we have to do it here.
PATH=/sbin:/system/sbin:/system/bin:/system/xbin
export PATH
# Check for images and set up symlinks
cd /firmware/image
# Get the list of files in /firmware/image
# for which sym links have to be created
fwfiles=`ls modem* adsp* wcnss* mba* tima_* venus* widevine* playread* dtcpip* securefp* skm* keymaste* sshdcpap* sec_stor* mc_v2* tzpr25*`
# Check if the links with similar names
# have been created in /system/etc/firmware
cd /system/etc/firmware
linksNeeded=0
# For everyfile in fwfiles check if
# the corresponding file exists
for fwfile in $fwfiles; do
# if (condition) does not seem to work
# with the android shell. Therefore
# make do with case statements instead.
# if a file named $fwfile is present
# no need to create links. If the file
# with the name $fwfile is not present
# need to create links.
case `ls $fwfile` in
$fwfile)
continue;;
*)
# file with $fwfile does not exist
# need to create links
linksNeeded=1
break;;
esac
done
case $linksNeeded in
1)
cd /firmware/image
case `ls modem.mdt 2>/dev/null` in
modem.mdt)
for imgfile in modem*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
# trying to log here but nothing will be logged since it is
# early in the boot process. Is there a way to log this message?
log -p w -t PIL no modem image found;;
esac
case `ls adsp.mdt 2>/dev/null` in
adsp.mdt)
for imgfile in adsp*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no adsp image found;;
esac
case `ls wcnss.mdt 2>/dev/null` in
wcnss.mdt)
for imgfile in wcnss*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no wcnss image found;;
esac
case `ls mba.mdt 2>/dev/null` in
mba.mdt)
for imgfile in mba*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no mba image found;;
esac
case `ls venus.mdt 2>/dev/null` in
venus.mdt)
for imgfile in venus*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no venus image found;;
esac
case `ls skm.mdt 2>/dev/null` in
skm.mdt)
for imgfile in skm*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no skm image found;;
esac
case `ls keymaste.mdt 2>/dev/null` in
keymaste.mdt)
rm /system/etc/firmware/keymaste.*
for imgfile in keymaste*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
rm /system/etc/firmware/keymaster.*
;;
*)
log -p w -t PIL no keymaste image found;;
esac
case `ls sec_stor.mdt 2>/dev/null` in
sec_stor.mdt)
for imgfile in sec_stor*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sec_stor image found;;
esac
case `ls widevine.mdt 2>/dev/null` in
widevine.mdt)
for imgfile in widevine*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no widevine image found;;
esac
case `ls sshdcpap.mdt 2>/dev/null` in
sshdcpap.mdt)
for imgfile in sshdcpap*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sshdcpap image found;;
esac
case `ls playread.mdt 2>/dev/null` in
playread.mdt)
for imgfile in playread*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no playread image found;;
esac
case `ls tima_pkm.mdt 2>/dev/null` in
tima_pkm.mdt)
for imgfile in tima_pkm*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_pkm image found;;
esac
case `ls tima_lkm.mdt 2>/dev/null` in
tima_lkm.mdt)
for imgfile in tima_lkm*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_lkm image found;;
esac
case `ls tima_atn.mdt 2>/dev/null` in
tima_atn.mdt)
for imgfile in tima_atn*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_atn image found;;
esac
case `ls dtcpip.mdt 2>/dev/null` in
dtcpip.mdt)
for imgfile in dtcpip*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no dtcpip image found;;
esac
case `ls securefp.mdt 2>/dev/null` in
securefp.mdt)
for imgfile in securefp*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no securefp image found;;
esac
case `ls mc_v2.mdt 2>/dev/null` in
mc_v2.mdt)
for imgfile in mc_v2*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no mc_v2 image found;;
esac
case `ls tima_key.mdt 2>/dev/null` in
tima_key.mdt)
for imgfile in tima_key*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_key image found;;
esac
case `ls tzpr25.mdt 2>/dev/null` in
tzpr25.mdt)
for imgfile in tzpr25*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no tzpr25 image found;;
esac
;;
*)
# Nothing to do. No links needed
;;
esac
# Check for images and set up symlinks
cd /firmware-modem/image
# Get the list of files in /firmware/image
# for which sym links have to be created
fwfiles=`ls modem* adsp* wcnss* mba* tima_* venus* widevine* playread* dtcpip* skm* keymaste* sshdcpap* sec_stor* mc_v2*`
# Check if the links with similar names
# have been created in /system/etc/firmware
cd /system/etc/firmware
linksNeeded=0
# For everyfile in fwfiles check if
# the corresponding file exists
for fwfile in $fwfiles; do
# if (condition) does not seem to work
# with the android shell. Therefore
# make do with case statements instead.
# if a file named $fwfile is present
# no need to create links. If the file
# with the name $fwfile is not present
# need to create links.
case `ls $fwfile` in
$fwfile)
continue;;
*)
# file with $fwfile does not exist
# need to create links
linksNeeded=1
break;;
esac
done
case $linksNeeded in
1)
cd /firmware-modem/image
case `ls modem.mdt` in
modem.mdt)
for imgfile in modem*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
# trying to log here but nothing will be logged since it is
# early in the boot process. Is there a way to log this message?
log -p w -t PIL no modem image found;;
esac
case `ls adsp.mdt 2>/dev/null` in
adsp.mdt)
for imgfile in adsp*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no adsp image found;;
esac
case `ls wcnss.mdt 2>/dev/null` in
wcnss.mdt)
for imgfile in wcnss*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no wcnss image found;;
esac
case `ls mba.mdt 2>/dev/null` in
mba.mdt)
for imgfile in mba*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no mba image found;;
esac
case `ls venus.mdt 2>/dev/null` in
venus.mdt)
for imgfile in venus*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no venus image found;;
esac
case `ls skm.mdt 2>/dev/null` in
skm.mdt)
for imgfile in skm*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no skm image found;;
esac
case `ls keymaste.mdt 2>/dev/null` in
keymaste.mdt)
rm /system/etc/firmware/keymaste.*
for imgfile in keymaste*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
rm /system/etc/firmware/keymaster.*
;;
*)
log -p w -t PIL no keymaste image found;;
esac
case `ls sec_stor.mdt 2>/dev/null` in
sec_stor.mdt)
for imgfile in sec_stor*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sec_stor image found;;
esac
case `ls widevine.mdt 2>/dev/null` in
widevine.mdt)
for imgfile in widevine*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no widevine image found;;
esac
case `ls sshdcpap.mdt 2>/dev/null` in
sshdcpap.mdt)
for imgfile in sshdcpap*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sshdcpap image found;;
esac
case `ls playread.mdt 2>/dev/null` in
playread.mdt)
for imgfile in playread*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no playread image found;;
esac
case `ls tima_pkm.mdt 2>/dev/null` in
tima_pkm.mdt)
for imgfile in tima_pkm*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_pkm image found;;
esac
case `ls tima_lkm.mdt 2>/dev/null` in
tima_lkm.mdt)
for imgfile in tima_lkm*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_lkm image found;;
esac
case `ls tima_atn.mdt 2>/dev/null` in
tima_atn.mdt)
for imgfile in tima_atn*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_atn image found;;
esac
case `ls dtcpip.mdt 2>/dev/null` in
dtcpip.mdt)
for imgfile in dtcpip*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no dtcpip image found;;
esac
case `ls mc_v2.mdt 2>/dev/null` in
mc_v2.mdt)
for imgfile in mc_v2*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
break;;
*)
log -p w -t PIL 8974 device but no mc_v2 image found;;
esac
case `ls tima_key.mdt 2>/dev/null` in
tima_key.mdt)
for imgfile in tima_key*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_key image found;;
esac
;;
*)
# Nothing to do. No links needed
;;
esac
cd /

View file

@ -67,17 +67,11 @@ on init
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# Allow subsystem (modem etc) debugging
# Allow subsystem (modem etc) debugging
write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
write /sys/kernel/boot_adsp/boot 1
# exec /system/bin/sh /init.qcom.early_boot.sh ${ro.board.platform}
# exec /system/bin/sh /init.qcom.syspart_fixup.sh ${ro.board.platform} ${ro.serialno}
on boot-pause
exec system/bin/battery_charging
on boot
mount debugfs /sys/kernel/debug /sys/kernel/debug
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
@ -344,25 +338,13 @@ on post-fs-data
# Gpio DVS
chown radio system /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl
#write /sys/devices/system/cpu/cpu0/online 1
#write /sys/devices/system/cpu/cpu1/online 1
#write /sys/devices/system/cpu/cpu2/online 1
#write /sys/devices/system/cpu/cpu3/online 1
# Export GPIO56 for fusion targets to enable/disable hub
service usbhub_init /system/bin/usbhub_init
class late_start
user root
disabled
oneshot
# Services begin here
on property:init.svc.surfaceflinger=stopped
stop ppd
stop hdmid
on property:ro.board.platform=msm7630_fusion
start usbhub_init
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
@ -370,22 +352,8 @@ on property:init.svc.p2p_supplicant=stopped
stop dhcpcd
on property:bluetooth.isEnabled=true
start btwlancoex
write /sys/class/bluetooth/hci0/idle_timeout 7000
service qcom-c_core-sh /system/bin/sh /init.qcom.class_core.sh
class core
user root
oneshot
service qcom-c_main-sh /system/bin/sh /init.qcom.class_main.sh
class main
user root
oneshot
on property:vold.decrypt=trigger_restart_framework
start qcom-c_main-sh
service cnd /system/bin/cnd
class late_start
socket cnd stream 660 root radio
@ -399,56 +367,19 @@ service rmt_storage /system/bin/rmt_storage
on property:ro.boot.emmc=true
start rmt_storage
service bridgemgrd /system/bin/bridgemgrd
class late_start
user radio
group radio
disabled
service port-bridge /system/bin/port-bridge /dev/smd0 /dev/ttyGS0
class late_start
user system
group system inet
disabled
on property:ro.baseband="msm"
# Enable BT-DUN only for all msms
setprop ro.qualcomm.bluetooth.dun false
service qmiproxy /system/bin/qmiproxy
class main
user radio
group radio qcom_diag
disabled
# QMUX must be in multiple groups to support external process connections
#For EncryptionMode - remove disabled, Modify class main
service qmuxd /system/bin/qmuxd
class main
user radio
group radio audio bluetooth gps qcom_diag log
disabled
service netmgrd /system/bin/netmgrd
class main
disabled
#service sensors /system/bin/sensors.qcom
# class late_start
# user root
# group root
# disabled
on property:ro.use_data_netmgrd=false
#netmgr not supported on specific target
stop netmgrd
service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh
class late_start
user bluetooth
group bluetooth net_bt_admin inet net_admin net_raw
disabled
oneshot
service wpa_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
@ -526,19 +457,6 @@ service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG
disabled
oneshot
#for WiFi MFG(TestMode)
service mfgloader /system/bin/mfgloader
class main
disabled
oneshot
service wlandutservice /system/bin/wlandutservice
class main
user system
group wifi net_raw net_admin system inet
disabled
oneshot
service macloader /system/bin/macloader
class main
oneshot
@ -548,7 +466,6 @@ on property:init.svc.macloader=stopped
chmod 0664 /data/.cid.info
chown system root /data/.rev
chmod 0664 /data/.rev
# end of wifi
on property:crypto.driver.load=1
insmod /system/lib/modules/qce.ko
@ -570,17 +487,6 @@ on property:drmdiag.load=1
on property:drmdiag.load=0
stop drmdiag
service qcom-sh /system/bin/sh /init.qcom.sh
class late_start
user root
oneshot
service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh
class late_start
user root
disabled
oneshot
service wifi-sdio-on /system/bin/sh /system/etc/init.qcom.sdio.sh
class late_start
group wifi inet
@ -594,20 +500,88 @@ service wifi-crda /system/bin/sh /system/etc/init.crda.sh
oneshot
on property:sys.boot_completed=1
start qcom-post-boot
write /sys/block/mmcblk0/queue/scheduler row
#service atfwd /system/bin/ATFWD-daemon
# class late_start
# user system
# group system radio
# onrestart /system/bin/log -t RIL-ATFWD -p w "ATFWD daemon restarted"
# Configure the hardware properly
write /sys/module/lpm_resources/enable_low_power/l2 2
write /sys/module/lpm_resources/enable_low_power/pxo 1
write /sys/module/lpm_resources/enable_low_power/vdd_dig 1
write /sys/module/lpm_resources/enable_low_power/vdd_mem 1
write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1
write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1
write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1
write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1
write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1
write /sys/module/msm_pm/modes/cpu0/retention/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu1/retention/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu2/retention/suspend_enabled 1
write /sys/module/msm_pm/modes/cpu3/retention/suspend_enabled 1
write /sys/module/msm_thermal/core_control/enabled 1
# Configure the CPU governor
write /sys/devices/system/cpu/cpu1/online 1
write /sys/devices/system/cpu/cpu2/online 1
write /sys/devices/system/cpu/cpu3/online 1
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "20000 1400000:40000 1700000:20000"
write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1497600
write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1
write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70"
write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000
write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000
write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000
write /devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
write /devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
write /devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
write /devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
write /sys/module/msm_thermal/core_control/enabled 1
write /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load 75
write /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq 1728000
chown root system /sys/devices/system/cpu/mfreq
chmod 220 /sys/devices/system/cpu/mfreq
chown root system /sys/devices/system/cpu/cpu1/online
chown root system /sys/devices/system/cpu/cpu2/online
chown root system /sys/devices/system/cpu/cpu3/online
chmod 664 /sys/devices/system/cpu/cpu1/online
chmod 664 /sys/devices/system/cpu/cpu2/online
chmod 664 /sys/devices/system/cpu/cpu3/online
write /dev/cpuctl/apps/cpu.notify_on_migrate 1
# Configure the cpu-boost module
write /sys/module/cpu_boost/parameters/boost_ms 10
write /sys/module/cpu_boost/parameters/sync_threshold 1728000
write /sys/module/cpu_boost/parameters/input_boost_freq 1497600
write /sys/module/cpu_boost/parameters/input_boost_ms 40
write /sys/module/cpu_boost/parameters/plug_boost_freq 1728000
write /sys/module/cpu_boost/parameters/plug_boost_ms 5
# Post boot services
start mpdecision
service hdmid /system/bin/hdmid
class late_start
user system
user system
group system graphics
socket hdmid stream 0660 system system
socket hdmid stream 0660 system system
disabled
on property:ro.hdmi.enable=true
@ -627,15 +601,6 @@ service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf
oneshot
disabled
service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D
class late_start
group radio wifi inet
disabled
oneshot
on property:persist.data.ds_fmc_app.mode=1
start ds_fmc_appd
service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative
class late_start
user system
@ -649,16 +614,6 @@ on property:ro.data.large_tcp_window_size=true
# Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
write /proc/sys/net/ipv4/tcp_adv_win_scale 1
#service time_daemon /system/bin/time_daemon
# class late_start
# user root
# group root
# oneshot
# disabled
#on property:persist.timed.enable=true
# start time_daemon
service ril-daemon /system/bin/rild
class main
socket rild stream 660 root radio
@ -672,20 +627,6 @@ service secril-daemon /system/bin/sec-ril
user root
group radio cache inet misc audio sdcard_rw qcom_diag log
service ril-daemon1 /system/bin/rild -c 1
class late_start
socket rild1 stream 660 root radio
socket rild-debug1 stream 660 radio system
user root
disabled
group radio cache inet misc audio sdcard_rw qcom_oncrpc diag qcom_diag log
service profiler_daemon /system/bin/profiler_daemon
class late_start
user root
group root
disabled
service sec-sh /system/bin/sh /system/etc/init.sec.boot.sh
class main
user root
@ -694,7 +635,6 @@ service sec-sh /system/bin/sh /system/etc/init.sec.boot.sh
# virtual sdcard daemon running as media_rw (1023)
service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
class late_start
oneshot
service fuse_sdcard0 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard0 /storage/sdcard0
class late_start
@ -708,19 +648,10 @@ service fuse_usbdisk /system/bin/sdcard -u 1023 -g 1023 /mnt/media_rw/usbdisk /s
class late_start
disabled
on property:ro.fuse_sdcard=true
start sdcard
# This will make sure that sdcard service starts as late_start.
on nonencrypted
setprop ro.fuse_sdcard ${persist.fuse_sdcard}
on property:vold.decrypt=trigger_restart_framework
setprop ro.fuse_sdcard ${persist.fuse_sdcard}
# Limit to SoC reset (1) and independent SSR (3)
on property:persist.sys.ssr.restart_level=1
write /sys/module/subsystem_restart/parameters/restart_level 1
on property:persist.sys.ssr.restart_level=3
write /sys/module/subsystem_restart/parameters/restart_level 3

View file

@ -26,6 +26,7 @@
#
on init
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
write /sys/class/android_usb/android0/f_rndis/wceis 1
chown system system /sys/class/android_usb/android0/usb30en
chmod 0660 /sys/class/android_usb/android0/usb30en
@ -41,11 +42,6 @@ on fs
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/f_ffs/aliases adb
service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
class core
user root
oneshot
# Following are the parameters required for usb functionality. They provide configurable options like
# product_id/vendor id and allows specifying required functions:
#

View file

@ -1,94 +0,0 @@
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#
# start ril-daemon only for targets on which radio is present
#
on property:ro.baseband=apq
setprop ro.radio.noril yes
stop ril-daemon
#
# start qmuxd and qmiproxy for appropriate targets
#
on property:ro.baseband=msm
start qmuxd
on property:ro.baseband=csfb
start qmuxd
start qmiproxy
on property:ro.baseband=svlte2a
start qmuxd
start qmiproxy
on property:ro.baseband=mdm
start qmuxd
on property:ro.baseband=sglte
start qmuxd
start qmiproxy
on property:ro.baseband=sglte2
start qmuxd
start qmiproxy
on property:ro.baseband=dsda2
start qmuxd
setprop persist.radio.multisim.config dsda
on property:ro.baseband=unknown
start qmuxd
on property:persist.radio.sglte_csfb=true
stop qmiproxy
setprop persist.radio.voice.modem.index 0
#
# start netmgrd
#
on property:ro.use_data_netmgrd=true
start netmgrd
#
# start multiple rilds based on multisim property
#
on property:persist.radio.multisim.config=dsds
stop ril-daemon
start ril-daemon
start ril-daemon1
on property:persist.radio.multisim.config=dsda
stop ril-daemon
start ril-daemon
start ril-daemon1
on property:persist.radio.multisim.config=tsts
stop ril-daemon
start ril-daemon
start ril-daemon1
start ril-daemon2

View file

@ -43,8 +43,6 @@ on fs
restorecon_recursive /persist
setprop ro.crypto.fuse_sdcard true
exec /system/bin/sh /init.qcom.syspart_fixup.sh ${ro.board.platform} ${ro.serialno}
# Keeping following partitions outside fstab file. As user may not have
# these partition flashed on the device. Failure to mount any partition in fstab file
# results in failure to launch late-start class.
@ -60,8 +58,8 @@ on fs
wait /dev/block/platform/msm_sdcc.1/by-name/efs
check_fs /dev/block/platform/msm_sdcc.1/by-name/efs ext4
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/efs /efs nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic
chown system radio /efs
chmod 0771 /efs
chown system radio /efs
chmod 0771 /efs
restorecon -R /efs
# wait /dev/block/platform/msm_sdcc.1/by-name/apnhlos
@ -69,11 +67,11 @@ on fs
# wait /dev/block/platform/msm_sdcc.1/by-name/modem
# mount vfat /dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337
write /sys/kernel/boot_adsp/boot 1
setprop qcom.audio.init complete
write /sys/kernel/boot_adsp/boot 1
setprop qcom.audio.init complete
on post-fs-data
mkdir /data/tombstones 0771 system system
mkdir /data/tombstones 0771 system system
mkdir /tombstones/modem 0771 system system
mkdir /tombstones/lpass 0771 system system
mkdir /tombstones/wcnss 0771 system system
@ -151,7 +149,6 @@ on post-fs-data
chown system radio /sys/class/sensors/grip_sensor/name
chown system radio /sys/class/sensors/grip_sensor/erase_cal
# h2k permission
chmod 0644 /efs/redata.bin
chown radio radio /efs/h2k.dat
@ -228,7 +225,6 @@ on boot
# bcmtch15xxx TSP
chown system system /sys/class/input/input0/enabled
# Fingerprint
mkdir /dev/validity 0775 system system
@ -332,8 +328,8 @@ on boot
chmod 0660 /sys/class/lcd/panel/partial_disp
# LCD DYNAMIC FPS USE TE
chown system system /sys/class/lcd/panel/dynamic_fps_use_te
chmod 0660 /sys/class/lcd/panel/dynamic_fps_use_te
chown system system /sys/class/lcd/panel/dynamic_fps_use_te
chmod 0660 /sys/class/lcd/panel/dynamic_fps_use_te
# LCD HMT
chown radio system /sys/class/lcd/panel/hmt_on
@ -437,6 +433,7 @@ on boot
chown system radio /sys/class/sensors/accelerometer_sensor/vendor
chown system radio /sys/class/sensors/accelerometer_sensor/name
chown system radio /sys/class/sensors/accelerometer_sensor/selftest
# Proximity_sensor
chown system radio /sys/class/sensors/proximity_sensor/state
chown system radio /sys/class/sensors/proximity_sensor/raw_data
@ -450,11 +447,13 @@ on boot
chown system radio /sys/class/sensors/proximity_sensor/thresh_high
chown system radio /sys/class/sensors/proximity_sensor/thresh_low
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
@ -463,11 +462,13 @@ on boot
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/selftest
@ -479,6 +480,7 @@ on boot
chown system input /dev/alps_io
chown system input /system/etc/param.dat
chown system input /system/etc/alp_cal.dat
# Temphumidity_sensor
chown system radio /sys/class/sensors/temphumidity_sensor/vendor
chown system radio /sys/class/sensors/temphumidity_sensor/name
@ -486,6 +488,7 @@ on boot
chown system radio /sys/class/sensors/temphumidity_sensor/engine_ver2
chown system radio /sys/class/sensors/temphumidity_sensor/cp_thm
chown system radio /sys/class/sensors/temphumidity_sensor/send_accuracy
# Grip_sensor
chown system radio /sys/class/sensors/grip_sensor/vendor
chown system radio /sys/class/sensors/grip_sensor/name
@ -494,6 +497,7 @@ on boot
chown system radio /sys/class/sensors/grip_sensor/threshold
chown system radio /sys/class/sensors/grip_sensor/thresh_touch_check
chown system radio /sys/class/sensors/grip_sensor/onoff
# HRM_sensor
chown system radio /sys/class/sensors/hrm_sensor/eol_test
chown system radio /sys/class/sensors/hrm_sensor/eol_test_result
@ -507,6 +511,7 @@ on boot
chown system radio /sys/class/sensors/hrm_sensor/lib_ver
chown system radio /sys/class/sensors/hrm_sensor/name
chown system radio /sys/class/sensors/hrm_sensor/vendor
# SensorHub
chown system radio /sys/class/sensors/ssp_sensor/enable
chown system radio /sys/class/sensors/ssp_sensor/mcu_rev
@ -528,6 +533,7 @@ on boot
chown system system /dev/batch_io
chmod 0600 /dev/ssp_sensorhub
chown system system /dev/ssp_sensorhub
# IIO devices for SensorHub
chmod 0600 /dev/iio:device0
chown system system /dev/iio:device0
@ -553,12 +559,14 @@ on boot
chown system system /sys/bus/iio/devices/iio:device4/buffer/enable
chown system system /sys/bus/iio/devices/iio:device5/buffer/length
chown system system /sys/bus/iio/devices/iio:device5/buffer/enable
# Gesture_sensor
chown system radio /sys/class/sensors/gesture_sensor/vendor
chown system radio /sys/class/sensors/gesture_sensor/name
chown system radio /sys/class/sensors/gesture_sensor/raw_data
chown system radio /sys/class/sensors/gesture_sensor/ir_current
chown system radio /sys/class/sensors/gesture_sensor/selftest
# SHTC1 BULK
chmod 0600 /dev/shtc1_sensor
chown system system /dev/shtc1_sensor
@ -594,27 +602,27 @@ on boot
chown nfc nfc /data/nfc/param
# Permissions for Charging
chown system radio /sys/class/power_supply/battery/batt_reset_soc
chown system radio /sys/class/power_supply/battery/update
chown system radio /sys/class/power_supply/battery/factory_mode
chown system radio /sys/class/power_supply/battery/batt_slate_mode
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/call
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/video
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/music
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/browser
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/hotspot
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/camera
chown system radio /sys/class/power_supply/battery/talk_wcdma
chown system radio /sys/class/power_supply/battery/talk_gsm
chown system radio /sys/class/power_supply/battery/call
chown system radio /sys/class/power_supply/battery/data_call
chown system radio /sys/class/power_supply/battery/gps
chown system radio /sys/class/power_supply/battery/wifi
chown system radio /sys/class/power_supply/battery/lte
chown system radio /sys/class/power_supply/battery/wc_enable
chown system radio /sys/class/power_supply/battery/lcd
chown system radio /sys/class/power_supply/ps/status
chmod 0664 /sys/class/power_supply/ps/status
chown system radio /sys/class/power_supply/battery/batt_reset_soc
chown system radio /sys/class/power_supply/battery/update
chown system radio /sys/class/power_supply/battery/factory_mode
chown system radio /sys/class/power_supply/battery/batt_slate_mode
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/call
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/video
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/music
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/browser
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/hotspot
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/camera
chown system radio /sys/class/power_supply/battery/talk_wcdma
chown system radio /sys/class/power_supply/battery/talk_gsm
chown system radio /sys/class/power_supply/battery/call
chown system radio /sys/class/power_supply/battery/data_call
chown system radio /sys/class/power_supply/battery/gps
chown system radio /sys/class/power_supply/battery/wifi
chown system radio /sys/class/power_supply/battery/lte
chown system radio /sys/class/power_supply/battery/wc_enable
chown system radio /sys/class/power_supply/battery/lcd
chown system radio /sys/class/power_supply/ps/status
chmod 0664 /sys/class/power_supply/ps/status
# Permission for fast dormancy for RIL
chown system radio /sys/devices/virtual/sec/bamdmux/waketime
@ -661,22 +669,21 @@ on boot
# Vibetonz
chmod 0660 /dev/tspdrv
chown root shell /dev/tspdrv
chown system system /sys/class/timed_output/vibrator/pwm_value
chmod 0660 /sys/class/timed_output/vibrator/pwm_value
chown system system /sys/class/timed_output/vibrator/pwm_value
chmod 0660 /sys/class/timed_output/vibrator/pwm_value
chown system system /sys/class/timed_output/vibrator/pwm_max
chmod 0660 /sys/class/timed_output/vibrator/pwm_max
chown system system /sys/class/timed_output/vibrator/pwm_min
chmod 0660 /sys/class/timed_output/vibrator/pwm_min
chown system system /sys/class/timed_output/vibrator/pwm_default
chmod 0660 /sys/class/timed_output/vibrator/pwm_default
chown system system /sys/class/timed_output/vibrator/pwm_threshold
chmod 0660 /sys/class/timed_output/vibrator/pwm_threshold
# Panel color temperature
chmod 0660 /sys/class/timed_output/vibrator/pwm_max
chown system system /sys/class/timed_output/vibrator/pwm_min
chmod 0660 /sys/class/timed_output/vibrator/pwm_min
chown system system /sys/class/timed_output/vibrator/pwm_default
chmod 0660 /sys/class/timed_output/vibrator/pwm_default
chown system system /sys/class/timed_output/vibrator/pwm_threshold
chmod 0660 /sys/class/timed_output/vibrator/pwm_threshold
# Panel color temperature
chmod 0660 /sys/class/lcd/panel/panel_colors
chown system system /sys/class/lcd/panel/panel_colors
# Allow usb charging to be disabled peristently
on property:persist.usb.chgdisabled=1
write /sys/class/power_supply/battery/charging_enabled 0
@ -694,9 +701,9 @@ service gsiff_daemon /system/bin/gsiff_daemon
group gps qcom_oncrpc net_raw
service qrngd /system/bin/qrngd -f
class main
user root
group root
class main
user root
group root
service qrngp /system/bin/qrngp
class main
@ -709,33 +716,32 @@ on property:sys.boot_completed=1
start qrngp
service qseecomd /system/bin/qseecomd
class late_start
user root
group system
class late_start
user root
group system
service mpdecision /system/bin/mpdecision --avg_comp
user root
group system
disabled
user root
group system
disabled
service thermal-engine /system/bin/thermal-engine
class core
user root
group radio system
class core
user root
group radio system
service time_daemon /system/bin/time_daemon
class late_start
user root
group root
class late_start
user root
group root
service audiod /system/bin/audiod
class late_start
user system
group system
class late_start
user system
group system
service ppd /system/bin/mm-pp-daemon
class late_start
user system
socket pps stream 0660 system system graphics
group system graphics
class late_start
user system
socket pps stream 0660 system system graphics
group system graphics

View file

@ -7,7 +7,7 @@ OUTDIR=vendor/$VENDOR/$DEVICE
MAKEFILE=../../../$OUTDIR/$DEVICE-vendor-blobs.mk
(cat << EOF) > $MAKEFILE
# Copyright (C) 2011 The CyanogenMod Project
# Copyright (C) 2014 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -48,7 +48,7 @@ for FILE in `egrep -v '(^#|^$)' proprietary-files.txt`; do
done
(cat << EOF) > ../../../$OUTDIR/$DEVICE-vendor.mk
# Copyright (C) 2011 The CyanogenMod Project
# Copyright (C) 2014 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -66,15 +66,14 @@ done
# Pick up overlay for features that depend on non-open-source files
PRODUCT_PACKAGES += \\
libtime_genoff \\
com.qualcomm.location \\
PPPreference
libtime_genoff
\$(call inherit-product, vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk)
EOF
(cat << EOF) > ../../../$OUTDIR/BoardConfigVendor.mk
# Copyright (C) 2011 The CyanogenMod Project
# Copyright (C) 2014 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -92,7 +91,7 @@ EOF
EOF
(cat << EOF) > ../../../$OUTDIR/Android.mk
# Copyright (C) 2013 The CyanogenMod Project
# Copyright (C) 2014 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -110,17 +109,7 @@ EOF
LOCAL_PATH := \$(call my-dir)
ifneq (\$(filter klte,\$(TARGET_DEVICE)),)
include \$(CLEAR_VARS)
LOCAL_MODULE := libtime_genoff
LOCAL_MODULE_OWNER := samsung
LOCAL_SRC_FILES := proprietary/vendor/lib/libtime_genoff.so
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
include \$(BUILD_PREBUILT)
ifeq (\$(TARGET_DEVICE),klte)
include \$(CLEAR_VARS)
LOCAL_MODULE := com.qualcomm.location
@ -132,6 +121,16 @@ LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
include \$(BUILD_PREBUILT)
include \$(CLEAR_VARS)
LOCAL_MODULE := libtime_genoff
LOCAL_MODULE_OWNER := samsung
LOCAL_SRC_FILES := proprietary/vendor/lib/libtime_genoff.so
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_SHARED_LIBRARIES)
include \$(BUILD_PREBUILT)
endif
EOF

View file

@ -1,22 +1,31 @@
rild.libargs=-d /dev/smd0
ro.qc.sdk.izat.premium_enabled=0
ro.qc.sdk.izat.service_mask=0x0
persist.gps.qc_nlp_in_use=0
ro.gps.agps_provider=1
ro.qualcomm.cabl=1
ro.hdcp2.rx=tz
ro.secwvk=144
debug.sensors=1
# Audio configuration
ro.qc.sdk.audio.fluencetype=fluence
# Audio
persist.audio.fluence.speaker=true
persist.audio.fluence.voicecall=true
persist.audio.fluence.voicerec=false
persist.audio.fluence.speaker=true
ro.qc.sdk.audio.fluencetype=fluence
use.voice.path.for.pcm.voip=true
use.dedicated.device.for.voip=true
qcom.hw.aac.encoder=true
# System property for number of mQANElements
# Display
ro.hdcp2.rx=tz
ro.qualcomm.cabl=1
ro.secwvk=144
ro.sf.lcd_density=480
# GPS
persist.gps.qc_nlp_in_use=0
ro.gps.agps_provider=1
ro.qc.sdk.izat.premium_enabled=0
ro.qc.sdk.izat.service_mask=0x0
# Radio
persist.data.netmgrd.qos.enable=true
persist.radio.add_power_save=1
persist.radio.apm_sim_not_pwdn=1
persist.radio.lte_vrat_report=1
rild.libargs=-d /dev/smd0
rild.libpath=/system/lib/libsec-ril.so
ro.ril.telephony.mqanelements=6
# Sensors
debug.sensors=1

0
vendorsetup.sh Normal file → Executable file
View file