Skyrocket:initial port
diff --git a/BoardConfig.mk b/BoardConfig.mk
new file mode 100644
index 0000000..1d7b86d
--- /dev/null
+++ b/BoardConfig.mk
@@ -0,0 +1,63 @@
+# Copyright (C) 2012 The CyanogenMod Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# This 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).
+#
+
+# WARNING: This line must come *before* including the proprietary
+# variant, so that it gets overwritten by the parent (which goes
+# against the traditional rules of inheritance).
+USE_CAMERA_STUB := true
+
+# inherit from common celox
+-include device/samsung/celox-common/BoardConfigCommon.mk
+
+# inherit from the proprietary version
+-include vendor/samsung/skyrocket/BoardConfigVendor.mk
+
+TARGET_BOOTLOADER_BOARD_NAME := MSM8660_SURF
+
+# Assert
+TARGET_OTA_ASSERT_DEVICE := SGH-I727,skyrocket
+
+# Kernel
+TARGET_KERNEL_CONFIG := lz_skyrocket_defconfig
+TARGET_KERNEL_SOURCE := kernel/samsung/msm8660-common
+TARGET_KERNEL_CUSTOM_TOOLCHAIN := arm-eabi-4.7
+
+# Assert minimum baseband version
+TARGET_BOARD_INFO_FILE ?= device/samsung/skyrocket/board-info.txt
+
+# cat /proc/emmc
+#dev: size erasesize name
+#mmcblk0p22: 00fffc00 00000200 "recovery"
+#mmcblk0p8: 01000000 00000200 "boot"
+#mmcblk0p24: 5ffffc00 00000200 "system"
+#mmcblk0p26: 13fffe00 00000200 "cache"
+#mmcblk0p25: 9ffffe00 00000200 "userdata"
+
+TARGET_USERIMAGES_USE_EXT4 := true
+BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216
+BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16776192
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 838860800
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 20044333056
+BOARD_FLASH_BLOCK_SIZE := 131072
+
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/samsung/skyrocket/bluetooth
+
diff --git a/README b/README
new file mode 100644
index 0000000..c8cd573
--- /dev/null
+++ b/README
@@ -0,0 +1,5 @@
+Copyright 2012 - The CyanogenMod Project
+
+Device configuration for Samsung Galaxy S II Skyrocket.
+
+WORK IN PROGRESS. WILL EAT YOUR CAT.
diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h
new file mode 100644
index 0000000..aa893d5
--- /dev/null
+++ b/bluetooth/bdroid_buildcfg.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ * Copyright (C) 2012 The CyanogenMod Project <http://www.cyanogenmod.org>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _BDROID_BUILDCFG_H
+#define _BDROID_BUILDCFG_H
+
+#define BTM_DEF_LOCAL_NAME "Samsung SGH-I727"
+
+#endif
diff --git a/board-info.txt b/board-info.txt
new file mode 100644
index 0000000..4d6682c
--- /dev/null
+++ b/board-info.txt
@@ -0,0 +1,2 @@
+require version-baseband=I727:UCMC1|I727R:UXUMA7
+
diff --git a/broken.dependencies b/broken.dependencies
new file mode 100644
index 0000000..6648dd5
--- /dev/null
+++ b/broken.dependencies
@@ -0,0 +1,38 @@
+[
+ {
+ "remote": "gh",
+ "repository": "TheMuppets/proprietary_vendor_samsung",
+ "target_path": "vendor/samsung",
+ "branch": "cm-11.0"
+ }
+ {
+ "remote": "gh",
+ "repository": "LightningZap/android_device_samsung_qcom-common",
+ "target_path": "device/samsung/qcom-common",
+ "branch": "kitkat"
+ },
+ {
+ "remote": "gh",
+ "repository": "SlimRoms/device_samsung_msm8660-common",
+ "target_path": "device/samsung/msm8660-common",
+ "branch": "kk4.4"
+ },
+ {
+ "remote": "gh",
+ "repository": "BrokenOs/device_samsung_celox-common",
+ "target_path": "device/samsung/celox-common",
+ "branch": "kk"
+ },
+ {
+ "remote": "gh",
+ "repository": "LightningZap/msm8660-common_lz_kernel",
+ "target_path": "kernel/samsung/msm8660-common",
+ "branch": "kitkat"
+ },
+ {
+ "remote": "gh",
+ "repository": "LightningZap/vendor_lz-kernel",
+ "target_path": "vendor/lz-kernel",
+ "branch": "kitkat"
+ }
+]
diff --git a/broken.mk b/broken.mk
new file mode 100644
index 0000000..0536f04
--- /dev/null
+++ b/broken.mk
@@ -0,0 +1,19 @@
+$(call inherit-product, device/samsung/skyrocket/full_skyrocket.mk)
+
+# Inherit some common CM stuff.
+$(call inherit-product, vendor/broken/config/gsm.mk)
+
+# Boot animation dpi
+TARGET_SCREEN_HEIGHT := 800
+TARGET_SCREEN_WIDTH := 480
+
+# Enhanced NFC
+$(call inherit-product, vendor/broken/config/nfc_enhanced.mk)
+
+# Inherit some common CM stuff.
+$(call inherit-product, vendor/broken/config/common_full_phone.mk)
+
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SGH-I727 TARGET_DEVICE=SGH-I727 BUILD_FINGERPRINT="samsung/SGH-I727/SGH-I727:4.1.2/JZO54K/I727UCMC1:user/release-keys" PRIVATE_BUILD_DESC="SGH-I727-user 4.1.2 JZO54K I727UCMC1 release-keys"
+
+PRODUCT_NAME := broken_skyrocket
+PRODUCT_DEVICE := skyrocket
diff --git a/device-proprietary-files.txt b/device-proprietary-files.txt
new file mode 100644
index 0000000..888917b
--- /dev/null
+++ b/device-proprietary-files.txt
@@ -0,0 +1,33 @@
+#
+# This file lists all of the proprietary blobs that need to be
+# extracted from a stock device. The extract-files.sh script
+# parses this file and copies the blobs into the vendor and build
+# trees as needed.
+#
+# File format:
+# - Comments lines start with a hash (#) character and will be
+# ignore.
+# - Blobs should be listed with their path relative to /system
+# on the device.
+# - A different destination path may be specified after a colon on
+# the same line as the blob source path. Otherwise, the
+# destination path with be the same as it was on the device.
+# - Options for a particular blob are specified in a comment
+# after the blob path.
+#
+# Blob options:
+# - needed_for_build: the blob will also be copied into the obj
+# directory for use in the build of other open source files.
+# - optional: if the blob is not found, extraction will not abort.
+# directory for use in the build of other open source files.
+#
+
+# Add device specific blobs here
+# NFC
+lib/hw/nfc.qcom.so
+vendor/firmware/libpn544_fw.so
+
+# Wi-Fi
+etc/wifi/nvram_net.txt_murata
+etc/wifi/nvram_mfg.txt_murata
+
diff --git a/device.mk b/device.mk
new file mode 100644
index 0000000..36ff1fa
--- /dev/null
+++ b/device.mk
@@ -0,0 +1,34 @@
+#
+# Copyright (C) 2011 The CyanogenMod Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+## (2) Also get non-open-source specific aspects if available
+$(call inherit-product-if-exists, vendor/samsung/skyrocket/skyrocket-vendor.mk)
+
+## overlays
+DEVICE_PACKAGE_OVERLAYS += device/samsung/skyrocket/overlay
+
+# Ramdisk
+PRODUCT_COPY_FILES += \
+ device/samsung/skyrocket/ramdisk/init.qcom.usb.rc:root/init.qcom.usb.rc \
+
+# BT firmware
+PRODUCT_COPY_FILES += \
+ device/samsung/skyrocket/firmware/bcm4330B1.hcd:system/etc/firmware/bcm4330B1.hcd
+
+# Inherit from celox-common
+$(call inherit-product, device/samsung/celox-common/celox-common.mk)
+
+$(call inherit-product-if-exists, vendor/samsung/skyrocket/skyrocket-vendor.mk)
diff --git a/extract-files.sh b/extract-files.sh
new file mode 100755
index 0000000..47c3275
--- /dev/null
+++ b/extract-files.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# This script is maintained in the common tree
+../msm8660-common/extract-files.sh $*
+
diff --git a/firmware/bcm4330B1.hcd b/firmware/bcm4330B1.hcd
new file mode 100644
index 0000000..5c63e86
--- /dev/null
+++ b/firmware/bcm4330B1.hcd
Binary files differ
diff --git a/full_skyrocket.mk b/full_skyrocket.mk
new file mode 100644
index 0000000..8969ead
--- /dev/null
+++ b/full_skyrocket.mk
@@ -0,0 +1,40 @@
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# This file is the build configuration for a full Android
+# build for maguro hardware. This cleanly combines a set of
+# device-specific aspects (drivers) with a device-agnostic
+# product configuration (apps). Except for a few implementation
+# details, it only fundamentally contains two inherit-product
+# lines, full and maguro, hence its name.
+#
+
+# Torch
+PRODUCT_PACKAGES := \
+ Torch
+
+BOARD_HAVE_NFC := true
+
+# Inherit from those products. Most specific first.
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
+# Inherit from skyrocket device
+$(call inherit-product, device/samsung/skyrocket/device.mk)
+
+# Set those variables here to overwrite the inherited values.
+PRODUCT_NAME := full_skyrocket
+PRODUCT_DEVICE := skyrocket
+PRODUCT_BRAND := samsung
+PRODUCT_MANUFACTURER := samsung
+PRODUCT_MODEL := SAMSUNG-SGH-I727
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..5e4f30a
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+
+ <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
+ The N entries of this array define N + 1 zones as follows:
+
+ Zone 0: 0 <= LUX < array[0]
+ Zone 1: array[0] <= LUX < array[1]
+ ...
+ Zone N: array[N - 1] <= LUX < array[N]
+ Zone N + 1: array[N] <= LUX < infinity
+
+ Must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLevels">
+ <item>15</item>
+ <item>150</item>
+ <item>1500</item>
+ <item>15000</item>
+ </integer-array>
+
+ <!-- Array of output values for LCD backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessLcdBacklightValues">
+ <item>40</item>
+ <item>100</item>
+ <item>150</item>
+ <item>210</item>
+ <item>255</item>
+ </integer-array>
+
+ <!-- Array of output values for button backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessButtonBacklightValues">
+ <item>255</item>
+ <item>255</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ </integer-array>
+
+ <!-- Array of output values for keyboard backlight corresponding to the LUX values
+ in the config_autoBrightnessLevels array. This array should have size one greater
+ than the size of the config_autoBrightnessLevels array.
+ This must be overridden in platform specific overlays -->
+ <integer-array name="config_autoBrightnessKeyboardBacklightValues">
+ <item>255</item>
+ <item>255</item>
+ <item>0</item>
+ <item>0</item>
+ <item>0</item>
+ </integer-array>
+
+ <!-- Minimum screen brightness allowed by the power manager. -->
+ <integer name="config_screenBrightnessDim">20</integer>
+</resources>
diff --git a/ramdisk/init.qcom.usb.rc b/ramdisk/init.qcom.usb.rc
new file mode 100644
index 0000000..40038b6
--- /dev/null
+++ b/ramdisk/init.qcom.usb.rc
@@ -0,0 +1,450 @@
+# Copyright (c) 2011, Code Aurora Forum. 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 Code Aurora 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.
+#
+
+on init
+ write /sys/class/android_usb/android0/f_rndis/wceis 1
+
+service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
+ class core
+ user root
+ oneshot
+
+on boot
+ write /sys/class/android_usb/android0/iManufacturer $ro.manufacturer
+ write /sys/class/android_usb/android0/iProduct $ro.model
+ write /sys/class/android_usb/android0/iSerial $ro.serialno
+ write /sys/class/android_usb/f_mass_storage/inquiry_string "Samsung"
+ write /sys/class/android_usb/f_mass_storage/vendor_string "SAMSUNG"
+ write /sys/class/android_usb/f_mass_storage/product_string "SGH-I727"
+
+# rndis,acm,diag and rmnet,acm,diag are used for IOT Hidden Menu
+on property:sys.usb.config=rndis,acm,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6864
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions rndis,acm,diag
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rmnet,acm,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685D
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_acm/acm_transports sdio
+ write /sys/class/android_usb/android0/functions acm,diag,rmnet_sdio
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+# USB compositions
+on property:sys.usb.config=diag,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 901D
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/functions diag,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685E
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
+ write /sys/class/android_usb/android0/functions diag,adb,rmnet,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=acm,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685E
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions mass_storage,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=acm,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685E
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions mass_storage,acm,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=acm,diag,diag_mdm,rmnet_sdio
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685E
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_acm/acm_transports sdio
+ write /sys/class/android_usb/android0/functions acm,diag,rmnet_sdio
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=acm,diag,diag_mdm,rmnet_sdio,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685E
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_acm/acm_transports sdio
+ write /sys/class/android_usb/android0/functions acm,adb,diag,rmnet_sdio
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 685E
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
+ write /sys/class/android_usb/android0/functions diag,rmnet,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_smd,rmnet_smd_sdio,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9037
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_serial/transports sdio,smd
+ write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd_sdio,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_smd,rmnet_smd_sdio,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9038
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_serial/transports sdio,smd
+ write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd_sdio,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_tty,rmnet_sdio,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9031
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_serial/transports sdio,tty
+ write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_sdio,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,diag_mdm,serial_sdio,serial_tty,rmnet_sdio,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9032
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/f_serial/transports sdio,tty
+ write /sys/class/android_usb/android0/functions diag,serial,rmnet_sdio,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9025
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports tty,tty
+ write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ start port-bridge
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9026
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports tty,tty
+ write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start port-bridge
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_smd,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9025
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports smd,tty
+ write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_smd,mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9026
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports smd,tty
+ write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+# HSIC-Fusion composition
+on property:sys.usb.config=diag,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9025
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports hsic,tty
+ write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
+ write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+# HSIC-Fusion composition
+on property:sys.usb.config=diag,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6863
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports hsic,tty
+ write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
+ write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6863
+ write /sys/class/android_usb/android0/functions rndis
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6864
+ write /sys/class/android_usb/android0/functions rndis,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 902C
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/functions rndis,diag
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,diag,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 902D
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/functions rndis,diag,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,diag,diag_mdm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9041
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/functions rndis,diag
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,diag,diag_mdm,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9042
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/functions rndis,diag,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 4e21
+ write /sys/class/android_usb/android0/functions mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 4e22
+ write /sys/class/android_usb/android0/functions mass_storage,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+#on property:sys.usb.config=mtp
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 04E8
+# write /sys/class/android_usb/android0/idProduct 6860
+# write /sys/class/android_usb/android0/functions mtp
+# write /sys/class/android_usb/android0/enable 1
+# setprop sys.usb.state $sys.usb.config
+
+#on property:sys.usb.config=mtp,adb
+# write /sys/class/android_usb/android0/enable 0
+# write /sys/class/android_usb/android0/idVendor 04E8
+# write /sys/class/android_usb/android0/idProduct 6860
+# write /sys/class/android_usb/android0/f_diag/clients diag
+# write /sys/class/android_usb/android0/f_rmnet/instances 1
+# write /sys/class/android_usb/android0/functions mtp,adb
+# write /sys/class/android_usb/android0/enable 1
+# start adbd
+# setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6860
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions mtp,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6860
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions mtp,acm,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,acm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6860
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions mtp,acm
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,acm,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6860
+ write /sys/class/android_usb/android0/f_acm/acm_transports tty
+ write /sys/class/android_usb/android0/functions mtp,acm,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=ptp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6865
+ write /sys/class/android_usb/android0/functions ptp
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=ptp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6866
+ write /sys/class/android_usb/android0/functions ptp,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 901B
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/functions mtp,diag
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,diag,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 903A
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/functions mtp,diag,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,diag,diag_mdm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9040
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/functions mtp,diag
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,diag,diag_mdm,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 04E8
+ write /sys/class/android_usb/android0/idProduct 6860
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/functions mtp,diag,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,diag_mdm,ccid
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9045
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/functions diag,ccid
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=diag,diag_mdm,ccid,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 9044
+ write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
+ write /sys/class/android_usb/android0/functions diag,adb,ccid
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
diff --git a/system.prop b/system.prop
new file mode 100644
index 0000000..f2748fe
--- /dev/null
+++ b/system.prop
@@ -0,0 +1,82 @@
+#
+# system.prop for SGH-I727
+#
+
+rild.libpath=/system/lib/libril-qc-qmi-1.so
+rild.libargs=-d /dev/smd0
+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=
+ril.subscription.types=NV,RUIM
+
+dev.pm.dyn_samplingrate=1
+
+# Disable GC freed lines
+dalvik.vm.debug.alloc=0
+
+#system props for the MM modules
+media.stagefright.enable-player=true
+media.stagefright.enable-http=true
+media.stagefright.enable-fma2dp=false
+media.stagefright.enable-aac=true
+media.stagefright.enable-qcp=true
+
+#
+# system props for the data modules
+#
+ro.use_data_netmgrd=true
+persist.data_netmgrd_nint=16
+
+#
+# system props for SD card emulation of emmc partition
+#
+ro.emmc.sdcard.partition=17
+
+#system props for time-services
+persist.timed.enable=true
+
+# System props for audio
+persist.audio.fluence.mode=endfire
+persist.audio.vr.enable=false
+
+#
+# system prop for opengles version
+#
+# 131072 is decimal for 0x20000 to report version 2
+ro.opengles.version=131072
+
+#
+# System prop for sending transmit power request to RIL during WiFi hotspot on/off
+#
+ro.ril.transmitpower=true
+
+#
+# Needed to match behavior of stock rom
+# D/PHONE: mDoesRilSendMultipleCallRing=false
+#
+ro.telephony.call_ring.multiple=0
+
+# for 480x800 panel
+ro.sf.lcd_density=240
+
+# Fields for custom RIL
+telephony.lteOnGsmDevice=1
+
+# System property for SIM
+persist.radio.apm_sim_not_pwdn=1
+
+# System prop for qmi adb log
+persist.radio.adb_log_on=1
+
+# System proverty for sys info indication
+persist.radio.add_power_save=1
+
+# System proverty snapshot disable
+persist.radio.snapshot_disabled=1
+
diff --git a/vendorsetup.sh b/vendorsetup.sh
new file mode 100755
index 0000000..4ad2953
--- /dev/null
+++ b/vendorsetup.sh
@@ -0,0 +1,2 @@
+add_lunch_combo cm_skyrocket-eng
+