summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.mk31
-rw-r--r--AndroidProducts.mk13
-rw-r--r--BoardConfigCommon.mk62
-rw-r--r--common.kl113
-rw-r--r--compatibility_matrix.xml59
-rw-r--r--db410c32_only.mk11
-rw-r--r--db410c32_only/Android.mk28
-rw-r--r--db410c32_only/BoardConfig.mk25
-rw-r--r--db410c32_only/device.mk50
-rw-r--r--db410c32_only/firmware/Android.mk36
-rw-r--r--db410c32_only/firmware/NOTICE206
-rw-r--r--db410c32_only/firmware/WCNSS_qcom_wlan_nv.binbin0 -> 31723 bytes
-rw-r--r--db410c32_only/firmware/a300_pfp.fwbin0 -> 1156 bytes
-rw-r--r--db410c32_only/firmware/a300_pm4.fwbin0 -> 9220 bytes
-rw-r--r--db410c32_only/firmware/md5sums12
-rw-r--r--db410c32_only/firmware/wcnss.b00bin0 -> 436 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b01bin0 -> 6824 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b02bin0 -> 13064 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b04bin0 -> 61440 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b06bin0 -> 3333020 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b09bin0 -> 52 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b10bin0 -> 655360 bytes
-rw-r--r--db410c32_only/firmware/wcnss.b11bin0 -> 44044 bytes
-rw-r--r--db410c32_only/firmware/wcnss.mdtbin0 -> 7260 bytes
-rw-r--r--device-common.mk113
-rw-r--r--fstab.common7
-rw-r--r--init.common.rc63
-rw-r--r--init.common.usb.rc85
-rw-r--r--manifest.xml115
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml89
-rw-r--r--overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml6
-rw-r--r--sepolicy/file.te1
-rw-r--r--sepolicy/file_contexts3
-rw-r--r--sepolicy/surfaceflinger.te1
-rw-r--r--ueventd.common.rc21
-rw-r--r--vendorsetup.sh23
36 files changed, 1173 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..68faaa1
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2015 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.
+#
+
+# WARNING: Everything listed here will be built on ALL platforms,
+# including x86, the emulator, and the SDK. Modules must be uniquely
+# named (liblights.panda), and must build everywhere, or limit themselves
+# to only building on ARM if they include assembly. Individual makefiles
+# are responsible for having their own logic, for fine-grained control.
+
+ifneq ($(filter db%, $(TARGET_DEVICE)),)
+
+LOCAL_PATH := $(call my-dir)
+
+# if some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
+endif
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
new file mode 100644
index 0000000..76c64e0
--- /dev/null
+++ b/AndroidProducts.mk
@@ -0,0 +1,13 @@
+#
+# This file should set PRODUCT_MAKEFILES to a list of product makefiles
+# to expose to the build system. LOCAL_DIR will already be set to
+# the directory containing this file.
+#
+# This file may not rely on the value of any variable other than
+# LOCAL_DIR; do not use any conditionals, and do not look up the
+# value of any variable that isn't set in this file or in a file that
+# it includes.
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/db410c32_only.mk
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
new file mode 100644
index 0000000..53d4c39
--- /dev/null
+++ b/BoardConfigCommon.mk
@@ -0,0 +1,62 @@
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Primary Arch
+TARGET_ARCH := arm64
+TARGET_ARCH_VARIANT := armv8-a
+TARGET_CPU_ABI := arm64-v8a
+
+# Secondary Arch
+TARGET_2ND_ARCH := arm
+TARGET_2ND_ARCH_VARIANT := armv8-a
+TARGET_2ND_CPU_ABI := armeabi-v7a
+TARGET_2ND_CPU_ABI2 := armeabi
+
+
+TARGET_USES_64_BIT_BINDER := true
+
+WITH_DEXPREOPT ?= true
+
+TARGET_NO_BOOTLOADER := true
+TARGET_NO_KERNEL := false
+TARGET_NO_RECOVERY := true
+
+BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE=ext4
+TARGET_USERIMAGES_USE_EXT4 := true
+BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
+BOARD_FLASH_BLOCK_SIZE := 512
+
+# Mesa DRM hwcomposer
+BOARD_USES_DRM_HWCOMPOSER := true
+BOARD_GPU_DRIVERS := freedreno virgl
+TARGET_USES_HWC2 := true
+
+# WiFi
+WPA_SUPPLICANT_VERSION := VER_0_8_X
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_HOSTAPD_DRIVER := NL80211
+BOARD_WLAN_DEVICE := qcwcn
+
+# BT
+BOARD_HAVE_BLUETOOTH := true
+
+BOARD_SEPOLICY_DIRS += \
+ build/target/board/generic/sepolicy \
+ device/linaro/dragonboard/sepolicy \
+ system/bt/vendor_libs/linux/sepolicy
+
+DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml
+DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml
diff --git a/common.kl b/common.kl
new file mode 100644
index 0000000..a1302da
--- /dev/null
+++ b/common.kl
@@ -0,0 +1,113 @@
+# Copyright (C) 2010 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Generic key layout file for full alphabetic US English PC style external keyboards.
+#
+# This file is intentionally very generic and is intended to support a broad rang of keyboards.
+# Do not edit the generic key layout to support a specific keyboard; instead, create
+# a new key layout file with the required keyboard configuration.
+#
+
+key 399 GRAVE
+key 1 BACK
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 158 BACK WAKE_DROPPED
+key 230 SOFT_RIGHT WAKE
+key 60 SOFT_RIGHT WAKE
+key 107 ENDCALL WAKE_DROPPED
+key 62 ENDCALL WAKE_DROPPED
+key 229 MENU WAKE_DROPPED
+key 139 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 127 SEARCH WAKE_DROPPED
+key 217 SEARCH WAKE_DROPPED
+key 228 POUND
+key 227 STAR
+key 231 CALL WAKE_DROPPED
+key 61 CALL WAKE_DROPPED
+key 232 DPAD_CENTER WAKE_DROPPED
+key 108 DPAD_DOWN WAKE_DROPPED
+key 103 DPAD_UP WAKE_DROPPED
+key 102 HOME WAKE
+key 105 DPAD_LEFT WAKE_DROPPED
+key 106 DPAD_RIGHT WAKE_DROPPED
+key 115 VOLUME_UP
+key 114 VOLUME_DOWN
+key 116 POWER WAKE
+key 212 CAMERA
+
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+key 26 LEFT_BRACKET
+key 27 RIGHT_BRACKET
+key 43 BACKSLASH
+
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 39 SEMICOLON
+key 40 APOSTROPHE
+key 14 DEL
+
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 53 SLASH
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 100 ALT_RIGHT
+key 42 SHIFT_LEFT
+key 54 SHIFT_RIGHT
+key 15 TAB
+key 57 SPACE
+key 150 EXPLORER
+key 155 ENVELOPE
+
+key 12 MINUS
+key 13 EQUALS
+key 215 AT
+
+
+key 82 MENU WAKE
diff --git a/compatibility_matrix.xml b/compatibility_matrix.xml
new file mode 100644
index 0000000..3082485
--- /dev/null
+++ b/compatibility_matrix.xml
@@ -0,0 +1,59 @@
+<compatibility-matrix version="1.0" type="device">
+ <hal format="hidl" optional="false">
+ <name>android.frameworks.schedulerservice</name>
+ <version>1.0</version>
+ <interface>
+ <name>ISchedulingPolicyService</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="false">
+ <name>android.frameworks.sensorservice</name>
+ <version>1.0</version>
+ <interface>
+ <name>ISensorManager</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="false">
+ <name>android.hidl.allocator</name>
+ <version>1.0</version>
+ <interface>
+ <name>IAllocator</name>
+ <instance>ashmem</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="false">
+ <name>android.hidl.manager</name>
+ <version>1.0</version>
+ <interface>
+ <name>IServiceManager</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="false">
+ <name>android.hidl.memory</name>
+ <version>1.0</version>
+ <interface>
+ <name>IMapper</name>
+ <instance>ashmem</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="false">
+ <name>android.hidl.token</name>
+ <version>1.0</version>
+ <interface>
+ <name>ITokenManager</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl" optional="false">
+ <name>android.system.wifi.keystore</name>
+ <version>1.0</version>
+ <interface>
+ <name>IKeystore</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+
+</compatibility-matrix>
diff --git a/db410c32_only.mk b/db410c32_only.mk
new file mode 100644
index 0000000..162f53c
--- /dev/null
+++ b/db410c32_only.mk
@@ -0,0 +1,11 @@
+TARGET_PREBUILT_KERNEL ?= db410c-qcomlt-4.14.gz-dtb
+
+# Inherit the full_base and device configurations
+$(call inherit-product, device/linaro/dragonboard/db410c32_only/device.mk)
+$(call inherit-product, device/linaro/dragonboard/device-common.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
+
+# Product overrides
+PRODUCT_NAME := db410c32_only
+PRODUCT_DEVICE := db410c32_only
+PRODUCT_BRAND := Android
diff --git a/db410c32_only/Android.mk b/db410c32_only/Android.mk
new file mode 100644
index 0000000..1648f44
--- /dev/null
+++ b/db410c32_only/Android.mk
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2015 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.
+#
+
+# WARNING: Everything listed here will be built on ALL platforms,
+# including x86, the emulator, and the SDK. Modules must be uniquely
+# named (liblights.panda), and must build everywhere, or limit themselves
+# to only building on ARM if they include assembly. Individual makefiles
+# are responsible for having their own logic, for fine-grained control.
+
+LOCAL_PATH := $(call my-dir)
+
+# if some modules are built directly from this directory (not subdirectories),
+# their rules should be written here.
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/db410c32_only/BoardConfig.mk b/db410c32_only/BoardConfig.mk
new file mode 100644
index 0000000..9c47154
--- /dev/null
+++ b/db410c32_only/BoardConfig.mk
@@ -0,0 +1,25 @@
+include device/linaro/dragonboard/BoardConfigCommon.mk
+
+TARGET_ARCH := arm
+TARGET_ARCH_VARIANT := armv8-a
+TARGET_CPU_ABI := armeabi-v7a
+TARGET_CPU_ABI2 := armeabi
+TARGET_CPU_VARIANT := cortex-a53
+
+TARGET_2ND_ARCH :=
+TARGET_2ND_ARCH_VARIANT :=
+TARGET_2ND_CPU_ABI :=
+TARGET_2ND_CPU_ABI2 :=
+TARGET_2ND_CPU_VARIANT :=
+
+# Board Information
+TARGET_BOOTLOADER_BOARD_NAME := db410c_32
+TARGET_BOARD_PLATFORM := db410c_32
+
+# Image Configuration
+BOARD_KERNEL_BASE := 0x80008000
+BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x0
+BOARD_KERNEL_CMDLINE := androidboot.selinux=permissive firmware_class.path=/system/vendor/firmware/ androidboot.hardware=db410c
+BOARD_KERNEL_CMDLINE += printk.devkmsg=on
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1288491008
+BOARD_USERDATAIMAGE_PARTITION_SIZE := 5653544960
diff --git a/db410c32_only/device.mk b/db410c32_only/device.mk
new file mode 100644
index 0000000..6264143
--- /dev/null
+++ b/db410c32_only/device.mk
@@ -0,0 +1,50 @@
+#
+# 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.
+#
+
+PRODUCT_COPY_FILES := \
+ device/linaro/dragonboard-kernels/$(TARGET_PREBUILT_KERNEL):kernel \
+ device/linaro/dragonboard/fstab.common:root/fstab.db410c \
+ device/linaro/dragonboard/init.common.rc:root/init.db410c.rc \
+ device/linaro/dragonboard/init.common.usb.rc:root/init.db410c.usb.rc \
+ device/linaro/dragonboard/ueventd.common.rc:root/ueventd.db410c.rc \
+ device/linaro/dragonboard/common.kl:system/usr/keylayout/db410c.kl
+
+# Dalvik/ART Heap Configuration
+PRODUCT_PROPERTY_OVERRIDES := \
+ dalvik.vm.heapstartsize=8m \
+ dalvik.vm.heapgrowthlimit=96m \
+ dalvik.vm.heapsize=32m \
+ dalvik.vm.heaptargetutilization=0.75 \
+ dalvik.vm.heapminfree=512k \
+ dalvik.vm.heapmaxfree=8m
+
+# Display
+PRODUCT_PACKAGES := \
+ a300_pfp.fw \
+ a300_pm4.fw
+
+# WCNSS
+PRODUCT_PACKAGES += \
+ wcnss.b00 \
+ wcnss.b01 \
+ wcnss.b02 \
+ wcnss.b04 \
+ wcnss.b06 \
+ wcnss.b09 \
+ wcnss.b10 \
+ wcnss.b11 \
+ wcnss.mdt \
+ WCNSS_qcom_wlan_nv.bin
diff --git a/db410c32_only/firmware/Android.mk b/db410c32_only/firmware/Android.mk
new file mode 100644
index 0000000..791d037
--- /dev/null
+++ b/db410c32_only/firmware/Android.mk
@@ -0,0 +1,36 @@
+LOCAL_PATH := $(call my-dir)
+
+# $(1): The source file name in LOCAL_PATH.
+# It also serves as the module name and the dest file name.
+# $(2): Module installation path.
+define add-qcom-firmware
+$(eval include $(CLEAR_VARS))\
+$(eval LOCAL_MODULE := $(1))\
+$(eval LOCAL_SRC_FILES := $(1))\
+$(eval LOCAL_MODULE_STEM := $(1))\
+$(eval LOCAL_MODULE_CLASS := FIRMWARE)\
+$(eval LOCAL_MODULE_TAGS := optional)\
+$(eval LOCAL_MODULE_PATH := $(2))\
+$(eval include $(BUILD_PREBUILT))
+endef
+
+# Firmware files copied from
+# http://builds.96boards.org/releases/dragonboard410c/qualcomm/firmware/linux-board-support-package-r1032.1.1.zip
+firmware_files := \
+ a300_pfp.fw \
+ a300_pm4.fw \
+ wcnss.b00 \
+ wcnss.b01 \
+ wcnss.b02 \
+ wcnss.b04 \
+ wcnss.b06 \
+ wcnss.b09 \
+ wcnss.b10 \
+ wcnss.b11 \
+ wcnss.mdt
+
+firmware_files_2 := \
+ WCNSS_qcom_wlan_nv.bin
+
+$(foreach f, $(firmware_files), $(call add-qcom-firmware, $(f), $(TARGET_OUT_VENDOR)/firmware))
+$(foreach f, $(firmware_files_2), $(call add-qcom-firmware, $(f), $(TARGET_OUT_VENDOR)/firmware/wlan/prima))
diff --git a/db410c32_only/firmware/NOTICE b/db410c32_only/firmware/NOTICE
new file mode 100644
index 0000000..faacf9c
--- /dev/null
+++ b/db410c32_only/firmware/NOTICE
@@ -0,0 +1,206 @@
+PLEASE READ THIS LICENSE AGREEMENT ("AGREEMENT") CAREFULLY. THIS AGREEMENT IS
+A BINDING LEGAL AGREEMENT ENTERED INTO BY AND BETWEEN YOU (OR IF YOU ARE
+ENTERING INTO THIS AGREEMENT ON BEHALF OF AN ENTITY, THEN THE ENTITY THAT YOU
+REPRESENT) AND QUALCOMM TECHNOLOGIES, INC. ("QTI" "WE" "OUR" OR "US"). THIS IS
+THE AGREEMENT THAT APPLIES TO YOUR USE OF THE DESIGNATED AND/OR LINKED
+APPLICATIONS, THE ENCLOSED QUALCOMM TECHNOLOGIES' MATERIALS, INCLUDING RELATED
+DOCUMENTATION AND ANY UPDATES OR IMPROVEMENTS THEREOF
+(COLLECTIVELY, "MATERIALS"). BY USING OR COMPLETING THE INSTALLATION OF THE
+MATERIALS, YOU ARE ACCEPTING THIS AGREEMENT AND YOU AGREE TO BE BOUND BY ITS
+TERMS AND CONDITIONS. IF YOU DO NOT AGREE TO THESE TERMS, QTI IS UNWILLING TO
+AND DOES NOT LICENSE THE MATERIALS TO YOU. IF YOU DO NOT AGREE TO THESE TERMS
+YOU MUST DISCONTINUE THE INSTALLATION PROCESS AND YOU MAY NOT USE THE MATERIALS
+OR RETAIN ANY COPIES OF THE MATERIALS. ANY USE OR POSSESSION OF THE MATERIALS
+BY YOU IS SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
+
+1. RIGHT TO USE DELIVERABLES; RESTRICTIONS.
+
+ 1.1 License. Subject to the terms and conditions of this Agreement,
+ including, without limitation, the restrictions, conditions, limitations and
+ exclusions set forth in this Agreement, QTI hereby grants to you a
+ nonexclusive, limited license under QTI's copyrights to: (i) install and use
+ the Materials; and (ii) to reproduce and redistribute the binary code portions
+ of the Materials (the "Redistributable Binary Code"). You may make and use a
+ reasonable number of copies of any documentation.
+
+ 1.2 Redistribution Restrictions. Distribution of the Redistributable Binary
+ Code is subject to the following restrictions: (i) Redistributable Binary Code
+ may only be distributed in binary format and may not be distributed in source
+ code format:; (ii) the Redistributable Binary Code may only operate in
+ conjunction with platforms incorporating Qualcomm Technologies, Inc. chipsets;
+ (iii) redistribution of the Redistributable Binary Code must include the .txt
+ file setting forth the terms and condition of this Agreement; (iv) you may not
+ use Qualcomm Technologies' or its affiliates or subsidiaries name, logo or
+ trademarks; and (v) copyright, trademark, patent and any other notices that
+ appear on the Materials may not be removed or obscured.
+
+ 1.3 Additional Restrictions. Except as expressly permitted by this Agreement,
+ you shall have no right to sublicense, transfer or otherwise disclose the
+ Materials to any third party. You shall not reverse engineer, reverse
+ assemble, reverse translate, decompile or reduce to source code form any
+ portion of the Materials provided in object code form or executable form.
+ Except for the purposes expressly permitted in this Agreement, You shall not
+ use the Materials for any other purpose. QTI (or its licensors) shall retain
+ title and all ownership rights in and to the Materials and any alterations,
+ modifications (including all derivative works), translations or adaptations
+ made of the Materials, and all copies thereof, and nothing herein shall be
+ deemed to grant any right to You under any of QTI's or its affiliates'
+ patents. You shall not subject the Materials to any third party license
+ terms (e.g., open source license terms). You shall not use the Materials for
+ the purpose of identifying or providing evidence to support any potential
+ patent infringement claim against QTI, its affiliates, or any of QTI's or
+ QTI's affiliates' suppliers and/or direct or indirect customers. QTI hereby
+ reserves all rights not expressly granted herein.
+
+ 1.4 Third Party Software and Materials. The Software may contain or link to
+ certain software and/or materials that are written or owned by third parties.
+ Such third party code and materials may be licensed under separate or
+ different terms and conditions and are not licensed to you under the terms of
+ this Agreement. You agree to comply with all terms and conditions imposed on
+ you in the applicable third party licenses. Such terms and conditions may
+ impose certain obligations on you as a condition to the permitted use of such
+ third party code and materials. QTI does not represent or warrant that such
+ third party licensors have or will continue to license or make available their
+ code and materials to you.
+
+ 1.5 Feedback. QTI may from time to time receive suggestions, feedback or
+ other information from You regarding the Materials. Any suggestions, feedback
+ or other disclosures received from You are and shall be entirely voluntary on
+ the part of You. Notwithstanding any other term in this Agreement, QTI shall
+ be free to use suggestions, feedback or other information received from You,
+ without obligation of any kind to You. The Parties agree that all inventions,
+ product improvements, and modifications conceived of or made by QTI that are
+ based, either in whole or in part, on ideas, feedback, suggestions, or
+ recommended improvements received from You are the exclusive property of QTI,
+ and all right, title and interest in and to any such inventions, product
+ improvements, and modifications will vest solely in QTI.
+
+ 1.6 No Technical Support. QTI is under no obligation to provide any form of
+ technical support for the Materials, and if QTI, in its sole discretion,
+ chooses to provide any form of support or information relating to the
+ Materials, such support and information shall be deemed confidential and
+ proprietary to QTI.
+
+2. WARRANTY DISCLAIMER. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT THE USE OF
+THE MATERIALS IS AT YOUR SOLE RISK. THE MATERIALS AND TECHNICAL SUPPORT, IF
+ANY, ARE PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR
+IMPLIED. QTI ITS LICENSORS AND AFFILIATES MAKE NO WARRANTIES, EXPRESS OR
+IMPLIED, WITH RESPECT TO THE MATERIALS OR ANY OTHER INFORMATION OR DOCUMENTATION
+PROVIDED UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST INFRINGEMENT, OR
+ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF TRADE USAGE OR OUT OF A COURSE OF
+DEALING OR COURSE OF PERFORMANCE. NOTHING CONTAINED IN THIS AGREEMENT SHALL BE
+CONSTRUED AS (I) A WARRANTY OR REPRESENTATION BY QTI, ITS LICENSORS OR
+AFFILIATES AS TO THE VALIDITY OR SCOPE OF ANY PATENT, COPYRIGHT OR OTHER
+INTELLECTUAL PROPERTY RIGHT OR (II) A WARRANTY OR REPRESENTATION BY QTI THAT ANY
+MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT OF PATENTS, COPYRIGHTS OR
+OTHER INTELLECTUAL PROPERTY RIGHTS OF OTHERS, AND IT SHALL BE THE SOLE
+RESPONSIBILITY OF YOU TO MAKE SUCH DETERMINATION AS IS NECESSARY WITH RESPECT TO
+THE ACQUISITION OF LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF
+THIRD PARTIES.
+
+3. NO OTHER LICENSES OR INTELLECTUAL PROPERTY RIGHTS. Neither this Agreement,
+nor any act by QTI or any of its affiliates pursuant to this Agreement or
+relating to the Materials (including, without limitation, the provision by QTI
+or its affiliates of the Materials), shall provide to You any license or any
+other rights whatsoever under any patents, trademarks, trade secrets, copyrights
+or any other intellectual property of QTI or any of its affiliates, except for
+the copyright rights expressly licensed under this Agreement. You understand and
+agree that:
+
+ (i) Neither this Agreement, nor delivery of the Materials, grants any right to
+ practice, or any other right at all with respect to, any patent of QTI or any
+ of its affiliates; and
+
+ (ii) A separate license agreement from QUALCOMM Incorporated is needed to use
+ or practice any patent of QUALCOMM Incorporated. You agree not to contend in
+ any context that, as a result of the provision or use of the Materials, either
+ QTI or any of its affiliates has any obligation to extend, or You or any other
+ party has obtained any right to, any license, whether express or implied, with
+ respect to any patent of QTI or any of its affiliates for any purpose.
+
+4. TERMINATION. This Agreement shall be effective upon acceptance, or access or
+use of the Materials (whichever occurs first) by You and shall continue until
+terminated. You may terminate the Agreement at any time by deleting and
+destroying all copies of the Materials and all related information in Your
+possession or control. This Agreement terminates immediately and automatically,
+with or without notice, if You fail to comply with any provision hereof.
+Additionally, QTI may at any time terminate this Agreement, without cause, upon
+notice to You. Upon termination You must, to the extent possible, delete or
+destroy all copies of the Materials in Your possession and the license granted
+to You in this Agreement shall terminate. Sections 1.2 through 10 shall survive
+the termination of this Agreement. In the event that any restrictions,
+conditions, limitations are found to be either invalid or unenforceable, the
+rights granted to You in Section 1 (License) shall be null, void and ineffective
+from the Effective Date, and QTI shall also have the right to terminate this
+Agreement immediately, and with retroactive effect to the effective date.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT SHALL QTI, QTI's AFFILIATES OR ITS
+LICENSORS BE LIABLE TO YOU FOR ANY INCIDENTAL, CONSEQUENTIAL OR SPECIAL DAMAGES,
+INCLUDING BUT NOT LIMITED TO ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
+DAMAGES, ARISING OUT OF THE USE OR INABILITY TO USE, OR THE DELIVERY OR FAILURE
+TO DELIVER, ANY OF THE DELIVERABLES, OR ANY BREACH OF ANY OBLIGATION UNDER THIS
+AGREEMENT, EVEN IF QTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+THE FOREGOING LIMITATION OF LIABILITY SHALL REMAIN IN FULL FORCE AND EFFECT
+REGARDLESS OF WHETHER YOUR REMEDIES HEREUNDER ARE DETERMINED TO HAVE FAILED OF
+THEIR ESSENTIAL PURPOSE. THE ENTIRE LIABILITY OF QTI, QTI's AFFILIATES AND ITS
+LICENSORS, AND THE SOLE AND EXCLUSIVE REMEDY OF YOU, FOR ANY CLAIM OR CAUSE OF
+ACTION ARISING HEREUNDER (WHETHER IN CONTRACT, TORT, OR OTHERWISE) SHALL NOT
+EXCEED US$50.
+
+6. INDEMNIFICATION. You agree to indemnify and hold harmless QTI and its
+officers, directors, employees and successors and assigns against any and all
+third party claims, demands, causes of action, losses, liabilities, damages,
+costs and expenses, incurred by QTI (including but not limited to costs of
+defense, investigation and reasonable attorney's fees) arising out of, resulting
+from or related to: (i) any breach of this Agreement by You; and (ii) your acts,
+omissions, products and services. If requested by QTI, You agree to defend QTI
+in connection with any third party claims, demands, or causes of action
+resulting from, arising out of or in connection with any of the foregoing.
+
+7. ASSIGNMENT. You shall not assign this Agreement or any right or interest
+under this Agreement, nor delegate any obligation to be performed under this
+Agreement, without QTI's prior written consent. For purposes of this Section 7,
+an "assignment" by You under this Section shall be deemed to include, without
+limitation, any merger, consolidation, sale of all or substantially all of its
+assets, or any substantial change in the management or control of You.
+Any attempted assignment in contravention of this Section 9 shall be void.
+QTI may freely assign this Agreement or delegate any or all of its rights and
+obligations hereunder to any third party.
+
+8. COMPLIANCE WITH LAWS; APPLICABLE LAW. You agree to comply with all
+applicable local, international and national laws and regulations and with U.S.
+Export Administration Regulations, as they apply to the subject matter of this
+Agreement. This Agreement is governed by the laws of the State of California,
+excluding California's choice of law rules.
+
+9. CONTRACTING PARTIES. If the Materials are downloaded on any computer owned
+by a corporation or other legal entity, then this Agreement is formed by and
+between QTI and such entity. The individual accepting the terms of this
+Agreement represents and warrants to QTI that they have the authority to bind
+such entity to the terms and conditions of this Agreement.
+
+10. MISCELLANEOUS PROVISIONS. This Agreement, together with all exhibits
+attached hereto, which are incorporated herein by this reference, constitutes
+the entire agreement between QTI and You and supersedes all prior negotiations,
+representations and agreements between the parties with respect to the subject
+matter hereof. No addition or modification of this Agreement shall be effective
+unless made in writing and signed by the respective representatives of QTI and
+You. The restrictions, limitations, exclusions and conditions set forth in this
+Agreement shall apply even if QTI or any of its affiliates becomes aware of or
+fails to act in a manner to address any violation or failure to comply
+therewith. You hereby acknowledge and agree that the restrictions, limitations,
+conditions and exclusions imposed in this Agreement on the rights granted in
+this Agreement are not a derogation of the benefits of such rights. You further
+acknowledges that, in the absence of such restrictions, limitations, conditions
+and exclusions, QTI would not have entered into this Agreement with You. Each
+party shall be responsible for and shall bear its own expenses in connection
+with this Agreement. If any of the provisions of this Agreement are determined
+to be invalid, illegal, or otherwise unenforceable, the remaining provisions
+shall remain in full force and effect. This Agreement is entered into solely
+in the English language, and if for any reason any other language version is
+prepared by any party, it shall be solely for convenience and the English
+version shall govern and control all aspects. If You are located in the
+province of Quebec, Canada, the following applies: The Parties hereby confirm
+they have requested this Agreement and all related documents be prepared
+in English.
diff --git a/db410c32_only/firmware/WCNSS_qcom_wlan_nv.bin b/db410c32_only/firmware/WCNSS_qcom_wlan_nv.bin
new file mode 100644
index 0000000..9a8f174
--- /dev/null
+++ b/db410c32_only/firmware/WCNSS_qcom_wlan_nv.bin
Binary files differ
diff --git a/db410c32_only/firmware/a300_pfp.fw b/db410c32_only/firmware/a300_pfp.fw
new file mode 100644
index 0000000..5522677
--- /dev/null
+++ b/db410c32_only/firmware/a300_pfp.fw
Binary files differ
diff --git a/db410c32_only/firmware/a300_pm4.fw b/db410c32_only/firmware/a300_pm4.fw
new file mode 100644
index 0000000..840e5a9
--- /dev/null
+++ b/db410c32_only/firmware/a300_pm4.fw
Binary files differ
diff --git a/db410c32_only/firmware/md5sums b/db410c32_only/firmware/md5sums
new file mode 100644
index 0000000..9686522
--- /dev/null
+++ b/db410c32_only/firmware/md5sums
@@ -0,0 +1,12 @@
+25aa81977303142bdc4490efad16138b ./a300_pfp.fw
+d657cacd951742d9bbbe74224347cffe ./a300_pm4.fw
+edfb7b8bbee0a2dc78558b8594ec135b ./wcnss.b00
+dac878bfa8cdb5cf8de6776d634b48a2 ./wcnss.b01
+c4216be929039eaa8d30998d3772c157 ./wcnss.b02
+9a6f0a39e5b13acf604a5b8f268a4b51 ./wcnss.b04
+21eb90b0c2bf47dfeb9d218aa7eba217 ./wcnss.b06
+469aa816010c9c8639a9176f625189af ./wcnss.b09
+157e39521e47ad1c923a94edd69ad59c ./wcnss.b10
+b4a8fbd96861b952bdc84192ae1ad2c7 ./wcnss.b11
+7b79f0524166cf8f31827f836f32dd45 ./wcnss.mdt
+b0676e9b460c3b28bf8d136a7425ecde ./WCNSS_qcom_wlan_nv.bin
diff --git a/db410c32_only/firmware/wcnss.b00 b/db410c32_only/firmware/wcnss.b00
new file mode 100644
index 0000000..57d439f
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b00
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b01 b/db410c32_only/firmware/wcnss.b01
new file mode 100644
index 0000000..74ec547
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b01
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b02 b/db410c32_only/firmware/wcnss.b02
new file mode 100644
index 0000000..5ea194c
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b02
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b04 b/db410c32_only/firmware/wcnss.b04
new file mode 100644
index 0000000..271ad3c
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b04
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b06 b/db410c32_only/firmware/wcnss.b06
new file mode 100644
index 0000000..80efe30
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b06
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b09 b/db410c32_only/firmware/wcnss.b09
new file mode 100644
index 0000000..6048a30
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b09
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b10 b/db410c32_only/firmware/wcnss.b10
new file mode 100644
index 0000000..6817491
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b10
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.b11 b/db410c32_only/firmware/wcnss.b11
new file mode 100644
index 0000000..e67e575
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.b11
Binary files differ
diff --git a/db410c32_only/firmware/wcnss.mdt b/db410c32_only/firmware/wcnss.mdt
new file mode 100644
index 0000000..2d7d516
--- /dev/null
+++ b/db410c32_only/firmware/wcnss.mdt
Binary files differ
diff --git a/device-common.mk b/device-common.mk
new file mode 100644
index 0000000..087e2a7
--- /dev/null
+++ b/device-common.mk
@@ -0,0 +1,113 @@
+#
+# Copyright (C) 2014 The Android Open-Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# Device overlay
+DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
+
+# Build and run only ART
+PRODUCT_RUNTIMES := runtime_libart_default
+
+# DRM
+PRODUCT_PACKAGES := \
+ android.hardware.drm@1.0-impl \
+ android.hardware.drm@1.0-service \
+ android.hardware.graphics.allocator@2.0-impl \
+ android.hardware.graphics.allocator@2.0-service \
+ android.hardware.graphics.composer@2.1-impl \
+ android.hardware.graphics.composer@2.1-service \
+ android.hardware.graphics.mapper@2.0-impl \
+ android.hardware.graphics.mapper@2.0-service \
+ gralloc.gbm \
+ hwcomposer.drm \
+ libGLES_mesa
+
+# Use Launcher3
+PRODUCT_PACKAGES += Launcher3
+
+# Enable WiFi
+PRODUCT_PACKAGES += \
+ android.hardware.wifi@1.0-service \
+ android.hardware.wifi.supplicant@1.0 \
+ hostapd \
+ libwpa_client \
+ wpa_supplicant \
+ wificond \
+ wifilogd
+
+PRODUCT_PROPERTY_OVERRIDES := \
+ wifi.interface=wlan0 \
+ wifi.supplicant_scan_interval=15
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
+ frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
+ device/linaro/hikey/wpa_supplicant.conf:system/etc/wifi/wpa_supplicant.conf
+
+# Enable BT
+PRODUCT_PACKAGES += \
+ android.hardware.bluetooth@1.0-service.btlinux
+
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
+ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml
+
+# Audio
+PRODUCT_PACKAGES += \
+ android.hardware.audio@2.0-impl \
+ android.hardware.audio@2.0-service \
+ android.hardware.audio.effect@2.0-impl \
+ android.hardware.broadcastradio@1.0-impl \
+ android.hardware.soundtrigger@2.0-impl
+
+# Build default bluetooth a2dp and usb audio HALs
+PRODUCT_PACKAGES += \
+ audio.a2dp.default \
+ audio.usb.default \
+ audio.r_submix.default \
+ tinyplay
+
+# audio policy configuration
+USE_XML_AUDIO_POLICY_CONF := 1
+PRODUCT_COPY_FILES += \
+ device/linaro/hikey/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
+ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
+ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
+
+# PowerHAL
+PRODUCT_PACKAGES += android.hardware.power@1.0-impl
+
+#GNSS HAL
+PRODUCT_PACKAGES += android.hardware.gnss@1.0-impl
+
+# Keymaster HAL
+PRODUCT_PACKAGES += \
+ android.hardware.keymaster@3.0-impl \
+ android.hardware.keymaster@3.0-service
+
+# Copy standard platform config files
+PRODUCT_COPY_FILES += \
+ device/linaro/hikey/etc/permissions/android.hardware.screen.xml:system/etc/permissions/android.hardware.screen.xml \
+ frameworks/native/data/etc/android.software.cts.xml:system/etc/permissions/android.software.cts.xml \
+ frameworks/native/data/etc/android.software.app_widgets.xml:system/etc/permissions/android.software.app_widgets.xml \
+ frameworks/native/data/etc/android.software.backup.xml:system/etc/permissions/android.software.backup.xml \
+ frameworks/native/data/etc/android.software.voice_recognizers.xml:system/etc/permissions/android.software.voice_recognizers.xml \
+ frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
+ frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
+ frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
+ frameworks/native/data/etc/android.software.device_admin.xml:system/etc/permissions/android.software.device_admin.xml
diff --git a/fstab.common b/fstab.common
new file mode 100644
index 0000000..888775a
--- /dev/null
+++ b/fstab.common
@@ -0,0 +1,7 @@
+# Android fstab file.
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+/dev/block/platform/soc/7824900.sdhci/by-name/system /system ext4 ro wait
+/dev/block/platform/soc/7824900.sdhci/by-name/cache /cache ext4 discard,noauto_da_alloc,data=ordered,user_xattr,barrier=1 wait
+/dev/block/platform/soc/7824900.sdhci/by-name/userdata /data ext4 discard,noauto_da_alloc,data=ordered,user_xattr,barrier=1 wait
diff --git a/init.common.rc b/init.common.rc
new file mode 100644
index 0000000..6eaf705
--- /dev/null
+++ b/init.common.rc
@@ -0,0 +1,63 @@
+import init.${ro.hardware}.usb.rc
+
+on fs
+ mount_all /fstab.${ro.hardware}
+ swapon_all /fstab.${ro.hardware}
+ setprop ro.crypto.fuse_sdcard false
+
+on init
+ # For legacy support
+ # See storage config details at http://source.android.com/tech/storage/
+ # since /storage is mounted on post-fs in init.rc
+ symlink /sdcard /storage/sdcard0
+
+on boot
+ # update cpuset now that processors are up, and
+ # assumes homogeneous cores.
+ # The constraints are:
+ # CPU 0 is reserved for the top app
+ # background is limited to the last CPU
+
+ # First, reset foreground to all cpus, so boost can be modified
+ write /dev/cpuset/foreground/cpus 0-3
+
+ write /dev/cpuset/foreground/boost/cpus 1-3
+ write /dev/cpuset/foreground/cpus 1-3
+ write /dev/cpuset/background/cpus 3
+ write /dev/cpuset/system-background/cpus 1-3
+ write /dev/cpuset/top-app/cpus 0-3
+
+ # fake some battery state
+ setprop status.battery.state Slow
+ setprop status.battery.level 5
+ setprop status.battery.level_raw 50
+ setprop status.battery.level_scale 9
+
+on early-boot
+ mount debugfs debugfs /sys/kernel/debug
+ chmod 755 /sys/kernel/debug
+ chmod 755 /sys/kernel/debug/sync
+ chown graphics graphics /sys/kernel/debug/sync/sw_sync
+ chmod 777 /sys/kernel/debug/sync/sw_sync
+ chown graphics graphics /sys/kernel/debug/sync/info
+
+ setprop ro.hardware.gralloc gbm
+ setprop ro.hardware.hwcomposer drm
+ setprop debug.sf.no_hw_vsync 1
+ setprop hwc.drm.use_framebuffer_target 1
+ setprop hwc.drm.use_overlay_planes 0
+ setprop ro.sf.lcd_density 160
+
+ # Set supported opengles version
+ setprop ro.opengles.version 196608
+
+ # If an app forces screen rotation, revert it once the apps closes
+ setprop persist.demo.rotationlock 1
+
+service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
+ -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf \
+ -Dnl80211 -g@android:wpa_wlan0
+ socket wpa_wlan0 dgram 660 wifi wifi
+ class main
+ disabled
+ oneshot
diff --git a/init.common.usb.rc b/init.common.usb.rc
new file mode 100644
index 0000000..57fb5aa
--- /dev/null
+++ b/init.common.usb.rc
@@ -0,0 +1,85 @@
+on boot
+ mount configfs none /config
+ mkdir /config/usb_gadget/g1 0770 shell shell
+ mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
+ write /config/usb_gadget/g1/bcdUSB 0x0200
+ write /config/usb_gadget/g1/idVendor 0x18d1
+ write /config/usb_gadget/g1/bcdDevice 0x0223
+ write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
+ write /config/usb_gadget/g1/strings/0x409/manufacturer "QUALCOMM"
+ write /config/usb_gadget/g1/strings/0x409/product "Android Gadget"
+ mkdir /config/usb_gadget/g1/functions/accessory.gs2
+ mkdir /config/usb_gadget/g1/functions/audio_source.gs3
+ mkdir /config/usb_gadget/g1/functions/midi.gs5
+ mkdir /config/usb_gadget/g1/functions/ffs.adb
+ mkdir /config/usb_gadget/g1/functions/ffs.mtp
+ mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
+ mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
+ write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
+ write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
+ write /config/usb_gadget/g1/configs/b.1/MaxPower 500
+ mkdir /dev/usb-ffs 0775 shell shell
+ mkdir /dev/usb-ffs/adb 0770 shell shell
+ mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
+ mkdir /dev/usb-ffs/mtp 0770 mtp mtp
+ mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
+ setprop sys.usb.mtp.device_type 3
+ setprop sys.usb.configfs 1
+ setprop sys.usb.ffs.aio_compat 1
+ symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
+
+on property:sys.usb.config=none && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/os_desc/use 0
+
+on property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=mtp && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee1
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee2
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
+
+on property:sys.usb.config=rndis && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee3
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee4
+
+on property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=ptp && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee5
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee6
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
+
+on property:sys.usb.config=adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee7
+
+on property:sys.usb.config=midi && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee8
+
+on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x4ee9
+
+on property:sys.usb.config=accessory && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x2d00
+
+on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x2d01
+
+on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x2d02
+
+on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x2d03
+
+on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x2d04
+
+on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0x2d05
diff --git a/manifest.xml b/manifest.xml
new file mode 100644
index 0000000..e6d754d
--- /dev/null
+++ b/manifest.xml
@@ -0,0 +1,115 @@
+<manifest version="1.0" type="device">
+ <hal format="hidl">
+ <name>android.hardware.bluetooth</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IBluetoothHci</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.graphics.allocator</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IAllocator</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.graphics.composer</name>
+ <transport>hwbinder</transport>
+ <version>2.1</version>
+ <interface>
+ <name>IComposer</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.graphics.mapper</name>
+ <transport arch="32+64">passthrough</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IMapper</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.drm</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>ICryptoFactory</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IDrmFactory</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.configstore</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>ISurfaceFlingerConfigs</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.soundtrigger</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>ISoundTriggerHw</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.audio</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IDevicesFactory</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.audio.effect</name>
+ <transport>hwbinder</transport>
+ <version>2.0</version>
+ <interface>
+ <name>IEffectsFactory</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.keymaster</name>
+ <transport>hwbinder</transport>
+ <version>3.0</version>
+ <interface>
+ <name>IKeymasterDevice</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.wifi</name>
+ <transport>hwbinder</transport>
+ <impl level="generic"></impl>
+ <version>1.0</version>
+ <interface>
+ <name>IWifi</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+ <hal format="hidl">
+ <name>android.hardware.wifi.supplicant</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>ISupplicant</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+</manifest>
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..f241581
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,89 @@
+<?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>
+
+ <!-- This device is not "voice capable"; it's data-only. -->
+ <bool name="config_voice_capable">false</bool>
+
+ <!-- This device does not allow sms service. -->
+ <bool name="config_sms_capable">false</bool>
+
+ <!-- Separate software navigation bar required on this device. -->
+ <bool name="config_showNavigationBar">true</bool>
+
+ <!-- Integer indicating the framework scan interval in milliseconds. -->
+ <integer translatable="false" name="config_wifi_framework_scan_interval">10000</integer>
+
+ <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
+ Please don't copy them, copy anything else. -->
+
+ <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
+ before automatically restore the default connection. Set -1 if the connection
+ does not require auto-restore. -->
+ <!-- the 6th element indicates boot-time dependency-met value. -->
+ <string-array translatable="false" name="networkAttributes">
+ <item>"wifi,1,1,1,-1,true"</item>
+ <item>"ethernet,9,9,2,-1,true"</item>
+ </string-array>
+
+ <!-- This string array should be overridden by the device to present a list of radio
+ attributes. This is used by the connectivity manager to decide which networks can coexist
+ based on the hardware -->
+ <!-- An Array of "[ConnectivityManager connectionType],
+ [# simultaneous connection types]" -->
+ <string-array translatable="false" name="radioAttributes">
+ <item>"1,1"</item>
+ <item>"9,1"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ Wifi interfaces. If the device doesn't want to support tethering over Wifi this
+ should be empty. An example would be "softap.*" -->
+ <string-array translatable="false" name="config_tether_wifi_regexs">
+ <item>"wlan0"</item>
+ <item>"softap.*"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ USB interfaces. If the device doesn't want to support tethering over USB this should
+ be empty. An example would be "usb.*" -->
+ <string-array translatable="false" name="config_tether_usb_regexs">
+ <item>"usb\\d"</item>
+ <item>"rndis\\d"</item>
+ </string-array>
+
+ <!-- List of regexpressions describing the interface (if any) that represent tetherable
+ bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
+ should be empty. -->
+ <string-array translatable="false" name="config_tether_bluetooth_regexs">
+ <item>"bt-pan"</item>
+ </string-array>
+
+ <!-- Array of allowable ConnectivityManager network types for tethering -->
+ <!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
+ [0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
+ <integer-array translatable="false" name="config_tether_upstream_types">
+ <item>1</item>
+ <item>7</item>
+ </integer-array>
+
+</resources>
diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
new file mode 100644
index 0000000..34d5433
--- /dev/null
+++ b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <integer name="def_screen_off_timeout">-1</integer>
+ <bool name="def_lockscreen_disabled">true</bool>
+ <bool name="def_stay_on_while_plugged_in">true</bool>
+</resources>
diff --git a/sepolicy/file.te b/sepolicy/file.te
new file mode 100644
index 0000000..0db8b94
--- /dev/null
+++ b/sepolicy/file.te
@@ -0,0 +1 @@
+type sync_file, fs_type, debugfs_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
new file mode 100644
index 0000000..97258e7
--- /dev/null
+++ b/sepolicy/file_contexts
@@ -0,0 +1,3 @@
+/dev/sw_sync u:object_r:graphics_device:s0
+/sys/kernel/debug/sync u:object_r:sync_file:s0
+/sys/kernel/debug/sync(/.*)? u:object_r:sync_file:s0
diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te
new file mode 100644
index 0000000..9849b7b
--- /dev/null
+++ b/sepolicy/surfaceflinger.te
@@ -0,0 +1 @@
+allow surfaceflinger sync_file:file rw_file_perms;
diff --git a/ueventd.common.rc b/ueventd.common.rc
new file mode 100644
index 0000000..c56b776
--- /dev/null
+++ b/ueventd.common.rc
@@ -0,0 +1,21 @@
+/sys/bus/iio/devices/iio:device* name 0660 system system
+/sys/bus/iio/devices/iio:device* in_accel_scale 0660 system system
+/sys/bus/iio/devices/iio:device* sampling_frequency 0660 system system
+/sys/bus/iio/devices/iio:device* sampling_frequency_available 0660 system system
+/sys/bus/iio/devices/iio:device* buffer/enable 0660 system system
+/sys/bus/iio/devices/iio:device* buffer/length 0660 system system
+/sys/bus/iio/devices/iio:device* trigger/current_trigger 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_timestamp_en 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_accel_x_en 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_accel_y_en 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_accel_z_en 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_anglvel_x_en 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_anglvel_y_en 0660 system system
+/sys/bus/iio/devices/iio:device* scan_elements/in_anglvel_z_en 0660 system system
+/sys/bus/iio/devices/trigger* name 0660 system system
+/sys/class/backlight* brightness 0664 system system
+
+/dev/sw_sync 0660 root graphics
+/dev/iio:device0 0660 system system
+/dev/mali 0666 system graphics
+
diff --git a/vendorsetup.sh b/vendorsetup.sh
new file mode 100644
index 0000000..71a9e0f
--- /dev/null
+++ b/vendorsetup.sh
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This file is executed by build/envsetup.sh, and can use anything
+# defined in envsetup.sh.
+#
+# In particular, you can add lunch options with the add_lunch_combo
+# function: add_lunch_combo generic-eng
+
+add_lunch_combo db410c32_only-userdebug