From 74824528167d469f16e84423de1642c9fb237cea Mon Sep 17 00:00:00 2001 From: followmsi Date: Sun, 5 Mar 2017 10:57:39 +0100 Subject: [PATCH] initial commit from nbehary https://github.com/nbehary/android_device_asus_deb/tree/nougat-release --- Android.mk | 40 - extract-files.sh => AndroidProducts.mk | 13 +- BoardConfig.mk | 10 +- CleanSpec.mk | 56 + aosp_deb.mk | 31 + device.mk | 30 +- dumpstate/Android.mk | 26 + dumpstate/NOTICE | 190 +++ dumpstate/dumpstate.cpp | 39 + .../generate-factory-images-package.sh | 36 + rootdir/etc/fstab.deb => fstab.deb | 8 +- hostapd_default.conf | 1043 ----------------- rootdir/etc/init.deb.rc => init.deb.rc | 103 +- kernel-headers/media/msm_cam_sensor.h | 579 +++++++++ kernel-headers/media/msm_gemini.h | 106 ++ kernel-headers/media/msmb_camera.h | 140 +++ kernel-headers/media/msmb_generic_buf_mgr.h | 35 + kernel-headers/media/msmb_isp.h | 420 +++++++ kernel-headers/media/msmb_ispif.h | 148 +++ kernel-headers/media/msmb_pproc.h | 154 +++ lineage.dependencies | 6 - lineage.mk | 30 - .../media/msm_cam_sensor.h | 545 +++++++++ original-kernel-headers/media/msm_gemini.h | 123 ++ original-kernel-headers/media/msmb_camera.h | 160 +++ .../media/msmb_generic_buf_mgr.h | 23 + original-kernel-headers/media/msmb_isp.h | 412 +++++++ original-kernel-headers/media/msmb_ispif.h | 121 ++ original-kernel-headers/media/msmb_pproc.h | 153 +++ .../res/res/values-mcc310-mnc030/config.xml | 11 + .../res/res/values-mcc310-mnc070/config.xml | 11 + .../res/res/values-mcc310-mnc090/config.xml | 12 + .../res/res/values-mcc310-mnc150/config.xml | 11 + .../res/res/values-mcc310-mnc170/config.xml | 11 + .../res/res/values-mcc310-mnc280/config.xml | 11 + .../res/res/values-mcc310-mnc380/config.xml | 11 + .../res/res/values-mcc310-mnc410/config.xml | 11 + .../res/res/values-mcc310-mnc560/config.xml | 11 + .../res/res/values-mcc310-mnc680/config.xml | 11 + .../res/res/values-mcc310-mnc980/config.xml | 11 + .../res/res/values-mcc310-mnc990/config.xml | 11 + .../res/res/values-mcc311-mnc180/config.xml | 11 + .../base/core/res/res/values/config.xml | 75 +- .../base/core/res/res/xml/storage_list.xml | 28 + .../packages/SystemUI/res/values/config.xml | 7 + .../apps/Bluetooth/res/values/config.xml | 4 - .../apps/CarrierConfig/res/xml/vendor.xml | 10 + .../res/values/config.xml | 0 overlay/packages/apps/Phone | Bin 0 -> 50 bytes .../apps/Settings/res/values/bools.xml | 3 + .../res/values-mcc310-mnc004}/config.xml | 26 +- .../res/values-mcc310-mnc005/config.xml | 27 + .../res/values-mcc310-mnc012/config.xml | 27 + .../res/values-mcc311-mnc480/config.xml | 27 + .../res/values-mcc311-mnc481/config.xml | 27 + .../res/values-mcc311-mnc482/config.xml | 27 + .../res/values-mcc311-mnc483/config.xml | 27 + .../res/values-mcc311-mnc484/config.xml | 27 + .../res/values-mcc311-mnc485/config.xml | 27 + .../res/values-mcc311-mnc486/config.xml | 27 + .../res/values-mcc311-mnc487/config.xml | 27 + .../res/values-mcc311-mnc488/config.xml | 27 + .../res/values-mcc311-mnc489/config.xml | 27 + .../services/Telephony/res/values/strings.xml | 38 - proprietary-blobs.txt | 197 +++- releasetools.py | 45 +- rootdir/Android.mk | 19 - self-extractors/Android.mk | 0 self-extractors/PART1 | 12 + self-extractors/PART2 | 22 + self-extractors/PART3 | 12 + self-extractors/PROLOGUE | 2 + self-extractors/asus/COPYRIGHT | 1 + self-extractors/asus/LICENSE | 225 ++++ .../asus/staging/BoardConfigPartial.mk | 13 + .../asus/staging/device-partial.mk | 20 + self-extractors/broadcom/COPYRIGHT | 1 + self-extractors/broadcom/LICENSE | 225 ++++ .../broadcom/staging/BoardConfigPartial.mk | 13 + .../broadcom/staging/device-partial.mk | 19 + self-extractors/extract-lists.txt | 199 ++++ self-extractors/files-by-owner.sh | 95 ++ self-extractors/generate-packages.sh | 284 +++++ self-extractors/qcom/COPYRIGHT | 1 + self-extractors/qcom/LICENSE | 264 +++++ .../qcom/staging/BoardConfigPartial.mk | 13 + .../qcom/staging/device-partial.mk | 198 ++++ .../qcom/staging/proprietary/Android.mk | 55 + self-extractors/root/BoardConfigVendor.mk | 19 + self-extractors/root/device-vendor.mk | 19 + sepolicy/audioserver.te | 6 - system.prop | 14 +- vendor_owner_info.txt | 199 ++++ vendorsetup.sh | 17 + 94 files changed, 6292 insertions(+), 1356 deletions(-) delete mode 100644 Android.mk rename extract-files.sh => AndroidProducts.mk (73%) mode change 100755 => 100644 create mode 100644 CleanSpec.mk create mode 100644 aosp_deb.mk create mode 100644 dumpstate/Android.mk create mode 100644 dumpstate/NOTICE create mode 100644 dumpstate/dumpstate.cpp create mode 100644 factory-images/generate-factory-images-package.sh rename rootdir/etc/fstab.deb => fstab.deb (83%) delete mode 100644 hostapd_default.conf rename rootdir/etc/init.deb.rc => init.deb.rc (70%) create mode 100644 kernel-headers/media/msm_cam_sensor.h create mode 100644 kernel-headers/media/msm_gemini.h create mode 100644 kernel-headers/media/msmb_camera.h create mode 100644 kernel-headers/media/msmb_generic_buf_mgr.h create mode 100644 kernel-headers/media/msmb_isp.h create mode 100644 kernel-headers/media/msmb_ispif.h create mode 100644 kernel-headers/media/msmb_pproc.h delete mode 100644 lineage.dependencies delete mode 100644 lineage.mk create mode 100644 original-kernel-headers/media/msm_cam_sensor.h create mode 100644 original-kernel-headers/media/msm_gemini.h create mode 100644 original-kernel-headers/media/msmb_camera.h create mode 100644 original-kernel-headers/media/msmb_generic_buf_mgr.h create mode 100644 original-kernel-headers/media/msmb_isp.h create mode 100644 original-kernel-headers/media/msmb_ispif.h create mode 100644 original-kernel-headers/media/msmb_pproc.h create mode 100644 overlay/frameworks/base/core/res/res/xml/storage_list.xml delete mode 100644 overlay/packages/apps/Bluetooth/res/values/config.xml create mode 100644 overlay/packages/apps/CarrierConfig/res/xml/vendor.xml rename overlay/packages/apps/{Trebuchet => Launcher2}/res/values/config.xml (100%) create mode 100644 overlay/packages/apps/Phone rename overlay/packages/{apps/Snap/res/values => services/Telephony/res/values-mcc310-mnc004}/config.xml (51%) create mode 100644 overlay/packages/services/Telephony/res/values-mcc310-mnc005/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc310-mnc012/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc480/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc481/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc482/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc483/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc484/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc485/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc486/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc487/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc488/config.xml create mode 100644 overlay/packages/services/Telephony/res/values-mcc311-mnc489/config.xml delete mode 100644 overlay/packages/services/Telephony/res/values/strings.xml delete mode 100644 rootdir/Android.mk create mode 100644 self-extractors/Android.mk create mode 100644 self-extractors/PART1 create mode 100644 self-extractors/PART2 create mode 100644 self-extractors/PART3 create mode 100644 self-extractors/PROLOGUE create mode 100644 self-extractors/asus/COPYRIGHT create mode 100644 self-extractors/asus/LICENSE create mode 100644 self-extractors/asus/staging/BoardConfigPartial.mk create mode 100644 self-extractors/asus/staging/device-partial.mk create mode 100644 self-extractors/broadcom/COPYRIGHT create mode 100644 self-extractors/broadcom/LICENSE create mode 100644 self-extractors/broadcom/staging/BoardConfigPartial.mk create mode 100644 self-extractors/broadcom/staging/device-partial.mk create mode 100644 self-extractors/extract-lists.txt create mode 100644 self-extractors/files-by-owner.sh create mode 100644 self-extractors/generate-packages.sh create mode 100644 self-extractors/qcom/COPYRIGHT create mode 100644 self-extractors/qcom/LICENSE create mode 100644 self-extractors/qcom/staging/BoardConfigPartial.mk create mode 100644 self-extractors/qcom/staging/device-partial.mk create mode 100644 self-extractors/qcom/staging/proprietary/Android.mk create mode 100644 self-extractors/root/BoardConfigVendor.mk create mode 100644 self-extractors/root/device-vendor.mk delete mode 100644 sepolicy/audioserver.te create mode 100644 vendor_owner_info.txt create mode 100644 vendorsetup.sh diff --git a/Android.mk b/Android.mk deleted file mode 100644 index d9db8b1..0000000 --- a/Android.mk +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright 2012 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 contains the module build definitions for the hardware-specific -# components for this device. -# -# As much as possible, those components should be built unconditionally, -# with device-specific names to avoid collisions, to avoid device-specific -# bitrot and build breakages. Building a component unconditionally does -# *not* include it on all devices, so it is safe even with hardware-specific -# components. - -ifneq ($(filter deb,$(TARGET_DEVICE)),) - -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := hostapd_default.conf -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := $(LOCAL_MODULE) -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/hostapd -include $(BUILD_PREBUILT) - -include $(call all-makefiles-under,$(LOCAL_PATH)) - -endif diff --git a/extract-files.sh b/AndroidProducts.mk old mode 100755 new mode 100644 similarity index 73% rename from extract-files.sh rename to AndroidProducts.mk index 2f5f9b4..42fc949 --- a/extract-files.sh +++ b/AndroidProducts.mk @@ -1,22 +1,17 @@ -#!/bin/bash # -# Copyright (C) 2016 The CyanogenMod Project +# Copyright 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 +# 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. +# -set -e - -export VENDOR=asus -export DEVICE=deb - -./../flo/extract-files.sh $@ +PRODUCT_MAKEFILES := $(LOCAL_DIR)/aosp_deb.mk diff --git a/BoardConfig.mk b/BoardConfig.mk index 870d28b..97629d5 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -18,15 +18,11 @@ TARGET_BOOTLOADER_BOARD_NAME := deb TARGET_BOOTLOADER_NAME := deb TARGET_BOARD_INFO_FILE := device/asus/deb/board-info.txt +BOARD_HAL_STATIC_LIBRARIES := libdumpstate.deb + TARGET_RELEASETOOLS_EXTENSIONS := device/asus/deb -TARGET_SYSTEM_PROP := \ - device/asus/flo/system.prop \ - device/asus/deb/system.prop - -TARGET_RECOVERY_FSTAB = device/asus/deb/rootdir/etc/fstab.deb - -BOARD_SEPOLICY_DIRS += device/asus/deb/sepolicy +TARGET_RECOVERY_FSTAB = device/asus/deb/fstab.deb -include vendor/asus/deb/BoardConfigVendor.mk include device/asus/flo/BoardConfigCommon.mk diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..ca59517 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,56 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) + +# Switching to jemalloc requires deleting these files. +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libc_*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libc_*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libart_*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libartd_*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libart_*) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libartd_*) diff --git a/aosp_deb.mk b/aosp_deb.mk new file mode 100644 index 0000000..6845af7 --- /dev/null +++ b/aosp_deb.mk @@ -0,0 +1,31 @@ +# +# Copyright 2012 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. +# + +# Sample: This is where we'd set a backup provider if we had one +# $(call inherit-product, device/sample/products/backup_overlay.mk) + +# Inherit from hardware-specific part of the product configuration +$(call inherit-product, device/asus/deb/device.mk) + +# Inherit from the common Open Source product configuration +$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) + +PRODUCT_NAME := aosp_deb +PRODUCT_DEVICE := deb +PRODUCT_BRAND := Android +PRODUCT_MODEL := AOSP on Deb +PRODUCT_MANUFACTURER := ASUS +PRODUCT_RESTRICT_VENDOR_FILES := true diff --git a/device.mk b/device.mk index 79f16b3..61e8968 100644 --- a/device.mk +++ b/device.mk @@ -20,26 +20,28 @@ PRODUCT_PACKAGES := \ CarrierConfig \ BasicSmsReceiver -# Ramdisk -PRODUCT_PACKAGES += \ - fstab.deb \ - init.deb.rc - -# Features -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml - -# Camera -PRODUCT_PACKAGES += \ - camera.deb +PRODUCT_COPY_FILES := \ + device/asus/deb/fstab.deb:root/fstab.flo \ + device/asus/deb/init.deb.rc:root/init.flo.rc PRODUCT_PACKAGES += \ - hostapd_default.conf + camera.deb + +#NFC +PRODUCT_PACKAGES += \ + nfc_nci.bcm2079x.default + +# Do not power down SIM card when modem is sent to Low Power Mode. +PRODUCT_PROPERTY_OVERRIDES += \ + persist.radio.apm_sim_not_pwdn=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + rild.libpath=/system/lib/libril-qc-qmi-1.so # the actual meat of the device-specific product definition $(call inherit-product, device/asus/flo/device-common.mk) # inherit from the non-open-source side, if present -$(call inherit-product-if-exists, vendor/asus/deb/deb-vendor.mk) +$(call inherit-product-if-exists, vendor/asus/deb/device-vendor.mk) DEVICE_PACKAGE_OVERLAYS := device/asus/deb/overlay diff --git a/dumpstate/Android.mk b/dumpstate/Android.mk new file mode 100644 index 0000000..8cad26b --- /dev/null +++ b/dumpstate/Android.mk @@ -0,0 +1,26 @@ +# 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. + +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_C_INCLUDES := frameworks/native/cmds/dumpstate + +LOCAL_SRC_FILES := dumpstate.cpp + +LOCAL_MODULE := libdumpstate.deb + +LOCAL_MODULE_TAGS := optional + +include $(BUILD_STATIC_LIBRARY) diff --git a/dumpstate/NOTICE b/dumpstate/NOTICE new file mode 100644 index 0000000..a303bd0 --- /dev/null +++ b/dumpstate/NOTICE @@ -0,0 +1,190 @@ + + 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. + + 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. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/dumpstate/dumpstate.cpp b/dumpstate/dumpstate.cpp new file mode 100644 index 0000000..15a32da --- /dev/null +++ b/dumpstate/dumpstate.cpp @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2012 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. + */ + +#include + +void dump_ks_bridges() +{ + int i; + for (i = 1; i <= 4; ++i) { + char path[64], title[32]; + sprintf(path, "/sys/kernel/debug/ks_bridge/ks_bridge:%d", i); + sprintf(title, "KS BRIDGE LOG#%d", i); + dump_file(title, path); + } +} + +void dumpstate_board() +{ + dump_file("INTERRUPTS", "/proc/interrupts"); + run_command("MODEM TOMBSTONES", 5, SU_PATH, "root", "ls", "-l", "/data/tombstones/mdm", NULL); + dump_ks_bridges(); + dump_file("eMMC manfid", + "/sys/devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0:0001/manfid"); + dump_file("eMMC capacity", + "/sys/devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0:0001/sec_count"); +}; diff --git a/factory-images/generate-factory-images-package.sh b/factory-images/generate-factory-images-package.sh new file mode 100644 index 0000000..330e894 --- /dev/null +++ b/factory-images/generate-factory-images-package.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +# Copyright 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. + +# start jb-mr2-dev +# 704765 = JSR72 +# 740015 = JSS11F +# 741000 = JSS11I +# 741250 = JSS15 +# 746990 = JSS15H +# 748502 = JSS15I +# 748593 = JSS15J +# 750418 = JSS15K +# end jb-mr2-dev + +source ../../../common/clear-factory-images-variables.sh +BUILD=937116 +DEVICE=deb +PRODUCT=razorg +VERSION=kot49h +SRCPREFIX=signed- +BOOTLOADER=flo-04.02 +RADIO=deb-g00_2.37.0_1024 +source ../../../common/generate-factory-images-common.sh diff --git a/rootdir/etc/fstab.deb b/fstab.deb similarity index 83% rename from rootdir/etc/fstab.deb rename to fstab.deb index f7ec9f8..c45e0fe 100644 --- a/rootdir/etc/fstab.deb +++ b/fstab.deb @@ -4,10 +4,8 @@ # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait -/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs rw,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check,formattable -/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,formattable -/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs rw,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/metadata -/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/metadata +/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,errors=panic wait,check +/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/metadata /dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc wait /dev/block/platform/msm_sdcc.1/by-name/radio /firmware vfat ro,uid=1000,gid=1000,fmask=0337,dmask=0227,iocharset=iso8859-1,shortname=mixed,errors=remount-ro,context=u:object_r:radio_efs_file:s0 wait /dev/block/platform/msm_sdcc.1/by-name/radio /radio emmc defaults defaults @@ -25,4 +23,4 @@ /dev/block/platform/msm_sdcc.1/by-name/tzb /tzb emmc defaults defaults /dev/block/platform/msm_sdcc.1/by-name/rpmb /rpmb emmc defaults defaults /dev/block/platform/msm_sdcc.1/by-name/abootb /abootb emmc defaults defaults -/devices/platform/msm_hsusb_host/usb* auto auto defaults voldmanaged=usb:auto,noemulatedsd +/devices/platform/msm_hsusb_host/usb* auto auto defaults voldmanaged=usb:auto diff --git a/hostapd_default.conf b/hostapd_default.conf deleted file mode 100644 index e4316a3..0000000 --- a/hostapd_default.conf +++ /dev/null @@ -1,1043 +0,0 @@ -##### hostapd configuration file ############################################## -# Empty lines and lines starting with # are ignored - -# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for -# management frames); ath0 for madwifi -interface=wlan0 - -# In case of madwifi and nl80211 driver interfaces, an additional configuration -# parameter, bridge, must be used to notify hostapd if the interface is -# included in a bridge. This parameter is not used with Host AP driver. -#bridge=br0 - -# Driver interface type (hostap/wired/madwifi/prism54/test/none/nl80211/bsd); -# default: hostap). nl80211 is used with all Linux mac80211 drivers. -# Use driver=none if building hostapd as a standalone RADIUS server that does -# not control any wireless/wired driver. -driver=nl80211 - -# hostapd event logger configuration -# -# Two output method: syslog and stdout (only usable if not forking to -# background). -# -# Module bitfield (ORed bitfield of modules that will be logged; -1 = all -# modules): -# bit 0 (1) = IEEE 802.11 -# bit 1 (2) = IEEE 802.1X -# bit 2 (4) = RADIUS -# bit 3 (8) = WPA -# bit 4 (16) = driver interface -# bit 5 (32) = IAPP -# bit 6 (64) = MLME -# -# Levels (minimum value for logged events): -# 0 = verbose debugging -# 1 = debugging -# 2 = informational messages -# 3 = notification -# 4 = warning -# -logger_syslog=-1 -logger_syslog_level=2 -logger_stdout=-1 -logger_stdout_level=2 - -# Dump file for state information (on SIGUSR1) -dump_file=/data/local/tmp/hostapd.dump - -# Interface for separate control program. If this is specified, hostapd -# will create this directory and a UNIX domain socket for listening to requests -# from external programs (CLI/GUI, etc.) for status information and -# configuration. The socket file will be named based on the interface name, so -# multiple hostapd processes/interfaces can be run at the same time if more -# than one interface is used. -# /var/run/hostapd is the recommended directory for sockets and by default, -# hostapd_cli will use it when trying to connect with hostapd. -ctrl_interface=/data/misc/wifi/hostapd - - -# Access control for the control interface can be configured by setting the -# directory to allow only members of a group to use sockets. This way, it is -# possible to run hostapd as root (since it needs to change network -# configuration and open raw sockets) and still allow GUI/CLI components to be -# run as non-root users. However, since the control interface can be used to -# change the network configuration, this access needs to be protected in many -# cases. By default, hostapd is configured to use gid 0 (root). If you -# want to allow non-root users to use the contron interface, add a new group -# and change this value to match with that group. Add users that should have -# control interface access to this group. -# -# This variable can be a group name or gid. -#ctrl_interface_group=wheel -#ctrl_interface_group=0 - - -##### IEEE 802.11 related configuration ####################################### - -# SSID to be used in IEEE 802.11 management frames -ssid=QualcommSoftAP - -# Country code (ISO/IEC 3166-1). Used to set regulatory domain. -# Set as needed to indicate country in which device is operating. -# This can limit available channels and transmit power. -#country_code=US - -# Enable IEEE 802.11d. This advertises the country_code and the set of allowed -# channels and transmit power levels based on the regulatory limits. The -# country_code setting must be configured with the correct country for -# IEEE 802.11d functions. -# (default: 0 = disabled) -#ieee80211d=1 - -# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g, -# n = IEEE 802.11n, g_only = IEEE 802.11g_only, n_only = IEEE 802.11n_only, -# Default: IEEE 802.11n -hw_mode=g - -# Channel number (IEEE 802.11) -# (default: 0, i.e., not set) -# Please note that some drivers (e.g., madwifi) do not use this value from -# hostapd and the channel will need to be configuration separately with -# iwconfig. -channel=6 - -# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535) -beacon_int=100 - -# DTIM (delivery trafic information message) period (range 1..255): -# number of beacons between DTIMs (1 = every beacon includes DTIM element) -# (default: 2) -dtim_period=2 - -# Maximum number of stations allowed in station table. New stations will be -# rejected after the station table is full. IEEE 802.11 has a limit of 2007 -# different association IDs, so this number should not be larger than that. -# (default: 2007) -max_num_sta=255 - -# RTS/CTS threshold; 2347 = disabled (default); range 0..2347 -# If this field is not included in hostapd.conf, hostapd will not control -# RTS threshold and 'iwconfig wlan# rts ' can be used to set it. -#rts_threshold=2347 - -# Fragmentation threshold; 2346 = disabled (default); range 256..2346 -# If this field is not included in hostapd.conf, hostapd will not control -# fragmentation threshold and 'iwconfig wlan# frag ' can be used to set -# it. -#fragm_threshold=2346 - -# Rate configuration -# Default is to enable all rates supported by the hardware. This configuration -# item allows this list be filtered so that only the listed rates will be left -# in the list. If the list is empty, all rates are used. This list can have -# entries that are not in the list of rates the hardware supports (such entries -# are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110. -# If this item is present, at least one rate have to be matching with the rates -# hardware supports. -# default: use the most common supported rate setting for the selected -# hw_mode (i.e., this line can be removed from configuration file in most -# cases) -#supported_rates=10 20 55 110 60 90 120 180 240 360 480 540 - -# Basic rate set configuration -# List of rates (in 100 kbps) that are included in the basic rate set. -# If this item is not included, usually reasonable default set is used. -# This basic rates set is currently used for g-only profile -#basic_rates=60 - -# Short Preamble -# This parameter can be used to enable optional use of short preamble for -# frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network performance. -# This applies only to IEEE 802.11b-compatible networks and this should only be -# enabled if the local hardware supports use of short preamble. If any of the -# associated STAs do not support short preamble, use of short preamble will be -# disabled (and enabled when such STAs disassociate) dynamically. -# 0 = do not allow use of short preamble (default) -# 1 = allow use of short preamble -#preamble=1 - -# Station MAC address -based authentication -# Please note that this kind of access control requires a driver that uses -# hostapd to take care of management frame processing and as such, this can be -# used with driver=hostap or driver=nl80211, but not with driver=madwifi. -# 0 = accept unless in deny list -# 1 = deny unless in accept list -# 2 = use external RADIUS server (accept/deny lists are searched first) -macaddr_acl=0 - -# Accept/deny lists are read from separate files (containing list of -# MAC addresses, one per line). Use absolute path name to make sure that the -# files can be read on SIGHUP configuration reloads. -accept_mac_file=/data/hostapd/hostapd.accept -deny_mac_file=/data/hostapd/hostapd.deny - -# IEEE 802.11 specifies two authentication algorithms. hostapd can be -# configured to allow both of these or only one. Open system authentication -# should be used with IEEE 802.1X. -# Bit fields of allowed authentication algorithms: -# bit 0 = Open System Authentication -# bit 1 = Shared Key Authentication (requires WEP) -auth_algs=3 - -# Send empty SSID in beacons and ignore probe request frames that do not -# specify full SSID, i.e., require stations to know SSID. -# default: disabled (0) -# 1 = send empty (length=0) SSID in beacon and ignore probe request for -# broadcast SSID -# 2 = clear SSID (ASCII 0), but keep the original length (this may be required -# with some clients that do not support empty SSID) and ignore probe -# requests for broadcast SSID -ignore_broadcast_ssid=0 - -# TX queue parameters (EDCF / bursting) -# default for all these fields: not set, use hardware defaults -# tx_queue__ -# queues: data0, data1, data2, data3, after_beacon, beacon -# (data0 is the highest priority queue) -# parameters: -# aifs: AIFS (default 2) -# cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023) -# cwmax: cwMax (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023); cwMax >= cwMin -# burst: maximum length (in milliseconds with precision of up to 0.1 ms) for -# bursting -# -# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e): -# These parameters are used by the access point when transmitting frames -# to the clients. -# -# Low priority / AC_BK = background -#tx_queue_data3_aifs=7 -#tx_queue_data3_cwmin=15 -#tx_queue_data3_cwmax=1023 -#tx_queue_data3_burst=0 -# Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0 -# -# Normal priority / AC_BE = best effort -#tx_queue_data2_aifs=3 -#tx_queue_data2_cwmin=15 -#tx_queue_data2_cwmax=63 -#tx_queue_data2_burst=0 -# Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0 -# -# High priority / AC_VI = video -#tx_queue_data1_aifs=1 -#tx_queue_data1_cwmin=7 -#tx_queue_data1_cwmax=15 -#tx_queue_data1_burst=3.0 -# Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0 -# -# Highest priority / AC_VO = voice -#tx_queue_data0_aifs=1 -#tx_queue_data0_cwmin=3 -#tx_queue_data0_cwmax=7 -#tx_queue_data0_burst=1.5 -# Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3 -# -# Special queues; normally not user configurable -# -#tx_queue_after_beacon_aifs=2 -#tx_queue_after_beacon_cwmin=15 -#tx_queue_after_beacon_cwmax=1023 -#tx_queue_after_beacon_burst=0 -# -#tx_queue_beacon_aifs=2 -#tx_queue_beacon_cwmin=3 -#tx_queue_beacon_cwmax=7 -#tx_queue_beacon_burst=1.5 - -# 802.1D Tag (= UP) to AC mappings -# WMM specifies following mapping of data frames to different ACs. This mapping -# can be configured using Linux QoS/tc and sch_pktpri.o module. -# 802.1D Tag 802.1D Designation Access Category WMM Designation -# 1 BK AC_BK Background -# 2 - AC_BK Background -# 0 BE AC_BE Best Effort -# 3 EE AC_BE Best Effort -# 4 CL AC_VI Video -# 5 VI AC_VI Video -# 6 VO AC_VO Voice -# 7 NC AC_VO Voice -# Data frames with no priority information: AC_BE -# Management frames: AC_VO -# PS-Poll frames: AC_BE - -# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e): -# for 802.11a or 802.11g networks -# These parameters are sent to WMM clients when they associate. -# The parameters will be used by WMM clients for frames transmitted to the -# access point. -# -# note - txop_limit is in units of 32microseconds -# note - acm is admission control mandatory flag. 0 = admission control not -# required, 1 = mandatory -# note - here cwMin and cmMax are in exponent form. the actual cw value used -# will be (2^n)-1 where n is the value given here -# -wmm_enabled=1 -# -# Low priority / AC_BK = background -wmm_ac_bk_cwmin=4 -wmm_ac_bk_cwmax=10 -wmm_ac_bk_aifs=7 -wmm_ac_bk_txop_limit=0 -wmm_ac_bk_acm=0 -# Note: for IEEE 802.11b mode: cWmin=5 cWmax=10 -# -# Normal priority / AC_BE = best effort -wmm_ac_be_aifs=3 -wmm_ac_be_cwmin=4 -wmm_ac_be_cwmax=10 -wmm_ac_be_txop_limit=0 -wmm_ac_be_acm=0 -# Note: for IEEE 802.11b mode: cWmin=5 cWmax=7 -# -# High priority / AC_VI = video -wmm_ac_vi_aifs=2 -wmm_ac_vi_cwmin=3 -wmm_ac_vi_cwmax=4 -wmm_ac_vi_txop_limit=94 -wmm_ac_vi_acm=0 -# Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188 -# -# Highest priority / AC_VO = voice -wmm_ac_vo_aifs=2 -wmm_ac_vo_cwmin=2 -wmm_ac_vo_cwmax=3 -wmm_ac_vo_txop_limit=47 -wmm_ac_vo_acm=0 -# Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102 - -# Static WEP key configuration -# -# The key number to use when transmitting. -# It must be between 0 and 3, and the corresponding key must be set. -# default: not set -#wep_default_key=0 -# The WEP keys to use. -# A key may be a quoted string or unquoted hexadecimal digits. -# The key length should be 5, 13, or 16 characters, or 10, 26, or 32 -# digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or -# 128-bit (152-bit) WEP is used. -# Only the default key must be supplied; the others are optional. -# default: not set -#wep_key0=1234567890 -#wep_key1=1234567890 -#wep_key2=1234567890 -#wep_key3=1234567890 - -# Station inactivity limit -# -# If a station does not send anything in ap_max_inactivity seconds, an -# empty data frame is sent to it in order to verify whether it is -# still in range. If this frame is not ACKed, the station will be -# disassociated and then deauthenticated. This feature is used to -# clear station table of old entries when the STAs move out of the -# range. -# -# The station can associate again with the AP if it is still in range; -# this inactivity poll is just used as a nicer way of verifying -# inactivity; i.e., client will not report broken connection because -# disassociation frame is not sent immediately without first polling -# the STA with a data frame. -# default: 300 (i.e., 5 minutes) -#ap_max_inactivity=300 - -# Enable/disable internal bridge for packets between associated stations. -# -# When IEEE 802.11 is used in managed mode, packets are usually send through -# the AP even if they are from a wireless station to another wireless station. -# This functionality requires that the AP has a bridge functionality that sends -# frames back to the same interface if their destination is another associated -# station. In addition, broadcast/multicast frames from wireless stations will -# be sent both to the host system net stack (e.g., to eventually wired network) -# and back to the wireless interface. -# -# The internal bridge is implemented within the wireless kernel module and it -# bypasses kernel filtering (netfilter/iptables/ebtables). If direct -# communication between the stations needs to be prevented, the internal -# bridge can be disabled by setting bridge_packets=0. -# -# Note: If this variable is not included in hostapd.conf, hostapd does not -# change the configuration and iwpriv can be used to set the value with -# 'iwpriv wlan# param 10 0' command. If the variable is in hostapd.conf, -# hostapd will override possible iwpriv configuration whenever configuration -# file is reloaded. -# -# default: do not control from hostapd (80211.o defaults to 1=enabled) -#bridge_packets=1 - -# Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to -# remain asleep). Default: 65535 (no limit apart from field size) -#max_listen_interval=100 - -# Client isolation can be used to prevent low-level bridging of frames between -# associated stations in the BSS. By default, this bridging is allowed. -#ap_isolate=1 - -##### IEEE 802.11n related configuration ###################################### - -# ieee80211n: Whether IEEE 802.11n (HT) is enabled -# 0 = disabled (default) -# 1 = enabled -# Note: You will also need to enable WMM for full HT functionality. -ieee80211n=1 - -#require_ht=1 - -# ht_capab: HT capabilities (list of flags) -# LDPC coding capability: [LDPC] = supported -# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary -# channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz -# with secondary channel below the primary channel -# (20 MHz only if neither is set) -# Note: There are limits on which channels can be used with HT40- and -# HT40+. Following table shows the channels that may be available for -# HT40- and HT40+ use per IEEE 802.11n Annex J: -# freq HT40- HT40+ -# 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan) -# 5 GHz 40,48,56,64 36,44,52,60 -# (depending on the location, not all of these channels may be available -# for use) -# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC] -# (SMPS disabled if neither is set) -# HT-greenfield: [GF] (disabled if not set) -# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set) -# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set) -# Tx STBC: [TX-STBC] (disabled if not set) -# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial -# streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC -# disabled if none of these set -# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set) -# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not -# set) -# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set) -# PSMP support: [PSMP] (disabled if not set) -# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set) -# QcHostapd: -# LOWER byte for associated stations -# UPPER byte for overlapping stations -# each byte will have the following info -# bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 -# OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A -# bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 -# OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A -#ht_capab=[HT40-] [SHORT-GI-20] [SHORT-GI-40] -ht_capab=[SHORT-GI-20] [GF] [DSSS_CCK-40] [LSIG-TXOP-PROT] -#ht_capab=[LDPC] [HT40-] [HT40+] [SMPS-STATIC] [SMPS-DYNAMIC] [GF] [SHORT-GI-20] [SHORT-GI-40] [TX-STBC] [RX-STBC1] [RX-STBC12] [RX-STBC123] [DELAYED-BA] [MAX-AMSDU-7935] [DSSS_CCK-40] [PSMP] [LSIG-TXOP-PROT] - -##### IEEE 802.1X-2004 related configuration ################################## - -# Require IEEE 802.1X authorization -#ieee8021x=1 - -# IEEE 802.1X/EAPOL version -# hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL -# version 2. However, there are many client implementations that do not handle -# the new version number correctly (they seem to drop the frames completely). -# In order to make hostapd interoperate with these clients, the version number -# can be set to the older version (1) with this configuration value. -#eapol_version=2 - -# Optional displayable message sent with EAP Request-Identity. The first \0 -# in this string will be converted to ASCII-0 (nul). This can be used to -# separate network info (comma separated list of attribute=value pairs); see, -# e.g., RFC 4284. -#eap_message=hello -#eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com - -# WEP rekeying (disabled if key lengths are not set or are set to 0) -# Key lengths for default/broadcast and individual/unicast keys: -# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits) -# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits) -#wep_key_len_broadcast=5 -#wep_key_len_unicast=5 -# Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once) -#wep_rekey_period=300 - -# EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if -# only broadcast keys are used) -eapol_key_index_workaround=0 - -# EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable -# reauthentication). -#eap_reauth_period=3600 - -# Use PAE group address (01:80:c2:00:00:03) instead of individual target -# address when sending EAPOL frames with driver=wired. This is the most common -# mechanism used in wired authentication, but it also requires that the port -# is only used by one station. -#use_pae_group_addr=1 - -##### Integrated EAP server ################################################### - -# Optionally, hostapd can be configured to use an integrated EAP server -# to process EAP authentication locally without need for an external RADIUS -# server. This functionality can be used both as a local authentication server -# for IEEE 802.1X/EAPOL and as a RADIUS server for other devices. - -# Use integrated EAP server instead of external RADIUS authentication -# server. This is also needed if hostapd is configured to act as a RADIUS -# authentication server. -eap_server=1 - -# Path for EAP server user database -#eap_user_file=/etc/hostapd.eap_user - -# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS -#ca_cert=/etc/hostapd.ca.pem - -# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS -#server_cert=/etc/hostapd.server.pem - -# Private key matching with the server certificate for EAP-TLS/PEAP/TTLS -# This may point to the same file as server_cert if both certificate and key -# are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be -# used by commenting out server_cert and specifying the PFX file as the -# private_key. -#private_key=/etc/hostapd.server.prv - -# Passphrase for private key -#private_key_passwd=secret passphrase - -# Enable CRL verification. -# Note: hostapd does not yet support CRL downloading based on CDP. Thus, a -# valid CRL signed by the CA is required to be included in the ca_cert file. -# This can be done by using PEM format for CA certificate and CRL and -# concatenating these into one file. Whenever CRL changes, hostapd needs to be -# restarted to take the new CRL into use. -# 0 = do not verify CRLs (default) -# 1 = check the CRL of the user certificate -# 2 = check all CRLs in the certificate path -#check_crl=1 - -# dh_file: File path to DH/DSA parameters file (in PEM format) -# This is an optional configuration file for setting parameters for an -# ephemeral DH key exchange. In most cases, the default RSA authentication does -# not use this configuration. However, it is possible setup RSA to use -# ephemeral DH key exchange. In addition, ciphers with DSA keys always use -# ephemeral DH keys. This can be used to achieve forward secrecy. If the file -# is in DSA parameters format, it will be automatically converted into DH -# params. This parameter is required if anonymous EAP-FAST is used. -# You can generate DH parameters file with OpenSSL, e.g., -# "openssl dhparam -out /etc/hostapd.dh.pem 1024" -#dh_file=/etc/hostapd.dh.pem - -# Configuration data for EAP-SIM database/authentication gateway interface. -# This is a text string in implementation specific format. The example -# implementation in eap_sim_db.c uses this as the UNIX domain socket name for -# the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:" -# prefix. -#eap_sim_db=unix:/tmp/hlr_auc_gw.sock - -# Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret, -# random value. It is configured as a 16-octet value in hex format. It can be -# generated, e.g., with the following command: -# od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' ' -#pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f - -# EAP-FAST authority identity (A-ID) -# A-ID indicates the identity of the authority that issues PACs. The A-ID -# should be unique across all issuing servers. In theory, this is a variable -# length field, but due to some existing implementations required A-ID to be -# 16 octets in length, it is strongly recommended to use that length for the -# field to provided interoperability with deployed peer implementation. This -# field is configured in hex format. -#eap_fast_a_id=101112131415161718191a1b1c1d1e1f - -# EAP-FAST authority identifier information (A-ID-Info) -# This is a user-friendly name for the A-ID. For example, the enterprise name -# and server name in a human-readable format. This field is encoded as UTF-8. -#eap_fast_a_id_info=test server - -# Enable/disable different EAP-FAST provisioning modes: -#0 = provisioning disabled -#1 = only anonymous provisioning allowed -#2 = only authenticated provisioning allowed -#3 = both provisioning modes allowed (default) -#eap_fast_prov=3 - -# EAP-FAST PAC-Key lifetime in seconds (hard limit) -#pac_key_lifetime=604800 - -# EAP-FAST PAC-Key refresh time in seconds (soft limit on remaining hard -# limit). The server will generate a new PAC-Key when this number of seconds -# (or fewer) of the lifetime remains. -#pac_key_refresh_time=86400 - -# EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND -# (default: 0 = disabled). -#eap_sim_aka_result_ind=1 - -# Trusted Network Connect (TNC) -# If enabled, TNC validation will be required before the peer is allowed to -# connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other -# EAP method is enabled, the peer will be allowed to connect without TNC. -#tnc=1 - - -##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) ####################### - -# Interface to be used for IAPP broadcast packets -#iapp_interface=eth0 - - -##### RADIUS client configuration ############################################# -# for IEEE 802.1X with external Authentication Server, IEEE 802.11 -# authentication with external ACL for MAC addresses, and accounting - -# The own IP address of the access point (used as NAS-IP-Address) -own_ip_addr=127.0.0.1 - -# Optional NAS-Identifier string for RADIUS messages. When used, this should be -# a unique to the NAS within the scope of the RADIUS server. For example, a -# fully qualified domain name can be used here. -# When using IEEE 802.11r, nas_identifier must be set and must be between 1 and -# 48 octets long. -#nas_identifier=ap.example.com - -# RADIUS authentication server -#auth_server_addr=127.0.0.1 -#auth_server_port=1812 -#auth_server_shared_secret=secret - -# RADIUS accounting server -#acct_server_addr=127.0.0.1 -#acct_server_port=1813 -#acct_server_shared_secret=secret - -# Secondary RADIUS servers; to be used if primary one does not reply to -# RADIUS packets. These are optional and there can be more than one secondary -# server listed. -#auth_server_addr=127.0.0.2 -#auth_server_port=1812 -#auth_server_shared_secret=secret2 -# -#acct_server_addr=127.0.0.2 -#acct_server_port=1813 -#acct_server_shared_secret=secret2 - -# Retry interval for trying to return to the primary RADIUS server (in -# seconds). RADIUS client code will automatically try to use the next server -# when the current server is not replying to requests. If this interval is set, -# primary server will be retried after configured amount of time even if the -# currently used secondary server is still working. -#radius_retry_primary_interval=600 - - -# Interim accounting update interval -# If this is set (larger than 0) and acct_server is configured, hostapd will -# send interim accounting updates every N seconds. Note: if set, this overrides -# possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this -# value should not be configured in hostapd.conf, if RADIUS server is used to -# control the interim interval. -# This value should not be less 600 (10 minutes) and must not be less than -# 60 (1 minute). -#radius_acct_interim_interval=600 - -# Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN -# is used for the stations. This information is parsed from following RADIUS -# attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN), -# Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value -# VLANID as a string). vlan_file option below must be configured if dynamic -# VLANs are used. Optionally, the local MAC ACL list (accept_mac_file) can be -# used to set static client MAC address to VLAN ID mapping. -# 0 = disabled (default) -# 1 = option; use default interface if RADIUS server does not include VLAN ID -# 2 = required; reject authentication if RADIUS server does not include VLAN ID -#dynamic_vlan=0 - -# VLAN interface list for dynamic VLAN mode is read from a separate text file. -# This list is used to map VLAN ID from the RADIUS server to a network -# interface. Each station is bound to one interface in the same way as with -# multiple BSSIDs or SSIDs. Each line in this text file is defining a new -# interface and the line must include VLAN ID and interface name separated by -# white space (space or tab). -#vlan_file=/etc/hostapd.vlan - -# Interface where 802.1q tagged packets should appear when a RADIUS server is -# used to determine which VLAN a station is on. hostapd creates a bridge for -# each VLAN. Then hostapd adds a VLAN interface (associated with the interface -# indicated by 'vlan_tagged_interface') and the appropriate wireless interface -# to the bridge. -#vlan_tagged_interface=eth0 - - -##### RADIUS authentication server configuration ############################## - -# hostapd can be used as a RADIUS authentication server for other hosts. This -# requires that the integrated EAP server is also enabled and both -# authentication services are sharing the same configuration. - -# File name of the RADIUS clients configuration for the RADIUS server. If this -# commented out, RADIUS server is disabled. -#radius_server_clients=/etc/hostapd.radius_clients - -# The UDP port number for the RADIUS authentication server -#radius_server_auth_port=1812 - -# Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API) -#radius_server_ipv6=1 - - -##### WPA/IEEE 802.11i configuration ########################################## - -# Enable WPA. Setting this variable configures the AP to require WPA (either -# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either -# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK. -# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys), -# RADIUS authentication server must be configured, and WPA-EAP must be included -# in wpa_key_mgmt. -# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0) -# and/or WPA2 (full IEEE 802.11i/RSN): -# bit0 = WPA -# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) -#wpa=1 - -# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit -# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase -# (8..63 characters) that will be converted to PSK. This conversion uses SSID -# so the PSK changes when ASCII passphrase is used and the SSID is changed. -# wpa_psk (dot11RSNAConfigPSKValue) -# wpa_passphrase (dot11RSNAConfigPSKPassPhrase) -#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef -#wpa_passphrase=qualcomm - -# Optionally, WPA PSKs can be read from a separate text file (containing list -# of (PSK,MAC address) pairs. This allows more than one PSK to be configured. -# Use absolute path name to make sure that the files can be read on SIGHUP -# configuration reloads. -#wpa_psk_file=/etc/hostapd.wpa_psk - -# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The -# entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be -# added to enable SHA256-based stronger algorithms. -# (dot11RSNAConfigAuthenticationSuitesTable) -#wpa_key_mgmt=WPA-PSK -#wpa_key_mgmt=WPA-EAP - -# Set of accepted cipher suites (encryption algorithms) for pairwise keys -# (unicast packets). This is a space separated list of algorithms: -# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] -# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0] -# Group cipher suite (encryption algorithm for broadcast and multicast frames) -# is automatically selected based on this configuration. If only CCMP is -# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise, -# TKIP will be used as the group cipher. -# (dot11RSNAConfigPairwiseCiphersTable) -# Pairwise cipher for WPA (v1) (default: TKIP) -#wpa_pairwise=TKIP CCMP -# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value) -#rsn_pairwise=CCMP - -# Time interval for rekeying GTK (broadcast/multicast encryption keys) in -# seconds. (dot11RSNAConfigGroupRekeyTime) -wpa_group_rekey=86400 - -# Rekey GTK when any STA that possesses the current GTK is leaving the BSS. -# (dot11RSNAConfigGroupRekeyStrict) -#wpa_strict_rekey=1 - -# Time interval for rekeying GMK (master key used internally to generate GTKs -# (in seconds). -#wpa_gmk_rekey=86400 - -# Maximum lifetime for PTK in seconds. This can be used to enforce rekeying of -# PTK to mitigate some attacks against TKIP deficiencies. -#wpa_ptk_rekey=600 - -# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up -# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN -# authentication and key handshake before actually associating with a new AP. -# (dot11RSNAPreauthenticationEnabled) -#rsn_preauth=1 -# -# Space separated list of interfaces from which pre-authentication frames are -# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all -# interface that are used for connections to other APs. This could include -# wired interfaces and WDS links. The normal wireless data interface towards -# associated stations (e.g., wlan0) should not be added, since -# pre-authentication is only used with APs other than the currently associated -# one. -#rsn_preauth_interfaces=eth0 - -# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is -# allowed. This is only used with RSN/WPA2. -# 0 = disabled (default) -# 1 = enabled -#peerkey=1 - -# ieee80211w: Whether management frame protection (MFP) is enabled -# 0 = disabled (default) -# 1 = optional -# 2 = required -#ieee80211w=0 - -# Association SA Query maximum timeout (in TU = 1.024 ms; for MFP) -# (maximum time to wait for a SA Query response) -# dot11AssociationSAQueryMaximumTimeout, 1...4294967295 -#assoc_sa_query_max_timeout=1000 - -# Association SA Query retry timeout (in TU = 1.024 ms; for MFP) -# (time between two subsequent SA Query requests) -# dot11AssociationSAQueryRetryTimeout, 1...4294967295 -#assoc_sa_query_retry_timeout=201 - - -# okc: Opportunistic Key Caching (aka Proactive Key Caching) -# Allow PMK cache to be shared opportunistically among configured interfaces -# and BSSes (i.e., all configurations within a single hostapd process). -# 0 = disabled (default) -# 1 = enabled -#okc=1 - - -##### IEEE 802.11r configuration ############################################## - -# Mobility Domain identifier (dot11FTMobilityDomainID, MDID) -# MDID is used to indicate a group of APs (within an ESS, i.e., sharing the -# same SSID) between which a STA can use Fast BSS Transition. -# 2-octet identifier as a hex string. -#mobility_domain=a1b2 - -# PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID) -# 1 to 48 octet identifier. -# This is configured with nas_identifier (see RADIUS client section above). - -# Default lifetime of the PMK-RO in minutes; range 1..65535 -# (dot11FTR0KeyLifetime) -#r0_key_lifetime=10000 - -# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID) -# 6-octet identifier as a hex string. -#r1_key_holder=000102030405 - -# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535) -# (dot11FTReassociationDeadline) -#reassociation_deadline=1000 - -# List of R0KHs in the same Mobility Domain -# format: <128-bit key as hex string> -# This list is used to map R0KH-ID (NAS Identifier) to a destination MAC -# address when requesting PMK-R1 key from the R0KH that the STA used during the -# Initial Mobility Domain Association. -#r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f -#r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff -# And so on.. One line per R0KH. - -# List of R1KHs in the same Mobility Domain -# format: <128-bit key as hex string> -# This list is used to map R1KH-ID to a destination MAC address when sending -# PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD -# that can request PMK-R1 keys. -#r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f -#r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff -# And so on.. One line per R1KH. - -# Whether PMK-R1 push is enabled at R0KH -# 0 = do not push PMK-R1 to all configured R1KHs (default) -# 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived -#pmk_r1_push=1 - -##### Passive scanning ######################################################## -# Scan different channels every N seconds. 0 = disable passive scanning. -#passive_scan_interval=60 - -# Listen N usecs on each channel when doing passive scanning. -# This value plus the time needed for changing channels should be less than -# 32 milliseconds (i.e. 32000 usec) to avoid interruptions to normal -# operations. Time needed for channel changing varies based on the used wlan -# hardware. -# default: disabled (0) -#passive_scan_listen=10000 - -# Passive scanning mode: -# 0 = scan all supported modes (802.11a/b/g/Turbo) (default) -# 1 = scan only the mode that is currently used for normal operations -#passive_scan_mode=1 - -# Maximum number of entries kept in AP table (either for passive scanning or -# for detecting Overlapping Legacy BSS Condition). The oldest entry will be -# removed when adding a new entry that would make the list grow over this -# limit. Note! Wi-Fi certification for IEEE 802.11g requires that OLBC is -# enabled, so this field should not be set to 0 when using IEEE 802.11g. -# default: 255 -#ap_table_max_size=255 - -# Number of seconds of no frames received after which entries may be deleted -# from the AP table. Since passive scanning is not usually performed frequently -# this should not be set to very small value. In addition, there is no -# guarantee that every scan cycle will receive beacon frames from the -# neighboring APs. -# default: 60 -#ap_table_expiration_time=3600 - - -##### Wi-Fi Protected Setup (WPS) ############################################# - -# WPS state -# 0 = WPS disabled (default) -# 1 = WPS enabled, not configured -# 2 = WPS enabled, configured -wps_state=2 - -# AP can be configured into a locked state where new WPS Registrar are not -# accepted, but previously authorized Registrars (including the internal one) -# can continue to add new Enrollees. -ap_setup_locked=1 - -# Universally Unique IDentifier (UUID; see RFC 4122) of the device -# This value is used as the UUID for the internal WPS Registrar. If the AP -# is also using UPnP, this value should be set to the device's UPnP UUID. -# If not configured, UUID will be generated based on the local MAC address. -#uuid=12345678-9abc-def0-1234-56789abcdef0 - -# Note: If wpa_psk_file is set, WPS is used to generate random, per-device PSKs -# that will be appended to the wpa_psk_file. If wpa_psk_file is not set, the -# default PSK (wpa_psk/wpa_passphrase) will be delivered to Enrollees. Use of -# per-device PSKs is recommended as the more secure option (i.e., make sure to -# set wpa_psk_file when using WPS with WPA-PSK). - -# When an Enrollee requests access to the network with PIN method, the Enrollee -# PIN will need to be entered for the Registrar. PIN request notifications are -# sent to hostapd ctrl_iface monitor. In addition, they can be written to a -# text file that could be used, e.g., to populate the AP administration UI with -# pending PIN requests. If the following variable is set, the PIN requests will -# be written to the configured file. -#wps_pin_requests=/var/run/hostapd_wps_pin_requests - -# Device Name -# User-friendly description of device; up to 32 octets encoded in UTF-8 -#device_name=Wireless AP - -# Manufacturer -# The manufacturer of the device (up to 64 ASCII characters) -#manufacturer=Qualcomm - -# Model Name -# Model of the device (up to 32 ASCII characters) -#model_name=QualcommSoftAP - -# Model Number -# Additional device description (up to 32 ASCII characters) -#model_number=123 - -# Serial Number -# Serial number of the device (up to 32 characters) -#serial_number=12345 - -# Primary Device Type -# Used format: -- -# categ = Category as an integer value -# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for -# default WPS OUI -# subcateg = OUI-specific Sub Category as an integer value -# Examples: -# 1-0050F204-1 (Computer / PC) -# 1-0050F204-2 (Computer / Server) -# 5-0050F204-1 (Storage / NAS) -# 6-0050F204-1 (Network Infrastructure / AP) -#device_type=6-0050F204-1 - -# OS Version -# 4-octet operating system version number (hex string) -#os_version=01020300 - -# Config Methods -# List of the supported configuration methods -config_methods=label display push_button keypad - -# Access point PIN for initial configuration and adding Registrars -# If not set, hostapd will not allow external WPS Registrars to control the -# access point. -#ap_pin=12345670 - -# Skip building of automatic WPS credential -# This can be used to allow the automatically generated Credential attribute to -# be replaced with pre-configured Credential(s). -#skip_cred_build=1 - -# Additional Credential attribute(s) -# This option can be used to add pre-configured Credential attributes into M8 -# message when acting as a Registrar. If skip_cred_build=1, this data will also -# be able to override the Credential attribute that would have otherwise been -# automatically generated based on network configuration. This configuration -# option points to an external file that much contain the WPS Credential -# attribute(s) as binary data. -#extra_cred=hostapd.cred - -# Credential processing -# 0 = process received credentials internally (default) -# 1 = do not process received credentials; just pass them over ctrl_iface to -# external program(s) -# 2 = process received credentials internally and pass them over ctrl_iface -# to external program(s) -# Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and -# extra_cred be used to provide the Credential data for Enrollees. -# -# wps_cred_processing=1 will disabled automatic updates of hostapd.conf file -# both for Credential processing and for marking AP Setup Locked based on -# validation failures of AP PIN. An external program is responsible on updating -# the configuration appropriately in this case. -wps_cred_processing=0 - -# AP Settings Attributes for M7 -# By default, hostapd generates the AP Settings Attributes for M7 based on the -# current configuration. It is possible to override this by providing a file -# with pre-configured attributes. This is similar to extra_cred file format, -# but the AP Settings attributes are not encapsulated in a Credential -# attribute. -#ap_settings=hostapd.ap_settings - -# WPS UPnP interface -# If set, support for external Registrars is enabled. -#upnp_iface=br0 - -# Friendly Name (required for UPnP) -# Short description for end use. Should be less than 64 characters. -#friendly_name=Qualcomm Access Point - -# Manufacturer URL (optional for UPnP) -#manufacturer_url=http://www.qualcomm.com/ - -# Model Description (recommended for UPnP) -# Long description for end user. Should be less than 128 characters. -#model_description=Wireless Access Point - -# Model URL (optional for UPnP) -#model_url=http://www.qualcomm.com/ - -# Universal Product Code (optional for UPnP) -# 12-digit, all-numeric code that identifies the consumer package. -#upc=123456789012 - -##### Multiple BSSID support ################################################## -# -# Above configuration is using the default interface (wlan#, or multi-SSID VLAN -# interfaces). Other BSSIDs can be added by using separator 'bss' with -# default interface name to be allocated for the data packets of the new BSS. -# -# hostapd will generate BSSID mask based on the BSSIDs that are -# configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is -# not the case, the MAC address of the radio must be changed before starting -# hostapd (ifconfig wlan0 hw ether ). -# -# BSSIDs are assigned in order to each BSS, unless an explicit BSSID is -# specified using the 'bssid' parameter. -# If an explicit BSSID is specified, it must be chosen such that it: -# - results in a valid MASK that covers it and the dev_addr -# - is not the same as the MAC address of the radio -# - is not the same as any other explicitly specified BSSID -# -# Please note that hostapd uses some of the values configured for the first BSS -# as the defaults for the following BSSes. However, it is recommended that all -# BSSes include explicit configuration of all relevant configuration items. -# -#bss=wlan0_0 -#ssid=test2 -# most of the above items can be used here (apart from radio interface specific -# items, like channel) - -#bss=wlan0_1 -#bssid=00:13:10:95:fe:0b -# ... diff --git a/rootdir/etc/init.deb.rc b/init.deb.rc similarity index 70% rename from rootdir/etc/init.deb.rc rename to init.deb.rc index 4714af5..b777026 100644 --- a/rootdir/etc/init.deb.rc +++ b/init.deb.rc @@ -15,19 +15,17 @@ # import init.flo.usb.rc -import init.flo.power.rc +import init.flo.diag.rc on early-init mount debugfs debugfs /sys/kernel/debug chown system system /sys/kernel/debug/kgsl/proc symlink /data/tombstones /tombstones - write /sys/devices/virtual/graphics/fb0/rgb "32768 32768 32768" on init - # Support legacy paths - symlink /sdcard /mnt/sdcard symlink /sdcard /storage/sdcard0 +on init # Set permissions for persist partition mkdir /persist 0771 system system mkdir /firmware 0771 system system @@ -55,9 +53,6 @@ on boot # Allow QMUX daemon to assign port open wait time chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait - # java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied) - chmod 0644 /proc/cmdline - #port-bridge chmod 0660 /dev/smd0 chown system system /dev/smd0 @@ -110,18 +105,14 @@ on boot #Enable logging of the wake up reasons in the kernel log write /sys/module/msm_show_resume_irq/parameters/debug_mask 1 - # CPUFreq limit - chown system system /sys/kernel/cpufreq_limit/limited_max_freq - chown system system /sys/kernel/cpufreq_limit/limited_min_freq - # NFC: create data/nfc for nv storage mkdir /data/nfc 770 nfc nfc mkdir /data/nfc/param 770 nfc nfc # Assign TCP buffer thresholds to be ceiling value of technology maximums # Increased technology maximums should be reflected here. - write /proc/sys/net/core/rmem_max 2097152 - write /proc/sys/net/core/wmem_max 2097152 + write /proc/sys/net/core/rmem_max 1220608 + write /proc/sys/net/core/wmem_max 1220608 # msm specific files that need to be created on /data on post-fs-data @@ -134,6 +125,9 @@ on post-fs-data mkdir /tombstones/dsps 0771 system system mkdir /tombstones/mdm 0771 system system +# to observe dnsmasq.leases file for dhcp information of soft ap. + chown dhcp system /data/misc/dhcp + # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio @@ -171,12 +165,6 @@ on post-fs-data # Modify from 777 (for camera calibration) to 775 chmod 775 /persist/camera_calibration - # Modify from 777 (for lightsensor) to 775 - chmod 775 /persist/lightsensor - - # Modify from 777 (for lightsensor calibration data) to 664 - chmod 664 /persist/lightsensor/AL3010_Config.ini - chmod 664 /persist/ssn chmod 664 /persist/60isn @@ -191,6 +179,8 @@ on post-fs-data mkdir /data/qcks 0770 system system chown system /dev/block/platform/msm_sdcc.1/by-name + setprop vold.post_fs_data_done 1 + rm /data/local/tmp/adreno_config.txt # White LED @@ -206,7 +196,63 @@ on post-fs-data # adjust vibrator amplitude write /sys/class/timed_output/vibrator/amp 70 - setprop vold.post_fs_data_done 1 + # Enable Power modes and set the CPU Freq Sampling rates + write /sys/module/rpm_resources/enable_low_power/L2_cache 1 + write /sys/module/rpm_resources/enable_low_power/pxo 1 + write /sys/module/rpm_resources/enable_low_power/vdd_dig 1 + write /sys/module/rpm_resources/enable_low_power/vdd_mem 1 + write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "ondemand" + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "ondemand" + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "ondemand" + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "ondemand" + write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90 + write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000 + write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1 + write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4 + write /sys/devices/system/cpu/cpufreq/ondemand/down_differential 10 + write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core 60 + write /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core 3 + write /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq 918000 + write /sys/devices/system/cpu/cpufreq/ondemand/sync_freq 1026000 + write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load 80 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu1/online 1 + write /sys/devices/system/cpu/cpu2/online 1 + write /sys/devices/system/cpu/cpu3/online 1 + write /dev/cpuctl/apps/cpu.notify_on_migrate 1 + +on charger + # Enable Power modes and set the CPU Freq Sampling rates + write /sys/module/rpm_resources/enable_low_power/L2_cache 1 + write /sys/module/rpm_resources/enable_low_power/pxo 1 + write /sys/module/rpm_resources/enable_low_power/vdd_dig 1 + write /sys/module/rpm_resources/enable_low_power/vdd_mem 1 + write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled 1 + write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave" + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "powersave" + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "powersave" + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "powersave" + write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90 + write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000 + write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1 + write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 384000 + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 384000 + service irsc_util /system/bin/irsc_util "/etc/sec_config" class main @@ -250,7 +296,7 @@ service ks_checker /system/bin/kickstart_checker.sh service kickstart /system/bin/qcks -i /firmware/image/ -r /data/tombstones/mdm/ class core user system - group system wakelock + group system disabled oneshot @@ -303,6 +349,7 @@ service p2p_supplicant /system/bin/wpa_supplicant \ oneshot + on property:ro.data.large_tcp_window_size=true # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) write /proc/sys/net/ipv4/tcp_adv_win_scale 1 @@ -314,12 +361,12 @@ service charger /sbin/healthd -c service thermald /system/bin/thermald class main - group radio system + group radio -service mpdecision /system/bin/mpdecision --avg_comp +service mpdecision /system/bin/mpdecision --no_sleep --avg_comp class main user root - group root readproc system + group root system service qcamerasvr /system/bin/mm-qcamera-daemon class late_start @@ -338,6 +385,14 @@ service bdAddrLoader /system/bin/bdAddrLoader -f /persist/bluetooth/.bdaddr -h - group system bluetooth net_bt_stack oneshot +# bugreport is triggered by holding down volume down, volume up and power +service bugreport /system/bin/dumpstate -d -p -B \ + -o /data/data/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot + keycodes 114 115 116 + service qseecomd /system/bin/qseecomd class late_start user system diff --git a/kernel-headers/media/msm_cam_sensor.h b/kernel-headers/media/msm_cam_sensor.h new file mode 100644 index 0000000..4a67c61 --- /dev/null +++ b/kernel-headers/media/msm_cam_sensor.h @@ -0,0 +1,579 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _UAPI_MEDIA_MSM_CAM_SENSOR_H +#define _UAPI_MEDIA_MSM_CAM_SENSOR_H +#ifdef MSM_CAMERA_BIONIC +#include +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif +#include +#include +#include +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define I2C_SEQ_REG_SETTING_MAX 5 +#define I2C_SEQ_REG_DATA_MAX 20 +#define MAX_CID 16 +#define MSM_SENSOR_MCLK_8HZ 8000000 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_SENSOR_MCLK_16HZ 16000000 +#define MSM_SENSOR_MCLK_24HZ 24000000 +#define GPIO_OUT_LOW (0 << 1) +#define GPIO_OUT_HIGH (1 << 1) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CSI_EMBED_DATA 0x12 +#define CSI_RESERVED_DATA_0 0x13 +#define CSI_YUV422_8 0x1E +#define CSI_RAW8 0x2A +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CSI_RAW10 0x2B +#define CSI_RAW12 0x2C +#define CSI_DECODE_6BIT 0 +#define CSI_DECODE_8BIT 1 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CSI_DECODE_10BIT 2 +#define CSI_DECODE_DPCM_10_8_10 5 +#define MAX_SENSOR_NAME 32 +#define MAX_ACT_MOD_NAME_SIZE 32 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MAX_ACT_NAME_SIZE 32 +#define NUM_ACTUATOR_DIR 2 +#define MAX_ACTUATOR_SCENARIO 8 +#define MAX_ACTUATOR_REGION 5 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MAX_ACTUATOR_INIT_SET 12 +#define MAX_ACTUATOR_REG_TBL_SIZE 8 +#define MOVE_NEAR 0 +#define MOVE_FAR 1 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MAX_EEPROM_NAME 32 +enum msm_camera_i2c_reg_addr_type { + MSM_CAMERA_I2C_BYTE_ADDR = 1, + MSM_CAMERA_I2C_WORD_ADDR, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_camera_i2c_data_type { + MSM_CAMERA_I2C_BYTE_DATA = 1, + MSM_CAMERA_I2C_WORD_DATA, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_CAMERA_I2C_SET_BYTE_MASK, + MSM_CAMERA_I2C_UNSET_BYTE_MASK, + MSM_CAMERA_I2C_SET_WORD_MASK, + MSM_CAMERA_I2C_UNSET_WORD_MASK, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_CAMERA_I2C_SET_BYTE_WRITE_MASK_DATA, +}; +enum msm_sensor_power_seq_type_t { + SENSOR_CLK, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SENSOR_GPIO, + SENSOR_VREG, + SENSOR_I2C_MUX, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_sensor_clk_type_t { + SENSOR_CAM_MCLK, + SENSOR_CAM_CLK, + SENSOR_CAM_CLK_MAX, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_sensor_power_seq_gpio_t { + SENSOR_GPIO_RESET, + SENSOR_GPIO_STANDBY, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SENSOR_GPIO_MAX, +}; +enum msm_camera_vreg_name_t { + CAM_VDIG, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CAM_VIO, + CAM_VANA, + CAM_VAF, + CAM_VREG_MAX, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_sensor_resolution_t { + MSM_SENSOR_RES_FULL, + MSM_SENSOR_RES_QTR, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_SENSOR_RES_2, + MSM_SENSOR_RES_3, + MSM_SENSOR_RES_4, + MSM_SENSOR_RES_5, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_SENSOR_RES_6, + MSM_SENSOR_RES_7, + MSM_SENSOR_INVALID_RES, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum sensor_sub_module_t { + SUB_MODULE_SENSOR, + SUB_MODULE_CHROMATIX, + SUB_MODULE_ACTUATOR, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SUB_MODULE_EEPROM, + SUB_MODULE_LED_FLASH, + SUB_MODULE_STROBE_FLASH, + SUB_MODULE_CSID, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SUB_MODULE_CSID_3D, + SUB_MODULE_CSIPHY, + SUB_MODULE_CSIPHY_3D, + SUB_MODULE_MAX, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum csid_cfg_type_t { + CSID_INIT, + CSID_CFG, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CSID_RELEASE, +}; +enum csiphy_cfg_type_t { + CSIPHY_INIT, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CSIPHY_CFG, + CSIPHY_RELEASE, +}; +enum camera_vreg_type { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + REG_LDO, + REG_VS, + REG_GPIO, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_sensor_power_setting { + enum msm_sensor_power_seq_type_t seq_type; + uint16_t seq_val; + long config_val; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t delay; + void *data[10]; +}; +struct msm_sensor_power_setting_array { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_sensor_power_setting *power_setting; + uint16_t size; +}; +struct msm_sensor_id_info_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t sensor_id_reg_addr; + uint16_t sensor_id; +}; +struct msm_camera_sensor_slave_info { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t slave_addr; + enum msm_camera_i2c_reg_addr_type addr_type; + struct msm_sensor_id_info_t sensor_id_info; + struct msm_sensor_power_setting_array power_setting_array; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_camera_i2c_reg_array { + uint16_t reg_addr; + uint16_t reg_data; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_camera_i2c_reg_setting { + struct msm_camera_i2c_reg_array *reg_setting; + uint16_t size; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_camera_i2c_reg_addr_type addr_type; + enum msm_camera_i2c_data_type data_type; + uint16_t delay; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_camera_i2c_seq_reg_array { + uint16_t reg_addr; + uint8_t reg_data[I2C_SEQ_REG_DATA_MAX]; + uint16_t reg_data_size; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_camera_i2c_seq_reg_setting { + struct msm_camera_i2c_seq_reg_array *reg_setting; + uint16_t size; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_camera_i2c_reg_addr_type addr_type; + uint16_t delay; +}; +struct msm_camera_csid_vc_cfg { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t cid; + uint8_t dt; + uint8_t decode_format; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_camera_csid_lut_params { + uint8_t num_cid; + struct msm_camera_csid_vc_cfg *vc_cfg[MAX_CID]; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_camera_csid_params { + uint8_t lane_cnt; + uint16_t lane_assign; + uint8_t phy_sel; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_camera_csid_lut_params lut_params; +}; +struct msm_camera_csiphy_params { + uint8_t lane_cnt; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t settle_cnt; + uint16_t lane_mask; + uint8_t combo_mode; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_camera_csi2_params { + struct msm_camera_csid_params csid_params; + struct msm_camera_csiphy_params csiphy_params; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_camera_csi_lane_params { + uint16_t csi_lane_assign; + uint16_t csi_lane_mask; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct csi_lane_params_t { + uint16_t csi_lane_assign; + uint8_t csi_lane_mask; + uint8_t csi_if; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t csid_core[2]; + uint8_t csi_phy_sel; +}; +struct msm_sensor_info_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + char sensor_name[MAX_SENSOR_NAME]; + int32_t session_id; + int32_t subdev_id[SUB_MODULE_MAX]; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct camera_vreg_t { + const char *reg_name; + enum camera_vreg_type type; + int min_voltage; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int max_voltage; + int op_mode; + uint32_t delay; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum camb_position_t { + BACK_CAMERA_B, + FRONT_CAMERA_B, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum camerab_mode_t { + CAMERA_MODE_2D_B = (1<<0), + CAMERA_MODE_3D_B = (1<<1) +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_sensor_init_params { + int modes_supported; + enum camb_position_t position; + uint32_t sensor_mount_angle; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct sensorb_cfg_data { + int cfgtype; + union { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_sensor_info_t sensor_info; + struct msm_sensor_init_params sensor_init_params; + void *setting; + int8_t effect; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t wb_val; + int8_t exp_compensation; + int8_t fps; + } cfg; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct csid_cfg_data { + enum csid_cfg_type_t cfgtype; + union { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t csid_version; + struct msm_camera_csid_params *csid_params; + } cfg; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct csiphy_cfg_data { + enum csiphy_cfg_type_t cfgtype; + union { + struct msm_camera_csiphy_params *csiphy_params; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_camera_csi_lane_params *csi_lane_params; + } cfg; +}; +enum eeprom_cfg_type_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_EEPROM_GET_INFO, + CFG_EEPROM_GET_DATA, + CFG_EEPROM_READ_DATA, + CFG_EEPROM_WRITE_DATA, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct eeprom_get_t { + uint16_t num_bytes; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct eeprom_read_t { + uint8_t *dbuffer; + uint16_t num_bytes; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct eeprom_write_t { + uint8_t *dbuffer; + uint16_t num_bytes; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_eeprom_cfg_data { + enum eeprom_cfg_type_t cfgtype; + uint8_t is_supported; + union { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + char eeprom_name[MAX_SENSOR_NAME]; + struct eeprom_get_t get_data; + struct eeprom_read_t read_data; + struct eeprom_write_t write_data; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + } cfg; +}; +enum msm_sensor_cfg_type_t { + CFG_SET_SLAVE_INFO, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_WRITE_I2C_ARRAY, + CFG_WRITE_I2C_SEQ_ARRAY, + CFG_POWER_UP, + CFG_POWER_DOWN, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_SET_STOP_STREAM_SETTING, + CFG_GET_SENSOR_INFO, + CFG_GET_SENSOR_INIT_PARAMS, + CFG_SET_INIT_SETTING, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_SET_RESOLUTION, + CFG_SET_STOP_STREAM, + CFG_SET_START_STREAM, + CFG_SET_EFFECT, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_SET_WB, + CFG_SET_FPS, + CFG_SET_EXPOSURE_COMPENSATION, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_actuator_cfg_type_t { + CFG_GET_ACTUATOR_INFO, + CFG_SET_ACTUATOR_INFO, + CFG_SET_DEFAULT_FOCUS, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CFG_MOVE_FOCUS, + CFG_ACTUATOR_POWERDOWN, +}; +enum actuator_type { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ACTUATOR_VCM, + ACTUATOR_PIEZO, +}; +enum msm_actuator_data_type { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_ACTUATOR_BYTE_DATA = 1, + MSM_ACTUATOR_WORD_DATA, +}; +enum msm_actuator_addr_type { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_ACTUATOR_BYTE_ADDR = 1, + MSM_ACTUATOR_WORD_ADDR, +}; +struct reg_settings_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t reg_addr; + uint16_t reg_data; +}; +struct region_params_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t step_bound[2]; + uint16_t code_per_step; +}; +struct damping_params_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t damping_step; + uint32_t damping_delay; + uint32_t hw_params; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_actuator_move_params_t { + int8_t dir; + int8_t sign_dir; + int16_t dest_step_pos; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int32_t num_steps; + struct damping_params_t *ringing_params; +}; +struct msm_actuator_tuning_params_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int16_t initial_code; + uint16_t pwd_step; + uint16_t region_size; + uint32_t total_steps; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct region_params_t *region_params; +}; +struct msm_actuator_params_t { + enum actuator_type act_type; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t reg_tbl_size; + uint16_t data_size; + uint16_t init_setting_size; + uint32_t i2c_addr; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_actuator_addr_type i2c_addr_type; + enum msm_actuator_data_type i2c_data_type; + struct msm_actuator_reg_params_t *reg_tbl_params; + struct reg_settings_t *init_settings; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_actuator_set_info_t { + struct msm_actuator_params_t actuator_params; + struct msm_actuator_tuning_params_t af_tuning_params; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_actuator_get_info_t { + uint32_t focal_length_num; + uint32_t focal_length_den; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t f_number_num; + uint32_t f_number_den; + uint32_t f_pix_num; + uint32_t f_pix_den; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t total_f_dist_num; + uint32_t total_f_dist_den; + uint32_t hor_view_angle_num; + uint32_t hor_view_angle_den; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t ver_view_angle_num; + uint32_t ver_view_angle_den; +}; +enum af_camera_name { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ACTUATOR_MAIN_CAM_0, + ACTUATOR_MAIN_CAM_1, + ACTUATOR_MAIN_CAM_2, + ACTUATOR_MAIN_CAM_3, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ACTUATOR_MAIN_CAM_4, + ACTUATOR_MAIN_CAM_5, + ACTUATOR_WEB_CAM_0, + ACTUATOR_WEB_CAM_1, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ACTUATOR_WEB_CAM_2, +}; +#define CAMERA_EFFECT_OFF 0 +#define CAMERA_EFFECT_MONO 1 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAMERA_EFFECT_NEGATIVE 2 +#define CAMERA_EFFECT_SOLARIZE 3 +#define CAMERA_EFFECT_SEPIA 4 +#define CAMERA_EFFECT_POSTERIZE 5 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAMERA_EFFECT_WHITEBOARD 6 +#define CAMERA_EFFECT_BLACKBOARD 7 +#define CAMERA_EFFECT_AQUA 8 +#define CAMERA_EFFECT_EMBOSS 9 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAMERA_EFFECT_SKETCH 10 +#define CAMERA_EFFECT_NEON 11 +#define CAMERA_EFFECT_MAX 12 +#define YUV_CAMERA_WB_AUTO 0 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define YUV_CAMERA_WB_CUSTOM 1 +#define YUV_CAMERA_WB_INCANDESCENT 2 +#define YUV_CAMERA_WB_FLUORESCENT 3 +#define YUV_CAMERA_WB_WARM_FLUORESCENT 4 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define YUV_CAMERA_WB_DAYLIGHT 5 +#define YUV_CAMERA_WB_CLOUDY_DAYLIGHT 6 +#define YUV_CAMERA_WB_TWILIGHT 7 +#define YUV_CAMERA_WB_SHADE 8 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAMERA_EXPOSURE_COMPENSATION_LV0 12 +#define CAMERA_EXPOSURE_COMPENSATION_LV1 6 +#define CAMERA_EXPOSURE_COMPENSATION_LV2 0 +#define CAMERA_EXPOSURE_COMPENSATION_LV3 -6 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAMERA_EXPOSURE_COMPENSATION_LV4 -12 +#define CAMERA_FPS_FIX_30 30 +#define CAMERA_FPS_FIX_25 25 +#define CAMERA_FPS_FIX_24 24 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAMERA_FPS_FIX_20 20 +#define CAMERA_FPS_FIX_15 15 +#define CAMERA_FPS_AUTO_30 0 +struct msm_actuator_cfg_data { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int cfgtype; + uint8_t is_af_supported; + union { + struct msm_actuator_move_params_t move; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_actuator_set_info_t set_info; + struct msm_actuator_get_info_t get_info; + enum af_camera_name cam_name; + } cfg; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_actuator_write_type { + MSM_ACTUATOR_WRITE_HW_DAMP, + MSM_ACTUATOR_WRITE_DAC, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_actuator_reg_params_t { + enum msm_actuator_write_type reg_write_type; + uint32_t hw_mask; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint16_t reg_addr; + uint16_t hw_shift; + uint16_t data_shift; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_camera_led_config_t { + MSM_CAMERA_LED_OFF, + MSM_CAMERA_LED_LOW, + MSM_CAMERA_LED_HIGH, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_CAMERA_LED_INIT, + MSM_CAMERA_LED_RELEASE, +}; +struct msm_camera_led_cfg_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_camera_led_config_t cfgtype; +}; +#define VIDIOC_MSM_SENSOR_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct sensorb_cfg_data) +#define VIDIOC_MSM_SENSOR_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_SENSOR_GET_SUBDEV_ID _IOWR('V', BASE_VIDIOC_PRIVATE + 3, uint32_t) +#define VIDIOC_MSM_CSIPHY_IO_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct csid_cfg_data) +#define VIDIOC_MSM_CSID_IO_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct csiphy_cfg_data) +#define VIDIOC_MSM_ACTUATOR_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_actuator_cfg_data) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_FLASH_LED_DATA_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_led_cfg_t) +#define VIDIOC_MSM_EEPROM_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_eeprom_cfg_data) +#define MSM_V4L2_PIX_FMT_META v4l2_fourcc('M', 'E', 'T', 'A') +#define MSM_V4L2_PIX_FMT_RESERVED_0 v4l2_fourcc('R', 'E', 'S', '0') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif diff --git a/kernel-headers/media/msm_gemini.h b/kernel-headers/media/msm_gemini.h new file mode 100644 index 0000000..4a49b76 --- /dev/null +++ b/kernel-headers/media/msm_gemini.h @@ -0,0 +1,106 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __LINUX_MSM_GEMINI_H +#define __LINUX_MSM_GEMINI_H +#include +#include +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GMN_IOCTL_MAGIC 'g' +#define MSM_GMN_IOCTL_GET_HW_VERSION _IOW(MSM_GMN_IOCTL_MAGIC, 1, struct msm_gemini_hw_cmd *) +#define MSM_GMN_IOCTL_RESET _IOW(MSM_GMN_IOCTL_MAGIC, 2, struct msm_gemini_ctrl_cmd *) +#define MSM_GMN_IOCTL_STOP _IOW(MSM_GMN_IOCTL_MAGIC, 3, struct msm_gemini_hw_cmds *) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GMN_IOCTL_START _IOW(MSM_GMN_IOCTL_MAGIC, 4, struct msm_gemini_hw_cmds *) +#define MSM_GMN_IOCTL_INPUT_BUF_ENQUEUE _IOW(MSM_GMN_IOCTL_MAGIC, 5, struct msm_gemini_buf *) +#define MSM_GMN_IOCTL_INPUT_GET _IOW(MSM_GMN_IOCTL_MAGIC, 6, struct msm_gemini_buf *) +#define MSM_GMN_IOCTL_INPUT_GET_UNBLOCK _IOW(MSM_GMN_IOCTL_MAGIC, 7, int) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GMN_IOCTL_OUTPUT_BUF_ENQUEUE _IOW(MSM_GMN_IOCTL_MAGIC, 8, struct msm_gemini_buf *) +#define MSM_GMN_IOCTL_OUTPUT_GET _IOW(MSM_GMN_IOCTL_MAGIC, 9, struct msm_gemini_buf *) +#define MSM_GMN_IOCTL_OUTPUT_GET_UNBLOCK _IOW(MSM_GMN_IOCTL_MAGIC, 10, int) +#define MSM_GMN_IOCTL_EVT_GET _IOW(MSM_GMN_IOCTL_MAGIC, 11, struct msm_gemini_ctrl_cmd *) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GMN_IOCTL_EVT_GET_UNBLOCK _IOW(MSM_GMN_IOCTL_MAGIC, 12, int) +#define MSM_GMN_IOCTL_HW_CMD _IOW(MSM_GMN_IOCTL_MAGIC, 13, struct msm_gemini_hw_cmd *) +#define MSM_GMN_IOCTL_HW_CMDS _IOW(MSM_GMN_IOCTL_MAGIC, 14, struct msm_gemini_hw_cmds *) +#define MSM_GMN_IOCTL_TEST_DUMP_REGION _IOW(MSM_GMN_IOCTL_MAGIC, 15, unsigned long) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GMN_IOCTL_SET_MODE _IOW(MSM_GMN_IOCTL_MAGIC, 16, enum msm_gmn_out_mode) +#define MSM_GEMINI_MODE_REALTIME_ENCODE 0 +#define MSM_GEMINI_MODE_OFFLINE_ENCODE 1 +#define MSM_GEMINI_MODE_REALTIME_ROTATION 2 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GEMINI_MODE_OFFLINE_ROTATION 3 +enum msm_gmn_out_mode { + MSM_GMN_OUTMODE_FRAGMENTED, + MSM_GMN_OUTMODE_SINGLE +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_gemini_ctrl_cmd { + uint32_t type; + uint32_t len; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + void *value; +}; +#define MSM_GEMINI_EVT_RESET 0 +#define MSM_GEMINI_EVT_FRAMEDONE 1 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GEMINI_EVT_ERR 2 +struct msm_gemini_buf { + uint32_t type; + int fd; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + void *vaddr; + uint32_t y_off; + uint32_t y_len; + uint32_t framedone_len; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t cbcr_off; + uint32_t cbcr_len; + uint32_t num_of_mcu_rows; + uint32_t offset; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +#define MSM_GEMINI_HW_CMD_TYPE_READ 0 +#define MSM_GEMINI_HW_CMD_TYPE_WRITE 1 +#define MSM_GEMINI_HW_CMD_TYPE_WRITE_OR 2 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_GEMINI_HW_CMD_TYPE_UWAIT 3 +#define MSM_GEMINI_HW_CMD_TYPE_MWAIT 4 +#define MSM_GEMINI_HW_CMD_TYPE_MDELAY 5 +#define MSM_GEMINI_HW_CMD_TYPE_UDELAY 6 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_gemini_hw_cmd { + uint32_t type:4; + uint32_t n:12; + uint32_t offset:16; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t mask; + union { + uint32_t data; + uint32_t *pdata; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + }; +}; +struct msm_gemini_hw_cmds { + uint32_t m; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_gemini_hw_cmd hw_cmd[1]; +}; +#endif diff --git a/kernel-headers/media/msmb_camera.h b/kernel-headers/media/msmb_camera.h new file mode 100644 index 0000000..5809272 --- /dev/null +++ b/kernel-headers/media/msmb_camera.h @@ -0,0 +1,140 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __LINUX_MSMB_CAMERA_H +#define __LINUX_MSMB_CAMERA_H +#include +#include +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#include +#define MSM_CAM_V4L2_IOCTL_NOTIFY _IOW('V', BASE_VIDIOC_PRIVATE + 30, struct v4l2_event) +#define MSM_CAM_V4L2_IOCTL_NOTIFY_META _IOW('V', BASE_VIDIOC_PRIVATE + 31, struct v4l2_event) +#define MSM_CAM_V4L2_IOCTL_CMD_ACK _IOW('V', BASE_VIDIOC_PRIVATE + 32, struct v4l2_event) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define QCAMERA_DEVICE_GROUP_ID 1 +#define QCAMERA_VNODE_GROUP_ID 2 +#define MSM_CAMERA_NAME "msm_camera" +#define MSM_CONFIGURATION_NAME "msm_config" +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_SUBDEV_CSIPHY 0 +#define MSM_CAMERA_SUBDEV_CSID 1 +#define MSM_CAMERA_SUBDEV_ISPIF 2 +#define MSM_CAMERA_SUBDEV_VFE 3 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_SUBDEV_AXI 4 +#define MSM_CAMERA_SUBDEV_VPE 5 +#define MSM_CAMERA_SUBDEV_SENSOR 6 +#define MSM_CAMERA_SUBDEV_ACTUATOR 7 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_SUBDEV_EEPROM 8 +#define MSM_CAMERA_SUBDEV_CPP 9 +#define MSM_CAMERA_SUBDEV_CCI 10 +#define MSM_CAMERA_SUBDEV_LED_FLASH 11 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_SUBDEV_STROBE_FLASH 12 +#define MSM_CAMERA_SUBDEV_BUF_MNGR 13 +#define MSM_MAX_CAMERA_SENSORS 5 +#define MSM_CAMERA_FEATURE_BASE 0x00010000 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_FEATURE_SHUTDOWN (MSM_CAMERA_FEATURE_BASE + 1) +#define MSM_CAMERA_STATUS_BASE 0x00020000 +#define MSM_CAMERA_STATUS_FAIL (MSM_CAMERA_STATUS_BASE + 1) +#define MSM_CAMERA_STATUS_SUCCESS (MSM_CAMERA_STATUS_BASE + 2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_V4L2_EVENT_TYPE (V4L2_EVENT_PRIVATE_START + 0x00002000) +#define MSM_CAMERA_EVENT_MIN 0 +#define MSM_CAMERA_NEW_SESSION (MSM_CAMERA_EVENT_MIN + 1) +#define MSM_CAMERA_DEL_SESSION (MSM_CAMERA_EVENT_MIN + 2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_SET_PARM (MSM_CAMERA_EVENT_MIN + 3) +#define MSM_CAMERA_GET_PARM (MSM_CAMERA_EVENT_MIN + 4) +#define MSM_CAMERA_MAPPING_CFG (MSM_CAMERA_EVENT_MIN + 5) +#define MSM_CAMERA_MAPPING_SES (MSM_CAMERA_EVENT_MIN + 6) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_MSM_NOTIFY (MSM_CAMERA_EVENT_MIN + 7) +#define MSM_CAMERA_EVENT_MAX (MSM_CAMERA_EVENT_MIN + 8) +#define MSM_CAMERA_PRIV_S_CROP (V4L2_CID_PRIVATE_BASE + 1) +#define MSM_CAMERA_PRIV_G_CROP (V4L2_CID_PRIVATE_BASE + 2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_PRIV_G_FMT (V4L2_CID_PRIVATE_BASE + 3) +#define MSM_CAMERA_PRIV_S_FMT (V4L2_CID_PRIVATE_BASE + 4) +#define MSM_CAMERA_PRIV_TRY_FMT (V4L2_CID_PRIVATE_BASE + 5) +#define MSM_CAMERA_PRIV_METADATA (V4L2_CID_PRIVATE_BASE + 6) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_PRIV_QUERY_CAP (V4L2_CID_PRIVATE_BASE + 7) +#define MSM_CAMERA_PRIV_STREAM_ON (V4L2_CID_PRIVATE_BASE + 8) +#define MSM_CAMERA_PRIV_STREAM_OFF (V4L2_CID_PRIVATE_BASE + 9) +#define MSM_CAMERA_PRIV_NEW_STREAM (V4L2_CID_PRIVATE_BASE + 10) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_PRIV_DEL_STREAM (V4L2_CID_PRIVATE_BASE + 11) +#define MSM_CAMERA_PRIV_SHUTDOWN (V4L2_CID_PRIVATE_BASE + 12) +#define MSM_CAMERA_PRIV_STREAM_INFO_SYNC (V4L2_CID_PRIVATE_BASE + 13) +#define MSM_CAMERA_CMD_SUCESS 0x00000001 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_CAMERA_BUF_MAP_SUCESS 0x00000002 +#define MSM_CAMERA_ERR_EVT_BASE 0x00010000 +#define MSM_CAMERA_ERR_CMD_FAIL (MSM_CAMERA_ERR_EVT_BASE + 1) +#define MSM_CAMERA_ERR_MAPPING (MSM_CAMERA_ERR_EVT_BASE + 2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_v4l2_event_data { + unsigned int command; + unsigned int status; + unsigned int session_id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int stream_id; + unsigned int map_op; + unsigned int map_buf_idx; + unsigned int notify; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int arg_value; + unsigned int ret_value; + unsigned int nop3; + unsigned int nop4; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int nop5; + unsigned int nop6; + unsigned int nop7; + unsigned int nop8; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int nop9; +}; +struct msm_v4l2_format_data { + enum v4l2_buf_type type; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int width; + unsigned int height; + unsigned int pixelformat; + unsigned char num_planes; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int plane_sizes[VIDEO_MAX_PLANES]; +}; +#define msm_v4l2_fourcc(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) +#define MSM_V4L2_PIX_FMT_STATS_COMB v4l2_fourcc('S', 'T', 'C', 'M') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_V4L2_PIX_FMT_STATS_AE v4l2_fourcc('S', 'T', 'A', 'E') +#define MSM_V4L2_PIX_FMT_STATS_AF v4l2_fourcc('S', 'T', 'A', 'F') +#define MSM_V4L2_PIX_FMT_STATS_AWB v4l2_fourcc('S', 'T', 'W', 'B') +#define MSM_V4L2_PIX_FMT_STATS_IHST v4l2_fourcc('I', 'H', 'S', 'T') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_V4L2_PIX_FMT_STATS_CS v4l2_fourcc('S', 'T', 'C', 'S') +#define MSM_V4L2_PIX_FMT_STATS_RS v4l2_fourcc('S', 'T', 'R', 'S') +#define MSM_V4L2_PIX_FMT_STATS_BG v4l2_fourcc('S', 'T', 'B', 'G') +#define MSM_V4L2_PIX_FMT_STATS_BF v4l2_fourcc('S', 'T', 'B', 'F') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MSM_V4L2_PIX_FMT_STATS_BHST v4l2_fourcc('B', 'H', 'S', 'T') +#endif diff --git a/kernel-headers/media/msmb_generic_buf_mgr.h b/kernel-headers/media/msmb_generic_buf_mgr.h new file mode 100644 index 0000000..af6d008 --- /dev/null +++ b/kernel-headers/media/msmb_generic_buf_mgr.h @@ -0,0 +1,35 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __MEDIA_MSMB_BUF_MNGR_H__ +#define __MEDIA_MSMB_BUF_MNGR_H__ +struct msm_buf_mngr_info { + uint32_t session_id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t stream_id; + uint32_t frame_id; + struct timeval timestamp; + uint32_t index; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct v4l2_subdev *msm_buf_mngr_get_subdev(void); +#define VIDIOC_MSM_BUF_MNGR_GET_BUF _IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info) +#define VIDIOC_MSM_BUF_MNGR_PUT_BUF _IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_BUF_MNGR_BUF_DONE _IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info) +#endif diff --git a/kernel-headers/media/msmb_isp.h b/kernel-headers/media/msmb_isp.h new file mode 100644 index 0000000..7d6fc02 --- /dev/null +++ b/kernel-headers/media/msmb_isp.h @@ -0,0 +1,420 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _UAPI_MEDIA_MSMB_ISP_H +#define _UAPI_MEDIA_MSMB_ISP_H +#include +#define MAX_PLANES_PER_STREAM 3 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MAX_NUM_STREAM 7 +#define ISP_VERSION_40 40 +#define ISP_VERSION_32 32 +#define ISP_NATIVE_BUF_BIT 0x10000 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ISP0_BIT 0x20000 +#define ISP1_BIT 0x40000 +#define ISP_STATS_STREAM_BIT 0x80000000 +enum ISP_START_PIXEL_PATTERN { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISP_BAYER_RGRGRG, + ISP_BAYER_GRGRGR, + ISP_BAYER_BGBGBG, + ISP_BAYER_GBGBGB, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISP_YUV_YCbYCr, + ISP_YUV_YCrYCb, + ISP_YUV_CbYCrY, + ISP_YUV_CrYCbY, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISP_PIX_PATTERN_MAX +}; +enum msm_vfe_plane_fmt { + Y_PLANE, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CB_PLANE, + CR_PLANE, + CRCB_PLANE, + CBCR_PLANE, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + VFE_PLANE_FMT_MAX +}; +enum msm_vfe_input_src { + VFE_PIX_0, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + VFE_RAW_0, + VFE_RAW_1, + VFE_RAW_2, + VFE_SRC_MAX, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_vfe_axi_stream_src { + PIX_ENCODER, + PIX_VIEWFINDER, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CAMIF_RAW, + IDEAL_RAW, + RDI_INTF_0, + RDI_INTF_1, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + RDI_INTF_2, + VFE_AXI_SRC_MAX +}; +enum msm_vfe_frame_skip_pattern { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + NO_SKIP, + EVERY_2FRAME, + EVERY_3FRAME, + EVERY_4FRAME, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + EVERY_5FRAME, + EVERY_6FRAME, + EVERY_7FRAME, + EVERY_8FRAME, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + EVERY_16FRAME, + EVERY_32FRAME, + MAX_SKIP, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_vfe_camif_input { + CAMIF_DISABLED, + CAMIF_PAD_REG_INPUT, + CAMIF_MIDDI_INPUT, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CAMIF_MIPI_INPUT, +}; +struct msm_vfe_camif_cfg { + uint32_t lines_per_frame; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t pixels_per_line; + uint32_t first_pixel; + uint32_t last_pixel; + uint32_t first_line; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t last_line; + uint32_t epoch_line0; + uint32_t epoch_line1; + enum msm_vfe_camif_input camif_input; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_vfe_inputmux { + CAMIF, + TESTGEN, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + EXTERNAL_READ, +}; +struct msm_vfe_pix_cfg { + struct msm_vfe_camif_cfg camif_cfg; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_vfe_inputmux input_mux; + enum ISP_START_PIXEL_PATTERN pixel_pattern; +}; +struct msm_vfe_rdi_cfg { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t cid; + uint8_t frame_based; +}; +struct msm_vfe_input_cfg { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + union { + struct msm_vfe_pix_cfg pix_cfg; + struct msm_vfe_rdi_cfg rdi_cfg; + } d; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_vfe_input_src input_src; + uint32_t input_pix_clk; +}; +struct msm_vfe_axi_plane_cfg { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t output_width; + uint32_t output_height; + uint32_t output_stride; + uint32_t output_scan_lines; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t output_plane_format; + uint32_t plane_addr_offset; + uint8_t csid_src; + uint8_t rdi_cid; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_vfe_axi_stream_request_cmd { + uint32_t session_id; + uint32_t stream_id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t output_format; + enum msm_vfe_axi_stream_src stream_src; + struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM]; + uint32_t burst_count; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t hfr_mode; + uint8_t frame_base; + uint32_t init_frame_drop; + enum msm_vfe_frame_skip_pattern frame_skip_pattern; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t buf_divert; + uint32_t axi_stream_handle; +}; +struct msm_vfe_axi_stream_release_cmd { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t stream_handle; +}; +enum msm_vfe_axi_stream_cmd { + STOP_STREAM, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + START_STREAM, +}; +struct msm_vfe_axi_stream_cfg_cmd { + uint8_t num_streams; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t stream_handle[MAX_NUM_STREAM]; + enum msm_vfe_axi_stream_cmd cmd; +}; +enum msm_vfe_axi_stream_update_type { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ENABLE_STREAM_BUF_DIVERT, + DISABLE_STREAM_BUF_DIVERT, + UPDATE_STREAM_FRAMEDROP_PATTERN, +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_vfe_axi_stream_update_cmd { + uint32_t stream_handle; + enum msm_vfe_axi_stream_update_type update_type; + enum msm_vfe_frame_skip_pattern skip_pattern; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_isp_stats_type { + MSM_ISP_STATS_AEC, + MSM_ISP_STATS_AF, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_ISP_STATS_AWB, + MSM_ISP_STATS_RS, + MSM_ISP_STATS_CS, + MSM_ISP_STATS_IHIST, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_ISP_STATS_SKIN, + MSM_ISP_STATS_BG, + MSM_ISP_STATS_BF, + MSM_ISP_STATS_BE, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_ISP_STATS_BHIST, + MSM_ISP_STATS_MAX +}; +struct msm_vfe_stats_stream_request_cmd { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t session_id; + uint32_t stream_id; + enum msm_isp_stats_type stats_type; + uint32_t composite_flag; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t framedrop_pattern; + uint32_t irq_subsample_pattern; + uint32_t buffer_offset; + uint32_t stream_handle; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_vfe_stats_stream_release_cmd { + uint32_t stream_handle; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_vfe_stats_stream_cfg_cmd { + uint8_t num_streams; + uint32_t stream_handle[MSM_ISP_STATS_MAX]; + uint8_t enable; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum msm_vfe_reg_cfg_type { + VFE_WRITE, + VFE_WRITE_MB, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + VFE_READ, + VFE_CFG_MASK, + VFE_WRITE_DMI_16BIT, + VFE_WRITE_DMI_32BIT, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + VFE_WRITE_DMI_64BIT, + VFE_READ_DMI_16BIT, + VFE_READ_DMI_32BIT, + VFE_READ_DMI_64BIT, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_vfe_cfg_cmd2 { + uint16_t num_cfg; + uint16_t cmd_len; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + void __user *cfg_data; + void __user *cfg_cmd; +}; +struct msm_vfe_reg_rw_info { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t reg_offset; + uint32_t cmd_data_offset; + uint32_t len; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_vfe_reg_mask_info { + uint32_t reg_offset; + uint32_t mask; + uint32_t val; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_vfe_reg_dmi_info { + uint32_t hi_tbl_offset; + uint32_t lo_tbl_offset; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t len; +}; +struct msm_vfe_reg_cfg_cmd { + union { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_vfe_reg_rw_info rw_info; + struct msm_vfe_reg_mask_info mask_info; + struct msm_vfe_reg_dmi_info dmi_info; + } u; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_vfe_reg_cfg_type cmd_type; +}; +enum msm_isp_buf_type { + ISP_PRIVATE_BUF, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISP_SHARE_BUF, + MAX_ISP_BUF_TYPE, +}; +struct msm_isp_buf_request { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t session_id; + uint32_t stream_id; + uint8_t num_buf; + uint32_t handle; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_isp_buf_type buf_type; +}; +struct msm_isp_qbuf_info { + uint32_t handle; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int buf_idx; + struct v4l2_buffer buffer; + uint32_t dirty_buf; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_vfe_axi_src_state { + enum msm_vfe_input_src input_src; + uint32_t src_active; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_isp_event_idx { + ISP_REG_UPDATE = 0, + ISP_START_ACK = 1, + ISP_STOP_ACK = 2, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISP_IRQ_VIOLATION = 3, + ISP_WM_BUS_OVERFLOW = 4, + ISP_STATS_OVERFLOW = 5, + ISP_CAMIF_ERROR = 6, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISP_SOF = 7, + ISP_EOF = 8, + ISP_EVENT_MAX = 9 +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ISP_EVENT_OFFSET 8 +#define ISP_EVENT_BASE (V4L2_EVENT_PRIVATE_START) +#define ISP_BUF_EVENT_BASE (ISP_EVENT_BASE + (1 << ISP_EVENT_OFFSET)) +#define ISP_STATS_EVENT_BASE (ISP_EVENT_BASE + (2 << ISP_EVENT_OFFSET)) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ISP_EVENT_REG_UPDATE (ISP_EVENT_BASE + ISP_REG_UPDATE) +#define ISP_EVENT_START_ACK (ISP_EVENT_BASE + ISP_START_ACK) +#define ISP_EVENT_STOP_ACK (ISP_EVENT_BASE + ISP_STOP_ACK) +#define ISP_EVENT_IRQ_VIOLATION (ISP_EVENT_BASE + ISP_IRQ_VIOLATION) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ISP_EVENT_WM_BUS_OVERFLOW (ISP_EVENT_BASE + ISP_WM_BUS_OVERFLOW) +#define ISP_EVENT_STATS_OVERFLOW (ISP_EVENT_BASE + ISP_STATS_OVERFLOW) +#define ISP_EVENT_CAMIF_ERROR (ISP_EVENT_BASE + ISP_CAMIF_ERROR) +#define ISP_EVENT_SOF (ISP_EVENT_BASE + ISP_SOF) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define ISP_EVENT_EOF (ISP_EVENT_BASE + ISP_EOF) +#define ISP_EVENT_BUF_DIVERT (ISP_BUF_EVENT_BASE) +#define ISP_EVENT_STATS_NOTIFY (ISP_STATS_EVENT_BASE) +#define ISP_EVENT_COMP_STATS_NOTIFY (ISP_EVENT_STATS_NOTIFY + MSM_ISP_STATS_MAX) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_isp_buf_event { + uint32_t session_id; + uint32_t stream_id; + uint32_t handle; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int8_t buf_idx; +}; +struct msm_isp_stats_event { + uint32_t stats_mask; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t stats_buf_idxs[MSM_ISP_STATS_MAX]; +}; +struct msm_isp_stream_ack { + uint32_t session_id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t stream_id; + uint32_t handle; +}; +struct msm_isp_event_data { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct timeval timestamp; + struct timeval mono_timestamp; + uint32_t frame_id; + union { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_isp_stream_ack stream_ack; + enum msm_vfe_input_src input_src; + struct msm_isp_stats_event stats; + uint32_t irq_status_mask; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_isp_buf_event buf_done; + } u; +}; +#define V4L2_PIX_FMT_QBGGR8 v4l2_fourcc('Q', 'B', 'G', '8') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define V4L2_PIX_FMT_QGBRG8 v4l2_fourcc('Q', 'G', 'B', '8') +#define V4L2_PIX_FMT_QGRBG8 v4l2_fourcc('Q', 'G', 'R', '8') +#define V4L2_PIX_FMT_QRGGB8 v4l2_fourcc('Q', 'R', 'G', '8') +#define V4L2_PIX_FMT_QBGGR10 v4l2_fourcc('Q', 'B', 'G', '0') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define V4L2_PIX_FMT_QGBRG10 v4l2_fourcc('Q', 'G', 'B', '0') +#define V4L2_PIX_FMT_QGRBG10 v4l2_fourcc('Q', 'G', 'R', '0') +#define V4L2_PIX_FMT_QRGGB10 v4l2_fourcc('Q', 'R', 'G', '0') +#define V4L2_PIX_FMT_QBGGR12 v4l2_fourcc('Q', 'B', 'G', '2') +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define V4L2_PIX_FMT_QGBRG12 v4l2_fourcc('Q', 'G', 'B', '2') +#define V4L2_PIX_FMT_QGRBG12 v4l2_fourcc('Q', 'G', 'R', '2') +#define V4L2_PIX_FMT_QRGGB12 v4l2_fourcc('Q', 'R', 'G', '2') +#define VIDIOC_MSM_VFE_REG_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_vfe_cfg_cmd2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_ISP_REQUEST_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct msm_isp_buf_request) +#define VIDIOC_MSM_ISP_ENQUEUE_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+2, struct msm_isp_qbuf_info) +#define VIDIOC_MSM_ISP_RELEASE_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+3, struct msm_isp_buf_request) +#define VIDIOC_MSM_ISP_REQUEST_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+4, struct msm_vfe_axi_stream_request_cmd) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_ISP_CFG_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+5, struct msm_vfe_axi_stream_cfg_cmd) +#define VIDIOC_MSM_ISP_RELEASE_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+6, struct msm_vfe_axi_stream_release_cmd) +#define VIDIOC_MSM_ISP_INPUT_CFG _IOWR('V', BASE_VIDIOC_PRIVATE+7, struct msm_vfe_input_cfg) +#define VIDIOC_MSM_ISP_SET_SRC_STATE _IOWR('V', BASE_VIDIOC_PRIVATE+8, struct msm_vfe_axi_src_state) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_ISP_REQUEST_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+9, struct msm_vfe_stats_stream_request_cmd) +#define VIDIOC_MSM_ISP_CFG_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+10, struct msm_vfe_stats_stream_cfg_cmd) +#define VIDIOC_MSM_ISP_RELEASE_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+11, struct msm_vfe_stats_stream_release_cmd) +#define VIDIOC_MSM_ISP_CFG_STATS_COMP_POLICY _IOWR('V', BASE_VIDIOC_PRIVATE+12, struct msm_vfe_stats_comp_policy_cfg) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_ISP_UPDATE_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+13, struct msm_vfe_axi_stream_update_cmd) +#endif diff --git a/kernel-headers/media/msmb_ispif.h b/kernel-headers/media/msmb_ispif.h new file mode 100644 index 0000000..b20617e --- /dev/null +++ b/kernel-headers/media/msmb_ispif.h @@ -0,0 +1,148 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef MSM_CAM_ISPIF_H +#define MSM_CAM_ISPIF_H +#define CSID_VERSION_V2 0x02000011 +#define CSID_VERSION_V3 0x30000000 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_ispif_vfe_intf { + VFE0, + VFE1, + VFE_MAX +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +#define VFE0_MASK (1 << VFE0) +#define VFE1_MASK (1 << VFE1) +enum msm_ispif_intftype { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + PIX0, + RDI0, + PIX1, + RDI1, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + RDI2, + INTF_MAX +}; +#define MAX_PARAM_ENTRIES (INTF_MAX * 2) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define PIX0_MASK (1 << PIX0) +#define PIX1_MASK (1 << PIX1) +#define RDI0_MASK (1 << RDI0) +#define RDI1_MASK (1 << RDI1) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define RDI2_MASK (1 << RDI2) +enum msm_ispif_vc { + VC0, + VC1, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + VC2, + VC3, + VC_MAX +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +enum msm_ispif_cid { + CID0, + CID1, + CID2, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CID3, + CID4, + CID5, + CID6, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CID7, + CID8, + CID9, + CID10, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CID11, + CID12, + CID13, + CID14, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CID15, + CID_MAX +}; +enum msm_ispif_csid { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CSID0, + CSID1, + CSID2, + CSID3, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + CSID_MAX +}; +struct msm_ispif_params_entry { + enum msm_ispif_vfe_intf vfe_intf; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum msm_ispif_intftype intftype; + int num_cids; + enum msm_ispif_cid cids[3]; + enum msm_ispif_csid csid; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int crop_enable; + uint16_t crop_start_pixel; + uint16_t crop_end_pixel; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_ispif_param_data { + uint32_t num; + struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES]; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_isp_info { + uint32_t max_resolution; + uint32_t id; + uint32_t ver; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct msm_ispif_vfe_info { + int num_vfe; + struct msm_isp_info info[VFE_MAX]; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum ispif_cfg_type_t { + ISPIF_CLK_ENABLE, + ISPIF_CLK_DISABLE, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISPIF_INIT, + ISPIF_CFG, + ISPIF_START_FRAME_BOUNDARY, + ISPIF_STOP_FRAME_BOUNDARY, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + ISPIF_STOP_IMMEDIATELY, + ISPIF_RELEASE, + ISPIF_ENABLE_REG_DUMP, + ISPIF_SET_VFE_INFO, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct ispif_cfg_data { + enum ispif_cfg_type_t cfg_type; + union { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int reg_dump; + uint32_t csid_version; + struct msm_ispif_vfe_info vfe_info; + struct msm_ispif_param_data params; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + }; +}; +#define VIDIOC_MSM_ISPIF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data) +#endif +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ diff --git a/kernel-headers/media/msmb_pproc.h b/kernel-headers/media/msmb_pproc.h new file mode 100644 index 0000000..1d9687c --- /dev/null +++ b/kernel-headers/media/msmb_pproc.h @@ -0,0 +1,154 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __MSMB_PPROC_H +#define __MSMB_PPROC_H +#ifdef MSM_CAMERA_BIONIC +#include +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif +#include +#include +#define MAX_PLANES VIDEO_MAX_PLANES +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define MAX_NUM_CPP_STRIPS 8 +#define MSM_CPP_MAX_NUM_PLANES 3 +enum msm_cpp_frame_type { + MSM_CPP_OFFLINE_FRAME, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + MSM_CPP_REALTIME_FRAME, +}; +struct msm_cpp_frame_strip_info { + int scale_v_en; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int scale_h_en; + int upscale_v_en; + int upscale_h_en; + int src_start_x; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int src_end_x; + int src_start_y; + int src_end_y; + int pad_bottom; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int pad_top; + int pad_right; + int pad_left; + int v_init_phase; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int h_init_phase; + int h_phase_step; + int v_phase_step; + int prescale_crop_width_first_pixel; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int prescale_crop_width_last_pixel; + int prescale_crop_height_first_line; + int prescale_crop_height_last_line; + int postscale_crop_height_first_line; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int postscale_crop_height_last_line; + int postscale_crop_width_first_pixel; + int postscale_crop_width_last_pixel; + int dst_start_x; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int dst_end_x; + int dst_start_y; + int dst_end_y; + int bytes_per_pixel; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + unsigned int source_address; + unsigned int destination_address; + unsigned int src_stride; + unsigned int dst_stride; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int rotate_270; + int horizontal_flip; + int vertical_flip; + int scale_output_width; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int scale_output_height; + int prescale_crop_en; + int postscale_crop_en; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_cpp_buffer_info_t { + int fd; + uint32_t index; + uint32_t offset; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint8_t native_buff; + uint8_t processed_divert; +}; +struct msm_cpp_stream_buff_info_t { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t identity; + uint32_t num_buffs; + struct msm_cpp_buffer_info_t *buffer_info; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct msm_cpp_frame_info_t { + int32_t frame_id; + struct timeval timestamp; + uint32_t inst_id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t identity; + uint32_t client_id; + enum msm_cpp_frame_type frame_type; + uint32_t num_strips; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct msm_cpp_frame_strip_info *strip_info; + uint32_t msg_len; + uint32_t *cpp_cmd_msg; + int src_fd; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int dst_fd; + struct ion_handle *src_ion_handle; + struct ion_handle *dest_ion_handle; + struct timeval in_time, out_time; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + void *cookie; + int32_t *status; + struct msm_cpp_buffer_info_t input_buffer_info; + struct msm_cpp_buffer_info_t output_buffer_info; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +struct cpp_hw_info { + uint32_t cpp_hw_version; + uint32_t cpp_hw_caps; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +#define VIDIOC_MSM_CPP_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t) +#define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t) +#define VIDIOC_MSM_CPP_GET_INST_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_CPP_LOAD_FIRMWARE _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t) +#define VIDIOC_MSM_CPP_GET_HW_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t) +#define VIDIOC_MSM_CPP_FLUSH_QUEUE _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t) +#define VIDIOC_MSM_CPP_ENQUEUE_STREAM_BUFF_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_camera_v4l2_ioctl_t) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VIDIOC_MSM_CPP_DEQUEUE_STREAM_BUFF_INFO _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_v4l2_ioctl_t) +#define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0) +struct msm_camera_v4l2_ioctl_t { + uint32_t id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t len; + int32_t trans_code; + void __user *ioctl_ptr; +}; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif diff --git a/lineage.dependencies b/lineage.dependencies deleted file mode 100644 index ede7dda..0000000 --- a/lineage.dependencies +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "repository": "android_device_asus_flo", - "target_path": "device/asus/flo" - } -] diff --git a/lineage.mk b/lineage.mk deleted file mode 100644 index 54a3ace..0000000 --- a/lineage.mk +++ /dev/null @@ -1,30 +0,0 @@ - -# Boot animation -TARGET_SCREEN_HEIGHT := 1920 -TARGET_SCREEN_WIDTH := 1200 -TARGET_BOOTANIMATION_HALF_RES := true - -# Inherit some common CM stuff. -$(call inherit-product, vendor/cm/config/common_mini_tablet_wifionly.mk) - -# Inherit telephony stuff -$(call inherit-product, vendor/cm/config/telephony.mk) - -# Inherit from the common Open Source product configuration -$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) - -# Inherit device configuration -$(call inherit-product, device/asus/deb/device.mk) -$(call inherit-product-if-exists, vendor/asus/deb/device-vendor.mk) - -## Device identifier. This must come after all inclusions -PRODUCT_DEVICE := deb -PRODUCT_NAME := lineage_deb -PRODUCT_BRAND := google -PRODUCT_MODEL := Nexus 7 -PRODUCT_MANUFACTURER := asus - -PRODUCT_BUILD_PROP_OVERRIDES += \ - PRODUCT_NAME=razorg \ - BUILD_FINGERPRINT=google/razorg/deb:6.0.1/MOB30X/3036618:user/release-keys \ - PRIVATE_BUILD_DESC="razorg-user 6.0.1 MOB30X 3036618 release-keys" diff --git a/original-kernel-headers/media/msm_cam_sensor.h b/original-kernel-headers/media/msm_cam_sensor.h new file mode 100644 index 0000000..a092324 --- /dev/null +++ b/original-kernel-headers/media/msm_cam_sensor.h @@ -0,0 +1,545 @@ +#ifndef _UAPI_MEDIA_MSM_CAM_SENSOR_H +#define _UAPI_MEDIA_MSM_CAM_SENSOR_H + +#ifdef MSM_CAMERA_BIONIC +#include +#endif +#include +#include +#include + +#define I2C_SEQ_REG_SETTING_MAX 5 +#define I2C_SEQ_REG_DATA_MAX 20 +#define MAX_CID 16 + +#define MSM_SENSOR_MCLK_8HZ 8000000 +#define MSM_SENSOR_MCLK_16HZ 16000000 +#define MSM_SENSOR_MCLK_24HZ 24000000 + +#define GPIO_OUT_LOW (0 << 1) +#define GPIO_OUT_HIGH (1 << 1) + +#define CSI_EMBED_DATA 0x12 +#define CSI_RESERVED_DATA_0 0x13 +#define CSI_YUV422_8 0x1E +#define CSI_RAW8 0x2A +#define CSI_RAW10 0x2B +#define CSI_RAW12 0x2C + +#define CSI_DECODE_6BIT 0 +#define CSI_DECODE_8BIT 1 +#define CSI_DECODE_10BIT 2 +#define CSI_DECODE_DPCM_10_8_10 5 + +#define MAX_SENSOR_NAME 32 + +#define MAX_ACT_MOD_NAME_SIZE 32 +#define MAX_ACT_NAME_SIZE 32 +#define NUM_ACTUATOR_DIR 2 +#define MAX_ACTUATOR_SCENARIO 8 +#define MAX_ACTUATOR_REGION 5 +#define MAX_ACTUATOR_INIT_SET 12 +#define MAX_ACTUATOR_REG_TBL_SIZE 8 + +#define MOVE_NEAR 0 +#define MOVE_FAR 1 + +#define MAX_EEPROM_NAME 32 + +enum msm_camera_i2c_reg_addr_type { + MSM_CAMERA_I2C_BYTE_ADDR = 1, + MSM_CAMERA_I2C_WORD_ADDR, +}; + +enum msm_camera_i2c_data_type { + MSM_CAMERA_I2C_BYTE_DATA = 1, + MSM_CAMERA_I2C_WORD_DATA, + MSM_CAMERA_I2C_SET_BYTE_MASK, + MSM_CAMERA_I2C_UNSET_BYTE_MASK, + MSM_CAMERA_I2C_SET_WORD_MASK, + MSM_CAMERA_I2C_UNSET_WORD_MASK, + MSM_CAMERA_I2C_SET_BYTE_WRITE_MASK_DATA, +}; + +enum msm_sensor_power_seq_type_t { + SENSOR_CLK, + SENSOR_GPIO, + SENSOR_VREG, + SENSOR_I2C_MUX, +}; + +enum msm_sensor_clk_type_t { + SENSOR_CAM_MCLK, + SENSOR_CAM_CLK, + SENSOR_CAM_CLK_MAX, +}; + +enum msm_sensor_power_seq_gpio_t { + SENSOR_GPIO_RESET, + SENSOR_GPIO_STANDBY, + SENSOR_GPIO_MAX, +}; + +enum msm_camera_vreg_name_t { + CAM_VDIG, + CAM_VIO, + CAM_VANA, + CAM_VAF, + CAM_VREG_MAX, +}; + +enum msm_sensor_resolution_t { + MSM_SENSOR_RES_FULL, + MSM_SENSOR_RES_QTR, + MSM_SENSOR_RES_2, + MSM_SENSOR_RES_3, + MSM_SENSOR_RES_4, + MSM_SENSOR_RES_5, + MSM_SENSOR_RES_6, + MSM_SENSOR_RES_7, + MSM_SENSOR_INVALID_RES, +}; + +enum sensor_sub_module_t { + SUB_MODULE_SENSOR, + SUB_MODULE_CHROMATIX, + SUB_MODULE_ACTUATOR, + SUB_MODULE_EEPROM, + SUB_MODULE_LED_FLASH, + SUB_MODULE_STROBE_FLASH, + SUB_MODULE_CSID, + SUB_MODULE_CSID_3D, + SUB_MODULE_CSIPHY, + SUB_MODULE_CSIPHY_3D, + SUB_MODULE_MAX, +}; + +enum csid_cfg_type_t { + CSID_INIT, + CSID_CFG, + CSID_RELEASE, +}; + +enum csiphy_cfg_type_t { + CSIPHY_INIT, + CSIPHY_CFG, + CSIPHY_RELEASE, +}; + +enum camera_vreg_type { + REG_LDO, + REG_VS, + REG_GPIO, +}; + +struct msm_sensor_power_setting { + enum msm_sensor_power_seq_type_t seq_type; + uint16_t seq_val; + long config_val; + uint16_t delay; + void *data[10]; +}; + +struct msm_sensor_power_setting_array { + struct msm_sensor_power_setting *power_setting; + uint16_t size; +}; + +struct msm_sensor_id_info_t { + uint16_t sensor_id_reg_addr; + uint16_t sensor_id; +}; + +struct msm_camera_sensor_slave_info { + uint16_t slave_addr; + enum msm_camera_i2c_reg_addr_type addr_type; + struct msm_sensor_id_info_t sensor_id_info; + struct msm_sensor_power_setting_array power_setting_array; +}; + +struct msm_camera_i2c_reg_array { + uint16_t reg_addr; + uint16_t reg_data; +}; + +struct msm_camera_i2c_reg_setting { + struct msm_camera_i2c_reg_array *reg_setting; + uint16_t size; + enum msm_camera_i2c_reg_addr_type addr_type; + enum msm_camera_i2c_data_type data_type; + uint16_t delay; +}; + +struct msm_camera_i2c_seq_reg_array { + uint16_t reg_addr; + uint8_t reg_data[I2C_SEQ_REG_DATA_MAX]; + uint16_t reg_data_size; +}; + +struct msm_camera_i2c_seq_reg_setting { + struct msm_camera_i2c_seq_reg_array *reg_setting; + uint16_t size; + enum msm_camera_i2c_reg_addr_type addr_type; + uint16_t delay; +}; + +struct msm_camera_csid_vc_cfg { + uint8_t cid; + uint8_t dt; + uint8_t decode_format; +}; + +struct msm_camera_csid_lut_params { + uint8_t num_cid; + struct msm_camera_csid_vc_cfg *vc_cfg[MAX_CID]; +}; + +struct msm_camera_csid_params { + uint8_t lane_cnt; + uint16_t lane_assign; + uint8_t phy_sel; + struct msm_camera_csid_lut_params lut_params; +}; + +struct msm_camera_csiphy_params { + uint8_t lane_cnt; + uint8_t settle_cnt; + uint16_t lane_mask; + uint8_t combo_mode; +}; + +struct msm_camera_csi2_params { + struct msm_camera_csid_params csid_params; + struct msm_camera_csiphy_params csiphy_params; +}; + +struct msm_camera_csi_lane_params { + uint16_t csi_lane_assign; + uint16_t csi_lane_mask; +}; + +struct csi_lane_params_t { + uint16_t csi_lane_assign; + uint8_t csi_lane_mask; + uint8_t csi_if; + uint8_t csid_core[2]; + uint8_t csi_phy_sel; +}; + +struct msm_sensor_info_t { + char sensor_name[MAX_SENSOR_NAME]; + int32_t session_id; + int32_t subdev_id[SUB_MODULE_MAX]; +}; + +struct camera_vreg_t { + const char *reg_name; + enum camera_vreg_type type; + int min_voltage; + int max_voltage; + int op_mode; + uint32_t delay; +}; + +enum camb_position_t { + BACK_CAMERA_B, + FRONT_CAMERA_B, +}; + +enum camerab_mode_t { + CAMERA_MODE_2D_B = (1<<0), + CAMERA_MODE_3D_B = (1<<1) +}; + +struct msm_sensor_init_params { + /* mask of modes supported: 2D, 3D */ + int modes_supported; + /* sensor position: front, back */ + enum camb_position_t position; + /* sensor mount angle */ + uint32_t sensor_mount_angle; +}; + +struct sensorb_cfg_data { + int cfgtype; + union { + struct msm_sensor_info_t sensor_info; + struct msm_sensor_init_params sensor_init_params; + void *setting; + int8_t effect; + uint8_t wb_val; + int8_t exp_compensation; + int8_t fps; + } cfg; +}; + +struct csid_cfg_data { + enum csid_cfg_type_t cfgtype; + union { + uint32_t csid_version; + struct msm_camera_csid_params *csid_params; + } cfg; +}; + +struct csiphy_cfg_data { + enum csiphy_cfg_type_t cfgtype; + union { + struct msm_camera_csiphy_params *csiphy_params; + struct msm_camera_csi_lane_params *csi_lane_params; + } cfg; +}; + +enum eeprom_cfg_type_t { + CFG_EEPROM_GET_INFO, + CFG_EEPROM_GET_DATA, + CFG_EEPROM_READ_DATA, + CFG_EEPROM_WRITE_DATA, +}; +struct eeprom_get_t { + uint16_t num_bytes; +}; + +struct eeprom_read_t { + uint8_t *dbuffer; + uint16_t num_bytes; +}; + +struct eeprom_write_t { + uint8_t *dbuffer; + uint16_t num_bytes; +}; + +struct msm_eeprom_cfg_data { + enum eeprom_cfg_type_t cfgtype; + uint8_t is_supported; + union { + char eeprom_name[MAX_SENSOR_NAME]; + struct eeprom_get_t get_data; + struct eeprom_read_t read_data; + struct eeprom_write_t write_data; + } cfg; +}; + +enum msm_sensor_cfg_type_t { + CFG_SET_SLAVE_INFO, + CFG_WRITE_I2C_ARRAY, + CFG_WRITE_I2C_SEQ_ARRAY, + CFG_POWER_UP, + CFG_POWER_DOWN, + CFG_SET_STOP_STREAM_SETTING, + CFG_GET_SENSOR_INFO, + CFG_GET_SENSOR_INIT_PARAMS, + CFG_SET_INIT_SETTING, + CFG_SET_RESOLUTION, + CFG_SET_STOP_STREAM, + CFG_SET_START_STREAM, + CFG_SET_EFFECT, + CFG_SET_WB, + CFG_SET_FPS, + CFG_SET_EXPOSURE_COMPENSATION, +}; + +enum msm_actuator_cfg_type_t { + CFG_GET_ACTUATOR_INFO, + CFG_SET_ACTUATOR_INFO, + CFG_SET_DEFAULT_FOCUS, + CFG_MOVE_FOCUS, + CFG_ACTUATOR_POWERDOWN, +}; + +enum actuator_type { + ACTUATOR_VCM, + ACTUATOR_PIEZO, +}; + +enum msm_actuator_data_type { + MSM_ACTUATOR_BYTE_DATA = 1, + MSM_ACTUATOR_WORD_DATA, +}; + +enum msm_actuator_addr_type { + MSM_ACTUATOR_BYTE_ADDR = 1, + MSM_ACTUATOR_WORD_ADDR, +}; + +struct reg_settings_t { + uint16_t reg_addr; + uint16_t reg_data; +}; + +struct region_params_t { + /* [0] = ForwardDirection Macro boundary + [1] = ReverseDirection Inf boundary + */ + uint16_t step_bound[2]; + uint16_t code_per_step; +}; + +struct damping_params_t { + uint32_t damping_step; + uint32_t damping_delay; + uint32_t hw_params; +}; + +struct msm_actuator_move_params_t { + int8_t dir; + int8_t sign_dir; + int16_t dest_step_pos; + int32_t num_steps; + struct damping_params_t *ringing_params; +}; + +struct msm_actuator_tuning_params_t { + int16_t initial_code; + uint16_t pwd_step; + uint16_t region_size; + uint32_t total_steps; + struct region_params_t *region_params; +}; + +struct msm_actuator_params_t { + enum actuator_type act_type; + uint8_t reg_tbl_size; + uint16_t data_size; + uint16_t init_setting_size; + uint32_t i2c_addr; + enum msm_actuator_addr_type i2c_addr_type; + enum msm_actuator_data_type i2c_data_type; + struct msm_actuator_reg_params_t *reg_tbl_params; + struct reg_settings_t *init_settings; +}; + +struct msm_actuator_set_info_t { + struct msm_actuator_params_t actuator_params; + struct msm_actuator_tuning_params_t af_tuning_params; +}; + +struct msm_actuator_get_info_t { + uint32_t focal_length_num; + uint32_t focal_length_den; + uint32_t f_number_num; + uint32_t f_number_den; + uint32_t f_pix_num; + uint32_t f_pix_den; + uint32_t total_f_dist_num; + uint32_t total_f_dist_den; + uint32_t hor_view_angle_num; + uint32_t hor_view_angle_den; + uint32_t ver_view_angle_num; + uint32_t ver_view_angle_den; +}; + +enum af_camera_name { + ACTUATOR_MAIN_CAM_0, + ACTUATOR_MAIN_CAM_1, + ACTUATOR_MAIN_CAM_2, + ACTUATOR_MAIN_CAM_3, + ACTUATOR_MAIN_CAM_4, + ACTUATOR_MAIN_CAM_5, + ACTUATOR_WEB_CAM_0, + ACTUATOR_WEB_CAM_1, + ACTUATOR_WEB_CAM_2, +}; + +#define CAMERA_EFFECT_OFF 0 +#define CAMERA_EFFECT_MONO 1 +#define CAMERA_EFFECT_NEGATIVE 2 +#define CAMERA_EFFECT_SOLARIZE 3 +#define CAMERA_EFFECT_SEPIA 4 +#define CAMERA_EFFECT_POSTERIZE 5 +#define CAMERA_EFFECT_WHITEBOARD 6 +#define CAMERA_EFFECT_BLACKBOARD 7 +#define CAMERA_EFFECT_AQUA 8 +#define CAMERA_EFFECT_EMBOSS 9 +#define CAMERA_EFFECT_SKETCH 10 +#define CAMERA_EFFECT_NEON 11 +#define CAMERA_EFFECT_MAX 12 + +#define YUV_CAMERA_WB_AUTO 0 /* This list must match aeecamera.h */ +#define YUV_CAMERA_WB_CUSTOM 1 +#define YUV_CAMERA_WB_INCANDESCENT 2 +#define YUV_CAMERA_WB_FLUORESCENT 3 +#define YUV_CAMERA_WB_WARM_FLUORESCENT 4 +#define YUV_CAMERA_WB_DAYLIGHT 5 +#define YUV_CAMERA_WB_CLOUDY_DAYLIGHT 6 +#define YUV_CAMERA_WB_TWILIGHT 7 +#define YUV_CAMERA_WB_SHADE 8 + +#define CAMERA_EXPOSURE_COMPENSATION_LV0 12 +#define CAMERA_EXPOSURE_COMPENSATION_LV1 6 +#define CAMERA_EXPOSURE_COMPENSATION_LV2 0 +#define CAMERA_EXPOSURE_COMPENSATION_LV3 -6 +#define CAMERA_EXPOSURE_COMPENSATION_LV4 -12 + +#define CAMERA_FPS_FIX_30 30 +#define CAMERA_FPS_FIX_25 25 +#define CAMERA_FPS_FIX_24 24 +#define CAMERA_FPS_FIX_20 20 +#define CAMERA_FPS_FIX_15 15 +#define CAMERA_FPS_AUTO_30 0 + +struct msm_actuator_cfg_data { + int cfgtype; + uint8_t is_af_supported; + union { + struct msm_actuator_move_params_t move; + struct msm_actuator_set_info_t set_info; + struct msm_actuator_get_info_t get_info; + enum af_camera_name cam_name; + } cfg; +}; + +enum msm_actuator_write_type { + MSM_ACTUATOR_WRITE_HW_DAMP, + MSM_ACTUATOR_WRITE_DAC, +}; + +struct msm_actuator_reg_params_t { + enum msm_actuator_write_type reg_write_type; + uint32_t hw_mask; + uint16_t reg_addr; + uint16_t hw_shift; + uint16_t data_shift; +}; + +enum msm_camera_led_config_t { + MSM_CAMERA_LED_OFF, + MSM_CAMERA_LED_LOW, + MSM_CAMERA_LED_HIGH, + MSM_CAMERA_LED_INIT, + MSM_CAMERA_LED_RELEASE, +}; + +struct msm_camera_led_cfg_t { + enum msm_camera_led_config_t cfgtype; +}; + +#define VIDIOC_MSM_SENSOR_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct sensorb_cfg_data) + +#define VIDIOC_MSM_SENSOR_RELEASE \ + _IO('V', BASE_VIDIOC_PRIVATE + 2) + +#define VIDIOC_MSM_SENSOR_GET_SUBDEV_ID \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 3, uint32_t) + +#define VIDIOC_MSM_CSIPHY_IO_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct csid_cfg_data) + +#define VIDIOC_MSM_CSID_IO_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct csiphy_cfg_data) + +#define VIDIOC_MSM_ACTUATOR_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_actuator_cfg_data) + +#define VIDIOC_MSM_FLASH_LED_DATA_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_led_cfg_t) + +#define VIDIOC_MSM_EEPROM_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_eeprom_cfg_data) + +#define MSM_V4L2_PIX_FMT_META v4l2_fourcc('M', 'E', 'T', 'A') /* META */ + +#define MSM_V4L2_PIX_FMT_RESERVED_0 v4l2_fourcc('R', 'E', 'S', '0') + +#endif /* __LINUX_MSM_CAM_SENSOR_H */ diff --git a/original-kernel-headers/media/msm_gemini.h b/original-kernel-headers/media/msm_gemini.h new file mode 100644 index 0000000..2209758 --- /dev/null +++ b/original-kernel-headers/media/msm_gemini.h @@ -0,0 +1,123 @@ +#ifndef __LINUX_MSM_GEMINI_H +#define __LINUX_MSM_GEMINI_H + +#include +#include + +#define MSM_GMN_IOCTL_MAGIC 'g' + +#define MSM_GMN_IOCTL_GET_HW_VERSION \ + _IOW(MSM_GMN_IOCTL_MAGIC, 1, struct msm_gemini_hw_cmd *) + +#define MSM_GMN_IOCTL_RESET \ + _IOW(MSM_GMN_IOCTL_MAGIC, 2, struct msm_gemini_ctrl_cmd *) + +#define MSM_GMN_IOCTL_STOP \ + _IOW(MSM_GMN_IOCTL_MAGIC, 3, struct msm_gemini_hw_cmds *) + +#define MSM_GMN_IOCTL_START \ + _IOW(MSM_GMN_IOCTL_MAGIC, 4, struct msm_gemini_hw_cmds *) + +#define MSM_GMN_IOCTL_INPUT_BUF_ENQUEUE \ + _IOW(MSM_GMN_IOCTL_MAGIC, 5, struct msm_gemini_buf *) + +#define MSM_GMN_IOCTL_INPUT_GET \ + _IOW(MSM_GMN_IOCTL_MAGIC, 6, struct msm_gemini_buf *) + +#define MSM_GMN_IOCTL_INPUT_GET_UNBLOCK \ + _IOW(MSM_GMN_IOCTL_MAGIC, 7, int) + +#define MSM_GMN_IOCTL_OUTPUT_BUF_ENQUEUE \ + _IOW(MSM_GMN_IOCTL_MAGIC, 8, struct msm_gemini_buf *) + +#define MSM_GMN_IOCTL_OUTPUT_GET \ + _IOW(MSM_GMN_IOCTL_MAGIC, 9, struct msm_gemini_buf *) + +#define MSM_GMN_IOCTL_OUTPUT_GET_UNBLOCK \ + _IOW(MSM_GMN_IOCTL_MAGIC, 10, int) + +#define MSM_GMN_IOCTL_EVT_GET \ + _IOW(MSM_GMN_IOCTL_MAGIC, 11, struct msm_gemini_ctrl_cmd *) + +#define MSM_GMN_IOCTL_EVT_GET_UNBLOCK \ + _IOW(MSM_GMN_IOCTL_MAGIC, 12, int) + +#define MSM_GMN_IOCTL_HW_CMD \ + _IOW(MSM_GMN_IOCTL_MAGIC, 13, struct msm_gemini_hw_cmd *) + +#define MSM_GMN_IOCTL_HW_CMDS \ + _IOW(MSM_GMN_IOCTL_MAGIC, 14, struct msm_gemini_hw_cmds *) + +#define MSM_GMN_IOCTL_TEST_DUMP_REGION \ + _IOW(MSM_GMN_IOCTL_MAGIC, 15, unsigned long) + +#define MSM_GMN_IOCTL_SET_MODE \ + _IOW(MSM_GMN_IOCTL_MAGIC, 16, enum msm_gmn_out_mode) + +#define MSM_GEMINI_MODE_REALTIME_ENCODE 0 +#define MSM_GEMINI_MODE_OFFLINE_ENCODE 1 +#define MSM_GEMINI_MODE_REALTIME_ROTATION 2 +#define MSM_GEMINI_MODE_OFFLINE_ROTATION 3 + +enum msm_gmn_out_mode { + MSM_GMN_OUTMODE_FRAGMENTED, + MSM_GMN_OUTMODE_SINGLE +}; + +struct msm_gemini_ctrl_cmd { + uint32_t type; + uint32_t len; + void *value; +}; + +#define MSM_GEMINI_EVT_RESET 0 +#define MSM_GEMINI_EVT_FRAMEDONE 1 +#define MSM_GEMINI_EVT_ERR 2 + +struct msm_gemini_buf { + uint32_t type; + int fd; + + void *vaddr; + + uint32_t y_off; + uint32_t y_len; + uint32_t framedone_len; + + uint32_t cbcr_off; + uint32_t cbcr_len; + + uint32_t num_of_mcu_rows; + uint32_t offset; +}; + +#define MSM_GEMINI_HW_CMD_TYPE_READ 0 +#define MSM_GEMINI_HW_CMD_TYPE_WRITE 1 +#define MSM_GEMINI_HW_CMD_TYPE_WRITE_OR 2 +#define MSM_GEMINI_HW_CMD_TYPE_UWAIT 3 +#define MSM_GEMINI_HW_CMD_TYPE_MWAIT 4 +#define MSM_GEMINI_HW_CMD_TYPE_MDELAY 5 +#define MSM_GEMINI_HW_CMD_TYPE_UDELAY 6 +struct msm_gemini_hw_cmd { + + uint32_t type:4; + + /* n microseconds of timeout for WAIT */ + /* n microseconds of time for DELAY */ + /* repeat n times for READ/WRITE */ + /* max is 0xFFF, 4095 */ + uint32_t n:12; + uint32_t offset:16; + uint32_t mask; + union { + uint32_t data; /* for single READ/WRITE/WAIT, n = 1 */ + uint32_t *pdata; /* for multiple READ/WRITE/WAIT, n > 1 */ + }; +}; + +struct msm_gemini_hw_cmds { + uint32_t m; /* number of elements in the hw_cmd array */ + struct msm_gemini_hw_cmd hw_cmd[1]; +}; + +#endif /* __LINUX_MSM_GEMINI_H */ diff --git a/original-kernel-headers/media/msmb_camera.h b/original-kernel-headers/media/msmb_camera.h new file mode 100644 index 0000000..e431926 --- /dev/null +++ b/original-kernel-headers/media/msmb_camera.h @@ -0,0 +1,160 @@ +#ifndef __LINUX_MSMB_CAMERA_H +#define __LINUX_MSMB_CAMERA_H + +#include +#include +#include + +#define MSM_CAM_V4L2_IOCTL_NOTIFY \ + _IOW('V', BASE_VIDIOC_PRIVATE + 30, struct v4l2_event) + +#define MSM_CAM_V4L2_IOCTL_NOTIFY_META \ + _IOW('V', BASE_VIDIOC_PRIVATE + 31, struct v4l2_event) + +#define MSM_CAM_V4L2_IOCTL_CMD_ACK \ + _IOW('V', BASE_VIDIOC_PRIVATE + 32, struct v4l2_event) + +#define QCAMERA_DEVICE_GROUP_ID 1 +#define QCAMERA_VNODE_GROUP_ID 2 +#define MSM_CAMERA_NAME "msm_camera" +#define MSM_CONFIGURATION_NAME "msm_config" + +#define MSM_CAMERA_SUBDEV_CSIPHY 0 +#define MSM_CAMERA_SUBDEV_CSID 1 +#define MSM_CAMERA_SUBDEV_ISPIF 2 +#define MSM_CAMERA_SUBDEV_VFE 3 +#define MSM_CAMERA_SUBDEV_AXI 4 +#define MSM_CAMERA_SUBDEV_VPE 5 +#define MSM_CAMERA_SUBDEV_SENSOR 6 +#define MSM_CAMERA_SUBDEV_ACTUATOR 7 +#define MSM_CAMERA_SUBDEV_EEPROM 8 +#define MSM_CAMERA_SUBDEV_CPP 9 +#define MSM_CAMERA_SUBDEV_CCI 10 +#define MSM_CAMERA_SUBDEV_LED_FLASH 11 +#define MSM_CAMERA_SUBDEV_STROBE_FLASH 12 +#define MSM_CAMERA_SUBDEV_BUF_MNGR 13 + +#define MSM_MAX_CAMERA_SENSORS 5 + +/* featur base */ +#define MSM_CAMERA_FEATURE_BASE 0x00010000 +#define MSM_CAMERA_FEATURE_SHUTDOWN (MSM_CAMERA_FEATURE_BASE + 1) + +#define MSM_CAMERA_STATUS_BASE 0x00020000 +#define MSM_CAMERA_STATUS_FAIL (MSM_CAMERA_STATUS_BASE + 1) +#define MSM_CAMERA_STATUS_SUCCESS (MSM_CAMERA_STATUS_BASE + 2) + +/* event type */ +#define MSM_CAMERA_V4L2_EVENT_TYPE (V4L2_EVENT_PRIVATE_START + 0x00002000) + +/* event id */ +#define MSM_CAMERA_EVENT_MIN 0 +#define MSM_CAMERA_NEW_SESSION (MSM_CAMERA_EVENT_MIN + 1) +#define MSM_CAMERA_DEL_SESSION (MSM_CAMERA_EVENT_MIN + 2) +#define MSM_CAMERA_SET_PARM (MSM_CAMERA_EVENT_MIN + 3) +#define MSM_CAMERA_GET_PARM (MSM_CAMERA_EVENT_MIN + 4) +#define MSM_CAMERA_MAPPING_CFG (MSM_CAMERA_EVENT_MIN + 5) +#define MSM_CAMERA_MAPPING_SES (MSM_CAMERA_EVENT_MIN + 6) +#define MSM_CAMERA_MSM_NOTIFY (MSM_CAMERA_EVENT_MIN + 7) +#define MSM_CAMERA_EVENT_MAX (MSM_CAMERA_EVENT_MIN + 8) + +/* data.command */ +#define MSM_CAMERA_PRIV_S_CROP (V4L2_CID_PRIVATE_BASE + 1) +#define MSM_CAMERA_PRIV_G_CROP (V4L2_CID_PRIVATE_BASE + 2) +#define MSM_CAMERA_PRIV_G_FMT (V4L2_CID_PRIVATE_BASE + 3) +#define MSM_CAMERA_PRIV_S_FMT (V4L2_CID_PRIVATE_BASE + 4) +#define MSM_CAMERA_PRIV_TRY_FMT (V4L2_CID_PRIVATE_BASE + 5) +#define MSM_CAMERA_PRIV_METADATA (V4L2_CID_PRIVATE_BASE + 6) +#define MSM_CAMERA_PRIV_QUERY_CAP (V4L2_CID_PRIVATE_BASE + 7) +#define MSM_CAMERA_PRIV_STREAM_ON (V4L2_CID_PRIVATE_BASE + 8) +#define MSM_CAMERA_PRIV_STREAM_OFF (V4L2_CID_PRIVATE_BASE + 9) +#define MSM_CAMERA_PRIV_NEW_STREAM (V4L2_CID_PRIVATE_BASE + 10) +#define MSM_CAMERA_PRIV_DEL_STREAM (V4L2_CID_PRIVATE_BASE + 11) +#define MSM_CAMERA_PRIV_SHUTDOWN (V4L2_CID_PRIVATE_BASE + 12) +#define MSM_CAMERA_PRIV_STREAM_INFO_SYNC \ + (V4L2_CID_PRIVATE_BASE + 13) + +/* data.status - success */ +#define MSM_CAMERA_CMD_SUCESS 0x00000001 +#define MSM_CAMERA_BUF_MAP_SUCESS 0x00000002 + +/* data.status - error */ +#define MSM_CAMERA_ERR_EVT_BASE 0x00010000 +#define MSM_CAMERA_ERR_CMD_FAIL (MSM_CAMERA_ERR_EVT_BASE + 1) +#define MSM_CAMERA_ERR_MAPPING (MSM_CAMERA_ERR_EVT_BASE + 2) + +/* The msm_v4l2_event_data structure should match the + * v4l2_event.u.data field. + * should not exceed 16 elements */ +struct msm_v4l2_event_data { + /*word 0 */ + unsigned int command; + /*word 1 */ + unsigned int status; + /*word 2 */ + unsigned int session_id; + /*word 3 */ + unsigned int stream_id; + /*word 4 */ + unsigned int map_op; + /*word 5 */ + unsigned int map_buf_idx; + /*word 6 */ + unsigned int notify; + /*word 7 */ + unsigned int arg_value; + /*word 8 */ + unsigned int ret_value; + /*word 9 */ + unsigned int nop3; + /*word 10 */ + unsigned int nop4; + /*word 11 */ + unsigned int nop5; + /*word 12 */ + unsigned int nop6; + /*word 13 */ + unsigned int nop7; + /*word 14 */ + unsigned int nop8; + /*word 15 */ + unsigned int nop9; +}; + +/* map to v4l2_format.fmt.raw_data */ +struct msm_v4l2_format_data { + enum v4l2_buf_type type; + unsigned int width; + unsigned int height; + unsigned int pixelformat; /* FOURCC */ + unsigned char num_planes; + unsigned int plane_sizes[VIDEO_MAX_PLANES]; +}; + +/* MSM Four-character-code (FOURCC) */ +#define msm_v4l2_fourcc(a, b, c, d)\ + ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) |\ + ((__u32)(d) << 24)) + +/* Composite stats */ +#define MSM_V4L2_PIX_FMT_STATS_COMB v4l2_fourcc('S', 'T', 'C', 'M') +/* AEC stats */ +#define MSM_V4L2_PIX_FMT_STATS_AE v4l2_fourcc('S', 'T', 'A', 'E') +/* AF stats */ +#define MSM_V4L2_PIX_FMT_STATS_AF v4l2_fourcc('S', 'T', 'A', 'F') +/* AWB stats */ +#define MSM_V4L2_PIX_FMT_STATS_AWB v4l2_fourcc('S', 'T', 'W', 'B') +/* IHIST stats */ +#define MSM_V4L2_PIX_FMT_STATS_IHST v4l2_fourcc('I', 'H', 'S', 'T') +/* Column count stats */ +#define MSM_V4L2_PIX_FMT_STATS_CS v4l2_fourcc('S', 'T', 'C', 'S') +/* Row count stats */ +#define MSM_V4L2_PIX_FMT_STATS_RS v4l2_fourcc('S', 'T', 'R', 'S') +/* Bayer Grid stats */ +#define MSM_V4L2_PIX_FMT_STATS_BG v4l2_fourcc('S', 'T', 'B', 'G') +/* Bayer focus stats */ +#define MSM_V4L2_PIX_FMT_STATS_BF v4l2_fourcc('S', 'T', 'B', 'F') +/* Bayer hist stats */ +#define MSM_V4L2_PIX_FMT_STATS_BHST v4l2_fourcc('B', 'H', 'S', 'T') + +#endif /* __LINUX_MSMB_CAMERA_H */ diff --git a/original-kernel-headers/media/msmb_generic_buf_mgr.h b/original-kernel-headers/media/msmb_generic_buf_mgr.h new file mode 100644 index 0000000..efcb425 --- /dev/null +++ b/original-kernel-headers/media/msmb_generic_buf_mgr.h @@ -0,0 +1,23 @@ +#ifndef __MEDIA_MSMB_BUF_MNGR_H__ +#define __MEDIA_MSMB_BUF_MNGR_H__ + +struct msm_buf_mngr_info { + uint32_t session_id; + uint32_t stream_id; + uint32_t frame_id; + struct timeval timestamp; + uint32_t index; +}; + +struct v4l2_subdev *msm_buf_mngr_get_subdev(void); + +#define VIDIOC_MSM_BUF_MNGR_GET_BUF \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info) + +#define VIDIOC_MSM_BUF_MNGR_PUT_BUF \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info) + +#define VIDIOC_MSM_BUF_MNGR_BUF_DONE \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info) + +#endif diff --git a/original-kernel-headers/media/msmb_isp.h b/original-kernel-headers/media/msmb_isp.h new file mode 100644 index 0000000..6b71815 --- /dev/null +++ b/original-kernel-headers/media/msmb_isp.h @@ -0,0 +1,412 @@ +#ifndef _UAPI_MEDIA_MSMB_ISP_H +#define _UAPI_MEDIA_MSMB_ISP_H + +#include + +#define MAX_PLANES_PER_STREAM 3 +#define MAX_NUM_STREAM 7 + +#define ISP_VERSION_40 40 +#define ISP_VERSION_32 32 +#define ISP_NATIVE_BUF_BIT 0x10000 +#define ISP0_BIT 0x20000 +#define ISP1_BIT 0x40000 +#define ISP_STATS_STREAM_BIT 0x80000000 + +enum ISP_START_PIXEL_PATTERN { + ISP_BAYER_RGRGRG, + ISP_BAYER_GRGRGR, + ISP_BAYER_BGBGBG, + ISP_BAYER_GBGBGB, + ISP_YUV_YCbYCr, + ISP_YUV_YCrYCb, + ISP_YUV_CbYCrY, + ISP_YUV_CrYCbY, + ISP_PIX_PATTERN_MAX +}; + +enum msm_vfe_plane_fmt { + Y_PLANE, + CB_PLANE, + CR_PLANE, + CRCB_PLANE, + CBCR_PLANE, + VFE_PLANE_FMT_MAX +}; + +enum msm_vfe_input_src { + VFE_PIX_0, + VFE_RAW_0, + VFE_RAW_1, + VFE_RAW_2, + VFE_SRC_MAX, +}; + +enum msm_vfe_axi_stream_src { + PIX_ENCODER, + PIX_VIEWFINDER, + CAMIF_RAW, + IDEAL_RAW, + RDI_INTF_0, + RDI_INTF_1, + RDI_INTF_2, + VFE_AXI_SRC_MAX +}; + +enum msm_vfe_frame_skip_pattern { + NO_SKIP, + EVERY_2FRAME, + EVERY_3FRAME, + EVERY_4FRAME, + EVERY_5FRAME, + EVERY_6FRAME, + EVERY_7FRAME, + EVERY_8FRAME, + EVERY_16FRAME, + EVERY_32FRAME, + MAX_SKIP, +}; + +enum msm_vfe_camif_input { + CAMIF_DISABLED, + CAMIF_PAD_REG_INPUT, + CAMIF_MIDDI_INPUT, + CAMIF_MIPI_INPUT, +}; + +struct msm_vfe_camif_cfg { + uint32_t lines_per_frame; + uint32_t pixels_per_line; + uint32_t first_pixel; + uint32_t last_pixel; + uint32_t first_line; + uint32_t last_line; + uint32_t epoch_line0; + uint32_t epoch_line1; + enum msm_vfe_camif_input camif_input; +}; + +enum msm_vfe_inputmux { + CAMIF, + TESTGEN, + EXTERNAL_READ, +}; + +struct msm_vfe_pix_cfg { + struct msm_vfe_camif_cfg camif_cfg; + enum msm_vfe_inputmux input_mux; + enum ISP_START_PIXEL_PATTERN pixel_pattern; +}; + +struct msm_vfe_rdi_cfg { + uint8_t cid; + uint8_t frame_based; +}; + +struct msm_vfe_input_cfg { + union { + struct msm_vfe_pix_cfg pix_cfg; + struct msm_vfe_rdi_cfg rdi_cfg; + } d; + enum msm_vfe_input_src input_src; + uint32_t input_pix_clk; +}; + +struct msm_vfe_axi_plane_cfg { + uint32_t output_width; /*Include padding*/ + uint32_t output_height; + uint32_t output_stride; + uint32_t output_scan_lines; + uint32_t output_plane_format; /*Y/Cb/Cr/CbCr*/ + uint32_t plane_addr_offset; + uint8_t csid_src; /*RDI 0-2*/ + uint8_t rdi_cid;/*CID 1-16*/ +}; + +struct msm_vfe_axi_stream_request_cmd { + uint32_t session_id; + uint32_t stream_id; + uint32_t output_format;/*Planar/RAW/Misc*/ + enum msm_vfe_axi_stream_src stream_src; /*CAMIF/IDEAL/RDIs*/ + struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM]; + + uint32_t burst_count; + uint32_t hfr_mode; + uint8_t frame_base; + + uint32_t init_frame_drop; /*MAX 31 Frames*/ + enum msm_vfe_frame_skip_pattern frame_skip_pattern; + uint8_t buf_divert; /* if TRUE no vb2 buf done. */ + /*Return values*/ + uint32_t axi_stream_handle; +}; + +struct msm_vfe_axi_stream_release_cmd { + uint32_t stream_handle; +}; + +enum msm_vfe_axi_stream_cmd { + STOP_STREAM, + START_STREAM, +}; + +struct msm_vfe_axi_stream_cfg_cmd { + uint8_t num_streams; + uint32_t stream_handle[MAX_NUM_STREAM]; + enum msm_vfe_axi_stream_cmd cmd; +}; + +enum msm_vfe_axi_stream_update_type { + ENABLE_STREAM_BUF_DIVERT, + DISABLE_STREAM_BUF_DIVERT, + UPDATE_STREAM_FRAMEDROP_PATTERN, +}; + +struct msm_vfe_axi_stream_update_cmd { + uint32_t stream_handle; + enum msm_vfe_axi_stream_update_type update_type; + enum msm_vfe_frame_skip_pattern skip_pattern; +}; + +enum msm_isp_stats_type { + MSM_ISP_STATS_AEC, /* legacy based AEC */ + MSM_ISP_STATS_AF, /* legacy based AF */ + MSM_ISP_STATS_AWB, /* legacy based AWB */ + MSM_ISP_STATS_RS, /* legacy based RS */ + MSM_ISP_STATS_CS, /* legacy based CS */ + MSM_ISP_STATS_IHIST, /* legacy based HIST */ + MSM_ISP_STATS_SKIN, /* legacy based SKIN */ + MSM_ISP_STATS_BG, /* Bayer Grids */ + MSM_ISP_STATS_BF, /* Bayer Focus */ + MSM_ISP_STATS_BE, /* Bayer Exposure*/ + MSM_ISP_STATS_BHIST, /* Bayer Hist */ + MSM_ISP_STATS_MAX /* MAX */ +}; + +struct msm_vfe_stats_stream_request_cmd { + uint32_t session_id; + uint32_t stream_id; + enum msm_isp_stats_type stats_type; + uint32_t composite_flag; + uint32_t framedrop_pattern; + uint32_t irq_subsample_pattern; + uint32_t buffer_offset; + uint32_t stream_handle; +}; + +struct msm_vfe_stats_stream_release_cmd { + uint32_t stream_handle; +}; + +struct msm_vfe_stats_stream_cfg_cmd { + uint8_t num_streams; + uint32_t stream_handle[MSM_ISP_STATS_MAX]; + uint8_t enable; +}; + +enum msm_vfe_reg_cfg_type { + VFE_WRITE, + VFE_WRITE_MB, + VFE_READ, + VFE_CFG_MASK, + VFE_WRITE_DMI_16BIT, + VFE_WRITE_DMI_32BIT, + VFE_WRITE_DMI_64BIT, + VFE_READ_DMI_16BIT, + VFE_READ_DMI_32BIT, + VFE_READ_DMI_64BIT, +}; + +struct msm_vfe_cfg_cmd2 { + uint16_t num_cfg; + uint16_t cmd_len; + void __user *cfg_data; + void __user *cfg_cmd; +}; + +struct msm_vfe_reg_rw_info { + uint32_t reg_offset; + uint32_t cmd_data_offset; + uint32_t len; +}; + +struct msm_vfe_reg_mask_info { + uint32_t reg_offset; + uint32_t mask; + uint32_t val; +}; + +struct msm_vfe_reg_dmi_info { + uint32_t hi_tbl_offset; /*Optional*/ + uint32_t lo_tbl_offset; /*Required*/ + uint32_t len; +}; + +struct msm_vfe_reg_cfg_cmd { + union { + struct msm_vfe_reg_rw_info rw_info; + struct msm_vfe_reg_mask_info mask_info; + struct msm_vfe_reg_dmi_info dmi_info; + } u; + enum msm_vfe_reg_cfg_type cmd_type; +}; + +enum msm_isp_buf_type { + ISP_PRIVATE_BUF, + ISP_SHARE_BUF, + MAX_ISP_BUF_TYPE, +}; + +struct msm_isp_buf_request { + uint32_t session_id; + uint32_t stream_id; + uint8_t num_buf; + uint32_t handle; + enum msm_isp_buf_type buf_type; +}; + +struct msm_isp_qbuf_info { + uint32_t handle; + int buf_idx; + /*Only used for prepare buffer*/ + struct v4l2_buffer buffer; + /*Only used for diverted buffer*/ + uint32_t dirty_buf; +}; + +struct msm_vfe_axi_src_state { + enum msm_vfe_input_src input_src; + uint32_t src_active; +}; + +enum msm_isp_event_idx { + ISP_REG_UPDATE = 0, + ISP_START_ACK = 1, + ISP_STOP_ACK = 2, + ISP_IRQ_VIOLATION = 3, + ISP_WM_BUS_OVERFLOW = 4, + ISP_STATS_OVERFLOW = 5, + ISP_CAMIF_ERROR = 6, + ISP_SOF = 7, + ISP_EOF = 8, + ISP_EVENT_MAX = 9 +}; + +#define ISP_EVENT_OFFSET 8 +#define ISP_EVENT_BASE (V4L2_EVENT_PRIVATE_START) +#define ISP_BUF_EVENT_BASE (ISP_EVENT_BASE + (1 << ISP_EVENT_OFFSET)) +#define ISP_STATS_EVENT_BASE (ISP_EVENT_BASE + (2 << ISP_EVENT_OFFSET)) +#define ISP_EVENT_REG_UPDATE (ISP_EVENT_BASE + ISP_REG_UPDATE) +#define ISP_EVENT_START_ACK (ISP_EVENT_BASE + ISP_START_ACK) +#define ISP_EVENT_STOP_ACK (ISP_EVENT_BASE + ISP_STOP_ACK) +#define ISP_EVENT_IRQ_VIOLATION (ISP_EVENT_BASE + ISP_IRQ_VIOLATION) +#define ISP_EVENT_WM_BUS_OVERFLOW (ISP_EVENT_BASE + ISP_WM_BUS_OVERFLOW) +#define ISP_EVENT_STATS_OVERFLOW (ISP_EVENT_BASE + ISP_STATS_OVERFLOW) +#define ISP_EVENT_CAMIF_ERROR (ISP_EVENT_BASE + ISP_CAMIF_ERROR) +#define ISP_EVENT_SOF (ISP_EVENT_BASE + ISP_SOF) +#define ISP_EVENT_EOF (ISP_EVENT_BASE + ISP_EOF) +#define ISP_EVENT_BUF_DIVERT (ISP_BUF_EVENT_BASE) +#define ISP_EVENT_STATS_NOTIFY (ISP_STATS_EVENT_BASE) +#define ISP_EVENT_COMP_STATS_NOTIFY (ISP_EVENT_STATS_NOTIFY + MSM_ISP_STATS_MAX) +/* The msm_v4l2_event_data structure should match the + * v4l2_event.u.data field. + * should not exceed 64 bytes */ + +struct msm_isp_buf_event { + uint32_t session_id; + uint32_t stream_id; + uint32_t handle; + int8_t buf_idx; +}; +struct msm_isp_stats_event { + uint32_t stats_mask; /* 4 bytes */ + uint8_t stats_buf_idxs[MSM_ISP_STATS_MAX]; /* 11 bytes */ +}; + +struct msm_isp_stream_ack { + uint32_t session_id; + uint32_t stream_id; + uint32_t handle; +}; + +struct msm_isp_event_data { + /*Wall clock except for buffer divert events + *which use monotonic clock + */ + struct timeval timestamp; + /* Monotonic timestamp since bootup */ + struct timeval mono_timestamp; + /* if pix is a src frame_id is from camif */ + uint32_t frame_id; + union { + /* START_ACK, STOP_ACK */ + struct msm_isp_stream_ack stream_ack; + /* REG_UPDATE_TRIGGER, bus over flow */ + enum msm_vfe_input_src input_src; + /* stats notify */ + struct msm_isp_stats_event stats; + /* IRQ_VIOLATION, STATS_OVER_FLOW, WM_OVER_FLOW */ + uint32_t irq_status_mask; + struct msm_isp_buf_event buf_done; + } u; /* union can have max 52 bytes */ +}; + +#define V4L2_PIX_FMT_QBGGR8 v4l2_fourcc('Q', 'B', 'G', '8') +#define V4L2_PIX_FMT_QGBRG8 v4l2_fourcc('Q', 'G', 'B', '8') +#define V4L2_PIX_FMT_QGRBG8 v4l2_fourcc('Q', 'G', 'R', '8') +#define V4L2_PIX_FMT_QRGGB8 v4l2_fourcc('Q', 'R', 'G', '8') +#define V4L2_PIX_FMT_QBGGR10 v4l2_fourcc('Q', 'B', 'G', '0') +#define V4L2_PIX_FMT_QGBRG10 v4l2_fourcc('Q', 'G', 'B', '0') +#define V4L2_PIX_FMT_QGRBG10 v4l2_fourcc('Q', 'G', 'R', '0') +#define V4L2_PIX_FMT_QRGGB10 v4l2_fourcc('Q', 'R', 'G', '0') +#define V4L2_PIX_FMT_QBGGR12 v4l2_fourcc('Q', 'B', 'G', '2') +#define V4L2_PIX_FMT_QGBRG12 v4l2_fourcc('Q', 'G', 'B', '2') +#define V4L2_PIX_FMT_QGRBG12 v4l2_fourcc('Q', 'G', 'R', '2') +#define V4L2_PIX_FMT_QRGGB12 v4l2_fourcc('Q', 'R', 'G', '2') + +#define VIDIOC_MSM_VFE_REG_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_vfe_cfg_cmd2) + +#define VIDIOC_MSM_ISP_REQUEST_BUF \ + _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct msm_isp_buf_request) + +#define VIDIOC_MSM_ISP_ENQUEUE_BUF \ + _IOWR('V', BASE_VIDIOC_PRIVATE+2, struct msm_isp_qbuf_info) + +#define VIDIOC_MSM_ISP_RELEASE_BUF \ + _IOWR('V', BASE_VIDIOC_PRIVATE+3, struct msm_isp_buf_request) + +#define VIDIOC_MSM_ISP_REQUEST_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+4, struct msm_vfe_axi_stream_request_cmd) + +#define VIDIOC_MSM_ISP_CFG_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+5, struct msm_vfe_axi_stream_cfg_cmd) + +#define VIDIOC_MSM_ISP_RELEASE_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+6, struct msm_vfe_axi_stream_release_cmd) + +#define VIDIOC_MSM_ISP_INPUT_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE+7, struct msm_vfe_input_cfg) + +#define VIDIOC_MSM_ISP_SET_SRC_STATE \ + _IOWR('V', BASE_VIDIOC_PRIVATE+8, struct msm_vfe_axi_src_state) + +#define VIDIOC_MSM_ISP_REQUEST_STATS_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+9, \ + struct msm_vfe_stats_stream_request_cmd) + +#define VIDIOC_MSM_ISP_CFG_STATS_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+10, struct msm_vfe_stats_stream_cfg_cmd) + +#define VIDIOC_MSM_ISP_RELEASE_STATS_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+11, \ + struct msm_vfe_stats_stream_release_cmd) + +#define VIDIOC_MSM_ISP_CFG_STATS_COMP_POLICY \ + _IOWR('V', BASE_VIDIOC_PRIVATE+12, \ + struct msm_vfe_stats_comp_policy_cfg) + +#define VIDIOC_MSM_ISP_UPDATE_STREAM \ + _IOWR('V', BASE_VIDIOC_PRIVATE+13, struct msm_vfe_axi_stream_update_cmd) + +#endif /* _UAPI_MEDIA_MSMB_ISP_H */ diff --git a/original-kernel-headers/media/msmb_ispif.h b/original-kernel-headers/media/msmb_ispif.h new file mode 100644 index 0000000..aeb4a62 --- /dev/null +++ b/original-kernel-headers/media/msmb_ispif.h @@ -0,0 +1,121 @@ +#ifndef MSM_CAM_ISPIF_H +#define MSM_CAM_ISPIF_H + +#define CSID_VERSION_V2 0x02000011 +#define CSID_VERSION_V3 0x30000000 + +enum msm_ispif_vfe_intf { + VFE0, + VFE1, + VFE_MAX +}; +#define VFE0_MASK (1 << VFE0) +#define VFE1_MASK (1 << VFE1) + +enum msm_ispif_intftype { + PIX0, + RDI0, + PIX1, + RDI1, + RDI2, + INTF_MAX +}; +#define MAX_PARAM_ENTRIES (INTF_MAX * 2) + +#define PIX0_MASK (1 << PIX0) +#define PIX1_MASK (1 << PIX1) +#define RDI0_MASK (1 << RDI0) +#define RDI1_MASK (1 << RDI1) +#define RDI2_MASK (1 << RDI2) + + +enum msm_ispif_vc { + VC0, + VC1, + VC2, + VC3, + VC_MAX +}; + +enum msm_ispif_cid { + CID0, + CID1, + CID2, + CID3, + CID4, + CID5, + CID6, + CID7, + CID8, + CID9, + CID10, + CID11, + CID12, + CID13, + CID14, + CID15, + CID_MAX +}; + +enum msm_ispif_csid { + CSID0, + CSID1, + CSID2, + CSID3, + CSID_MAX +}; + +struct msm_ispif_params_entry { + enum msm_ispif_vfe_intf vfe_intf; + enum msm_ispif_intftype intftype; + int num_cids; + enum msm_ispif_cid cids[3]; + enum msm_ispif_csid csid; + int crop_enable; + uint16_t crop_start_pixel; + uint16_t crop_end_pixel; +}; + +struct msm_ispif_param_data { + uint32_t num; + struct msm_ispif_params_entry entries[MAX_PARAM_ENTRIES]; +}; + +struct msm_isp_info { + uint32_t max_resolution; + uint32_t id; + uint32_t ver; +}; + +struct msm_ispif_vfe_info { + int num_vfe; + struct msm_isp_info info[VFE_MAX]; +}; + +enum ispif_cfg_type_t { + ISPIF_CLK_ENABLE, + ISPIF_CLK_DISABLE, + ISPIF_INIT, + ISPIF_CFG, + ISPIF_START_FRAME_BOUNDARY, + ISPIF_STOP_FRAME_BOUNDARY, + ISPIF_STOP_IMMEDIATELY, + ISPIF_RELEASE, + ISPIF_ENABLE_REG_DUMP, + ISPIF_SET_VFE_INFO, +}; + +struct ispif_cfg_data { + enum ispif_cfg_type_t cfg_type; + union { + int reg_dump; /* ISPIF_ENABLE_REG_DUMP */ + uint32_t csid_version; /* ISPIF_INIT */ + struct msm_ispif_vfe_info vfe_info; /* ISPIF_SET_VFE_INFO */ + struct msm_ispif_param_data params; /* CFG, START, STOP */ + }; +}; + +#define VIDIOC_MSM_ISPIF_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE, struct ispif_cfg_data) + +#endif /* MSM_CAM_ISPIF_H */ diff --git a/original-kernel-headers/media/msmb_pproc.h b/original-kernel-headers/media/msmb_pproc.h new file mode 100644 index 0000000..c185096 --- /dev/null +++ b/original-kernel-headers/media/msmb_pproc.h @@ -0,0 +1,153 @@ +#ifndef __MSMB_PPROC_H +#define __MSMB_PPROC_H + +#ifdef MSM_CAMERA_BIONIC +#include +#endif +#include +#include + +/* Should be same as VIDEO_MAX_PLANES in videodev2.h */ +#define MAX_PLANES VIDEO_MAX_PLANES + +#define MAX_NUM_CPP_STRIPS 8 +#define MSM_CPP_MAX_NUM_PLANES 3 + +enum msm_cpp_frame_type { + MSM_CPP_OFFLINE_FRAME, + MSM_CPP_REALTIME_FRAME, +}; + +struct msm_cpp_frame_strip_info { + int scale_v_en; + int scale_h_en; + + int upscale_v_en; + int upscale_h_en; + + int src_start_x; + int src_end_x; + int src_start_y; + int src_end_y; + + /* Padding is required for upscaler because it does not + * pad internally like other blocks, also needed for rotation + * rotation expects all the blocks in the stripe to be the same size + * Padding is done such that all the extra padded pixels + * are on the right and bottom + */ + int pad_bottom; + int pad_top; + int pad_right; + int pad_left; + + int v_init_phase; + int h_init_phase; + int h_phase_step; + int v_phase_step; + + int prescale_crop_width_first_pixel; + int prescale_crop_width_last_pixel; + int prescale_crop_height_first_line; + int prescale_crop_height_last_line; + + int postscale_crop_height_first_line; + int postscale_crop_height_last_line; + int postscale_crop_width_first_pixel; + int postscale_crop_width_last_pixel; + + int dst_start_x; + int dst_end_x; + int dst_start_y; + int dst_end_y; + + int bytes_per_pixel; + unsigned int source_address; + unsigned int destination_address; + unsigned int src_stride; + unsigned int dst_stride; + int rotate_270; + int horizontal_flip; + int vertical_flip; + int scale_output_width; + int scale_output_height; + int prescale_crop_en; + int postscale_crop_en; +}; + +struct msm_cpp_buffer_info_t { + int fd; + uint32_t index; + uint32_t offset; + uint8_t native_buff; + uint8_t processed_divert; +}; + +struct msm_cpp_stream_buff_info_t { + uint32_t identity; + uint32_t num_buffs; + struct msm_cpp_buffer_info_t *buffer_info; +}; + +struct msm_cpp_frame_info_t { + int32_t frame_id; + struct timeval timestamp; + uint32_t inst_id; + uint32_t identity; + uint32_t client_id; + enum msm_cpp_frame_type frame_type; + uint32_t num_strips; + struct msm_cpp_frame_strip_info *strip_info; + uint32_t msg_len; + uint32_t *cpp_cmd_msg; + int src_fd; + int dst_fd; + struct ion_handle *src_ion_handle; + struct ion_handle *dest_ion_handle; + struct timeval in_time, out_time; + void *cookie; + int32_t *status; + + struct msm_cpp_buffer_info_t input_buffer_info; + struct msm_cpp_buffer_info_t output_buffer_info; +}; + +struct cpp_hw_info { + uint32_t cpp_hw_version; + uint32_t cpp_hw_caps; +}; + +#define VIDIOC_MSM_CPP_CFG \ + _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_GET_INST_INFO \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_LOAD_FIRMWARE \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_GET_HW_INFO \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_FLUSH_QUEUE \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_ENQUEUE_STREAM_BUFF_INFO \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_camera_v4l2_ioctl_t) + +#define VIDIOC_MSM_CPP_DEQUEUE_STREAM_BUFF_INFO \ + _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_v4l2_ioctl_t) + +#define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0) + +struct msm_camera_v4l2_ioctl_t { + uint32_t id; + uint32_t len; + int32_t trans_code; + void __user *ioctl_ptr; +}; + +#endif /* __MSMB_PPROC_H */ diff --git a/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml b/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml index f1e1a73..4ace0e9 100644 --- a/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml +++ b/overlay/frameworks/base/core/res/res/values-mcc310-mnc030/config.xml @@ -21,6 +21,17 @@ for different hardware and product builds. --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + #ffffffff + 1000 @@ -109,15 +115,6 @@ The user is forbidden from setting the brightness below this level. --> 5 - - 2 - 9000 @@ -234,6 +231,13 @@ 600 + false + + + + /dev/bus/usb/001 + + 6 @@ -246,6 +250,10 @@ This value has been tuned for the "msm8960" device. --> 35mm + + false + rmnet_usb0 @@ -258,9 +266,17 @@ it causes the device to wake up. The default is false. --> true - - - true + + + com.android.systemui/com.android.systemui.doze.DozeService + + true + + true + + true GSM | WCDMA | LTE - - 64 - - - 64 - - - true - false - - - 524288,1048576,2560000,524288,1048576,2560000 diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/overlay/frameworks/base/core/res/res/xml/storage_list.xml new file mode 100644 index 0000000..344fe1e --- /dev/null +++ b/overlay/frameworks/base/core/res/res/xml/storage_list.xml @@ -0,0 +1,28 @@ + + + + + + + + + diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml index bf2577e..5090248 100644 --- a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -27,5 +27,12 @@ 7 + + + true + + true + + true diff --git a/overlay/packages/apps/Bluetooth/res/values/config.xml b/overlay/packages/apps/Bluetooth/res/values/config.xml deleted file mode 100644 index 69ae66f..0000000 --- a/overlay/packages/apps/Bluetooth/res/values/config.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - true - diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml new file mode 100644 index 0000000..cfdd923 --- /dev/null +++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/overlay/packages/apps/Trebuchet/res/values/config.xml b/overlay/packages/apps/Launcher2/res/values/config.xml similarity index 100% rename from overlay/packages/apps/Trebuchet/res/values/config.xml rename to overlay/packages/apps/Launcher2/res/values/config.xml diff --git a/overlay/packages/apps/Phone b/overlay/packages/apps/Phone new file mode 100644 index 0000000000000000000000000000000000000000..2606b2398893c4a895aaf740c1a8a9feddd2d852 GIT binary patch literal 50 zcmeawE2;4D^Jdgz&|}bNC}v1yC}JpM$Ye+cvWkHsAwW6@hzl4p81fnN7%CY67j_C@ literal 0 HcmV?d00001 diff --git a/overlay/packages/apps/Settings/res/values/bools.xml b/overlay/packages/apps/Settings/res/values/bools.xml index 7a36522..c841acb 100644 --- a/overlay/packages/apps/Settings/res/values/bools.xml +++ b/overlay/packages/apps/Settings/res/values/bools.xml @@ -15,6 +15,9 @@ --> + + false + true diff --git a/overlay/packages/apps/Snap/res/values/config.xml b/overlay/packages/services/Telephony/res/values-mcc310-mnc004/config.xml similarity index 51% rename from overlay/packages/apps/Snap/res/values/config.xml rename to overlay/packages/services/Telephony/res/values-mcc310-mnc004/config.xml index 7a7c1df..b4c4fba 100644 --- a/overlay/packages/apps/Snap/res/values/config.xml +++ b/overlay/packages/services/Telephony/res/values-mcc310-mnc004/config.xml @@ -1,10 +1,12 @@ - - - - true - - - true - - - false - - - false + + false + true + false diff --git a/overlay/packages/services/Telephony/res/values-mcc310-mnc005/config.xml b/overlay/packages/services/Telephony/res/values-mcc310-mnc005/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc310-mnc005/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc310-mnc012/config.xml b/overlay/packages/services/Telephony/res/values-mcc310-mnc012/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc310-mnc012/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc480/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc480/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc480/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc481/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc481/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc481/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc482/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc482/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc482/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc483/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc483/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc483/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc484/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc484/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc484/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc485/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc485/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc485/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc486/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc486/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc486/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc487/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc487/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc487/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc488/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc488/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc488/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values-mcc311-mnc489/config.xml b/overlay/packages/services/Telephony/res/values-mcc311-mnc489/config.xml new file mode 100644 index 0000000..b4c4fba --- /dev/null +++ b/overlay/packages/services/Telephony/res/values-mcc311-mnc489/config.xml @@ -0,0 +1,27 @@ + + + + + + + false + true + false + diff --git a/overlay/packages/services/Telephony/res/values/strings.xml b/overlay/packages/services/Telephony/res/values/strings.xml deleted file mode 100644 index 36ded54..0000000 --- a/overlay/packages/services/Telephony/res/values/strings.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - @string/preferred_network_mode_gsm_only_choice - @string/preferred_network_mode_gsm_wcdma_auto_choice - @string/preferred_network_mode_gsm_wcdma_preferred_choice - @string/preferred_network_mode_wcdma_only_choice - @string/preferred_network_mode_gsm_wcdma_lte_choice - @string/preferred_network_mode_lte_wcdma_choice - @string/preferred_network_mode_lte_choice - - - - "1" - "3" - "0" - "2" - "9" - "12" - "11" - - \ No newline at end of file diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt index 92fd075..6e2a3a2 100644 --- a/proprietary-blobs.txt +++ b/proprietary-blobs.txt @@ -12,6 +12,199 @@ # See the License for the specific language governing permissions and # limitations under the License. -lib/libril-qc-qmi-1.so -lib/libril-qcril-hook-oem.so +# This file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT +/system/bin/ATFWD-daemon +/system/bin/bridgemgrd +/system/bin/btnvtool +/system/bin/diag_klog +/system/bin/diag_mdlog +/system/bin/ds_fmc_appd +/system/bin/efsks +/system/bin/hci_qcomm_init +/system/bin/irsc_util +/system/bin/ks +/system/bin/mm-qcamera-app +/system/bin/mm-qcamera-daemon +/system/bin/mm-qjpeg-enc-test +/system/bin/mm-qomx-ienc-test +/system/bin/mpdecision +/system/bin/netmgrd +/system/bin/nl_listener +/system/bin/port-bridge +/system/bin/qcks +/system/bin/qmuxd +/system/bin/qseecomd +/system/bin/radish +/system/bin/rmt_storage +/system/bin/sensors.qcom +/system/bin/thermald +/system/bin/usbhub +/system/bin/usbhub_init +/system/etc/apns-conf.xml +/system/etc/firmware/tzapps.b00 +/system/etc/firmware/tzapps.b01 +/system/etc/firmware/tzapps.b02 +/system/etc/firmware/tzapps.b03 +/system/etc/firmware/tzapps.mdt +/system/etc/firmware/vidc.b00 +/system/etc/firmware/vidc.b01 +/system/etc/firmware/vidc.b02 +/system/etc/firmware/vidc.b03 +/system/etc/firmware/vidc.mdt +/system/etc/firmware/vidcfw.elf +/system/etc/firmware/vidc_1080p.fw +/system/etc/firmware/wcd9310/wcd9310_anc.bin +/system/etc/firmware/wcd9310/wcd9310_mbhc.bin +/system/etc/gps.conf +/system/vendor/lib/egl/eglsubAndroid.so +/system/vendor/lib/egl/libEGL_adreno.so +/system/vendor/lib/egl/libGLESv1_CM_adreno.so +/system/vendor/lib/egl/libGLESv2_adreno.so +/system/vendor/lib/egl/libplayback_adreno.so +/system/vendor/lib/egl/libq3dtools_adreno.so +/system/lib/hw/flp.msm8960.so +/system/lib/hw/gps.msm8960.so +/system/lib/hw/sensors.msm8960.so +/system/lib/libacdbdata.so +/system/lib/libacdbloader.so +/system/vendor/lib/libadreno_utils.so +/system/lib/libAKM.so +/system/lib/libaudcal.so +/system/lib/libaudioalsa.so +/system/vendor/lib/libC2D2.so +/system/vendor/lib/libc2d30-a3xx.so +/system/vendor/lib/libc2d30.so +/system/vendor/lib/libCB.so +/system/lib/libchromatix_ov5693_common.so +/system/lib/libchromatix_ov5693_default_video.so +/system/lib/libchromatix_ov5693_preview.so +/system/lib/libCommandSvc.so +/system/lib/libconfigdb.so +/system/lib/libcsd-client.so +/system/lib/libdiag.so +/system/lib/libdrmdiag.so +/system/lib/libdrmfs.so +/system/lib/libdrmtime.so +/system/lib/libdsi_netctrl.so +/system/lib/libdsprofile.so +/system/lib/libdss.so +/system/lib/libdsucsd.so +/system/lib/libdsutils.so +/system/lib/libDxHdcp.so +/system/lib/libgps.utils.so +/system/vendor/lib/libgsl.so +/system/lib/libI420colorconvert.so +/system/lib/libidl.so +/system/vendor/lib/libllvm-qcom.so +/system/lib/libloc_core.so +/system/lib/libloc_eng.so +/system/lib/libmm-abl.so +/system/lib/libmm-color-convertor.so +/system/lib/libmmcamera2_stats_algorithm.so +/system/lib/libmmcamera_image_stab.so +/system/lib/libmmcamera_mi1040.so +/system/lib/libmmcamera_ov5693.so +/system/lib/libnetmgr.so +/system/lib/liboemcrypto.so +/system/lib/libqcci_legacy.so +/system/lib/libqdi.so +/system/lib/libqdp.so +/system/lib/libqmi.so +/system/lib/libqmiservices.so +/system/lib/libqmi_cci.so +/system/lib/libqmi_client_qmux.so +/system/lib/libqmi_common_so.so +/system/lib/libqmi_csi.so +/system/lib/libqmi_csvt_srvc.so +/system/lib/libqmi_encdec.so +/system/lib/libQSEEComAPI.so +/system/lib/libril-qc-qmi-1.so +/system/lib/libril-qcril-hook-oem.so +/system/vendor/lib/libRSDriver_adreno.so +/system/vendor/lib/librs_adreno.so +/system/vendor/lib/librs_adreno_sha1.so +/system/vendor/lib/libsc-a3xx.so +/system/lib/libsensor1.so +/system/lib/libsensor_reg.so +/system/lib/libsensor_user_cal.so +/system/lib/libstagefright_hdcp.so +/system/lib/libxml.so +/system/vendor/firmware/a300_pfp.fw +/system/vendor/firmware/a300_pm4.fw +/system/vendor/firmware/bcm2079x-b5_firmware.ncd +/system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd +/system/vendor/firmware/discretix/dxhdcp2.b00 +/system/vendor/firmware/discretix/dxhdcp2.b01 +/system/vendor/firmware/discretix/dxhdcp2.b02 +/system/vendor/firmware/discretix/dxhdcp2.b03 +/system/vendor/firmware/discretix/dxhdcp2.mdt +/system/vendor/firmware/dsps.b00 +/system/vendor/firmware/dsps.b01 +/system/vendor/firmware/dsps.b02 +/system/vendor/firmware/dsps.b03 +/system/vendor/firmware/dsps.b04 +/system/vendor/firmware/dsps.b05 +/system/vendor/firmware/dsps.mdt +/system/vendor/firmware/gss.b00 +/system/vendor/firmware/gss.b01 +/system/vendor/firmware/gss.b02 +/system/vendor/firmware/gss.b03 +/system/vendor/firmware/gss.b04 +/system/vendor/firmware/gss.b05 +/system/vendor/firmware/gss.b06 +/system/vendor/firmware/gss.b07 +/system/vendor/firmware/gss.b08 +/system/vendor/firmware/gss.b09 +/system/vendor/firmware/gss.b10 +/system/vendor/firmware/gss.b11 +/system/vendor/firmware/gss.mdt +/system/vendor/firmware/keymaster/keymaster.b00 +/system/vendor/firmware/keymaster/keymaster.b01 +/system/vendor/firmware/keymaster/keymaster.b02 +/system/vendor/firmware/keymaster/keymaster.b03 +/system/vendor/firmware/keymaster/keymaster.mdt +/system/vendor/firmware/q6.b00 +/system/vendor/firmware/q6.b01 +/system/vendor/firmware/q6.b03 +/system/vendor/firmware/q6.b04 +/system/vendor/firmware/q6.b05 +/system/vendor/firmware/q6.b06 +/system/vendor/firmware/q6.mdt +/system/vendor/firmware/tzapps.b00 +/system/vendor/firmware/tzapps.b01 +/system/vendor/firmware/tzapps.b02 +/system/vendor/firmware/tzapps.b03 +/system/vendor/firmware/tzapps.mdt +/system/vendor/firmware/wcnss.b00 +/system/vendor/firmware/wcnss.b01 +/system/vendor/firmware/wcnss.b02 +/system/vendor/firmware/wcnss.b04 +/system/vendor/firmware/wcnss.b05 +/system/vendor/firmware/wcnss.mdt +/system/vendor/lib/libdrmdecrypt.so +/system/vendor/lib/libgemini.so +/system/vendor/lib/libgeofence.so +/system/vendor/lib/libimage-jpeg-enc-omx-comp.so +/system/vendor/lib/libimage-omx-common.so +/system/vendor/lib/libizat_core.so +/system/vendor/lib/libloc_api_v02.so +/system/vendor/lib/libloc_ds_api.so +/system/vendor/lib/libmmcamera2_c2d_module.so +/system/vendor/lib/libmmcamera2_cpp_module.so +/system/vendor/lib/libmmcamera2_iface_modules.so +/system/vendor/lib/libmmcamera2_imglib_modules.so +/system/vendor/lib/libmmcamera2_isp_modules.so +/system/vendor/lib/libmmcamera2_pproc_modules.so +/system/vendor/lib/libmmcamera2_sensor_modules.so +/system/vendor/lib/libmmcamera2_stats_modules.so +/system/vendor/lib/libmmcamera2_vpe_module.so +/system/vendor/lib/libmmcamera2_wnr_module.so +/system/vendor/lib/libmmcamera_faceproc.so +/system/vendor/lib/libmmcamera_imglib.so +/system/vendor/lib/libmmipl.so +/system/vendor/lib/libmmjpeg.so +/system/vendor/lib/libmmqjpeg_codec.so +/system/vendor/lib/libmmstillomx.so +/system/vendor/lib/liboemcamera.so +/system/vendor/lib/libqomx_jpegenc.so diff --git a/releasetools.py b/releasetools.py index 70df7eb..1714eaa 100644 --- a/releasetools.py +++ b/releasetools.py @@ -22,12 +22,6 @@ def FullOTA_InstallEnd(info): else: print "no radio.img in target_files; skipping install" - DDR_img = FindDDR(info.input_zip) - if DDR_img: - WriteDDR(info, DDR_img) - else: - print "no DDR.bin in target_files; skipping install" - def IncrementalOTA_VerifyEnd(info): target_radio_img = FindRadio(info.target_zip) @@ -64,13 +58,6 @@ def IncrementalOTA_InstallEnd(info): except KeyError: print "no bootloader.img in target target_files; skipping install" - df = FindDDR(info.target_zip) - if not df: - print "no DDR.bin in target target_files; skipping install" - else: - df = common.File("DDR.bin", df) - WriteDDR(info, df.data) - tf = FindRadio(info.target_zip) if not tf: # failed to read TARGET radio image: don't include any radio in update. @@ -111,20 +98,9 @@ def WriteRadio(info, radio_img): info.script.Print("Writing radio...") common.ZipWriteStr(info.output_zip, "radio.img", radio_img) _, device = common.GetTypeAndDevice("/radio", info.info_dict) - WriteImageAssert(info, "radio.img", radio_img, device) - -def FindDDR(zipfile): - try: - return zipfile.read("RADIO/DDR.bin") - except KeyError: - return None - - -def WriteDDR(info, DDR_img): - info.script.Print("Writing DDR...") - common.ZipWriteStr(info.output_zip, "DDR.bin", DDR_img) info.script.AppendExtra( - 'package_extract_file("DDR.bin", "/dev/block/platform/msm_sdcc.1/by-name/DDR");' ) + 'package_extract_file("radio.img", "%s");' % (device,)) + # /* msm8960 bootloader.img format */ # @@ -204,8 +180,8 @@ def WriteBootloader(info, bootloader): common.ZipWriteStr(info.output_zip, "bootloader.%s.img" % (i,), bootloader[imgs[i][0]:imgs[i][0]+imgs[i][1]]) - WriteImageAssert(info, "bootloader.%s.img" % (i,), - bootloader[imgs[i][0]:imgs[i][0]+imgs[i][1]], device) + info.script.AppendExtra('package_extract_file("bootloader.%s.img", "%s");' % + (i, device)) info.script.AppendExtra( 'package_extract_file("bootloader-flag-clear.txt", "%s");' % @@ -215,8 +191,8 @@ def WriteBootloader(info, bootloader): # there is no "sbl1b" partition for i in "sbl2 sbl3 tz rpm aboot".split(): _, device = common.GetTypeAndDevice("/"+i+"b", info.info_dict) - WriteImageAssert(info, "bootloader.%s.img" % (i,), - bootloader[imgs[i][0]:imgs[i][0]+imgs[i][1]], device) + info.script.AppendExtra( + 'package_extract_file("bootloader.%s.img", "%s");' % (i, device)) except KeyError: pass @@ -226,12 +202,3 @@ def trunc_to_null(s): return s[:s.index('\0')] else: return s - - -def WriteImageAssert(info, file_name, file_data, partition): - checksum = common.sha1(file_data).hexdigest() - file_size = len(file_data) - info.script.AppendExtra('ifelse((sha1_check(read_file("EMMC:%s:%d:%s")) != ""),' - '(ui_print("%s already up to date")),' - '(package_extract_file("%s", "%s")));' - % (partition, file_size, checksum, partition, file_name, partition)) diff --git a/rootdir/Android.mk b/rootdir/Android.mk deleted file mode 100644 index fd6cac6..0000000 --- a/rootdir/Android.mk +++ /dev/null @@ -1,19 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -# Device init scripts - -include $(CLEAR_VARS) -LOCAL_MODULE := fstab.flo -LOCAL_MODULE_TAGS := optional eng -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/fstab.deb -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.flo.rc -LOCAL_MODULE_TAGS := optional eng -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.deb.rc -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) -include $(BUILD_PREBUILT) diff --git a/self-extractors/Android.mk b/self-extractors/Android.mk new file mode 100644 index 0000000..e69de29 diff --git a/self-extractors/PART1 b/self-extractors/PART1 new file mode 100644 index 0000000..935267e --- /dev/null +++ b/self-extractors/PART1 @@ -0,0 +1,12 @@ +# +# Usage is subject to the enclosed license agreement + +echo +echo The license for this software will now be displayed. +echo You must agree to this license before using this software. +echo +echo -n Press Enter to view the license +read dummy +echo + +more << __EOF__ diff --git a/self-extractors/PART2 b/self-extractors/PART2 new file mode 100644 index 0000000..30e8d43 --- /dev/null +++ b/self-extractors/PART2 @@ -0,0 +1,22 @@ +__EOF__ + +if test $? != 0 +then + echo ERROR: Couldn\'t display license file 1>&2 + exit 1 +fi + +echo + +echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\ +read typed + +if test "$typed" != I\ ACCEPT +then + echo + echo You didn\'t accept the license. Extraction aborted. + exit 2 +fi + +echo + diff --git a/self-extractors/PART3 b/self-extractors/PART3 new file mode 100644 index 0000000..6847be5 --- /dev/null +++ b/self-extractors/PART3 @@ -0,0 +1,12 @@ + +if test $? != 0 +then + echo + echo ERROR: Couldn\'t extract files. 1>&2 + exit 3 +else + echo + echo Files extracted successfully. +fi +exit 0 + diff --git a/self-extractors/PROLOGUE b/self-extractors/PROLOGUE new file mode 100644 index 0000000..c856ef1 --- /dev/null +++ b/self-extractors/PROLOGUE @@ -0,0 +1,2 @@ +#!/bin/bash +# diff --git a/self-extractors/asus/COPYRIGHT b/self-extractors/asus/COPYRIGHT new file mode 100644 index 0000000..e2ba69c --- /dev/null +++ b/self-extractors/asus/COPYRIGHT @@ -0,0 +1 @@ +# (C) ASUSTek COMPUTER INC. diff --git a/self-extractors/asus/LICENSE b/self-extractors/asus/LICENSE new file mode 100644 index 0000000..2eaa115 --- /dev/null +++ b/self-extractors/asus/LICENSE @@ -0,0 +1,225 @@ +THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY +BINDING AGREEMENT BETWEEN ASUSTek COMPUTER INC. ("LICENSOR") AND +YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY +TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. + + 1. Special Definitions + + a. The term "Android" means the open source mobile platform, software + stack, operating system, middleware, application programming + interfaces and mobile applications under the trade-name "Android" + distributed at Android.com. + + b. The term "Android Applications" means a software application or + open-source contribution developed by You, designed to operate with + Android that does not contain or incorporate any of the Software. + + c. The term "Authorized Android Enabled Device" means only the device + identified on the site from which You downloaded the Software. + The term "Software" means the Licensor's proprietary software and + libraries in object code form, designed for use on the Authorized + Android Enabled Device. + + d. The term "Authorized Android Enabled Device Software" means a + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled + Device using a mechanism such as fastboot mode or recovery mode. + + 2. License Grant + + a. Subject to the terms of this Agreement, Licensor hereby grants to + You, free of charge, a non-exclusive, non-sublicensable, + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. + + 3. Restrictions + + a. Retention of Rights. The entire right, title and interest in the + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. + + b. No Commercialization or Distribution of the Software and + Documentation. Except as expressly provided in Section 2 of this + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. + + c. No Reverse Engineering. Except for any portions of the Software + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in + contravention of this Section shall be void. + + 4. Indemnity + + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party 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. + + 5. Limitation of Liability + + a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO + CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. + + 6. No Warranty + + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND 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 A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) 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. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + + 7. Term and Termination + + a. This Agreement shall be effective on the date You accept this + Agreement and shall remain in effect until terminated as provided + herein. You may terminate the Agreement at any time by deleting and + destroying all copies of the Software 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, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. + + 8. Miscellaneous + + a. Governing Law. This Agreement is governed and interpreted in + accordance with the laws of the State of California without giving + effect to its conflict of laws provisions. The United Nations + Convention on Contracts for the International Sale of Goods is + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. + + b. Waiver and Severability. The failure of either party to require + performance by the other party of any provision of this Agreement + shall not affect the full right to require such performance at any + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or + invalidity shall not render this Agreement unenforceable or invalid + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. + + c. Amendment and Modification. This Agreement and any of its terms and + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. + + d. Compliance with Laws. You shall comply with all applicable laws, + rules, and regulations in connection with its activities under this + Agreement. + + e. Entire Agreement. This Agreement completely and exclusively states + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/asus/staging/BoardConfigPartial.mk b/self-extractors/asus/staging/BoardConfigPartial.mk new file mode 100644 index 0000000..317c4e6 --- /dev/null +++ b/self-extractors/asus/staging/BoardConfigPartial.mk @@ -0,0 +1,13 @@ +# Copyright 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. diff --git a/self-extractors/asus/staging/device-partial.mk b/self-extractors/asus/staging/device-partial.mk new file mode 100644 index 0000000..ca7e9be --- /dev/null +++ b/self-extractors/asus/staging/device-partial.mk @@ -0,0 +1,20 @@ +# Copyright 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. + +# Asus blob(s) necessary for Deb hardware +PRODUCT_COPY_FILES := \ + vendor/asus/deb/proprietary/apns-conf.xml:system/etc/apns-conf.xml:asus \ + vendor/asus/deb/proprietary/libacdbdata.so:system/lib/libacdbdata.so:asus \ + vendor/asus/deb/proprietary/libAKM.so:system/lib/libAKM.so:asus \ + diff --git a/self-extractors/broadcom/COPYRIGHT b/self-extractors/broadcom/COPYRIGHT new file mode 100644 index 0000000..bf44774 --- /dev/null +++ b/self-extractors/broadcom/COPYRIGHT @@ -0,0 +1 @@ +# (C) Broadcom Corporation diff --git a/self-extractors/broadcom/LICENSE b/self-extractors/broadcom/LICENSE new file mode 100644 index 0000000..f633ddc --- /dev/null +++ b/self-extractors/broadcom/LICENSE @@ -0,0 +1,225 @@ +THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY +BINDING AGREEMENT BETWEEN BROADCOM CORPORATION ("LICENSOR") AND +YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY +TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. + + 1. Special Definitions + + a. The term "Android" means the open source mobile platform, software + stack, operating system, middleware, application programming + interfaces and mobile applications under the trade-name "Android" + distributed at Android.com. + + b. The term "Android Applications" means a software application or + open-source contribution developed by You, designed to operate with + Android that does not contain or incorporate any of the Software. + + c. The term "Authorized Android Enabled Device" means only the device + identified on the site from which You downloaded the Software. + The term "Software" means the Licensor's proprietary software and + libraries in object code form, designed for use on the Authorized + Android Enabled Device. + + d. The term "Authorized Android Enabled Device Software" means a + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled + Device using a mechanism such as fastboot mode or recovery mode. + + 2. License Grant + + a. Subject to the terms of this Agreement, Licensor hereby grants to + You, free of charge, a non-exclusive, non-sublicensable, + non-transferable, limited license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + the Limited Purpose. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. + + 3. Restrictions + + a. Retention of Rights. The entire right, title and interest in the + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. + + b. No Commercialization or Distribution of the Software and + Documentation. Except as expressly provided in Section 2 of this + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. + + c. No Reverse Engineering. Except for any portions of the Software + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in + contravention of this Section shall be void. + + 4. Indemnity + + a. You agree to indemnify and hold harmless Licensor and + its officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party 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. + + 5. Limitation of Liability + + a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO + CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL + LICENSOR, ITS AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. + + 6. No Warranty + + a. LICENSOR MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND 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 A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) 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. Licensor SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + + 7. Term and Termination + + a. This Agreement shall be effective on the date You accept this + Agreement and shall remain in effect until terminated as provided + herein. You may terminate the Agreement at any time by deleting and + destroying all copies of the Software 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, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. + + 8. Miscellaneous + + a. Governing Law. This Agreement is governed and interpreted in + accordance with the laws of the State of California without giving + effect to its conflict of laws provisions. The United Nations + Convention on Contracts for the International Sale of Goods is + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. + + b. Waiver and Severability. The failure of either party to require + performance by the other party of any provision of this Agreement + shall not affect the full right to require such performance at any + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or + invalidity shall not render this Agreement unenforceable or invalid + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. + + c. Amendment and Modification. This Agreement and any of its terms and + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. + + d. Compliance with Laws. You shall comply with all applicable laws, + rules, and regulations in connection with its activities under this + Agreement. + + e. Entire Agreement. This Agreement completely and exclusively states + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/broadcom/staging/BoardConfigPartial.mk b/self-extractors/broadcom/staging/BoardConfigPartial.mk new file mode 100644 index 0000000..317c4e6 --- /dev/null +++ b/self-extractors/broadcom/staging/BoardConfigPartial.mk @@ -0,0 +1,13 @@ +# Copyright 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. diff --git a/self-extractors/broadcom/staging/device-partial.mk b/self-extractors/broadcom/staging/device-partial.mk new file mode 100644 index 0000000..6a7424c --- /dev/null +++ b/self-extractors/broadcom/staging/device-partial.mk @@ -0,0 +1,19 @@ +# Copyright 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. + +# Broadcom blob(s) necessary for Deb hardware +PRODUCT_COPY_FILES := \ + vendor/broadcom/deb/proprietary/bcm2079x-b5_firmware.ncd:system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom \ + vendor/broadcom/deb/proprietary/bcm2079x-b5_pre_firmware.ncd:system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom \ + diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt new file mode 100644 index 0000000..c5edc63 --- /dev/null +++ b/self-extractors/extract-lists.txt @@ -0,0 +1,199 @@ + asus) + TO_EXTRACT="\ + system/etc/apns-conf.xml \ + system/lib/libacdbdata.so \ + system/lib/libAKM.so \ + " + ;; + broadcom) + TO_EXTRACT="\ + system/vendor/firmware/bcm2079x-b5_firmware.ncd \ + system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \ + " + ;; + qcom) + TO_EXTRACT="\ + system/bin/ATFWD-daemon \ + system/bin/bridgemgrd \ + system/bin/btnvtool \ + system/bin/diag_klog \ + system/bin/diag_mdlog \ + system/bin/ds_fmc_appd \ + system/bin/efsks \ + system/bin/hci_qcomm_init \ + system/bin/irsc_util \ + system/bin/ks \ + system/bin/mm-qcamera-app \ + system/bin/mm-qcamera-daemon \ + system/bin/mm-qjpeg-enc-test \ + system/bin/mm-qomx-ienc-test \ + system/bin/mpdecision \ + system/bin/netmgrd \ + system/bin/nl_listener \ + system/bin/port-bridge \ + system/bin/qcks \ + system/bin/qmuxd \ + system/bin/qseecomd \ + system/bin/radish \ + system/bin/rmt_storage \ + system/bin/sensors.qcom \ + system/bin/thermald \ + system/bin/usbhub \ + system/bin/usbhub_init \ + system/etc/firmware/vidc_1080p.fw \ + system/etc/firmware/vidc.b00 \ + system/etc/firmware/vidc.b01 \ + system/etc/firmware/vidc.b02 \ + system/etc/firmware/vidc.b03 \ + system/etc/firmware/vidcfw.elf \ + system/etc/firmware/vidc.mdt \ + system/etc/gps.conf \ + system/vendor/lib/egl/eglsubAndroid.so \ + system/vendor/lib/egl/libEGL_adreno.so \ + system/vendor/lib/egl/libGLESv1_CM_adreno.so \ + system/vendor/lib/egl/libGLESv2_adreno.so \ + system/vendor/lib/egl/libplayback_adreno.so \ + system/vendor/lib/egl/libq3dtools_adreno.so \ + system/lib/hw/flp.msm8960.so \ + system/lib/hw/gps.msm8960.so \ + system/lib/hw/sensors.msm8960.so \ + system/lib/libacdbloader.so \ + system/vendor/lib/libadreno_utils.so \ + system/lib/libaudcal.so \ + system/lib/libaudioalsa.so \ + system/vendor/lib/libC2D2.so \ + system/vendor/lib/libc2d30-a3xx.so \ + system/vendor/lib/libc2d30.so \ + system/vendor/lib/libCB.so \ + system/lib/libchromatix_ov5693_common.so \ + system/lib/libchromatix_ov5693_default_video.so \ + system/lib/libchromatix_ov5693_preview.so \ + system/lib/libCommandSvc.so \ + system/lib/libconfigdb.so \ + system/lib/libcsd-client.so \ + system/lib/libdiag.so \ + system/lib/libdrmdiag.so \ + system/lib/libdrmfs.so \ + system/lib/libdrmtime.so \ + system/lib/libdsi_netctrl.so \ + system/lib/libdsprofile.so \ + system/lib/libdss.so \ + system/lib/libdsucsd.so \ + system/lib/libdsutils.so \ + system/lib/libDxHdcp.so \ + system/lib/libgps.utils.so \ + system/vendor/lib/libgsl.so \ + system/lib/libI420colorconvert.so \ + system/lib/libidl.so \ + system/vendor/lib/libllvm-qcom.so \ + system/lib/libloc_core.so \ + system/lib/libloc_eng.so \ + system/lib/libmm-abl.so \ + system/lib/libmmcamera2_stats_algorithm.so \ + system/lib/libmmcamera_image_stab.so \ + system/lib/libmmcamera_mi1040.so \ + system/lib/libmmcamera_ov5693.so \ + system/lib/libmm-color-convertor.so \ + system/lib/libnetmgr.so \ + system/lib/liboemcrypto.so \ + system/lib/libqcci_legacy.so \ + system/lib/libqdi.so \ + system/lib/libqdp.so \ + system/lib/libqmi_cci.so \ + system/lib/libqmi_client_qmux.so \ + system/lib/libqmi_common_so.so \ + system/lib/libqmi_csi.so \ + system/lib/libqmi_csvt_srvc.so \ + system/lib/libqmi_encdec.so \ + system/lib/libqmiservices.so \ + system/lib/libqmi.so \ + system/lib/libQSEEComAPI.so \ + system/lib/libril-qc-qmi-1.so \ + system/lib/libril-qcril-hook-oem.so \ + system/vendor/lib/librs_adreno_sha1.so \ + system/vendor/lib/librs_adreno.so \ + system/vendor/lib/libRSDriver_adreno.so \ + system/vendor/lib/libsc-a3xx.so \ + system/lib/libsensor1.so \ + system/lib/libsensor_reg.so \ + system/lib/libsensor_user_cal.so \ + system/lib/libstagefright_hdcp.so \ + system/lib/libxml.so \ + system/vendor/firmware/a300_pfp.fw \ + system/vendor/firmware/a300_pm4.fw \ + system/vendor/firmware/discretix/dxhdcp2.b00 \ + system/vendor/firmware/discretix/dxhdcp2.b01 \ + system/vendor/firmware/discretix/dxhdcp2.b02 \ + system/vendor/firmware/discretix/dxhdcp2.b03 \ + system/vendor/firmware/discretix/dxhdcp2.mdt \ + system/vendor/firmware/dsps.b00 \ + system/vendor/firmware/dsps.b01 \ + system/vendor/firmware/dsps.b02 \ + system/vendor/firmware/dsps.b03 \ + system/vendor/firmware/dsps.b04 \ + system/vendor/firmware/dsps.b05 \ + system/vendor/firmware/dsps.mdt \ + system/vendor/firmware/gss.b00 \ + system/vendor/firmware/gss.b01 \ + system/vendor/firmware/gss.b02 \ + system/vendor/firmware/gss.b03 \ + system/vendor/firmware/gss.b04 \ + system/vendor/firmware/gss.b05 \ + system/vendor/firmware/gss.b06 \ + system/vendor/firmware/gss.b07 \ + system/vendor/firmware/gss.b08 \ + system/vendor/firmware/gss.b09 \ + system/vendor/firmware/gss.b10 \ + system/vendor/firmware/gss.b11 \ + system/vendor/firmware/gss.mdt \ + system/vendor/firmware/keymaster/keymaster.b00 \ + system/vendor/firmware/keymaster/keymaster.b01 \ + system/vendor/firmware/keymaster/keymaster.b02 \ + system/vendor/firmware/keymaster/keymaster.b03 \ + system/vendor/firmware/keymaster/keymaster.mdt \ + system/vendor/firmware/q6.b00 \ + system/vendor/firmware/q6.b01 \ + system/vendor/firmware/q6.b03 \ + system/vendor/firmware/q6.b04 \ + system/vendor/firmware/q6.b05 \ + system/vendor/firmware/q6.b06 \ + system/vendor/firmware/q6.mdt \ + system/vendor/firmware/tzapps.b00 \ + system/vendor/firmware/tzapps.b01 \ + system/vendor/firmware/tzapps.b02 \ + system/vendor/firmware/tzapps.b03 \ + system/vendor/firmware/tzapps.mdt \ + system/vendor/firmware/wcnss.b00 \ + system/vendor/firmware/wcnss.b01 \ + system/vendor/firmware/wcnss.b02 \ + system/vendor/firmware/wcnss.b04 \ + system/vendor/firmware/wcnss.b05 \ + system/vendor/firmware/wcnss.mdt \ + system/vendor/lib/libdrmdecrypt.so \ + system/vendor/lib/libgemini.so \ + system/vendor/lib/libgeofence.so \ + system/vendor/lib/libimage-jpeg-enc-omx-comp.so \ + system/vendor/lib/libimage-omx-common.so \ + system/vendor/lib/libizat_core.so \ + system/vendor/lib/libloc_api_v02.so \ + system/vendor/lib/libloc_ds_api.so \ + system/vendor/lib/libmmcamera2_c2d_module.so \ + system/vendor/lib/libmmcamera2_cpp_module.so \ + system/vendor/lib/libmmcamera2_iface_modules.so \ + system/vendor/lib/libmmcamera2_imglib_modules.so \ + system/vendor/lib/libmmcamera2_isp_modules.so \ + system/vendor/lib/libmmcamera2_pproc_modules.so \ + system/vendor/lib/libmmcamera2_sensor_modules.so \ + system/vendor/lib/libmmcamera2_stats_modules.so \ + system/vendor/lib/libmmcamera2_vpe_module.so \ + system/vendor/lib/libmmcamera2_wnr_module.so \ + system/vendor/lib/libmmcamera_faceproc.so \ + system/vendor/lib/libmmcamera_imglib.so \ + system/vendor/lib/libmmipl.so \ + system/vendor/lib/libmmjpeg.so \ + system/vendor/lib/libmmqjpeg_codec.so \ + system/vendor/lib/libmmstillomx.so \ + system/vendor/lib/liboemcamera.so \ + system/vendor/lib/libqomx_jpegenc.so \ + " + ;; diff --git a/self-extractors/files-by-owner.sh b/self-extractors/files-by-owner.sh new file mode 100644 index 0000000..77c5e63 --- /dev/null +++ b/self-extractors/files-by-owner.sh @@ -0,0 +1,95 @@ +#!/bin/sh + +# Copyright 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. + +rm -f extract-lists.txt +cat ../vendor_owner_info.txt | +cut -d : -f 2 | +sort -u | +grep -v google | +while read target_owner +do +cat > $target_owner/staging/device-partial.mk << EOF +# Copyright 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. + +EOF +echo -n "# " >> $target_owner/staging/device-partial.mk +case $target_owner in +asus) +echo -n Asus >> $target_owner/staging/device-partial.mk +;; +broadcom) +echo -n Broadcom >> $target_owner/staging/device-partial.mk +;; +qcom) +echo -n Qualcomm >> $target_owner/staging/device-partial.mk +;; +esac +echo " blob(s) necessary for Deb hardware" >> $target_owner/staging/device-partial.mk +echo "PRODUCT_COPY_FILES := \\" >> $target_owner/staging/device-partial.mk + +echo " $target_owner)" >> extract-lists.txt +echo " TO_EXTRACT=\"\\" >> extract-lists.txt + + +cat ../proprietary-blobs.txt | +grep ^/ | +cut -b 2- | +sort | +while read file +do + +auto_owner=$(grep ^$file: ../vendor_owner_info.txt | cut -d : -f 2) +if test $file = system/bin/mm-qcamera-app -o $file = system/lib/hw/camera.deb.so -o $file = system/lib/hw/gps.msm8960.so -o $file = system/lib/libgps.utils.so -o $file = system/lib/libloc_adapter.so -o $file = system/lib/libloc_eng.so -o $file = system/lib/libmmcamera_interface.so -o $file = system/lib/libmmjpeg_interface.so -o $file = system/lib/libqomx_core.so +then +auto_owner=qcom +fi + +if test "$auto_owner" = "" -a $file != system/etc/firmware/tzapps.b00 -a $file != system/etc/firmware/tzapps.b01 -a $file != system/etc/firmware/tzapps.b02 -a $file != system/etc/firmware/tzapps.b03 -a $file != system/etc/firmware/tzapps.mdt -a $file != system/etc/firmware/wcd9310/wcd9310_anc.bin -a $file != system/etc/firmware/wcd9310/wcd9310_mbhc.bin +then +echo $file has no known owner +fi + +if test "$auto_owner" = "$target_owner" +then +if test $file != system/lib/libacdbloader.so -a $file != system/vendor/firmware/tzapps.mdt +then +echo " vendor/$target_owner/deb/proprietary/$(basename $file):$file:$target_owner \\" >> $target_owner/staging/device-partial.mk +fi +echo " $file \\" >> extract-lists.txt +fi +done + +echo >> $target_owner/staging/device-partial.mk +if test $target_owner = qcom +then +echo PRODUCT_PACKAGES := libacdbloader tzapps.mdt >> $target_owner/staging/device-partial.mk +fi + +echo " \"" >> extract-lists.txt +echo " ;;" >> extract-lists.txt +done diff --git a/self-extractors/generate-packages.sh b/self-extractors/generate-packages.sh new file mode 100644 index 0000000..a4c065b --- /dev/null +++ b/self-extractors/generate-packages.sh @@ -0,0 +1,284 @@ +#!/bin/sh + +# Copyright 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. + +# start jb-mr2-dev +# 700272 = JSR67 +# 703372 = JSR71 +# 704765 = JSR72 +# 708191 = JSR74 +# 711747 = JSR78 +# 713896 = JSR78B +# 719009 = JSR82 +# 725949 = JSR88 +# 728843 = JSS01 +# 730471 = JSS02B +# 740015 = JSS11F +# 741000 = JSS11I +# 741250 = JSS15 +# 746990 = JSS15H +# 748502 = JSS15I +# 748593 = JSS15J +# 750418 = JSS15K +# end jb-mr2-dev +BRANCH=klp-dev +if test $BRANCH = klp-dev +then + ZIP=razorg-ota-937116 + BUILD=kot49h +fi # klp-dev +ROOTDEVICE=deb +DEVICE=deb +MANUFACTURER=asus + +for COMPANY in asus broadcom qcom +do + echo Processing files from $COMPANY + rm -rf tmp + FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary + mkdir -p $FILEDIR + mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE + case $COMPANY in + asus) + TO_EXTRACT="\ + system/etc/apns-conf.xml \ + system/lib/libacdbdata.so \ + system/lib/libAKM.so \ + " + ;; + broadcom) + TO_EXTRACT="\ + system/vendor/firmware/bcm2079x-b5_firmware.ncd \ + system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd \ + " + ;; + qcom) + TO_EXTRACT="\ + system/bin/ATFWD-daemon \ + system/bin/bridgemgrd \ + system/bin/btnvtool \ + system/bin/diag_klog \ + system/bin/diag_mdlog \ + system/bin/ds_fmc_appd \ + system/bin/efsks \ + system/bin/hci_qcomm_init \ + system/bin/irsc_util \ + system/bin/ks \ + system/bin/mm-qcamera-app \ + system/bin/mm-qcamera-daemon \ + system/bin/mm-qjpeg-enc-test \ + system/bin/mm-qomx-ienc-test \ + system/bin/mpdecision \ + system/bin/netmgrd \ + system/bin/nl_listener \ + system/bin/port-bridge \ + system/bin/qcks \ + system/bin/qmuxd \ + system/bin/qseecomd \ + system/bin/radish \ + system/bin/rmt_storage \ + system/bin/sensors.qcom \ + system/bin/thermald \ + system/bin/usbhub \ + system/bin/usbhub_init \ + system/etc/firmware/vidc_1080p.fw \ + system/etc/firmware/vidc.b00 \ + system/etc/firmware/vidc.b01 \ + system/etc/firmware/vidc.b02 \ + system/etc/firmware/vidc.b03 \ + system/etc/firmware/vidcfw.elf \ + system/etc/firmware/vidc.mdt \ + system/etc/gps.conf \ + system/vendor/lib/egl/eglsubAndroid.so \ + system/vendor/lib/egl/libEGL_adreno.so \ + system/vendor/lib/egl/libGLESv1_CM_adreno.so \ + system/vendor/lib/egl/libGLESv2_adreno.so \ + system/vendor/lib/egl/libplayback_adreno.so \ + system/vendor/lib/egl/libq3dtools_adreno.so \ + system/lib/hw/flp.msm8960.so \ + system/lib/hw/gps.msm8960.so \ + system/lib/hw/sensors.msm8960.so \ + system/lib/libacdbloader.so \ + system/vendor/lib/libadreno_utils.so \ + system/lib/libaudcal.so \ + system/lib/libaudioalsa.so \ + system/vendor/lib/libC2D2.so \ + system/vendor/lib/libc2d30-a3xx.so \ + system/vendor/lib/libc2d30.so \ + system/vendor/lib/libCB.so \ + system/lib/libchromatix_ov5693_common.so \ + system/lib/libchromatix_ov5693_default_video.so \ + system/lib/libchromatix_ov5693_preview.so \ + system/lib/libCommandSvc.so \ + system/lib/libconfigdb.so \ + system/lib/libcsd-client.so \ + system/lib/libdiag.so \ + system/lib/libdrmdiag.so \ + system/lib/libdrmfs.so \ + system/lib/libdrmtime.so \ + system/lib/libdsi_netctrl.so \ + system/lib/libdsprofile.so \ + system/lib/libdss.so \ + system/lib/libdsucsd.so \ + system/lib/libdsutils.so \ + system/lib/libDxHdcp.so \ + system/lib/libgps.utils.so \ + system/vendor/lib/libgsl.so \ + system/lib/libI420colorconvert.so \ + system/lib/libidl.so \ + system/vendor/lib/libllvm-qcom.so \ + system/lib/libloc_core.so \ + system/lib/libloc_eng.so \ + system/lib/libmm-abl.so \ + system/lib/libmmcamera2_stats_algorithm.so \ + system/lib/libmmcamera_image_stab.so \ + system/lib/libmmcamera_mi1040.so \ + system/lib/libmmcamera_ov5693.so \ + system/lib/libmm-color-convertor.so \ + system/lib/libnetmgr.so \ + system/lib/liboemcrypto.so \ + system/lib/libqcci_legacy.so \ + system/lib/libqdi.so \ + system/lib/libqdp.so \ + system/lib/libqmi_cci.so \ + system/lib/libqmi_client_qmux.so \ + system/lib/libqmi_common_so.so \ + system/lib/libqmi_csi.so \ + system/lib/libqmi_csvt_srvc.so \ + system/lib/libqmi_encdec.so \ + system/lib/libqmiservices.so \ + system/lib/libqmi.so \ + system/lib/libQSEEComAPI.so \ + system/lib/libril-qc-qmi-1.so \ + system/lib/libril-qcril-hook-oem.so \ + system/vendor/lib/librs_adreno_sha1.so \ + system/vendor/lib/librs_adreno.so \ + system/vendor/lib/libRSDriver_adreno.so \ + system/vendor/lib/libsc-a3xx.so \ + system/lib/libsensor1.so \ + system/lib/libsensor_reg.so \ + system/lib/libsensor_user_cal.so \ + system/lib/libstagefright_hdcp.so \ + system/lib/libxml.so \ + system/vendor/firmware/a300_pfp.fw \ + system/vendor/firmware/a300_pm4.fw \ + system/vendor/firmware/discretix/dxhdcp2.b00 \ + system/vendor/firmware/discretix/dxhdcp2.b01 \ + system/vendor/firmware/discretix/dxhdcp2.b02 \ + system/vendor/firmware/discretix/dxhdcp2.b03 \ + system/vendor/firmware/discretix/dxhdcp2.mdt \ + system/vendor/firmware/dsps.b00 \ + system/vendor/firmware/dsps.b01 \ + system/vendor/firmware/dsps.b02 \ + system/vendor/firmware/dsps.b03 \ + system/vendor/firmware/dsps.b04 \ + system/vendor/firmware/dsps.b05 \ + system/vendor/firmware/dsps.mdt \ + system/vendor/firmware/gss.b00 \ + system/vendor/firmware/gss.b01 \ + system/vendor/firmware/gss.b02 \ + system/vendor/firmware/gss.b03 \ + system/vendor/firmware/gss.b04 \ + system/vendor/firmware/gss.b05 \ + system/vendor/firmware/gss.b06 \ + system/vendor/firmware/gss.b07 \ + system/vendor/firmware/gss.b08 \ + system/vendor/firmware/gss.b09 \ + system/vendor/firmware/gss.b10 \ + system/vendor/firmware/gss.b11 \ + system/vendor/firmware/gss.mdt \ + system/vendor/firmware/keymaster/keymaster.b00 \ + system/vendor/firmware/keymaster/keymaster.b01 \ + system/vendor/firmware/keymaster/keymaster.b02 \ + system/vendor/firmware/keymaster/keymaster.b03 \ + system/vendor/firmware/keymaster/keymaster.mdt \ + system/vendor/firmware/q6.b00 \ + system/vendor/firmware/q6.b01 \ + system/vendor/firmware/q6.b03 \ + system/vendor/firmware/q6.b04 \ + system/vendor/firmware/q6.b05 \ + system/vendor/firmware/q6.b06 \ + system/vendor/firmware/q6.mdt \ + system/vendor/firmware/tzapps.b00 \ + system/vendor/firmware/tzapps.b01 \ + system/vendor/firmware/tzapps.b02 \ + system/vendor/firmware/tzapps.b03 \ + system/vendor/firmware/tzapps.mdt \ + system/vendor/firmware/wcnss.b00 \ + system/vendor/firmware/wcnss.b01 \ + system/vendor/firmware/wcnss.b02 \ + system/vendor/firmware/wcnss.b04 \ + system/vendor/firmware/wcnss.b05 \ + system/vendor/firmware/wcnss.mdt \ + system/vendor/lib/libdrmdecrypt.so \ + system/vendor/lib/libgemini.so \ + system/vendor/lib/libgeofence.so \ + system/vendor/lib/libimage-jpeg-enc-omx-comp.so \ + system/vendor/lib/libimage-omx-common.so \ + system/vendor/lib/libizat_core.so \ + system/vendor/lib/libloc_api_v02.so \ + system/vendor/lib/libloc_ds_api.so \ + system/vendor/lib/libmmcamera2_c2d_module.so \ + system/vendor/lib/libmmcamera2_cpp_module.so \ + system/vendor/lib/libmmcamera2_iface_modules.so \ + system/vendor/lib/libmmcamera2_imglib_modules.so \ + system/vendor/lib/libmmcamera2_isp_modules.so \ + system/vendor/lib/libmmcamera2_pproc_modules.so \ + system/vendor/lib/libmmcamera2_sensor_modules.so \ + system/vendor/lib/libmmcamera2_stats_modules.so \ + system/vendor/lib/libmmcamera2_vpe_module.so \ + system/vendor/lib/libmmcamera2_wnr_module.so \ + system/vendor/lib/libmmcamera_faceproc.so \ + system/vendor/lib/libmmcamera_imglib.so \ + system/vendor/lib/libmmipl.so \ + system/vendor/lib/libmmjpeg.so \ + system/vendor/lib/libmmqjpeg_codec.so \ + system/vendor/lib/libmmstillomx.so \ + system/vendor/lib/liboemcamera.so \ + system/vendor/lib/libqomx_jpegenc.so \ + " + ;; + esac + echo \ \ Extracting files from OTA package + for ONE_FILE in $TO_EXTRACT + do + echo \ \ \ \ Extracting $ONE_FILE + unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE + if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom + then + chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE + fi + done + echo \ \ Setting up $COMPANY-specific makefiles + cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles + echo \ \ Setting up shared makefiles + cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles + echo \ \ Generating self-extracting script + SCRIPT=extract-$COMPANY-$DEVICE.sh + cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script + cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script + cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script + cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script + cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script + echo tail -n +$(expr 2 + $(cat PROLOGUE $COMPANY/COPYRIGHT PART1 $COMPANY/LICENSE PART2 PART3 | wc -l)) \$0 \| tar zxv >> tmp/$SCRIPT || echo \ \ \ \ Error generating script + cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script + (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz) + chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script + ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz + rm -f $ARCHIVE + echo \ \ Generating final archive + (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script) + rm -rf tmp +done diff --git a/self-extractors/qcom/COPYRIGHT b/self-extractors/qcom/COPYRIGHT new file mode 100644 index 0000000..0adeb31 --- /dev/null +++ b/self-extractors/qcom/COPYRIGHT @@ -0,0 +1 @@ +# (C) Qualcomm Technologies, Inc. diff --git a/self-extractors/qcom/LICENSE b/self-extractors/qcom/LICENSE new file mode 100644 index 0000000..cef517c --- /dev/null +++ b/self-extractors/qcom/LICENSE @@ -0,0 +1,264 @@ +THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY +BINDING AGREEMENT BETWEEN Qualcomm Technologies, Inc. ("LICENSOR") AND +YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY +TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS +AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS. +IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION +PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE +SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS +SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE +SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL +ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND +SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. + + 1. Special Definitions + + a. The term "Android" means the open source mobile platform, software + stack, operating system, middleware, application programming + interfaces and mobile applications under the trade-name "Android" + distributed at Android.com. + + b. The term "Android Applications" means a software application or + open-source contribution developed by You, designed to operate with + Android that does not contain or incorporate any of the Software. + + c. The term "Authorized Android Enabled Device" means only the device + identified on the site from which You downloaded the Software. + The term "Software" means the Licensor's proprietary software and + libraries in object code form, designed for use on the Authorized + Android Enabled Device. + + d. The term "Authorized Android Enabled Device Software" means a + packaged build for Authorized Android Enabled Devices, consisting + of files suitable for installation on an Authorized Android Enabled + Device using a mechanism such as fastboot mode or recovery mode. + + 2. License Grant + + a. Subject to the terms of this Agreement, Licensor hereby grants to + You, free of charge, a non-exclusive, non-sublicensable, + non-transferable, limited copyright license, during the term of + this Agreement, to download, install and use the Software + internally in machine-readable (i.e., object code) form and the + Documentation for non-commercial use on an Authorized Android + Enabled Device and non-commercial redistribution for academic + purposes only of a reasonable number of copies of the Authorized + Android Enabled Device Software (the "Limited Purpose"). You may + grant your end users the right to use the Software for + non-commercial purposes on an Authorized Android Enabled Device. + The license to the Software granted to You hereunder is solely for + the Limited Purpose set forth in this section, and the Software + shall not be used for any other purpose. + + 3. Restrictions + + a. Retention of Rights. The entire right, title and interest in the + Software shall remain with Licensor and, unless specified in + writing hereunder, no rights are granted to any of the Software. + Except for the right to use the Software for the Limited Purpose, + the delivery of the Software to You does not convey to You any + intellectual property rights in the Software, including, but not + limited to any rights under any patent, trademark, copyright, or + trade secret. Neither the delivery of the Software to You nor any + terms set forth herein shall be construed to grant to You, either + expressly, by implication or by way of estoppel, any license under + any patents or other intellectual property rights covering or + relating to any other product or invention or any combination of + the Software with any other product. Any rights not expressly + granted to You herein are reserved by Licensor. + + b. No Commercialization or Distribution of the Software and + Documentation. Except as expressly provided in Section 2 of this + Agreement, You shall have no right to (i) copy, disclose, + distribute, publically perform, publically display, transfer, + alter, modify, translate, disassemble, decompile, reverse engineer, + or adapt the Software and Documentation, or any portion thereof, or + create any derivative works based thereon; (ii) rent, lease, + assign, sublicense, resell, disclose or otherwise transfer the + Software and Documentation in whole or in part to any third party + (iii) use the Software and Documentation except for the Limited + Purpose, (iv) remove or alter any of the copyright or proprietary + notices contained in any of the Software and Documentation. For the + purposes of clarity, nothing in this Agreement prohibits You from + making and distributing Android Applications under commercial or + non-commercial terms, provided that You shall not contain, + incorporate, and/or compile the Software or any of its derivative + works, in whole or in part, into Your Android Applications and/or + any software/devices created by You or by third parties acting on + Your behalf. You and any such third party shall comply with all of + the terms and conditions of this Agreement. + + c. No Reverse Engineering. Except for any portions of the Software + provided to You in source code format and except for any third + party code distributed with the Software that is licensed under + contrary terms, You will not reverse engineer, disassemble, + decompile, or translate the Software, or otherwise attempt to + derive the source code version of the Software, except if and to + the extent expressly permitted under any applicable law. + + d. Third Party Software. You agree that Android may contain third + party software. You agree that you may not distribute such third + party software for any purpose without appropriate licenses from + the applicable third party or parties. + + e. No Transfer or Assignment. You shall not assign any of its rights + or obligations under this Agreement. Any attempted assignment in + contravention of this Section shall be void. + + f. Licensor shall retain all title, ownership and Intellectual + Property Rights in and to the Software and any derivative thereof. + "Intellectual Property Rights" shall mean all patent, copyright, + trade secret, trademark and other proprietary and intellectual + property rights, including moral rights. + + g. Neither this Agreement, nor any act by Licensor or its Affiliates + persuant to this Agreement or relating to the Software (including, + without limitation, the provision by Licensor or its Affiliates of + the Software) shall provide to You any license or any other rights + whatsoever under any patents, trademarks, trade secrets, copyrights + or any other intellectual property rights of Licensor or its + Affiliates, except for the copyrights expressly set forth in this + Agreement. You understand and agree that: + + h. Neither this Agreement, nor delivery of the Software alone or in + combination with any Licensor ASIC grants you any right to + practice, or any other right at all with respect to, any patent of + Licensor or its Affiliates, and + + i. A separating license agreement from Qualcomm Incorporated is needed + to use or practice any patent of Licensor or its Affiliates. + + j. You agree not to contend in any context that, as a result of the + provision or use of this software, either Licensor or Affiliate has + any obligation to extend, or Licensor or any other party has + obtained any right to, any license, whether express or implied, + with respect to any patent of Licensor or its Affiliates for any + purpose. For the purposes of this agreement, "Affiliate" means + (i) any corporation or any other legal entity that owns, directly + or indirectly, more than fifty percent (50%) of the shares, equity + interest or other securities of any entity entitled to vote for + election of directors (or other managing authority), or (ii) any + corporation or any other legal entity fifty percent (50%) or more + of whose shares, equity interest, or other securities entitled to + vote for election of directors (or other managing authority) is + owned or controlled by an entity, either directly or indirectly. + + 4. Indemnity + + a. You agree to indemnify and hold harmless Licensor, Google, and + their officers, directors, customers, employees and successors and + assigns (each an "Indemnified Party") against any and all claims, + demands, causes of action, losses, liabilities, damages, costs and + expenses, incurred by the Indemnified Party (including but not + limited to costs of defense, investigation and reasonable + attorney's fees) arising out of, resulting from or related to + (i) any software, products, documentation, content, materials or + derivative works created or developed by You using the Software + which causes an infringement of any patent, copyright, trademark, + trade secret, or other property, publicity or privacy rights of any + third parties arising in any jurisdiction anywhere in the world, + (ii) the download, distribution, installation, storage, execution, + use or transfer of such software, products, documentation, content, + materials or derivative works by any person or entity, and/or + (iii) any breach of this Agreement by You. If requested by an + Indemnified Party, You agree to defend such Indemnified Party 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. + + 5. Limitation of Liability + + a. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO + CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL + LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS, + EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, + SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT + LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS + INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD, + INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF + LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR + EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO + THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED. + IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY + TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF + ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE, + INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS + (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE + DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW. + THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK + AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS + PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE + PARTIES. + + 6. No Warranty + + a. LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH + RESPECT TO THE SOFTWARE AND 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 A + WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR + SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT + AND (II) 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. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO + PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT. + + 7. Term and Termination + + a. This Agreement shall be effective on the date You accept this + Agreement and shall remain in effect until terminated as provided + herein. You may terminate the Agreement at any time by deleting and + destroying all copies of the Software 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, Licensor may at + any time terminate this Agreement, without cause, upon notice to + You. Upon termination You must delete or destroy all copies of the + Software in Your possession, and the license granted to You in this + Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive + the termination of this Agreement. + + 8. Miscellaneous + + a. Governing Law. This Agreement is governed and interpreted in + accordance with the laws of the State of California without giving + effect to its conflict of laws provisions. The United Nations + Convention on Contracts for the International Sale of Goods is + expressly disclaimed and shall not apply. Any claim arising out of + or related to this Agreement must be brought exclusively in a + federal or state court located in Santa Clara County, California + and You consent to the jurisdiction and venue of such courts. + + b. Waiver and Severability. The failure of either party to require + performance by the other party of any provision of this Agreement + shall not affect the full right to require such performance at any + time thereafter; nor shall the waiver by either party of a breach + of any provision of this Agreement be taken or held to be a waiver + of the provision itself. Severability. If any provision of this + Agreement is unenforceable or invalid under any applicable law or + is so held by applicable court decision, such unenforceability or + invalidity shall not render this Agreement unenforceable or invalid + as a whole, and such provision shall be changed and interpreted so + as to best accomplish the objectives of such unenforceable or + invalid provision within the limits of applicable law or + applicable court decisions. + + c. Amendment and Modification. This Agreement and any of its terms and + provisions may only be amended, modified, supplemented or waived in + a writing signed by both parties hereto. + + d. Compliance with Laws. You shall comply with all applicable laws, + rules, and regulations in connection with its activities under this + Agreement. + + e. Entire Agreement. This Agreement completely and exclusively states + the agreement between You and Licensor regarding this subject + matter. diff --git a/self-extractors/qcom/staging/BoardConfigPartial.mk b/self-extractors/qcom/staging/BoardConfigPartial.mk new file mode 100644 index 0000000..317c4e6 --- /dev/null +++ b/self-extractors/qcom/staging/BoardConfigPartial.mk @@ -0,0 +1,13 @@ +# Copyright 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. diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk new file mode 100644 index 0000000..dbf4264 --- /dev/null +++ b/self-extractors/qcom/staging/device-partial.mk @@ -0,0 +1,198 @@ +# Copyright 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. + +# Qualcomm blob(s) necessary for Deb hardware +PRODUCT_COPY_FILES := \ + vendor/qcom/deb/proprietary/ATFWD-daemon:system/bin/ATFWD-daemon:qcom \ + vendor/qcom/deb/proprietary/bridgemgrd:system/bin/bridgemgrd:qcom \ + vendor/qcom/deb/proprietary/btnvtool:system/bin/btnvtool:qcom \ + vendor/qcom/deb/proprietary/diag_klog:system/bin/diag_klog:qcom \ + vendor/qcom/deb/proprietary/diag_mdlog:system/bin/diag_mdlog:qcom \ + vendor/qcom/deb/proprietary/ds_fmc_appd:system/bin/ds_fmc_appd:qcom \ + vendor/qcom/deb/proprietary/efsks:system/bin/efsks:qcom \ + vendor/qcom/deb/proprietary/hci_qcomm_init:system/bin/hci_qcomm_init:qcom \ + vendor/qcom/deb/proprietary/irsc_util:system/bin/irsc_util:qcom \ + vendor/qcom/deb/proprietary/ks:system/bin/ks:qcom \ + vendor/qcom/deb/proprietary/mm-qcamera-app:system/bin/mm-qcamera-app:qcom \ + vendor/qcom/deb/proprietary/mm-qcamera-daemon:system/bin/mm-qcamera-daemon:qcom \ + vendor/qcom/deb/proprietary/mm-qjpeg-enc-test:system/bin/mm-qjpeg-enc-test:qcom \ + vendor/qcom/deb/proprietary/mm-qomx-ienc-test:system/bin/mm-qomx-ienc-test:qcom \ + vendor/qcom/deb/proprietary/mpdecision:system/bin/mpdecision:qcom \ + vendor/qcom/deb/proprietary/netmgrd:system/bin/netmgrd:qcom \ + vendor/qcom/deb/proprietary/nl_listener:system/bin/nl_listener:qcom \ + vendor/qcom/deb/proprietary/port-bridge:system/bin/port-bridge:qcom \ + vendor/qcom/deb/proprietary/qcks:system/bin/qcks:qcom \ + vendor/qcom/deb/proprietary/qmuxd:system/bin/qmuxd:qcom \ + vendor/qcom/deb/proprietary/qseecomd:system/bin/qseecomd:qcom \ + vendor/qcom/deb/proprietary/radish:system/bin/radish:qcom \ + vendor/qcom/deb/proprietary/rmt_storage:system/bin/rmt_storage:qcom \ + vendor/qcom/deb/proprietary/sensors.qcom:system/bin/sensors.qcom:qcom \ + vendor/qcom/deb/proprietary/thermald:system/bin/thermald:qcom \ + vendor/qcom/deb/proprietary/usbhub:system/bin/usbhub:qcom \ + vendor/qcom/deb/proprietary/usbhub_init:system/bin/usbhub_init:qcom \ + vendor/qcom/deb/proprietary/vidc_1080p.fw:system/etc/firmware/vidc_1080p.fw:qcom \ + vendor/qcom/deb/proprietary/vidc.b00:system/etc/firmware/vidc.b00:qcom \ + vendor/qcom/deb/proprietary/vidc.b01:system/etc/firmware/vidc.b01:qcom \ + vendor/qcom/deb/proprietary/vidc.b02:system/etc/firmware/vidc.b02:qcom \ + vendor/qcom/deb/proprietary/vidc.b03:system/etc/firmware/vidc.b03:qcom \ + vendor/qcom/deb/proprietary/vidcfw.elf:system/etc/firmware/vidcfw.elf:qcom \ + vendor/qcom/deb/proprietary/vidc.mdt:system/etc/firmware/vidc.mdt:qcom \ + vendor/qcom/deb/proprietary/gps.conf:system/etc/gps.conf:qcom \ + vendor/qcom/deb/proprietary/eglsubAndroid.so:system/vendor/lib/egl/eglsubAndroid.so:qcom \ + vendor/qcom/deb/proprietary/libEGL_adreno.so:system/vendor/lib/egl/libEGL_adreno.so:qcom \ + vendor/qcom/deb/proprietary/libGLESv1_CM_adreno.so:system/vendor/lib/egl/libGLESv1_CM_adreno.so:qcom \ + vendor/qcom/deb/proprietary/libGLESv2_adreno.so:system/vendor/lib/egl/libGLESv2_adreno.so:qcom \ + vendor/qcom/deb/proprietary/libplayback_adreno.so:system/vendor/lib/egl/libplayback_adreno.so:qcom \ + vendor/qcom/deb/proprietary/libq3dtools_adreno.so:system/vendor/lib/egl/libq3dtools_adreno.so:qcom \ + vendor/qcom/deb/proprietary/flp.msm8960.so:system/lib/hw/flp.msm8960.so:qcom \ + vendor/qcom/deb/proprietary/gps.msm8960.so:system/lib/hw/gps.msm8960.so:qcom \ + vendor/qcom/deb/proprietary/sensors.msm8960.so:system/lib/hw/sensors.msm8960.so:qcom \ + vendor/qcom/deb/proprietary/libadreno_utils.so:system/vendor/lib/libadreno_utils.so:qcom \ + vendor/qcom/deb/proprietary/libaudcal.so:system/lib/libaudcal.so:qcom \ + vendor/qcom/deb/proprietary/libaudioalsa.so:system/lib/libaudioalsa.so:qcom \ + vendor/qcom/deb/proprietary/libC2D2.so:system/vendor/lib/libC2D2.so:qcom \ + vendor/qcom/deb/proprietary/libc2d30-a3xx.so:system/vendor/lib/libc2d30-a3xx.so:qcom \ + vendor/qcom/deb/proprietary/libc2d30.so:system/vendor/lib/libc2d30.so:qcom \ + vendor/qcom/deb/proprietary/libCB.so:system/vendor/lib/libCB.so:qcom \ + vendor/qcom/deb/proprietary/libchromatix_ov5693_common.so:system/lib/libchromatix_ov5693_common.so:qcom \ + vendor/qcom/deb/proprietary/libchromatix_ov5693_default_video.so:system/lib/libchromatix_ov5693_default_video.so:qcom \ + vendor/qcom/deb/proprietary/libchromatix_ov5693_preview.so:system/lib/libchromatix_ov5693_preview.so:qcom \ + vendor/qcom/deb/proprietary/libCommandSvc.so:system/lib/libCommandSvc.so:qcom \ + vendor/qcom/deb/proprietary/libconfigdb.so:system/lib/libconfigdb.so:qcom \ + vendor/qcom/deb/proprietary/libcsd-client.so:system/lib/libcsd-client.so:qcom \ + vendor/qcom/deb/proprietary/libdiag.so:system/lib/libdiag.so:qcom \ + vendor/qcom/deb/proprietary/libdrmdiag.so:system/lib/libdrmdiag.so:qcom \ + vendor/qcom/deb/proprietary/libdrmfs.so:system/lib/libdrmfs.so:qcom \ + vendor/qcom/deb/proprietary/libdrmtime.so:system/lib/libdrmtime.so:qcom \ + vendor/qcom/deb/proprietary/libdsi_netctrl.so:system/lib/libdsi_netctrl.so:qcom \ + vendor/qcom/deb/proprietary/libdsprofile.so:system/lib/libdsprofile.so:qcom \ + vendor/qcom/deb/proprietary/libdss.so:system/lib/libdss.so:qcom \ + vendor/qcom/deb/proprietary/libdsucsd.so:system/lib/libdsucsd.so:qcom \ + vendor/qcom/deb/proprietary/libdsutils.so:system/lib/libdsutils.so:qcom \ + vendor/qcom/deb/proprietary/libDxHdcp.so:system/lib/libDxHdcp.so:qcom \ + vendor/qcom/deb/proprietary/libgps.utils.so:system/lib/libgps.utils.so:qcom \ + vendor/qcom/deb/proprietary/libgsl.so:system/vendor/lib/libgsl.so:qcom \ + vendor/qcom/deb/proprietary/libI420colorconvert.so:system/lib/libI420colorconvert.so:qcom \ + vendor/qcom/deb/proprietary/libidl.so:system/lib/libidl.so:qcom \ + vendor/qcom/deb/proprietary/libllvm-qcom.so:system/vendor/lib/libllvm-qcom.so:qcom \ + vendor/qcom/deb/proprietary/libloc_core.so:system/lib/libloc_core.so:qcom \ + vendor/qcom/deb/proprietary/libloc_eng.so:system/lib/libloc_eng.so:qcom \ + vendor/qcom/deb/proprietary/libmm-abl.so:system/lib/libmm-abl.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_stats_algorithm.so:system/lib/libmmcamera2_stats_algorithm.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera_image_stab.so:system/lib/libmmcamera_image_stab.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera_mi1040.so:system/lib/libmmcamera_mi1040.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera_ov5693.so:system/lib/libmmcamera_ov5693.so:qcom \ + vendor/qcom/deb/proprietary/libmm-color-convertor.so:system/lib/libmm-color-convertor.so:qcom \ + vendor/qcom/deb/proprietary/libnetmgr.so:system/lib/libnetmgr.so:qcom \ + vendor/qcom/deb/proprietary/liboemcrypto.so:system/lib/liboemcrypto.so:qcom \ + vendor/qcom/deb/proprietary/libqcci_legacy.so:system/lib/libqcci_legacy.so:qcom \ + vendor/qcom/deb/proprietary/libqdi.so:system/lib/libqdi.so:qcom \ + vendor/qcom/deb/proprietary/libqdp.so:system/lib/libqdp.so:qcom \ + vendor/qcom/deb/proprietary/libqmi_cci.so:system/lib/libqmi_cci.so:qcom \ + vendor/qcom/deb/proprietary/libqmi_client_qmux.so:system/lib/libqmi_client_qmux.so:qcom \ + vendor/qcom/deb/proprietary/libqmi_common_so.so:system/lib/libqmi_common_so.so:qcom \ + vendor/qcom/deb/proprietary/libqmi_csi.so:system/lib/libqmi_csi.so:qcom \ + vendor/qcom/deb/proprietary/libqmi_csvt_srvc.so:system/lib/libqmi_csvt_srvc.so:qcom \ + vendor/qcom/deb/proprietary/libqmi_encdec.so:system/lib/libqmi_encdec.so:qcom \ + vendor/qcom/deb/proprietary/libqmiservices.so:system/lib/libqmiservices.so:qcom \ + vendor/qcom/deb/proprietary/libqmi.so:system/lib/libqmi.so:qcom \ + vendor/qcom/deb/proprietary/libQSEEComAPI.so:system/lib/libQSEEComAPI.so:qcom \ + vendor/qcom/deb/proprietary/libril-qc-qmi-1.so:system/lib/libril-qc-qmi-1.so:qcom \ + vendor/qcom/deb/proprietary/libril-qcril-hook-oem.so:system/lib/libril-qcril-hook-oem.so:qcom \ + vendor/qcom/deb/proprietary/librs_adreno_sha1.so:system/vendor/lib/librs_adreno_sha1.so:qcom \ + vendor/qcom/deb/proprietary/librs_adreno.so:system/vendor/lib/librs_adreno.so:qcom \ + vendor/qcom/deb/proprietary/libRSDriver_adreno.so:system/vendor/lib/libRSDriver_adreno.so:qcom \ + vendor/qcom/deb/proprietary/libsc-a3xx.so:system/vendor/lib/libsc-a3xx.so:qcom \ + vendor/qcom/deb/proprietary/libsensor1.so:system/lib/libsensor1.so:qcom \ + vendor/qcom/deb/proprietary/libsensor_reg.so:system/lib/libsensor_reg.so:qcom \ + vendor/qcom/deb/proprietary/libsensor_user_cal.so:system/lib/libsensor_user_cal.so:qcom \ + vendor/qcom/deb/proprietary/libstagefright_hdcp.so:system/lib/libstagefright_hdcp.so:qcom \ + vendor/qcom/deb/proprietary/libxml.so:system/lib/libxml.so:qcom \ + vendor/qcom/deb/proprietary/a300_pfp.fw:system/vendor/firmware/a300_pfp.fw:qcom \ + vendor/qcom/deb/proprietary/a300_pm4.fw:system/vendor/firmware/a300_pm4.fw:qcom \ + vendor/qcom/deb/proprietary/dxhdcp2.b00:system/vendor/firmware/discretix/dxhdcp2.b00:qcom \ + vendor/qcom/deb/proprietary/dxhdcp2.b01:system/vendor/firmware/discretix/dxhdcp2.b01:qcom \ + vendor/qcom/deb/proprietary/dxhdcp2.b02:system/vendor/firmware/discretix/dxhdcp2.b02:qcom \ + vendor/qcom/deb/proprietary/dxhdcp2.b03:system/vendor/firmware/discretix/dxhdcp2.b03:qcom \ + vendor/qcom/deb/proprietary/dxhdcp2.mdt:system/vendor/firmware/discretix/dxhdcp2.mdt:qcom \ + vendor/qcom/deb/proprietary/dsps.b00:system/vendor/firmware/dsps.b00:qcom \ + vendor/qcom/deb/proprietary/dsps.b01:system/vendor/firmware/dsps.b01:qcom \ + vendor/qcom/deb/proprietary/dsps.b02:system/vendor/firmware/dsps.b02:qcom \ + vendor/qcom/deb/proprietary/dsps.b03:system/vendor/firmware/dsps.b03:qcom \ + vendor/qcom/deb/proprietary/dsps.b04:system/vendor/firmware/dsps.b04:qcom \ + vendor/qcom/deb/proprietary/dsps.b05:system/vendor/firmware/dsps.b05:qcom \ + vendor/qcom/deb/proprietary/dsps.mdt:system/vendor/firmware/dsps.mdt:qcom \ + vendor/qcom/deb/proprietary/gss.b00:system/vendor/firmware/gss.b00:qcom \ + vendor/qcom/deb/proprietary/gss.b01:system/vendor/firmware/gss.b01:qcom \ + vendor/qcom/deb/proprietary/gss.b02:system/vendor/firmware/gss.b02:qcom \ + vendor/qcom/deb/proprietary/gss.b03:system/vendor/firmware/gss.b03:qcom \ + vendor/qcom/deb/proprietary/gss.b04:system/vendor/firmware/gss.b04:qcom \ + vendor/qcom/deb/proprietary/gss.b05:system/vendor/firmware/gss.b05:qcom \ + vendor/qcom/deb/proprietary/gss.b06:system/vendor/firmware/gss.b06:qcom \ + vendor/qcom/deb/proprietary/gss.b07:system/vendor/firmware/gss.b07:qcom \ + vendor/qcom/deb/proprietary/gss.b08:system/vendor/firmware/gss.b08:qcom \ + vendor/qcom/deb/proprietary/gss.b09:system/vendor/firmware/gss.b09:qcom \ + vendor/qcom/deb/proprietary/gss.b10:system/vendor/firmware/gss.b10:qcom \ + vendor/qcom/deb/proprietary/gss.b11:system/vendor/firmware/gss.b11:qcom \ + vendor/qcom/deb/proprietary/gss.mdt:system/vendor/firmware/gss.mdt:qcom \ + vendor/qcom/deb/proprietary/keymaster.b00:system/vendor/firmware/keymaster/keymaster.b00:qcom \ + vendor/qcom/deb/proprietary/keymaster.b01:system/vendor/firmware/keymaster/keymaster.b01:qcom \ + vendor/qcom/deb/proprietary/keymaster.b02:system/vendor/firmware/keymaster/keymaster.b02:qcom \ + vendor/qcom/deb/proprietary/keymaster.b03:system/vendor/firmware/keymaster/keymaster.b03:qcom \ + vendor/qcom/deb/proprietary/keymaster.mdt:system/vendor/firmware/keymaster/keymaster.mdt:qcom \ + vendor/qcom/deb/proprietary/q6.b00:system/vendor/firmware/q6.b00:qcom \ + vendor/qcom/deb/proprietary/q6.b01:system/vendor/firmware/q6.b01:qcom \ + vendor/qcom/deb/proprietary/q6.b03:system/vendor/firmware/q6.b03:qcom \ + vendor/qcom/deb/proprietary/q6.b04:system/vendor/firmware/q6.b04:qcom \ + vendor/qcom/deb/proprietary/q6.b05:system/vendor/firmware/q6.b05:qcom \ + vendor/qcom/deb/proprietary/q6.b06:system/vendor/firmware/q6.b06:qcom \ + vendor/qcom/deb/proprietary/q6.mdt:system/vendor/firmware/q6.mdt:qcom \ + vendor/qcom/deb/proprietary/tzapps.b00:system/vendor/firmware/tzapps.b00:qcom \ + vendor/qcom/deb/proprietary/tzapps.b01:system/vendor/firmware/tzapps.b01:qcom \ + vendor/qcom/deb/proprietary/tzapps.b02:system/vendor/firmware/tzapps.b02:qcom \ + vendor/qcom/deb/proprietary/tzapps.b03:system/vendor/firmware/tzapps.b03:qcom \ + vendor/qcom/deb/proprietary/wcnss.b00:system/vendor/firmware/wcnss.b00:qcom \ + vendor/qcom/deb/proprietary/wcnss.b01:system/vendor/firmware/wcnss.b01:qcom \ + vendor/qcom/deb/proprietary/wcnss.b02:system/vendor/firmware/wcnss.b02:qcom \ + vendor/qcom/deb/proprietary/wcnss.b04:system/vendor/firmware/wcnss.b04:qcom \ + vendor/qcom/deb/proprietary/wcnss.b05:system/vendor/firmware/wcnss.b05:qcom \ + vendor/qcom/deb/proprietary/wcnss.mdt:system/vendor/firmware/wcnss.mdt:qcom \ + vendor/qcom/deb/proprietary/libdrmdecrypt.so:system/vendor/lib/libdrmdecrypt.so:qcom \ + vendor/qcom/deb/proprietary/libgemini.so:system/vendor/lib/libgemini.so:qcom \ + vendor/qcom/deb/proprietary/libgeofence.so:system/vendor/lib/libgeofence.so:qcom \ + vendor/qcom/deb/proprietary/libimage-jpeg-enc-omx-comp.so:system/vendor/lib/libimage-jpeg-enc-omx-comp.so:qcom \ + vendor/qcom/deb/proprietary/libimage-omx-common.so:system/vendor/lib/libimage-omx-common.so:qcom \ + vendor/qcom/deb/proprietary/libizat_core.so:system/vendor/lib/libizat_core.so:qcom \ + vendor/qcom/deb/proprietary/libloc_api_v02.so:system/vendor/lib/libloc_api_v02.so:qcom \ + vendor/qcom/deb/proprietary/libloc_ds_api.so:system/vendor/lib/libloc_ds_api.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_c2d_module.so:system/vendor/lib/libmmcamera2_c2d_module.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_cpp_module.so:system/vendor/lib/libmmcamera2_cpp_module.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_iface_modules.so:system/vendor/lib/libmmcamera2_iface_modules.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_imglib_modules.so:system/vendor/lib/libmmcamera2_imglib_modules.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_isp_modules.so:system/vendor/lib/libmmcamera2_isp_modules.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_pproc_modules.so:system/vendor/lib/libmmcamera2_pproc_modules.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_sensor_modules.so:system/vendor/lib/libmmcamera2_sensor_modules.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_stats_modules.so:system/vendor/lib/libmmcamera2_stats_modules.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_vpe_module.so:system/vendor/lib/libmmcamera2_vpe_module.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera2_wnr_module.so:system/vendor/lib/libmmcamera2_wnr_module.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera_faceproc.so:system/vendor/lib/libmmcamera_faceproc.so:qcom \ + vendor/qcom/deb/proprietary/libmmcamera_imglib.so:system/vendor/lib/libmmcamera_imglib.so:qcom \ + vendor/qcom/deb/proprietary/libmmipl.so:system/vendor/lib/libmmipl.so:qcom \ + vendor/qcom/deb/proprietary/libmmjpeg.so:system/vendor/lib/libmmjpeg.so:qcom \ + vendor/qcom/deb/proprietary/libmmqjpeg_codec.so:system/vendor/lib/libmmqjpeg_codec.so:qcom \ + vendor/qcom/deb/proprietary/libmmstillomx.so:system/vendor/lib/libmmstillomx.so:qcom \ + vendor/qcom/deb/proprietary/liboemcamera.so:system/vendor/lib/liboemcamera.so:qcom \ + vendor/qcom/deb/proprietary/libqomx_jpegenc.so:system/vendor/lib/libqomx_jpegenc.so:qcom \ + +PRODUCT_PACKAGES := libacdbloader tzapps.mdt diff --git a/self-extractors/qcom/staging/proprietary/Android.mk b/self-extractors/qcom/staging/proprietary/Android.mk new file mode 100644 index 0000000..6f88bc7 --- /dev/null +++ b/self-extractors/qcom/staging/proprietary/Android.mk @@ -0,0 +1,55 @@ +# Copyright 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. + +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),deb) + +include $(CLEAR_VARS) +LOCAL_MODULE := libacdbloader +LOCAL_SRC_FILES := libacdbloader.so +LOCAL_MODULE_SUFFIX := .so +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_MODULE_PATH := $(TARGET_OUT)/lib +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_OWNER := qcom + +# Create symbolic link because user space can access persist directory, +# while kernel ALSA drivers can only access the /system/etc/firmware directory +LOCAL_POST_INSTALL_CMD := \ + mkdir -p $(TARGET_OUT_ETC)/firmware/wcd9310; \ + ln -sf /data/misc/audio/wcd9310_anc.bin \ + $(TARGET_OUT_ETC)/firmware/wcd9310/wcd9310_anc.bin; \ + ln -sf /data/misc/audio/mbhc.bin \ + $(TARGET_OUT_ETC)/firmware/wcd9310/wcd9310_mbhc.bin + +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := tzapps.mdt +LOCAL_MODULE_OWNER := qcom +LOCAL_SRC_FILES := tzapps.mdt +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/firmware +LOCAL_POST_INSTALL_CMD := \ + mkdir -p $(TARGET_OUT)/etc/firmware/; \ + ln -sf /system/vendor/firmware/tzapps.b00 $(TARGET_OUT)/etc/firmware/tzapps.b00; \ + ln -sf /system/vendor/firmware/tzapps.b01 $(TARGET_OUT)/etc/firmware/tzapps.b01; \ + ln -sf /system/vendor/firmware/tzapps.b02 $(TARGET_OUT)/etc/firmware/tzapps.b02; \ + ln -sf /system/vendor/firmware/tzapps.b03 $(TARGET_OUT)/etc/firmware/tzapps.b03; \ + ln -sf /system/vendor/firmware/tzapps.mdt $(TARGET_OUT)/etc/firmware/tzapps.mdt; +include $(BUILD_PREBUILT) + +endif diff --git a/self-extractors/root/BoardConfigVendor.mk b/self-extractors/root/BoardConfigVendor.mk new file mode 100644 index 0000000..619da87 --- /dev/null +++ b/self-extractors/root/BoardConfigVendor.mk @@ -0,0 +1,19 @@ +# Copyright 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. + +LOCAL_STEM := deb/BoardConfigPartial.mk + +-include vendor/asus/$(LOCAL_STEM) +-include vendor/broadcom/$(LOCAL_STEM) +-include vendor/qcom/$(LOCAL_STEM) diff --git a/self-extractors/root/device-vendor.mk b/self-extractors/root/device-vendor.mk new file mode 100644 index 0000000..16e8d6c --- /dev/null +++ b/self-extractors/root/device-vendor.mk @@ -0,0 +1,19 @@ +# Copyright 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. + +LOCAL_STEM := deb/device-partial.mk + +$(call inherit-product-if-exists, vendor/asus/$(LOCAL_STEM)) +$(call inherit-product-if-exists, vendor/broadcom/$(LOCAL_STEM)) +$(call inherit-product-if-exists, vendor/qcom/$(LOCAL_STEM)) diff --git a/sepolicy/audioserver.te b/sepolicy/audioserver.te deleted file mode 100644 index ad17e68..0000000 --- a/sepolicy/audioserver.te +++ /dev/null @@ -1,6 +0,0 @@ -# Audioserver - -allow audioserver self:socket { create ioctl read }; -allow audioserver qmuxd_socket:dir { add_name write search }; -allow audioserver qmuxd_socket:sock_file { create write setattr }; -allow audioserver qmux:unix_stream_socket connectto; diff --git a/system.prop b/system.prop index ae58874..c38dc6b 100644 --- a/system.prop +++ b/system.prop @@ -1,11 +1,7 @@ -# Telephony -rild.libpath=/system/lib/libril-qc-qmi-1.so -# Preferred network type - LTE, WCDMA, GSM +# +#set prefer network type +#LTE, GSM, WCDMA(9) +# ro.telephony.default_network=9 -ro.telephony.get_imsi_from_sim=true -telephony.lteOnGsmDevice=1 -DEVICE_PROVISIONED=1 -# Do not power down SIM card when modem is sent to Low Power Mode. -persist.radio.apm_sim_not_pwdn=1 -# Display Traditional Chinese/Simplified Chinese carriers name +#Display Traditional Chinese/Simplified Chinese carriers name persist.radio.use_cc_names=true diff --git a/vendor_owner_info.txt b/vendor_owner_info.txt new file mode 100644 index 0000000..61f3efd --- /dev/null +++ b/vendor_owner_info.txt @@ -0,0 +1,199 @@ +system/etc/apns-conf.xml:asus +root/adb_keys:google +system/bin/ATFWD-daemon:qcom +system/app/AsusDebugger.apk:asus +system/app/VZ_SDM.apk:asus +system/etc/DxHDCP.cfg:qcom +system/vendor/firmware/bcm2079x-b5_firmware.ncd:broadcom +system/vendor/firmware/bcm2079x-b5_pre_firmware.ncd:broadcom +system/bin/bridgemgrd:qcom +system/bin/btnvtool:qcom +system/bin/diag_klog:qcom +system/bin/diag_mdlog:qcom +system/bin/ds_fmc_appd:qcom +system/vendor/firmware/dsps.b00:qcom +system/vendor/firmware/dsps.b01:qcom +system/vendor/firmware/dsps.b02:qcom +system/vendor/firmware/dsps.b03:qcom +system/vendor/firmware/dsps.b04:qcom +system/vendor/firmware/dsps.b05:qcom +system/vendor/firmware/dsps.mdt:qcom +system/vendor/firmware/discretix/dxhdcp2.b00:qcom +system/vendor/firmware/discretix/dxhdcp2.b01:qcom +system/vendor/firmware/discretix/dxhdcp2.b02:qcom +system/vendor/firmware/discretix/dxhdcp2.b03:qcom +system/vendor/firmware/discretix/dxhdcp2.mdt:qcom +system/bin/efsks:qcom +system/vendor/firmware/gss.b00:qcom +system/vendor/firmware/gss.b01:qcom +system/vendor/firmware/gss.b02:qcom +system/vendor/firmware/gss.b03:qcom +system/vendor/firmware/gss.b04:qcom +system/vendor/firmware/gss.b05:qcom +system/vendor/firmware/gss.b06:qcom +system/vendor/firmware/gss.b07:qcom +system/vendor/firmware/gss.b08:qcom +system/vendor/firmware/gss.b09:qcom +system/vendor/firmware/gss.b10:qcom +system/vendor/firmware/gss.b11:qcom +system/vendor/firmware/gss.mdt:qcom +system/vendor/firmware/keymaster/keymaster.b00:qcom +system/vendor/firmware/keymaster/keymaster.b01:qcom +system/vendor/firmware/keymaster/keymaster.b02:qcom +system/vendor/firmware/keymaster/keymaster.b03:qcom +system/vendor/firmware/keymaster/keymaster.mdt:qcom +system/bin/hci_qcomm_init:qcom +system/bin/irsc_util:qcom +system/bin/ks:qcom +system/etc/gps.conf:qcom +system/vendor/lib/egl/libEGL_adreno.so:qcom +system/vendor/lib/egl/libGLESv1_CM_adreno.so:qcom +system/vendor/lib/egl/libGLESv2_adreno.so:qcom +system/vendor/lib/egl/libplayback_adreno.so:qcom +system/vendor/lib/egl/libq3dtools_adreno.so:qcom +system/lib/libAKM.so:asus +system/vendor/lib/libCB.so:qcom +system/lib/libCommandSvc.so:qcom +system/lib/libDxHdcp.so:qcom +system/lib/libI420colorconvert.so:qcom +system/lib/libQSEEComAPI.so:qcom +system/vendor/lib/libRSDriver_adreno.so:qcom +system/lib/libacdbdata.so:asus +system/lib/libacdbloader.so:qcom +system/vendor/lib/libadreno_utils.so:qcom +system/lib/libaudcal.so:qcom +system/lib/libaudioalsa.so:qcom +system/vendor/lib/libc2d30-a3xx.so:qcom +system/vendor/lib/libc2d30.so:qcom +system/lib/libchromatix_ov5693_common.so:qcom +system/lib/libchromatix_ov5693_default_video.so:qcom +system/lib/libchromatix_ov5693_preview.so:qcom +system/lib/libconfigdb.so:qcom +system/lib/libcsd-client.so:qcom +system/lib/libdiag.so:qcom +system/vendor/lib/libdrmdecrypt.so:qcom +system/lib/libdrmdiag.so:qcom +system/lib/libdrmfs.so:qcom +system/lib/libdrmtime.so:qcom +system/lib/libdsi_netctrl.so:qcom +system/lib/libdsprofile.so:qcom +system/lib/libdss.so:qcom +system/lib/libdsucsd.so:qcom +system/lib/libdsutils.so:qcom +system/vendor/lib/libgemini.so:qcom +system/vendor/lib/libgeofence.so:qcom +system/vendor/lib/libimage-jpeg-enc-omx-comp.so:qcom +system/vendor/lib/libimage-omx-common.so:qcom +system/vendor/lib/libizat_core.so:qcom +system/vendor/lib/libloc_api_v02.so:qcom +system/vendor/lib/libloc_ds_api.so:qcom +system/lib/libloc_api_v02.so:qcom +system/lib/libloc_core.so:qcom +system/lib/libmm-abl.so:qcom +system/lib/libmm-abl-oem.so:qcom +system/lib/libmm-color-convertor.so:qcom +system/vendor/lib/libmmcamera2_iface_modules.so:qcom +system/vendor/lib/libmmcamera2_imglib_modules.so:qcom +system/vendor/lib/libmmcamera2_isp_modules.so:qcom +system/vendor/lib/libmmcamera2_pproc_modules.so:qcom +system/vendor/lib/libmmcamera2_sensor_modules.so:qcom +system/lib/libmmcamera2_stats_algorithm.so:qcom +system/vendor/lib/libmmcamera2_stats_modules.so:qcom +system/vendor/lib/libmmcamera_faceproc.so:qcom +system/lib/libmmcamera_image_stab.so:qcom +system/lib/libmmcamera_mi1040.so:qcom +system/lib/libmmcamera_ov5693.so:qcom +system/vendor/lib/libmmipl.so:qcom +system/vendor/lib/libmmjpeg.so:qcom +system/vendor/lib/libmmqjpeg_codec.so:qcom +system/vendor/lib/libmmstillomx.so:qcom +system/lib/libnetmgr.so:qcom +system/vendor/lib/liboemcamera.so:qcom +system/lib/liboemcrypto.so:qcom +system/vendor/lib/librs_adreno_sha1.so:qcom +system/vendor/lib/librs_adreno.so:qcom +system/lib/libqcci_legacy.so:qcom +system/lib/libqdi.so:qcom +system/lib/libqdp.so:qcom +system/lib/libqmi.so:qcom +system/lib/libqmi_cci.so:qcom +system/lib/libqmi_client_qmux.so:qcom +system/lib/libqmi_common_so.so:qcom +system/lib/libqmi_csi.so:qcom +system/lib/libqmi_csvt_srvc.so:qcom +system/lib/libqmi_encdec.so:qcom +system/lib/libqmiservices.so:qcom +system/vendor/lib/libqomx_jpegenc.so:qcom +system/lib/libril-qc-qmi-1.so:qcom +system/lib/libril-qcril-hook-oem.so:qcom +system/lib/libsensor1.so:qcom +system/lib/libsensor_user_cal.so:qcom +system/lib/libstagefright_hdcp.so:qcom +system/bin/mm-pp-daemon:qcom +system/bin/mm-qcamera-daemon:qcom +system/bin/mm-qjpeg-enc-test:qcom +system/bin/mm-qomx-ienc-test:qcom +system/bin/mpdecision:qcom +system/bin/netmgrd:qcom +system/bin/nl_listener:qcom +system/bin/port-bridge:qcom +system/vendor/firmware/q6.b00:qcom +system/vendor/firmware/q6.b01:qcom +system/vendor/firmware/q6.b03:qcom +system/vendor/firmware/q6.b04:qcom +system/vendor/firmware/q6.b05:qcom +system/vendor/firmware/q6.b06:qcom +system/vendor/firmware/q6.mdt:qcom +system/bin/qcks:qcom +fake_packages/qcom_8x64_gpu_libs-timestamp:qcom +system/bin/qmuxd:qcom +system/bin/qseecomd:qcom +system/bin/radish:qcom +system/bin/rmt_storage:qcom +system/lib/hw/flp.msm8960.so:qcom +system/lib/hw/sensors.msm8960.so:qcom +system/bin/sensors.qcom:qcom +system/bin/thermald:qcom +system/vendor/firmware/tzapps.b00:qcom +system/vendor/firmware/tzapps.b01:qcom +system/vendor/firmware/tzapps.b02:qcom +system/vendor/firmware/tzapps.b03:qcom +system/vendor/firmware/tzapps.mdt:qcom +system/bin/usbhub:qcom +system/bin/usbhub_init:qcom +system/etc/firmware/vidc.b00:qcom +system/etc/firmware/vidc.b01:qcom +system/etc/firmware/vidc.b02:qcom +system/etc/firmware/vidc.b03:qcom +system/etc/firmware/vidc.mdt:qcom +system/etc/firmware/vidc_1080p.fw:qcom +system/etc/firmware/vidcfw.elf:qcom +system/vendor/firmware/wcnss.b00:qcom +system/vendor/firmware/wcnss.b01:qcom +system/vendor/firmware/wcnss.b02:qcom +system/vendor/firmware/wcnss.b04:qcom +system/vendor/firmware/wcnss.b05:qcom +system/vendor/firmware/wcnss.mdt:qcom +system/vendor/firmware/a300_pfp.fw:qcom +system/vendor/firmware/a300_pm4.fw:qcom +system/etc/debugger.conf:asus +system/lib/egl/eglsubAndroid.so:qcom +system/vendor/lib/libC2D2.so:qcom +system/lib/egl/libEGL_adreno200.so:qcom +system/lib/egl/libGLESv1_CM_adreno200.so:qcom +system/lib/egl/libGLESv2_adreno200.so:qcom +system/lib/libc2d2_a3xx.so:qcom +system/lib/libdebugger_jni.so:asus +system/vendor/lib/libgsl.so:qcom +system/vendor/lib/libllvm-qcom.so:qcom +system/lib/egl/libq3dtools_adreno200.so:qcom +system/vendor/lib/libsc-a3xx.so:qcom +system/lib/libgeofence.so:qcom +system/lib/libidl.so:qcom +system/vendor/lib/libmmcamera2_c2d_module.so:qcom +system/vendor/lib/libmmcamera2_cpp_module.so:qcom +system/vendor/lib/libmmcamera2_vpe_module.so:qcom +system/vendor/lib/libmmcamera2_wnr_module.so:qcom +system/vendor/lib/libmmcamera_imglib.so:qcom +system/lib/libsensor_reg.so:qcom +system/lib/libxml.so:qcom diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..723c22a --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1,17 @@ +# +# Copyright 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. +# + +add_lunch_combo aosp_deb-userdebug