├── Android.mk ├── AndroidProducts.mk ├── BoardConfig.mk ├── BoardConfigCommon.mk ├── CleanSpec.mk ├── aosp_grouper.mk ├── audio ├── Android.mk └── audio_hw.c ├── audio_policy.conf ├── bluetooth └── bdroid_buildcfg.h ├── board-info.txt ├── cm.dependencies ├── cm.mk ├── cmhw └── org │ └── cyanogenmod │ └── hardware │ └── AdaptiveBacklight.java ├── device-common.mk ├── device.mk ├── dumpstate ├── Android.mk ├── NOTICE └── dumpstate.c ├── egl.cfg ├── elan-touchscreen.idc ├── extract-files.sh ├── factory-images └── generate-factory-images-package.sh ├── fstab.grouper ├── full_grouper.mk ├── gpio-keys.kl ├── gps.conf ├── init.grouper.rc ├── init.grouper.usb.rc ├── kernel ├── keymaster ├── Android.mk ├── NOTICE ├── cryptoki.h ├── keymaster_grouper.cpp ├── pkcs11.h └── s_type.h ├── liblights ├── Android.mk └── lights.c ├── media_codecs.xml ├── media_profiles.xml ├── mixer_paths.xml ├── nfc ├── Android.mk └── nfc_hw.c ├── overlay ├── frameworks │ └── base │ │ ├── core │ │ └── res │ │ │ └── res │ │ │ ├── values │ │ │ ├── config.xml │ │ │ └── dimens.xml │ │ │ └── xml │ │ │ ├── eri.xml │ │ │ ├── power_profile.xml │ │ │ └── storage_list.xml │ │ └── packages │ │ ├── SettingsProvider │ │ └── res │ │ │ └── values │ │ │ └── defaults.xml │ │ └── SystemUI │ │ └── res │ │ └── values │ │ └── config.xml └── packages │ ├── apps │ ├── Bluetooth │ │ └── res │ │ │ └── values │ │ │ └── config.xml │ ├── Browser │ │ └── res │ │ │ └── values │ │ │ └── bools.xml │ ├── Launcher2 │ │ └── res │ │ │ └── values │ │ │ └── config.xml │ ├── Nfc │ │ └── res │ │ │ └── values │ │ │ └── provisioning.xml │ └── Settings │ │ └── res │ │ └── values │ │ ├── bools.xml │ │ └── config.xml │ └── wallpapers │ └── MusicVisualization │ └── res │ └── values │ └── config.xml ├── power ├── Android.mk └── power.c ├── proprietary-blobs.txt ├── raydium_ts.idc ├── releasetools.py ├── self-extractors ├── Android.mk ├── PART1 ├── PART2 ├── PART3 ├── PROLOGUE ├── asus │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ │ ├── BoardConfigPartial.mk │ │ ├── device-partial.mk │ │ └── proprietary │ │ └── Android.mk ├── broadcom │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ │ ├── BoardConfigPartial.mk │ │ ├── device-partial.mk │ │ └── proprietary │ │ └── Android.mk ├── elan │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ │ ├── BoardConfigPartial.mk │ │ ├── device-partial.mk │ │ └── proprietary │ │ └── Android.mk ├── extract-lists.txt ├── generate-packages.sh ├── invensense │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ │ ├── BoardConfigPartial.mk │ │ ├── device-partial.mk │ │ └── proprietary │ │ └── Android.mk ├── nvidia │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ │ ├── BoardConfigPartial.mk │ │ ├── device-partial.mk │ │ ├── keymaster │ │ ├── Android.mk │ │ ├── NOTICE │ │ ├── cryptoki.h │ │ ├── keymaster_grouper.cpp │ │ ├── pkcs11.h │ │ └── s_type.h │ │ └── proprietary │ │ └── Android.mk ├── nxp │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ │ ├── BoardConfigPartial.mk │ │ ├── device-partial.mk │ │ └── proprietary │ │ └── Android.mk ├── root │ ├── BoardConfigVendor.mk │ └── device-vendor.mk └── widevine │ ├── COPYRIGHT │ ├── LICENSE │ └── staging │ ├── BoardConfigPartial.mk │ ├── device-partial.mk │ └── proprietary │ └── Android.mk ├── sensor00fn11.idc ├── sepolicy ├── bluetooth.te ├── device.te ├── domain.te ├── drmserver.te ├── file.te ├── file_contexts ├── genfs_contexts ├── gpsd.te ├── init_shell.te ├── keystore.te ├── lmkd.te ├── mediaserver.te ├── radio.te ├── recovery.te ├── rild.te ├── sensors_config.te ├── surfaceflinger.te ├── system_app.te ├── system_server.te ├── ueventd.te └── vold.te ├── setup-makefiles.sh ├── system.prop ├── ueventd.grouper.rc └── vendorsetup.sh /Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifneq ($(filter grouper tilapia,$(TARGET_DEVICE)),) 18 | include $(call all-makefiles-under,$(LOCAL_PATH)) 19 | -include vendor/nvidia/common/TegraBoard.mk 20 | endif 21 | -------------------------------------------------------------------------------- /AndroidProducts.mk: -------------------------------------------------------------------------------- 1 | PRODUCT_MAKEFILES := \ 2 | $(LOCAL_DIR)/aosp_grouper.mk \ 3 | $(LOCAL_DIR)/full_grouper.mk 4 | -------------------------------------------------------------------------------- /BoardConfig.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # 16 | # This file sets variables that control the way modules are built 17 | # thorughout the system. It should not be used to conditionally 18 | # disable makefiles (the proper mechanism to control what gets 19 | # included in a build is to use PRODUCT_PACKAGES in a product 20 | # definition file). 21 | # 22 | 23 | # WARNING: This line must come *before* including the proprietary 24 | # variant, so that it gets overwritten by the parent (which goes 25 | # against the traditional rules of inheritance). 26 | # The proprietary variant sets USE_CAMERA_STUB := false, this way 27 | # we use the camera stub when the vendor tree isn't present, and 28 | # the true camera library when the vendor tree is available. Similarly, 29 | # we set USE_PROPRIETARY_AUDIO_EXTENSIONS to true in the proprietary variant as 30 | # well. 31 | USE_CAMERA_STUB := true 32 | USE_PROPRIETARY_AUDIO_EXTENSIONS := false 33 | 34 | BOARD_HAL_STATIC_LIBRARIES := libdumpstate.grouper 35 | 36 | TARGET_RELEASETOOLS_EXTENSIONS := device/asus/grouper 37 | 38 | -include vendor/asus/grouper/BoardConfigVendor.mk 39 | include device/asus/grouper/BoardConfigCommon.mk 40 | 41 | TARGET_RECOVERY_FSTAB = device/asus/grouper/fstab.grouper 42 | 43 | MALLOC_IMPL := dlmalloc 44 | -------------------------------------------------------------------------------- /BoardConfigCommon.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # 16 | # This file sets variables that control the way modules are built 17 | # thorughout the system. It should not be used to conditionally 18 | # disable makefiles (the proper mechanism to control what gets 19 | # included in a build is to use PRODUCT_PACKAGES in a product 20 | # definition file). 21 | # 22 | 23 | # inherit from the proprietary version 24 | # needed for BP-flashing updater extensions 25 | 26 | # Default value, if not overridden else where. 27 | BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR ?= device/asus/grouper/bluetooth 28 | 29 | TARGET_BOARD_PLATFORM := tegra3 30 | TARGET_TEGRA_VERSION := t30 31 | 32 | TARGET_CPU_ABI := armeabi-v7a 33 | TARGET_CPU_ABI2 := armeabi 34 | TARGET_CPU_SMP := true 35 | TARGET_ARCH := arm 36 | TARGET_ARCH_VARIANT := armv7-a-neon 37 | TARGET_CPU_VARIANT := cortex-a9 38 | 39 | TARGET_USERIMAGES_USE_EXT4 := true 40 | ifeq ($(HOST_OS),linux) 41 | TARGET_USERIMAGES_USE_F2FS := true 42 | endif 43 | 44 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 681574400 45 | # Disable journaling on system.img to save space. 46 | BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0 47 | BOARD_USERDATAIMAGE_PARTITION_SIZE := 6567231488 48 | BOARD_FLASH_BLOCK_SIZE := 4096 49 | 50 | # Wifi related defines 51 | BOARD_WPA_SUPPLICANT_DRIVER := NL80211 52 | WPA_SUPPLICANT_VERSION := VER_0_8_X 53 | BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd 54 | BOARD_HOSTAPD_DRIVER := NL80211 55 | BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd 56 | BOARD_WLAN_DEVICE := bcmdhd 57 | #WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/bcm4329.ko" 58 | WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/bcmdhd/parameters/firmware_path" 59 | WIFI_DRIVER_FW_PATH_STA := "/vendor/firmware/fw_bcmdhd.bin" 60 | WIFI_DRIVER_FW_PATH_AP := "/vendor/firmware/fw_bcmdhd_apsta.bin" 61 | 62 | TARGET_BOOTLOADER_BOARD_NAME := grouper 63 | TARGET_NO_BOOTLOADER := true 64 | 65 | BOARD_USES_GENERIC_AUDIO := false 66 | BOARD_USES_ALSA_AUDIO := false 67 | 68 | BOARD_USES_GENERIC_INVENSENSE := false 69 | 70 | BOARD_HAVE_BLUETOOTH := true 71 | BOARD_HAVE_BLUETOOTH_BCM := true 72 | 73 | USE_OPENGL_RENDERER := true 74 | BOARD_EGL_CFG := device/asus/grouper/egl.cfg 75 | 76 | # Hardware tunables 77 | BOARD_HARDWARE_CLASS := device/asus/grouper/cmhw/ 78 | 79 | ifneq ($(HAVE_NVIDIA_PROP_SRC),false) 80 | # needed for source compilation of nvidia libraries 81 | -include vendor/nvidia/proprietary_src/build/definitions.mk 82 | -include vendor/nvidia/build/definitions.mk 83 | endif 84 | 85 | # Avoid the generation of ldrcc instructions 86 | NEED_WORKAROUND_CORTEX_A9_745320 := true 87 | 88 | BOARD_USES_GROUPER_MODULES := true 89 | 90 | TARGET_KERNEL_SOURCE := kernel/asus/grouper 91 | TARGET_KERNEL_CONFIG := cyanogenmod_grouper_defconfig 92 | 93 | TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true 94 | 95 | BOARD_SEPOLICY_DIRS += \ 96 | device/asus/grouper/sepolicy 97 | 98 | BOARD_SEPOLICY_UNION += \ 99 | file_contexts \ 100 | genfs_contexts \ 101 | bluetooth.te \ 102 | device.te \ 103 | domain.te \ 104 | drmserver.te \ 105 | init_shell.te \ 106 | file.te \ 107 | gpsd.te \ 108 | keystore.te \ 109 | lmkd.te \ 110 | mediaserver.te \ 111 | recovery.te \ 112 | rild.te \ 113 | sensors_config.te \ 114 | surfaceflinger.te \ 115 | system_app.te \ 116 | system_server.te \ 117 | ueventd.te \ 118 | vold.te \ 119 | radio.te 120 | -------------------------------------------------------------------------------- /CleanSpec.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | 16 | # If you don't need to do a full clean build but would like to touch 17 | # a file or delete some intermediate files, add a clean step to the end 18 | # of the list. These steps will only be run once, if they haven't been 19 | # run before. 20 | # 21 | # E.g.: 22 | # $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 23 | # $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 24 | # 25 | # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 26 | # files that are missing or have been moved. 27 | # 28 | # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 29 | # Use $(OUT_DIR) to refer to the "out" directory. 30 | # 31 | # If you need to re-do something that's already mentioned, just copy 32 | # the command and add it to the bottom of the list. E.g., if a change 33 | # that you made last week required touching a file and a change you 34 | # made today requires touching the same file, just copy the old 35 | # touch step and add it to the end of the list. 36 | # 37 | # ************************************************ 38 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 39 | # ************************************************ 40 | 41 | # For example: 42 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 43 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 44 | #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 45 | #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 46 | 47 | # ************************************************ 48 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 49 | # ************************************************ 50 | $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop) 51 | $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 52 | $(call add-clean-step, rm -rf $(TARGET_OUT)/etc/permissions/android.hardware.bluetooth_le.xml) 53 | -------------------------------------------------------------------------------- /aosp_grouper.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2013 The Android Open-Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | $(call inherit-product, device/asus/grouper/full_grouper.mk) 17 | 18 | PRODUCT_NAME := aosp_grouper 19 | -------------------------------------------------------------------------------- /audio/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | include $(CLEAR_VARS) 18 | 19 | LOCAL_MODULE := audio.primary.grouper 20 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 21 | LOCAL_SRC_FILES := \ 22 | audio_hw.c 23 | LOCAL_C_INCLUDES += \ 24 | external/tinyalsa/include \ 25 | $(call include-path-for, audio-utils) \ 26 | $(call include-path-for, audio-route) 27 | LOCAL_SHARED_LIBRARIES := liblog libcutils libtinyalsa libaudioutils libaudioroute 28 | LOCAL_MODULE_TAGS := optional 29 | 30 | include $(BUILD_SHARED_LIBRARY) 31 | 32 | -------------------------------------------------------------------------------- /audio_policy.conf: -------------------------------------------------------------------------------- 1 | # Global configuration section: lists input and output devices always present on the device 2 | # as well as the output device selected by default. 3 | # Devices are designated by a string that corresponds to the enum in audio.h 4 | 5 | global_configuration { 6 | attached_output_devices AUDIO_DEVICE_OUT_SPEAKER 7 | default_output_device AUDIO_DEVICE_OUT_SPEAKER 8 | attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX 9 | } 10 | 11 | # audio hardware module section: contains descriptors for all audio hw modules present on the 12 | # device. Each hw module node is named after the corresponding hw module library base name. 13 | # For instance, "primary" corresponds to audio.primary..so. 14 | # The "primary" module is mandatory and must include at least one output with 15 | # AUDIO_OUTPUT_FLAG_PRIMARY flag. 16 | # Each module descriptor contains one or more output profile descriptors and zero or more 17 | # input profile descriptors. Each profile lists all the parameters supported by a given output 18 | # or input stream category. 19 | # The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding 20 | # to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". 21 | 22 | audio_hw_modules { 23 | primary { 24 | outputs { 25 | primary { 26 | sampling_rates 44100 27 | channel_masks AUDIO_CHANNEL_OUT_STEREO 28 | formats AUDIO_FORMAT_PCM_16_BIT 29 | devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET 30 | flags AUDIO_OUTPUT_FLAG_PRIMARY 31 | } 32 | } 33 | inputs { 34 | primary { 35 | sampling_rates 8000|11025|16000|22050|24000|32000|44100|48000 36 | channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO 37 | formats AUDIO_FORMAT_PCM_16_BIT 38 | devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET 39 | } 40 | } 41 | } 42 | a2dp { 43 | outputs { 44 | a2dp { 45 | sampling_rates 44100 46 | channel_masks AUDIO_CHANNEL_OUT_STEREO 47 | formats AUDIO_FORMAT_PCM_16_BIT 48 | devices AUDIO_DEVICE_OUT_ALL_A2DP 49 | } 50 | } 51 | } 52 | usb { 53 | outputs { 54 | usb_accessory { 55 | sampling_rates 44100 56 | channel_masks AUDIO_CHANNEL_OUT_STEREO 57 | formats AUDIO_FORMAT_PCM_16_BIT 58 | devices AUDIO_DEVICE_OUT_USB_ACCESSORY 59 | } 60 | usb_device { 61 | sampling_rates dynamic 62 | channel_masks AUDIO_CHANNEL_OUT_STEREO 63 | formats dynamic 64 | devices AUDIO_DEVICE_OUT_USB_DEVICE 65 | } 66 | } 67 | inputs { 68 | usb_device { 69 | sampling_rates dynamic 70 | channel_masks AUDIO_CHANNEL_IN_STEREO 71 | formats AUDIO_FORMAT_PCM_16_BIT 72 | devices AUDIO_DEVICE_IN_USB_DEVICE 73 | } 74 | } 75 | } 76 | r_submix { 77 | outputs { 78 | submix { 79 | sampling_rates 48000 80 | channel_masks AUDIO_CHANNEL_OUT_STEREO 81 | formats AUDIO_FORMAT_PCM_16_BIT 82 | devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX 83 | } 84 | } 85 | inputs { 86 | submix { 87 | sampling_rates 48000 88 | channel_masks AUDIO_CHANNEL_IN_STEREO 89 | formats AUDIO_FORMAT_PCM_16_BIT 90 | devices AUDIO_DEVICE_IN_REMOTE_SUBMIX 91 | } 92 | } 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /bluetooth/bdroid_buildcfg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #ifndef _BDROID_BUILDCFG_H 18 | #define _BDROID_BUILDCFG_H 19 | 20 | #define BTM_DEF_LOCAL_NAME "Nexus 7" 21 | 22 | // Networking, Capturing, Object Transfer 23 | // MAJOR CLASS: COMPUTER 24 | // MINOR CLASS: PALM SIZE PC/PDA 25 | #define BTA_DM_COD {0x1A, 0x01, 0x14} 26 | 27 | #define BTIF_HF_SERVICES (BTA_HSP_SERVICE_MASK) 28 | #define BTIF_HF_SERVICE_NAMES { BTIF_HSAG_SERVICE_NAME, NULL } 29 | #define PAN_NAP_DISABLED TRUE 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /board-info.txt: -------------------------------------------------------------------------------- 1 | require board=grouper 2 | -------------------------------------------------------------------------------- /cm.dependencies: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "repository": "android_kernel_asus_grouper", 4 | "target_path": "kernel/asus/grouper" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /cm.mk: -------------------------------------------------------------------------------- 1 | # Release name 2 | PRODUCT_RELEASE_NAME := Nexus7 3 | 4 | # Boot animation 5 | TARGET_SCREEN_HEIGHT := 1280 6 | TARGET_SCREEN_WIDTH := 800 7 | 8 | # Inherit some common CM stuff. 9 | $(call inherit-product, vendor/cm/config/common_full_tablet_wifionly.mk) 10 | 11 | # Enhanced NFC 12 | $(call inherit-product, vendor/cm/config/nfc_enhanced.mk) 13 | 14 | # Inherit device configuration 15 | $(call inherit-product, device/asus/grouper/full_grouper.mk) 16 | 17 | ## Device identifier. This must come after all inclusions 18 | PRODUCT_DEVICE := grouper 19 | PRODUCT_NAME := cm_grouper 20 | PRODUCT_BRAND := google 21 | PRODUCT_MODEL := Nexus 7 22 | PRODUCT_MANUFACTURER := asus 23 | 24 | #Set build fingerprint / ID / Product Name ect. 25 | PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=nakasi BUILD_FINGERPRINT="google/nakasi/grouper:5.1/LMY47D/1743759:user/release-keys" PRIVATE_BUILD_DESC="nakasi-user 5.1 LMY47D 1743759 release-keys" 26 | -------------------------------------------------------------------------------- /cmhw/org/cyanogenmod/hardware/AdaptiveBacklight.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 The CyanogenMod Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package org.cyanogenmod.hardware; 18 | 19 | import org.cyanogenmod.hardware.util.FileUtils; 20 | 21 | /** 22 | * Adaptive backlight support (this refers to technologies like NVIDIA SmartDimmer, 23 | * QCOM CABL or Samsung CABC). 24 | */ 25 | public class AdaptiveBacklight { 26 | private static final String FILE = "/sys/devices/tegradc.0/smartdimmer/enable"; 27 | 28 | /** 29 | * Whether device supports an adaptive backlight technology. 30 | * 31 | * @return boolean Supported devices must return always true 32 | */ 33 | public static boolean isSupported() { 34 | // Just read and write the values, if setEnabled returns true 35 | // then the file exists and is writable. 36 | boolean enabled = isEnabled(); 37 | return setEnabled(enabled); 38 | } 39 | 40 | /** 41 | * This method return the current activation status of the adaptive backlight technology. 42 | * 43 | * @return boolean Must be false when adaptive backlight is not supported or not activated, or 44 | * the operation failed while reading the status; true in any other case. 45 | */ 46 | public static boolean isEnabled() { 47 | String enabled = FileUtils.readOneLine(FILE); 48 | if(enabled != null && enabled.trim().equals("1")) { 49 | return true; 50 | } 51 | return false; 52 | } 53 | 54 | /** 55 | * This method allows to setup adaptive backlight technology status. 56 | * 57 | * @param status The new adaptive backlight status 58 | * @return boolean Must be false if adaptive backlight is not supported or the operation 59 | * failed; true in any other case. 60 | */ 61 | public static boolean setEnabled(boolean status) { 62 | if(status) { 63 | return FileUtils.writeLine(FILE, "1"); 64 | } else { 65 | return FileUtils.writeLine(FILE, "0"); 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /device-common.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2010 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | ifeq ($(TARGET_PREBUILT_KERNEL),) 18 | LOCAL_KERNEL := kernel/tegra/arch/arm/boot/zImage 19 | else 20 | LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 21 | endif 22 | 23 | PRODUCT_AAPT_CONFIG := normal large 24 | PRODUCT_AAPT_PREF_CONFIG := tvdpi 25 | # A list of dpis to select prebuilt apk, in precedence order. 26 | PRODUCT_AAPT_PREBUILT_DPI := hdpi 27 | 28 | PRODUCT_PROPERTY_OVERRIDES := \ 29 | wifi.interface=wlan0 \ 30 | wifi.supplicant_scan_interval=15 \ 31 | tf.enable=y \ 32 | persist.sys.media.legacy-drm=true \ 33 | drm.service.enabled=true 34 | 35 | # libhwui flags 36 | PRODUCT_PROPERTY_OVERRIDES += \ 37 | debug.hwui.render_dirty_regions=false 38 | 39 | # Set default USB interface 40 | PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 41 | persist.sys.usb.config=mtp 42 | 43 | # Enable USB OTG support 44 | PRODUCT_PROPERTY_OVERRIDES += \ 45 | persist.sys.isUsbOtgEnabled=true 46 | 47 | include frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk 48 | 49 | PRODUCT_COPY_FILES += \ 50 | device/asus/grouper/ueventd.grouper.rc:root/ueventd.grouper.rc \ 51 | device/asus/grouper/init.grouper.usb.rc:root/init.grouper.usb.rc \ 52 | device/asus/grouper/gps.conf:system/etc/gps.conf 53 | 54 | ifneq ($(TARGET_PREBUILT_WIFI_MODULE),) 55 | PRODUCT_COPY_FILES += \ 56 | $(TARGET_PREBUILT_WIFI_MODULE):system/lib/modules/bcm4329.ko 57 | endif 58 | 59 | PRODUCT_COPY_FILES += \ 60 | frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \ 61 | frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ 62 | frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 63 | frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ 64 | frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ 65 | frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ 66 | frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ 67 | frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 68 | frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ 69 | frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ 70 | frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ 71 | frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ 72 | frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml 73 | 74 | PRODUCT_COPY_FILES += \ 75 | device/asus/grouper/elan-touchscreen.idc:system/usr/idc/elan-touchscreen.idc \ 76 | device/asus/grouper/raydium_ts.idc:system/usr/idc/raydium_ts.idc \ 77 | device/asus/grouper/sensor00fn11.idc:system/usr/idc/sensor00fn11.idc \ 78 | device/asus/grouper/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl 79 | 80 | PRODUCT_PACKAGES := \ 81 | libwpa_client \ 82 | hostapd \ 83 | dhcpcd.conf \ 84 | wpa_supplicant \ 85 | wpa_supplicant.conf 86 | 87 | PRODUCT_PACKAGES += \ 88 | lights.grouper \ 89 | audio.primary.grouper \ 90 | power.grouper \ 91 | audio.a2dp.default \ 92 | audio.usb.default \ 93 | audio.r_submix.default \ 94 | librs_jni \ 95 | l2ping \ 96 | hcitool \ 97 | bttest \ 98 | com.android.future.usb.accessory 99 | 100 | PRODUCT_PACKAGES += \ 101 | keystore.grouper 102 | 103 | # NFC packages 104 | PRODUCT_PACKAGES += \ 105 | nfc.grouper \ 106 | Nfc \ 107 | Tag 108 | 109 | # Filesystem management tools 110 | PRODUCT_PACKAGES += \ 111 | fsck.f2fs \ 112 | mkfs.f2fs \ 113 | e2fsck \ 114 | setup_fs 115 | 116 | PRODUCT_CHARACTERISTICS := tablet,nosdcard 117 | 118 | # media config xml file 119 | PRODUCT_COPY_FILES += \ 120 | device/asus/grouper/media_profiles.xml:system/etc/media_profiles.xml 121 | 122 | # media codec config xml file 123 | PRODUCT_COPY_FILES += \ 124 | frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 125 | frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ 126 | frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 127 | device/asus/grouper/media_codecs.xml:system/etc/media_codecs.xml 128 | 129 | # audio mixer paths 130 | PRODUCT_COPY_FILES += \ 131 | device/asus/grouper/mixer_paths.xml:system/etc/mixer_paths.xml 132 | 133 | # audio policy configuration 134 | PRODUCT_COPY_FILES += \ 135 | device/asus/grouper/audio_policy.conf:system/etc/audio_policy.conf 136 | 137 | PRODUCT_COPY_FILES += \ 138 | frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml \ 139 | frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml 140 | 141 | WIFI_BAND := 802_11_BG 142 | $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk) 143 | -------------------------------------------------------------------------------- /device.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2010 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | PRODUCT_PROPERTY_OVERRIDES := \ 18 | ro.carrier=wifi-only 19 | 20 | PRODUCT_COPY_FILES := \ 21 | device/asus/grouper/fstab.grouper:root/fstab.grouper \ 22 | device/asus/grouper/init.grouper.rc:root/init.grouper.rc 23 | 24 | # the actual meat of the device-specific product definition 25 | $(call inherit-product, device/asus/grouper/device-common.mk) 26 | 27 | # inherit from the non-open-source side, if present 28 | $(call inherit-product-if-exists, vendor/asus/grouper/device-vendor.mk) 29 | 30 | PRODUCT_PROPERTY_OVERRIDES += \ 31 | ro.carrier=wifi-only 32 | 33 | DEVICE_PACKAGE_OVERLAYS := \ 34 | device/asus/grouper/overlay 35 | -------------------------------------------------------------------------------- /dumpstate/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH:= $(call my-dir) 16 | include $(CLEAR_VARS) 17 | 18 | LOCAL_C_INCLUDES := frameworks/native/cmds/dumpstate 19 | 20 | LOCAL_SRC_FILES := dumpstate.c 21 | 22 | LOCAL_MODULE := libdumpstate.grouper 23 | 24 | LOCAL_MODULE_TAGS := optional 25 | 26 | include $(BUILD_STATIC_LIBRARY) 27 | -------------------------------------------------------------------------------- /dumpstate/NOTICE: -------------------------------------------------------------------------------- 1 | 2 | Copyright (C) 2012 The Android Open Source Project 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | 13 | 14 | Apache License 15 | Version 2.0, January 2004 16 | http://www.apache.org/licenses/ 17 | 18 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 19 | 20 | 1. Definitions. 21 | 22 | "License" shall mean the terms and conditions for use, reproduction, 23 | and distribution as defined by Sections 1 through 9 of this document. 24 | 25 | "Licensor" shall mean the copyright owner or entity authorized by 26 | the copyright owner that is granting the License. 27 | 28 | "Legal Entity" shall mean the union of the acting entity and all 29 | other entities that control, are controlled by, or are under common 30 | control with that entity. For the purposes of this definition, 31 | "control" means (i) the power, direct or indirect, to cause the 32 | direction or management of such entity, whether by contract or 33 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 34 | outstanding shares, or (iii) beneficial ownership of such entity. 35 | 36 | "You" (or "Your") shall mean an individual or Legal Entity 37 | exercising permissions granted by this License. 38 | 39 | "Source" form shall mean the preferred form for making modifications, 40 | including but not limited to software source code, documentation 41 | source, and configuration files. 42 | 43 | "Object" form shall mean any form resulting from mechanical 44 | transformation or translation of a Source form, including but 45 | not limited to compiled object code, generated documentation, 46 | and conversions to other media types. 47 | 48 | "Work" shall mean the work of authorship, whether in Source or 49 | Object form, made available under the License, as indicated by a 50 | copyright notice that is included in or attached to the work 51 | (an example is provided in the Appendix below). 52 | 53 | "Derivative Works" shall mean any work, whether in Source or Object 54 | form, that is based on (or derived from) the Work and for which the 55 | editorial revisions, annotations, elaborations, or other modifications 56 | represent, as a whole, an original work of authorship. For the purposes 57 | of this License, Derivative Works shall not include works that remain 58 | separable from, or merely link (or bind by name) to the interfaces of, 59 | the Work and Derivative Works thereof. 60 | 61 | "Contribution" shall mean any work of authorship, including 62 | the original version of the Work and any modifications or additions 63 | to that Work or Derivative Works thereof, that is intentionally 64 | submitted to Licensor for inclusion in the Work by the copyright owner 65 | or by an individual or Legal Entity authorized to submit on behalf of 66 | the copyright owner. For the purposes of this definition, "submitted" 67 | means any form of electronic, verbal, or written communication sent 68 | to the Licensor or its representatives, including but not limited to 69 | communication on electronic mailing lists, source code control systems, 70 | and issue tracking systems that are managed by, or on behalf of, the 71 | Licensor for the purpose of discussing and improving the Work, but 72 | excluding communication that is conspicuously marked or otherwise 73 | designated in writing by the copyright owner as "Not a Contribution." 74 | 75 | "Contributor" shall mean Licensor and any individual or Legal Entity 76 | on behalf of whom a Contribution has been received by Licensor and 77 | subsequently incorporated within the Work. 78 | 79 | 2. Grant of Copyright License. Subject to the terms and conditions of 80 | this License, each Contributor hereby grants to You a perpetual, 81 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 82 | copyright license to reproduce, prepare Derivative Works of, 83 | publicly display, publicly perform, sublicense, and distribute the 84 | Work and such Derivative Works in Source or Object form. 85 | 86 | 3. Grant of Patent License. Subject to the terms and conditions of 87 | this License, each Contributor hereby grants to You a perpetual, 88 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 89 | (except as stated in this section) patent license to make, have made, 90 | use, offer to sell, sell, import, and otherwise transfer the Work, 91 | where such license applies only to those patent claims licensable 92 | by such Contributor that are necessarily infringed by their 93 | Contribution(s) alone or by combination of their Contribution(s) 94 | with the Work to which such Contribution(s) was submitted. If You 95 | institute patent litigation against any entity (including a 96 | cross-claim or counterclaim in a lawsuit) alleging that the Work 97 | or a Contribution incorporated within the Work constitutes direct 98 | or contributory patent infringement, then any patent licenses 99 | granted to You under this License for that Work shall terminate 100 | as of the date such litigation is filed. 101 | 102 | 4. Redistribution. You may reproduce and distribute copies of the 103 | Work or Derivative Works thereof in any medium, with or without 104 | modifications, and in Source or Object form, provided that You 105 | meet the following conditions: 106 | 107 | (a) You must give any other recipients of the Work or 108 | Derivative Works a copy of this License; and 109 | 110 | (b) You must cause any modified files to carry prominent notices 111 | stating that You changed the files; and 112 | 113 | (c) You must retain, in the Source form of any Derivative Works 114 | that You distribute, all copyright, patent, trademark, and 115 | attribution notices from the Source form of the Work, 116 | excluding those notices that do not pertain to any part of 117 | the Derivative Works; and 118 | 119 | (d) If the Work includes a "NOTICE" text file as part of its 120 | distribution, then any Derivative Works that You distribute must 121 | include a readable copy of the attribution notices contained 122 | within such NOTICE file, excluding those notices that do not 123 | pertain to any part of the Derivative Works, in at least one 124 | of the following places: within a NOTICE text file distributed 125 | as part of the Derivative Works; within the Source form or 126 | documentation, if provided along with the Derivative Works; or, 127 | within a display generated by the Derivative Works, if and 128 | wherever such third-party notices normally appear. The contents 129 | of the NOTICE file are for informational purposes only and 130 | do not modify the License. You may add Your own attribution 131 | notices within Derivative Works that You distribute, alongside 132 | or as an addendum to the NOTICE text from the Work, provided 133 | that such additional attribution notices cannot be construed 134 | as modifying the License. 135 | 136 | You may add Your own copyright statement to Your modifications and 137 | may provide additional or different license terms and conditions 138 | for use, reproduction, or distribution of Your modifications, or 139 | for any such Derivative Works as a whole, provided Your use, 140 | reproduction, and distribution of the Work otherwise complies with 141 | the conditions stated in this License. 142 | 143 | 5. Submission of Contributions. Unless You explicitly state otherwise, 144 | any Contribution intentionally submitted for inclusion in the Work 145 | by You to the Licensor shall be under the terms and conditions of 146 | this License, without any additional terms or conditions. 147 | Notwithstanding the above, nothing herein shall supersede or modify 148 | the terms of any separate license agreement you may have executed 149 | with Licensor regarding such Contributions. 150 | 151 | 6. Trademarks. This License does not grant permission to use the trade 152 | names, trademarks, service marks, or product names of the Licensor, 153 | except as required for reasonable and customary use in describing the 154 | origin of the Work and reproducing the content of the NOTICE file. 155 | 156 | 7. Disclaimer of Warranty. Unless required by applicable law or 157 | agreed to in writing, Licensor provides the Work (and each 158 | Contributor provides its Contributions) on an "AS IS" BASIS, 159 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 160 | implied, including, without limitation, any warranties or conditions 161 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 162 | PARTICULAR PURPOSE. You are solely responsible for determining the 163 | appropriateness of using or redistributing the Work and assume any 164 | risks associated with Your exercise of permissions under this License. 165 | 166 | 8. Limitation of Liability. In no event and under no legal theory, 167 | whether in tort (including negligence), contract, or otherwise, 168 | unless required by applicable law (such as deliberate and grossly 169 | negligent acts) or agreed to in writing, shall any Contributor be 170 | liable to You for damages, including any direct, indirect, special, 171 | incidental, or consequential damages of any character arising as a 172 | result of this License or out of the use or inability to use the 173 | Work (including but not limited to damages for loss of goodwill, 174 | work stoppage, computer failure or malfunction, or any and all 175 | other commercial damages or losses), even if such Contributor 176 | has been advised of the possibility of such damages. 177 | 178 | 9. Accepting Warranty or Additional Liability. While redistributing 179 | the Work or Derivative Works thereof, You may choose to offer, 180 | and charge a fee for, acceptance of support, warranty, indemnity, 181 | or other liability obligations and/or rights consistent with this 182 | License. However, in accepting such obligations, You may act only 183 | on Your own behalf and on Your sole responsibility, not on behalf 184 | of any other Contributor, and only if You agree to indemnify, 185 | defend, and hold each Contributor harmless for any liability 186 | incurred by, or claims asserted against, such Contributor by reason 187 | of your accepting any such warranty or additional liability. 188 | 189 | END OF TERMS AND CONDITIONS 190 | 191 | -------------------------------------------------------------------------------- /dumpstate/dumpstate.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | 19 | void dumpstate_board() 20 | { 21 | dump_file("board revision", 22 | "/sys/devices/platform/grouper_misc/grouper_pcbid"); 23 | dump_file("board gpio status", 24 | "/d/gpio"); 25 | dump_file("soc fuse production mode", 26 | "/sys/firmware/fuse/odm_production_mode"); 27 | dump_file("emmc revision", 28 | "/sys/devices/platform/sdhci-tegra.3/mmc_host/mmc0/mmc0:0001/" 29 | "prv"); 30 | dump_file("emmc capacity", 31 | "/sys/devices/platform/sdhci-tegra.3/mmc_host/mmc0/mmc0:0001/" 32 | "sec_count"); 33 | dump_file("wlan", "/sys/module/bcmdhd/parameters/info_string"); 34 | dump_file("touch panel vendor and firmware version", 35 | "/sys/class/switch/touch/name"); 36 | }; 37 | -------------------------------------------------------------------------------- /egl.cfg: -------------------------------------------------------------------------------- 1 | 0 0 android 2 | 0 1 tegra 3 | -------------------------------------------------------------------------------- /elan-touchscreen.idc: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # 16 | # Input Device Configuration File for the ELAN touch panel device. 17 | # 18 | # These calibration values are derived from empirical measurements 19 | # and may not be appropriate for use with other touch screens. 20 | # Refer to the input device configuration documentation for more details. 21 | # 22 | 23 | # Basic Parameters 24 | touch.deviceType = touchScreen 25 | touch.orientationAware = 1 26 | 27 | # Size 28 | touch.size.calibration = area 29 | touch.size.scale = 36 30 | touch.size.bias = 0 31 | 32 | # Pressure 33 | touch.pressure.calibration = amplitude 34 | touch.pressure.scale = 0.0048 35 | 36 | # Orientation 37 | touch.orientation.calibration = none 38 | 39 | -------------------------------------------------------------------------------- /extract-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (C) 2012 The CyanogenMod Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | DEVICE=grouper 18 | MANUFACTURER=asus 19 | 20 | BASE=../../../vendor/$MANUFACTURER/$DEVICE/proprietary 21 | mkdir -p $BASE 22 | for FILE in `cat proprietary-blobs.txt | grep -v "^#"`; do 23 | # DIR=`dirname $FILE` 24 | # if [ ! -d $BASE$DIR ]; then 25 | # echo "making $BASE$DIR..." 26 | # mkdir -p $BASE$DIR 27 | # fi 28 | echo Pulling $FILE to $BASE 29 | # adb pull $FILE $BASE$FILE 30 | adb pull $FILE $BASE/ 31 | done 32 | 33 | ./setup-makefiles.sh 34 | -------------------------------------------------------------------------------- /factory-images/generate-factory-images-package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright 2011 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | # start jb-dev 18 | # 334698 = JRN19 19 | # 342231 = JRN26D 20 | # 367578 = JRN60B 21 | # 386704 = JRN80 22 | # 391496 = JRN83D 23 | # 392829 = JRN84D 24 | # 397360 = JRO02C 25 | # 398337 = JRO03C 26 | # 402395 = JRO03D 27 | # 447484 = JZO54 28 | # 477516 = JZO54I 29 | # 481723 = JZO54J 30 | # 485486 = JZO54K 31 | # end jb-dev 32 | # start jb-mr1-dev 33 | # 526897 = JOP39B 34 | # 527221 = JOP40 35 | # 527662 = JOP40C 36 | # 533553 = JOP40D 37 | # end jb-mr1-dev 38 | # start jb-mr1.1-dev 39 | # 551245 = JDP82 40 | # 573038 = JDQ39 41 | # end jb-mr1.1-dev 42 | # start jb-mr2-dev 43 | # 683083 = JWR51 44 | # 689345 = JWR58 45 | # 690834 = JWR59 46 | # 704243 = JWR66G 47 | # 711294 = JWR66N 48 | # 737497 = JWR66V 49 | # end jb-mr2-dev 50 | 51 | source ../../../common/clear-factory-images-variables.sh 52 | BUILD=937116 53 | DEVICE=grouper 54 | PRODUCT=nakasi 55 | VERSION=kot49h 56 | SRCPREFIX=signed- 57 | BOOTLOADERFILE=bootloader.img 58 | BOOTLOADER=4.23 59 | SLEEPDURATION=10 60 | UNLOCKBOOTLOADER=true 61 | ERASEALL=true 62 | source ../../../common/generate-factory-images-common.sh 63 | -------------------------------------------------------------------------------- /fstab.grouper: -------------------------------------------------------------------------------- 1 | # Android fstab file. 2 | # 3 | # The filesystem that contains the filesystem checker binary (typically /system) cannot 4 | # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 5 | 6 | 7 | /dev/block/platform/sdhci-tegra.3/by-name/APP /system ext4 ro wait 8 | /dev/block/platform/sdhci-tegra.3/by-name/CAC /cache f2fs noatime,nosuid,nodev,nodiratime,discard,inline_xattr,inline_data,inline_dentry wait,check 9 | /dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check 10 | /dev/block/platform/sdhci-tegra.3/by-name/UDA /data f2fs noatime,nosuid,nodev,nodiratime,discard,inline_xattr,inline_data,inline_dentry wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA 11 | /dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA 12 | /dev/block/platform/sdhci-tegra.3/by-name/MSC /misc emmc defaults defaults 13 | /dev/block/platform/sdhci-tegra.3/by-name/LNX /boot emmc defaults defaults 14 | /dev/block/platform/sdhci-tegra.3/by-name/SOS /recovery emmc defaults defaults 15 | /dev/block/platform/sdhci-tegra.3/by-name/USP /staging emmc defaults defaults 16 | 17 | /devices/platform/tegra-ehci auto vfat defaults voldmanaged=usbdisk:auto 18 | -------------------------------------------------------------------------------- /full_grouper.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # 16 | # This file is the build configuration for a full Android 17 | # build for grouper hardware. This cleanly combines a set of 18 | # device-specific aspects (drivers) with a device-agnostic 19 | # product configuration (apps). 20 | # 21 | 22 | # Inherit from those products. Most specific first. 23 | $(call inherit-product, device/asus/grouper/device.mk) 24 | # This is where we'd set a backup provider if we had one 25 | #$(call inherit-product, device/sample/products/backup_overlay.mk) 26 | $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk) 27 | 28 | # Discard inherited values and use our own instead. 29 | PRODUCT_NAME := full_grouper 30 | PRODUCT_DEVICE := grouper 31 | PRODUCT_BRAND := Android 32 | # Don't restrict vendor folder 33 | PRODUCT_RESTRICT_VENDOR_FILES := false 34 | PRODUCT_MODEL := CyanogenMod on Grouper 35 | -------------------------------------------------------------------------------- /gpio-keys.kl: -------------------------------------------------------------------------------- 1 | key 116 POWER 2 | key 115 VOLUME_UP 3 | key 114 VOLUME_DOWN 4 | 5 | -------------------------------------------------------------------------------- /gps.conf: -------------------------------------------------------------------------------- 1 | NTP_SERVER=north-america.pool.ntp.org 2 | XTRA_SERVER_1=http://gllto.glpals.com/7day/latest/lto.dat 3 | XTRA_SERVER_2=http://gllto.glpals.com/7day/latest/lto.dat 4 | XTRA_SERVER_3=http://gllto.glpals.com/2day/latest/lto.dat 5 | -------------------------------------------------------------------------------- /init.grouper.usb.rc: -------------------------------------------------------------------------------- 1 | on init 2 | write /sys/class/android_usb/android0/iSerial ${ro.serialno} 3 | 4 | on boot 5 | write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer} 6 | write /sys/class/android_usb/android0/iProduct ${ro.product.model} 7 | 8 | on property:sys.usb.config=mtp 9 | write /sys/class/android_usb/android0/enable 0 10 | write /sys/class/android_usb/android0/idVendor 18d1 11 | write /sys/class/android_usb/android0/idProduct 4e41 12 | write /sys/class/android_usb/android0/functions ${sys.usb.config} 13 | write /sys/class/android_usb/android0/enable 1 14 | setprop sys.usb.state ${sys.usb.config} 15 | 16 | on property:sys.usb.config=mtp,adb 17 | write /sys/class/android_usb/android0/enable 0 18 | write /sys/class/android_usb/android0/idVendor 18d1 19 | write /sys/class/android_usb/android0/idProduct 4e42 20 | write /sys/class/android_usb/android0/functions ${sys.usb.config} 21 | write /sys/class/android_usb/android0/enable 1 22 | start adbd 23 | setprop sys.usb.state ${sys.usb.config} 24 | 25 | on property:sys.usb.config=ptp 26 | write /sys/class/android_usb/android0/enable 0 27 | write /sys/class/android_usb/android0/idVendor 18d1 28 | write /sys/class/android_usb/android0/idProduct 4e43 29 | write /sys/class/android_usb/android0/functions ${sys.usb.config} 30 | write /sys/class/android_usb/android0/enable 1 31 | setprop sys.usb.state ${sys.usb.config} 32 | 33 | on property:sys.usb.config=ptp,adb 34 | write /sys/class/android_usb/android0/enable 0 35 | write /sys/class/android_usb/android0/idVendor 18d1 36 | write /sys/class/android_usb/android0/idProduct 4e44 37 | write /sys/class/android_usb/android0/functions ${sys.usb.config} 38 | write /sys/class/android_usb/android0/enable 1 39 | start adbd 40 | setprop sys.usb.state ${sys.usb.config} 41 | 42 | on property:sys.usb.config=charging 43 | stop adbd 44 | write /sys/class/android_usb/android0/enable 0 45 | write /sys/class/android_usb/android0/idVendor 18d1 46 | write /sys/class/android_usb/android0/idProduct 4e44 47 | write /sys/class/android_usb/android0/functions charging 48 | write /sys/class/android_usb/android0/enable 1 49 | setprop sys.usb.state ${sys.usb.config} 50 | 51 | on property:sys.usb.config=rndis 52 | write /sys/class/android_usb/android0/enable 0 53 | write /sys/class/android_usb/android0/idVendor 18d1 54 | write /sys/class/android_usb/android0/idProduct 4e23 55 | write /sys/class/android_usb/android0/functions ${sys.usb.config} 56 | write /sys/class/android_usb/android0/bDeviceClass 224 57 | write /sys/class/android_usb/android0/enable 1 58 | setprop sys.usb.state ${sys.usb.config} 59 | 60 | on property:sys.usb.config=rndis,adb 61 | write /sys/class/android_usb/android0/enable 0 62 | write /sys/class/android_usb/android0/idVendor 18d1 63 | write /sys/class/android_usb/android0/idProduct 4e24 64 | write /sys/class/android_usb/android0/functions ${sys.usb.config} 65 | write /sys/class/android_usb/android0/bDeviceClass 224 66 | write /sys/class/android_usb/android0/enable 1 67 | start adbd 68 | setprop sys.usb.state ${sys.usb.config} 69 | -------------------------------------------------------------------------------- /kernel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyanogenMod/android_device_asus_grouper/fde048fdb20701f933e90a097080631e1b0e6f5e/kernel -------------------------------------------------------------------------------- /keymaster/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | ifeq ($(TARGET_ARCH),arm) 16 | ifneq (,$(filter grouper tilapia, $(TARGET_DEVICE))) 17 | 18 | # This is a nasty hack. keystore.grouper is Open Source, but it 19 | # links against a non-Open library, so we can only build it 20 | # when that library is present. 21 | ifeq ($(BOARD_HAS_TF_CRYPTO_SST),true) 22 | 23 | LOCAL_PATH := $(call my-dir) 24 | 25 | include $(CLEAR_VARS) 26 | 27 | LOCAL_MODULE := keystore.grouper 28 | 29 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 30 | 31 | LOCAL_SRC_FILES := \ 32 | keymaster_grouper.cpp 33 | 34 | LOCAL_C_INCLUDES := \ 35 | libcore/include \ 36 | external/openssl/include \ 37 | $(LOCAL_PATH)/../security/tf_sdk/include 38 | 39 | LOCAL_CFLAGS := -fvisibility=hidden -Wall -Werror 40 | 41 | LOCAL_SHARED_LIBRARIES := libcutils liblog libcrypto libtf_crypto_sst 42 | 43 | LOCAL_MODULE_TAGS := optional 44 | 45 | include $(BUILD_SHARED_LIBRARY) 46 | 47 | endif 48 | endif 49 | endif 50 | -------------------------------------------------------------------------------- /keymaster/cryptoki.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright(c) 2011 Trusted Logic. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in 12 | * the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name Trusted Logic nor the names of its 15 | * contributors may be used to endorse or promote products derived 16 | * from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | #ifndef __CRYPTOKI_H__ 31 | #define __CRYPTOKI_H__ 32 | 33 | #include "s_type.h" 34 | 35 | /* Define CRYPTOKI_EXPORTS during the build of cryptoki libraries. Do 36 | * not define it in applications. 37 | */ 38 | #ifdef CRYPTOKI_EXPORTS 39 | #define PKCS11_EXPORT S_DLL_EXPORT 40 | #else 41 | #define PKCS11_EXPORT S_DLL_IMPORT 42 | #endif 43 | 44 | #define CKV_TOKEN_SYSTEM 0x00000001 45 | #define CKV_TOKEN_SYSTEM_SHARED 0x00000000 46 | #define CKV_TOKEN_USER 0x00004004 47 | #define CKV_TOKEN_USER_SHARED 0x00004012 48 | 49 | #define CKV_TOKEN_SYSTEM_GROUP(gid) (0x00010000 | (gid)) 50 | #define CKV_TOKEN_USER_GROUP(gid) (0x00020000 | (gid)) 51 | 52 | #include "pkcs11.h" 53 | 54 | #endif /* __CRYPTOKI_H__ */ 55 | -------------------------------------------------------------------------------- /keymaster/s_type.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright(c) 2011 Trusted Logic. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in 12 | * the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name Trusted Logic nor the names of its 15 | * contributors may be used to endorse or promote products derived 16 | * from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * Definition of the machine-specific integer types 33 | **/ 34 | #ifndef __S_TYPE_H__ 35 | #define __S_TYPE_H__ 36 | 37 | /* C99 integer types */ 38 | #if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) &&(!defined(ANDROID)) 39 | 40 | #include 41 | 42 | /* Figure out if a 64-bit integer types is available */ 43 | #if \ 44 | defined(_MSC_VER) || \ 45 | defined(__SYMBIAN32__) || \ 46 | defined(_WIN32_WCE) || \ 47 | (defined(ULLONG_MAX) && ULLONG_MAX == 0xFFFFFFFFFFFFFFFFULL) || \ 48 | (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 0xFFFFFFFFFFFFFFFFULL) 49 | typedef unsigned long long uint64_t; 50 | typedef long long int64_t; 51 | #else 52 | #define __S_TYPE_INT64_UNDEFINED 53 | #endif 54 | 55 | #if UINT_MAX == 0xFFFFFFFF 56 | typedef unsigned int uint32_t; 57 | typedef int int32_t; 58 | #elif ULONG_MAX == 0xFFFFFFFF 59 | typedef unsigned long uint32_t; 60 | typedef long int32_t; 61 | #else 62 | #error This compiler is not supported. 63 | #endif 64 | 65 | #if USHRT_MAX == 0xFFFF 66 | typedef unsigned short uint16_t; 67 | typedef short int16_t; 68 | #else 69 | #error This compiler is not supported. 70 | #endif 71 | 72 | #if UCHAR_MAX == 0xFF 73 | typedef unsigned char uint8_t; 74 | typedef signed char int8_t; 75 | #else 76 | #error This compiler is not supported. 77 | #endif 78 | 79 | #if !defined(__cplusplus) 80 | typedef unsigned char bool; 81 | #define false ( (bool)0 ) 82 | #define true ( (bool)1 ) 83 | #endif 84 | 85 | #else /* !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L */ 86 | 87 | #include 88 | #include 89 | 90 | #endif /* !(!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) */ 91 | 92 | #include 93 | 94 | #ifndef NULL 95 | # ifdef __cplusplus 96 | # define NULL 0 97 | # else 98 | # define NULL ((void *)0) 99 | # endif 100 | #endif 101 | 102 | #define IN 103 | #define OUT 104 | 105 | /* 106 | * Definition of other common types 107 | */ 108 | 109 | typedef uint32_t S_RESULT; 110 | typedef S_RESULT TEEC_Result; 111 | typedef S_RESULT SM_ERROR; 112 | 113 | typedef uint32_t S_HANDLE; 114 | typedef S_HANDLE SM_HANDLE; 115 | #define S_HANDLE_NULL ((S_HANDLE)0) 116 | #define SM_HANDLE_INVALID S_HANDLE_NULL 117 | 118 | /** Definition of an UUID (from RFC 4122 http://www.ietf.org/rfc/rfc4122.txt) */ 119 | typedef struct S_UUID 120 | { 121 | uint32_t time_low; 122 | uint16_t time_mid; 123 | uint16_t time_hi_and_version; 124 | uint8_t clock_seq_and_node[8]; 125 | }S_UUID; 126 | typedef S_UUID TEEC_UUID; 127 | typedef S_UUID SM_UUID; 128 | 129 | /* DLL Import/Export directives */ 130 | 131 | #if defined(WIN32) || defined(__ARMCC_VERSION) || defined(__WINSCW__) || defined(_WIN32_WCE) 132 | # define S_DLL_EXPORT __declspec(dllexport) 133 | # define S_DLL_IMPORT __declspec(dllimport) 134 | # define S_NO_RETURN __declspec(noreturn) 135 | #elif defined(__GNUC__) 136 | # define S_DLL_EXPORT __attribute__ ((visibility ("default"))) 137 | # define S_DLL_IMPORT __attribute__ ((visibility ("default"))) 138 | # define S_NO_RETURN __attribute__ ((noreturn)) 139 | #else 140 | # define S_DLL_EXPORT 141 | # define S_DLL_IMPORT 142 | # define S_NO_RETURN 143 | #endif 144 | 145 | #endif /* __S_TYPE_H__ */ 146 | 147 | -------------------------------------------------------------------------------- /liblights/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | LOCAL_PATH:= $(call my-dir) 17 | 18 | # HAL module implemenation, not prelinked and stored in 19 | # hw/..so 20 | include $(CLEAR_VARS) 21 | 22 | LOCAL_SRC_FILES := lights.c 23 | 24 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 25 | 26 | LOCAL_MODULE_TAGS := optional 27 | 28 | LOCAL_SHARED_LIBRARIES := liblog 29 | 30 | LOCAL_MODULE := lights.grouper 31 | 32 | include $(BUILD_SHARED_LIBRARY) 33 | -------------------------------------------------------------------------------- /liblights/lights.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #define LOG_TAG "lights" 18 | #define LOGE ALOGE 19 | 20 | #include 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | #include 29 | #include 30 | 31 | #include 32 | #include 33 | 34 | static pthread_mutex_t g_lock = PTHREAD_MUTEX_INITIALIZER; 35 | 36 | static int write_int(char const *path, int value) 37 | { 38 | int fd; 39 | static int already_warned = -1; 40 | fd = open(path, O_RDWR); 41 | if (fd >= 0) { 42 | char buffer[20]; 43 | int bytes = sprintf(buffer, "%d\n", value); 44 | int amt = write(fd, buffer, bytes); 45 | close(fd); 46 | return amt == -1 ? -errno : 0; 47 | } else { 48 | if (already_warned == -1) { 49 | LOGE("write_int failed to open %s\n", path); 50 | already_warned = 1; 51 | } 52 | return -errno; 53 | } 54 | } 55 | 56 | static int rgb_to_brightness(struct light_state_t const *state) 57 | { 58 | int color = state->color & 0x00ffffff; 59 | return ((77 * ((color >> 16) & 0x00ff)) 60 | + (150 * ((color >> 8) & 0x00ff)) + 61 | (29 * (color & 0x00ff))) >> 8; 62 | } 63 | 64 | static int set_light_backlight(struct light_device_t *dev, 65 | struct light_state_t const *state) 66 | { 67 | int err = 0; 68 | int brightness = rgb_to_brightness(state); 69 | //+++ power save 70 | int range_num = 1; 71 | int old_brightness_range_indexs[] = {160,255}; 72 | int new_brightness_range_indexs[] = {160,182}; 73 | int old_brightness = brightness; 74 | int i=0; 75 | int old_brightness_in_range = -1;// 0:1~10 , 1:10~102 , 2:102~255 76 | for(i=0;i=t_range_min && brightness<=t_range_max){ 80 | old_brightness_in_range = i; 81 | break; 82 | } 83 | } 84 | if(old_brightness_in_range>=0){ 85 | int old_br_min = old_brightness_range_indexs[old_brightness_in_range]; 86 | int olb_br_max = old_brightness_range_indexs[old_brightness_in_range+1]; 87 | int new_br_min = new_brightness_range_indexs[old_brightness_in_range]; 88 | int new_br_max = new_brightness_range_indexs[old_brightness_in_range+1]; 89 | int new_brightness = new_br_min + 90 | (new_br_max-new_br_min)*(old_brightness-old_br_min)/(olb_br_max-old_br_min); 91 | brightness = new_brightness; 92 | } 93 | //--- 94 | pthread_mutex_lock(&g_lock); 95 | err = write_int("/sys/class/backlight/pwm-backlight/brightness", 96 | brightness); 97 | pthread_mutex_unlock(&g_lock); 98 | 99 | return err; 100 | } 101 | 102 | /** Close the lights device */ 103 | static int close_lights(struct light_device_t *dev) 104 | { 105 | if (dev) 106 | free(dev); 107 | return 0; 108 | } 109 | 110 | /** Open a new instance of a lights device using name */ 111 | static int open_lights(const struct hw_module_t *module, char const *name, 112 | struct hw_device_t **device) 113 | { 114 | pthread_t lighting_poll_thread; 115 | 116 | int (*set_light) (struct light_device_t *dev, 117 | struct light_state_t const *state); 118 | 119 | if (0 == strcmp(LIGHT_ID_BACKLIGHT, name)) 120 | set_light = set_light_backlight; 121 | else 122 | return -EINVAL; 123 | 124 | pthread_mutex_init(&g_lock, NULL); 125 | 126 | struct light_device_t *dev = malloc(sizeof(struct light_device_t)); 127 | memset(dev, 0, sizeof(*dev)); 128 | 129 | dev->common.tag = HARDWARE_DEVICE_TAG; 130 | dev->common.version = 0; 131 | dev->common.module = (struct hw_module_t *)module; 132 | dev->common.close = (int (*)(struct hw_device_t *))close_lights; 133 | dev->set_light = set_light; 134 | 135 | *device = (struct hw_device_t *)dev; 136 | 137 | return 0; 138 | } 139 | 140 | static struct hw_module_methods_t lights_methods = 141 | { 142 | .open = open_lights, 143 | }; 144 | 145 | /* 146 | * The backlight Module 147 | */ 148 | struct hw_module_t HAL_MODULE_INFO_SYM = 149 | { 150 | .tag = HARDWARE_MODULE_TAG, 151 | .version_major = 1, 152 | .version_minor = 0, 153 | .id = LIGHTS_HARDWARE_MODULE_ID, 154 | .name = "NVIDIA Kai lights module", 155 | .author = "NVIDIA", 156 | .methods = &lights_methods, 157 | }; 158 | -------------------------------------------------------------------------------- /media_codecs.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | -------------------------------------------------------------------------------- /media_profiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | ]> 83 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 104 | 105 | 106 | 117 | 118 | 119 | 130 | 131 | 132 | 143 | 144 | 145 | 160 | 161 | 162 | 177 | 178 | 179 | 194 | 195 | 196 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 226 | 231 | 232 | 237 | 238 | 243 | 244 | 248 | 249 | 253 | 254 | 258 | 259 | 263 | 264 | 268 | 269 | 275 | 276 | 277 | 278 | 279 | 284 | 292 | 295 | 296 | 299 | 300 | 303 | 304 | 305 | -------------------------------------------------------------------------------- /mixer_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /nfc/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | include $(CLEAR_VARS) 18 | 19 | LOCAL_MODULE := nfc.grouper 20 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 21 | LOCAL_SRC_FILES := nfc_hw.c 22 | LOCAL_SHARED_LIBRARIES := liblog libcutils 23 | LOCAL_MODULE_TAGS := optional 24 | LOCAL_CFLAGS += -D$(TARGET_DEVICE) 25 | 26 | include $(BUILD_SHARED_LIBRARY) 27 | -------------------------------------------------------------------------------- /nfc/nfc_hw.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | #include 19 | 20 | #include 21 | #include 22 | 23 | static uint8_t pn544_eedata_settings[][4] = { 24 | // DIFFERENTIAL_ANTENNA 25 | 26 | // RF Settings 27 | {0x00,0x9B,0xD1,0x0D} // Tx consumption higher than 0x0D (average 50mA) 28 | ,{0x00,0x9B,0xD2,0x24} // GSP setting for this threshold 29 | ,{0x00,0x9B,0xD3,0x0A} // Tx consumption higher than 0x0A (average 40mA) 30 | ,{0x00,0x9B,0xD4,0x22} // GSP setting for this threshold 31 | ,{0x00,0x9B,0xD5,0x08} // Tx consumption higher than 0x08 (average 30mA) 32 | ,{0x00,0x9B,0xD6,0x1E} // GSP setting for this threshold 33 | ,{0x00,0x9B,0xDD,0x1C} // GSP setting for this threshold 34 | ,{0x00,0x9B,0x84,0x13} // ANACM2 setting 35 | ,{0x00,0x99,0x81,0x7F} // ANAVMID setting PCD 36 | ,{0x00,0x99,0x7A,0x3E} // ANATXMODGSPON 37 | ,{0x00,0x99,0x77,0xFF} // ANATXCWGSPON 38 | ,{0x00,0x99,0x31,0x70} // ANAVMID setting PICC 39 | ,{0x00,0x99,0x2A,0xF5} // ANATXMODGSN-TYPEB 40 | #ifdef grouper 41 | ,{0x00,0x99,0x29,0xF5} // ANATXMODGSN-TYPEA 42 | #else 43 | ,{0x00,0x99,0x29,0xFF} // ANATXMODGSN-TYPEA 44 | #endif 45 | // For tegra we don't override load modulation settings. 46 | 47 | // Enable PBTF 48 | ,{0x00,0x98,0x00,0x3F} // SECURE_ELEMENT_CONFIGURATION - No Secure Element 49 | ,{0x00,0x9F,0x09,0x00} // SWP_PBTF_RFU 50 | ,{0x00,0x9F,0x0A,0x05} // SWP_PBTF_RFLD --> RFLEVEL Detector for PBTF 51 | ,{0x00,0x9E,0xD1,0xA1} // 52 | 53 | // Change RF Level Detector ANARFLDWU 54 | ,{0x00,0x99,0x23,0x00} // Default Value is 0x01 55 | 56 | // Low-power polling 57 | ,{0x00,0x9E,0x74,0xB0} // Default Value is 0x00, bits 0->2: sensitivity (0==max, 6==min), 58 | // bit 3: RFU, 59 | // bits 4,5 hybrid low-power: # of low-power polls per regular poll 60 | // bit 6: RFU 61 | // bit 7: (0 -> disabled, 1 -> enabled) 62 | ,{0x00,0x9E,0x7D,0xB0} // bits 0->3: RFU, 63 | // bits 4,5: # retries after low power detection 64 | // 0=1 retry, 1=2 retry, 2=3 retry, 3=4 retry 65 | // bit 6: RFU, 66 | // bit 7: Enable or disable retry mechanism (0: disable, 1: enable) 67 | ,{0x00,0x9F,0x28,0x01} // bits 0->7: # of measurements per low-power poll 68 | 69 | // Polling Loop - Card Emulation Timeout 70 | ,{0x00,0x9F,0x35,0x14} // Time for which PN544 stays in Card Emulation mode after leaving RF field 71 | ,{0x00,0x9F,0x36,0x60} // Default value 0x0411 = 50 ms ---> New Value : 0x1460 = 250 ms 72 | 73 | //LLC Timer 74 | ,{0x00,0x9C,0x31,0x00} // Guard host time-out in ms (MSB) 75 | ,{0x00,0x9C,0x32,0xC8} // Guard host time-out in ms (LSB) 76 | ,{0x00,0x9C,0x19,0x40} // Max RX retry (PN544=>host?) 77 | ,{0x00,0x9C,0x1A,0x40} // Max TX retry (PN544=>host?) 78 | 79 | ,{0x00,0x9C,0x0C,0x00} // 80 | ,{0x00,0x9C,0x0D,0x00} // 81 | ,{0x00,0x9C,0x12,0x00} // 82 | ,{0x00,0x9C,0x13,0x00} // 83 | 84 | //WTX for LLCP communication 85 | ,{0x00,0x98,0xA2,0x0E} // Max value: 14 (default value: 09) 86 | 87 | //SE GPIO 88 | ,{0x00, 0x98, 0x93, 0x40} 89 | 90 | // Set NFCT ATQA 91 | ,{0x00, 0x98, 0x7D, 0x02} 92 | ,{0x00, 0x98, 0x7E, 0x00} 93 | 94 | // Enable CEA detection mechanism 95 | ,{0x00, 0x9F, 0xC8, 0x01} 96 | // Set NFC-F poll RC=0x00 97 | ,{0x00, 0x9F, 0x9A, 0x00} 98 | // Setting for EMD support for ISO 14443-4 Reader 99 | ,{0x00,0x9F,0x09,0x00} // 0x00 - Disable EMD support, 0x01 - Enable EMD support 100 | }; 101 | 102 | static int pn544_close(hw_device_t *dev) { 103 | free(dev); 104 | 105 | return 0; 106 | } 107 | 108 | /* 109 | * Generic device handling 110 | */ 111 | 112 | static int nfc_open(const hw_module_t* module, const char* name, 113 | hw_device_t** device) { 114 | if (strcmp(name, NFC_PN544_CONTROLLER) == 0) { 115 | nfc_pn544_device_t *dev = calloc(1, sizeof(nfc_pn544_device_t)); 116 | 117 | dev->common.tag = HARDWARE_DEVICE_TAG; 118 | dev->common.version = 0; 119 | dev->common.module = (struct hw_module_t*) module; 120 | dev->common.close = pn544_close; 121 | 122 | dev->num_eeprom_settings = sizeof(pn544_eedata_settings) / 4; 123 | dev->eeprom_settings = (uint8_t*)pn544_eedata_settings; 124 | dev->linktype = PN544_LINK_TYPE_I2C; 125 | dev->device_node = "/dev/pn544"; 126 | dev->enable_i2c_workaround = 1; 127 | dev->i2c_device_address = 0x51; 128 | *device = (hw_device_t*) dev; 129 | return 0; 130 | } else { 131 | return -EINVAL; 132 | } 133 | } 134 | 135 | static struct hw_module_methods_t nfc_module_methods = { 136 | .open = nfc_open, 137 | }; 138 | 139 | struct nfc_module_t HAL_MODULE_INFO_SYM = { 140 | .common = { 141 | .tag = HARDWARE_MODULE_TAG, 142 | .version_major = 1, 143 | .version_minor = 0, 144 | .id = NFC_HARDWARE_MODULE_ID, 145 | .name = "Tegra NFC HW HAL", 146 | .author = "The Android Open Source Project", 147 | .methods = &nfc_module_methods, 148 | }, 149 | }; 150 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | true 25 | 26 | 28 | 29 | 32 | 34 | 37 | 38 | 39 | "wifi,1,1,2,-1,true" 40 | "bluetooth,7,7,0,-1,true" 41 | "ethernet,9,9,9,-1,true" 42 | 43 | 44 | 47 | 49 | 50 | "1,1" 51 | "7,1" 52 | "9,1" 53 | 54 | 55 | 58 | 59 | "rndis0" 60 | 61 | 62 | 63 | 64 | 0 65 | 1 66 | 5 67 | 7 68 | 69 | 70 | 73 | 74 | 75 | 76 | 79 | 80 | 81 | 82 | 83 | false 84 | 85 | 86 | true 87 | 88 | 90 | 1-0050F204-1 91 | 92 | true 93 | 94 | 99 | 100 | 102 | /dev/bus/usb/001 103 | 104 | 105 | 107 | true 108 | 109 | 119 | 120 | 5 121 | 15 122 | 50 123 | 100 124 | 200 125 | 400 126 | 1000 127 | 2000 128 | 3000 129 | 5000 130 | 10000 131 | 30000 132 | 133 | 134 | 135 | 139 | 140 | 5 141 | 20 142 | 30 143 | 40 144 | 50 145 | 60 146 | 70 147 | 80 148 | 130 149 | 180 150 | 255 151 | 255 152 | 255 153 | 154 | 155 | 159 | 160 | 0 161 | 0 162 | 0 163 | 0 164 | 0 165 | 0 166 | 0 167 | 0 168 | 0 169 | 0 170 | 0 171 | 0 172 | 0 173 | 0 174 | 0 175 | 0 176 | 0 177 | 178 | 179 | 180 | 5 181 | 182 | 183 | false 184 | 185 | 186 | false 187 | 188 | 189 | true 190 | 191 | 193 | 3 194 | 195 | 198 | 200 199 | 200 | 204 | 10 205 | 206 | 208 | 2048 209 | 210 | 211 | false 212 | 213 | 214 | 218 | 12dp 219 | 220 | 221 | true 222 | 223 | 226 | true 227 | 228 | 229 | true 230 | 231 | 232 | false 233 | 234 | 236 | true 237 | 238 | 239 | 0 240 | 241 | 242 | 8 243 | 244 | true 245 | 246 | 247 | 6 248 | 249 | 261 | 64 262 | 64 263 | 264 | 265 | true 266 | 267 | 268 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 56dp 5 | 6 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/xml/eri.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 21 | 24 | 25 | 27 | 28 | 30 | 31 | 33 | 34 | 40 | 41 | 47 | 48 | 54 | 55 | 61 | 62 | 68 | 69 | 75 | 76 | 82 | 83 | 89 | 90 | 96 | 97 | 103 | 104 | 110 | 111 | 117 | 118 | 124 | 125 | 131 | 132 | 138 | 139 | 145 | 146 | 152 | 153 | 159 | 160 | 166 | 167 | 168 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/xml/power_profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 0 22 | 256 23 | 318 24 | 14.0 25 | 28 | 1.4 29 | 34 | 2.9 35 | 31.0 36 | 100 37 | 14.1 38 | 54.0 39 | 29.7 40 | 71.5 41 | 1.2 42 | 43 | 1.2 44 | 45 | 47 | 48 | 216000 49 | 312000 50 | 456000 51 | 608000 52 | 760000 53 | 816000 54 | 912000 55 | 1000000 56 | 57 | 58 | 3.8 59 | 54.6 60 | 61 | 62 | 100 63 | 107 64 | 116 65 | 123 66 | 135 67 | 138 68 | 142 69 | 148 70 | 71 | 72 | 3260 73 | 76 | 77 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/xml/storage_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 34 | 35 | -------------------------------------------------------------------------------- /overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 120000 22 | 23 | true 24 | 25 | 27 | 3600000 28 | 29 | -------------------------------------------------------------------------------- /overlay/frameworks/base/packages/SystemUI/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 21 | noisy 22 | 23 | 24 | true 25 | 26 | 27 | true 28 | 29 | 30 | true 31 | 32 | -------------------------------------------------------------------------------- /overlay/packages/apps/Bluetooth/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 17 | false 18 | 19 | -------------------------------------------------------------------------------- /overlay/packages/apps/Browser/res/values/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | true 16 | 17 | -------------------------------------------------------------------------------- /overlay/packages/apps/Launcher2/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | true 3 | 4 | -------------------------------------------------------------------------------- /overlay/packages/apps/Nfc/res/values/provisioning.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 19 | 20 | 22 | 23 | application/vnd.com.google.android.nfcprovision 24 | application/com.android.managedprovisioning 25 | 26 | 27 | -------------------------------------------------------------------------------- /overlay/packages/apps/Settings/res/values/bools.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | true 23 | 24 | 25 | -------------------------------------------------------------------------------- /overlay/packages/apps/Settings/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | true 21 | 22 | 23 | -------------------------------------------------------------------------------- /overlay/packages/wallpapers/MusicVisualization/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | false 23 | false 24 | true 25 | false 26 | false 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /power/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | 16 | LOCAL_PATH := $(call my-dir) 17 | 18 | # HAL module implemenation stored in 19 | # hw/..so 20 | include $(CLEAR_VARS) 21 | 22 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/hw 23 | LOCAL_SHARED_LIBRARIES := liblog libcutils 24 | LOCAL_SRC_FILES := power.c 25 | LOCAL_MODULE := power.grouper 26 | LOCAL_MODULE_TAGS := optional 27 | include $(BUILD_SHARED_LIBRARY) 28 | -------------------------------------------------------------------------------- /power/power.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | 29 | #define LOG_TAG "Grouper PowerHAL" 30 | #include 31 | 32 | #include 33 | #include 34 | 35 | #define BOOST_PATH "/sys/devices/system/cpu/cpufreq/interactive/boost" 36 | #define UEVENT_MSG_LEN 2048 37 | #define TOTAL_CPUS 4 38 | #define RETRY_TIME_CHANGING_FREQ 20 39 | #define SLEEP_USEC_BETWN_RETRY 200 40 | #define LOW_POWER_MAX_FREQ "640000" 41 | #define LOW_POWER_MIN_FREQ "51000" 42 | #define NORMAL_MAX_FREQ "1300000" 43 | #define UEVENT_STRING "online@/devices/system/cpu/" 44 | 45 | static int boost_fd = -1; 46 | static int boost_warned; 47 | 48 | static struct pollfd pfd; 49 | static char *cpu_path_min[] = { 50 | "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", 51 | "/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq", 52 | "/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq", 53 | "/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq", 54 | }; 55 | static char *cpu_path_max[] = { 56 | "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", 57 | "/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq", 58 | "/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq", 59 | "/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq", 60 | }; 61 | static bool freq_set[TOTAL_CPUS]; 62 | static bool low_power_mode = false; 63 | static pthread_mutex_t low_power_mode_lock = PTHREAD_MUTEX_INITIALIZER; 64 | 65 | static int sysfs_write(char *path, char *s) 66 | { 67 | char buf[80]; 68 | int len; 69 | int fd = open(path, O_WRONLY); 70 | 71 | if (fd < 0) { 72 | strerror_r(errno, buf, sizeof(buf)); 73 | ALOGE("Error opening %s: %s\n", path, buf); 74 | return -1; 75 | } 76 | 77 | len = write(fd, s, strlen(s)); 78 | if (len < 0) { 79 | strerror_r(errno, buf, sizeof(buf)); 80 | ALOGE("Error writing to %s: %s\n", path, buf); 81 | return -1; 82 | } 83 | 84 | close(fd); 85 | return 0; 86 | } 87 | 88 | static int uevent_event() 89 | { 90 | char msg[UEVENT_MSG_LEN]; 91 | char *cp; 92 | int n, cpu, ret, retry = RETRY_TIME_CHANGING_FREQ; 93 | 94 | n = recv(pfd.fd, msg, UEVENT_MSG_LEN, MSG_DONTWAIT); 95 | if (n <= 0) { 96 | return -1; 97 | } 98 | if (n >= UEVENT_MSG_LEN) { /* overflow -- discard */ 99 | return -1; 100 | } 101 | 102 | cp = msg; 103 | 104 | if (strstr(cp, UEVENT_STRING)) { 105 | n = strlen(cp); 106 | errno = 0; 107 | cpu = strtol(cp + n - 1, NULL, 10); 108 | 109 | if (errno == EINVAL || errno == ERANGE || cpu < 0 || cpu >= TOTAL_CPUS) { 110 | return -1; 111 | } 112 | 113 | pthread_mutex_lock(&low_power_mode_lock); 114 | if (low_power_mode && !freq_set[cpu]) { 115 | while (retry) { 116 | sysfs_write(cpu_path_min[cpu], LOW_POWER_MIN_FREQ); 117 | ret = sysfs_write(cpu_path_max[cpu], LOW_POWER_MAX_FREQ); 118 | if (!ret) { 119 | freq_set[cpu] = true; 120 | break; 121 | } 122 | usleep(SLEEP_USEC_BETWN_RETRY); 123 | retry--; 124 | } 125 | } else if (!low_power_mode && freq_set[cpu]) { 126 | while (retry) { 127 | ret = sysfs_write(cpu_path_max[cpu], NORMAL_MAX_FREQ); 128 | if (!ret) { 129 | freq_set[cpu] = false; 130 | break; 131 | } 132 | usleep(SLEEP_USEC_BETWN_RETRY); 133 | retry--; 134 | } 135 | } 136 | pthread_mutex_unlock(&low_power_mode_lock); 137 | } 138 | return 0; 139 | } 140 | 141 | void *thread_uevent(__attribute__((unused)) void *x) 142 | { 143 | while (1) { 144 | int nevents, ret; 145 | 146 | nevents = poll(&pfd, 1, -1); 147 | 148 | if (nevents == -1) { 149 | if (errno == EINTR) 150 | continue; 151 | ALOGE("powerhal: thread_uevent: poll_wait failed\n"); 152 | break; 153 | } 154 | ret = uevent_event(); 155 | if (ret < 0) 156 | ALOGE("Error processing the uevent event"); 157 | } 158 | return NULL; 159 | } 160 | 161 | 162 | static void uevent_init() 163 | { 164 | struct sockaddr_nl client; 165 | pthread_t tid; 166 | pfd.fd = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT); 167 | 168 | if (pfd.fd < 0) { 169 | ALOGE("%s: failed to open: %s", __func__, strerror(errno)); 170 | return; 171 | } 172 | memset(&client, 0, sizeof(struct sockaddr_nl)); 173 | pthread_create(&tid, NULL, thread_uevent, NULL); 174 | client.nl_family = AF_NETLINK; 175 | client.nl_pid = tid; 176 | client.nl_groups = -1; 177 | pfd.events = POLLIN; 178 | bind(pfd.fd, (void *)&client, sizeof(struct sockaddr_nl)); 179 | return; 180 | } 181 | 182 | static void grouper_power_init( __attribute__((unused)) struct power_module *module) 183 | { 184 | /* 185 | * cpufreq interactive governor: timer 20ms, min sample 100ms, 186 | * hispeed 700MHz at load 40% 187 | */ 188 | 189 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/timer_rate", 190 | "50000"); 191 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/min_sample_time", 192 | "500000"); 193 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load", 194 | "75"); 195 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/boost_factor", 196 | "0"); 197 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost", 198 | "1"); 199 | uevent_init(); 200 | } 201 | 202 | static void grouper_power_set_interactive(__attribute__((unused)) struct power_module *module, 203 | __attribute__((unused)) int on) 204 | { 205 | if (on) { 206 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load", "75"); 207 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_period", "3000000"); 208 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_count", "2"); 209 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost", "1"); 210 | } 211 | else { 212 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load", "85"); 213 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_period", "200000"); 214 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/core_lock_count", "0"); 215 | sysfs_write("/sys/devices/system/cpu/cpufreq/interactive/input_boost", "0"); 216 | } 217 | } 218 | 219 | static void grouper_power_hint(__attribute__((unused)) struct power_module *module, power_hint_t hint, 220 | void *data) 221 | { 222 | char buf[80]; 223 | int len, cpu, ret; 224 | 225 | switch (hint) { 226 | case POWER_HINT_VSYNC: 227 | break; 228 | 229 | case POWER_HINT_LOW_POWER: 230 | pthread_mutex_lock(&low_power_mode_lock); 231 | if (data) { 232 | low_power_mode = true; 233 | for (cpu = 0; cpu < TOTAL_CPUS; cpu++) { 234 | sysfs_write(cpu_path_min[cpu], LOW_POWER_MIN_FREQ); 235 | ret = sysfs_write(cpu_path_max[cpu], LOW_POWER_MAX_FREQ); 236 | if (!ret) { 237 | freq_set[cpu] = true; 238 | } 239 | } 240 | } else { 241 | low_power_mode = false; 242 | for (cpu = 0; cpu < TOTAL_CPUS; cpu++) { 243 | ret = sysfs_write(cpu_path_max[cpu], NORMAL_MAX_FREQ); 244 | if (!ret) { 245 | freq_set[cpu] = false; 246 | } 247 | } 248 | } 249 | pthread_mutex_unlock(&low_power_mode_lock); 250 | break; 251 | default: 252 | break; 253 | } 254 | } 255 | 256 | static struct hw_module_methods_t power_module_methods = { 257 | .open = NULL, 258 | }; 259 | 260 | struct power_module HAL_MODULE_INFO_SYM = { 261 | .common = { 262 | .tag = HARDWARE_MODULE_TAG, 263 | .module_api_version = POWER_MODULE_API_VERSION_0_2, 264 | .hal_api_version = HARDWARE_HAL_API_VERSION, 265 | .id = POWER_HARDWARE_MODULE_ID, 266 | .name = "Grouper Power HAL", 267 | .author = "The Android Open Source Project", 268 | .methods = &power_module_methods, 269 | }, 270 | 271 | .init = grouper_power_init, 272 | .setInteractive = grouper_power_set_interactive, 273 | .powerHint = grouper_power_hint, 274 | }; 275 | -------------------------------------------------------------------------------- /proprietary-blobs.txt: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # This file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT 16 | 17 | /system/bin/glgps 18 | /system/bin/sensors-config 19 | /system/bin/tf_daemon 20 | /system/etc/firmware/bcm4330.hcd 21 | /system/etc/firmware/nvavp_os_00001000.bin 22 | /system/etc/firmware/nvavp_os_0ff00000.bin 23 | /system/etc/firmware/nvavp_os_e0000000.bin 24 | /system/etc/firmware/nvavp_os_eff00000.bin 25 | /system/etc/firmware/nvavp_vid_ucode_alt.bin 26 | /system/etc/firmware/touch_fw.ekt 27 | /system/etc/gps/gpsconfig.xml 28 | /system/etc/nvcamera.conf 29 | /system/etc/nvram.txt 30 | /system/lib/egl/libEGL_tegra.so 31 | /system/lib/egl/libGLESv1_CM_tegra.so 32 | /system/lib/egl/libGLESv2_tegra.so 33 | /system/lib/hw/camera.tegra3.so 34 | /system/lib/hw/gps.tegra3.so 35 | /system/lib/hw/gralloc.tegra3.so 36 | /system/lib/hw/hwcomposer.tegra3.so 37 | /system/lib/hw/keystore.grouper.so 38 | /system/lib/hw/sensors.grouper.so 39 | /system/lib/libardrv_dynamic.so 40 | /system/lib/libcgdrv.so 41 | /system/lib/libdrmdecrypt.so 42 | /system/lib/libinvensense_hal.so 43 | /system/lib/libmllite.so 44 | /system/lib/libmplmpu.so 45 | /system/lib/libnvapputil.so 46 | /system/lib/libnvasfparserhal.so 47 | /system/lib/libnvaviparserhal.so 48 | /system/lib/libnvavp.so 49 | /system/lib/libnvcamerahdr.so 50 | /system/lib/libnvddk_2d.so 51 | /system/lib/libnvddk_2d_v2.so 52 | /system/lib/libnvdispmgr_d.so 53 | /system/lib/libnvmm.so 54 | /system/lib/libnvmmlite.so 55 | /system/lib/libnvmmlite_audio.so 56 | /system/lib/libnvmmlite_image.so 57 | /system/lib/libnvmmlite_utils.so 58 | /system/lib/libnvmmlite_video.so 59 | /system/lib/libnvmm_audio.so 60 | /system/lib/libnvmm_camera.so 61 | /system/lib/libnvmm_contentpipe.so 62 | /system/lib/libnvmm_image.so 63 | /system/lib/libnvmm_manager.so 64 | /system/lib/libnvmm_misc.so 65 | /system/lib/libnvmm_parser.so 66 | /system/lib/libnvmm_service.so 67 | /system/lib/libnvmm_utils.so 68 | /system/lib/libnvmm_video.so 69 | /system/lib/libnvmm_writer.so 70 | /system/lib/libnvodm_dtvtuner.so 71 | /system/lib/libnvodm_hdmi.so 72 | /system/lib/libnvodm_imager.so 73 | /system/lib/libnvodm_misc.so 74 | /system/lib/libnvodm_query.so 75 | /system/lib/libnvomx.so 76 | /system/lib/libnvomxilclient.so 77 | /system/lib/libnvos.so 78 | /system/lib/libnvparser.so 79 | /system/lib/libnvrm.so 80 | /system/lib/libnvrm_graphics.so 81 | /system/lib/libnvsm.so 82 | /system/lib/libnvtvmr.so 83 | /system/lib/libnvwinsys.so 84 | /system/lib/libnvwsi.so 85 | /system/lib/libsensors.lightsensor.so 86 | /system/lib/libstagefrighthw.so 87 | /system/lib/libtf_crypto_sst.so 88 | /system/vendor/firmware/libpn544_fw.so 89 | /system/vendor/lib/drm/libdrmwvmplugin.so 90 | /system/vendor/lib/libwvdrm_L1.so 91 | /system/vendor/lib/libwvm.so 92 | /system/vendor/lib/libWVStreamControlAPI_L1.so 93 | -------------------------------------------------------------------------------- /raydium_ts.idc: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # 16 | # Input Device Configuration File for the Atmel Maxtouch touch screen. 17 | # 18 | # These calibration values are derived from empirical measurements 19 | # and may not be appropriate for use with other touch screens. 20 | # Refer to the input device configuration documentation for more details. 21 | # 22 | 23 | # Basic Parameters 24 | touch.deviceType = touchScreen 25 | touch.orientationAware = 1 26 | 27 | # Touch Size 28 | touch.touchSize.calibration = pressure 29 | 30 | # Tool Size 31 | # Driver reports tool size as an area measurement. 32 | # 33 | # Based on empirical measurements, we estimate the size of the tool 34 | # using size = sqrt(22 * rawToolArea + 0) * 6 + 0. 35 | touch.toolSize.calibration = area 36 | touch.toolSize.areaScale = 22 37 | touch.toolSize.areaBias = 0 38 | touch.toolSize.linearScale = 6 39 | touch.toolSize.linearBias = 0 40 | touch.toolSize.isSummed = 0 41 | 42 | # Pressure 43 | # Driver reports signal strength as pressure. 44 | # 45 | # A normal index finger touch typically registers about 80 signal strength 46 | # units although we don't expect these values to be accurate. 47 | touch.pressure.calibration = amplitude 48 | touch.pressure.source = default 49 | touch.pressure.scale = 0.0125 50 | 51 | # Size 52 | touch.size.calibration = normalized 53 | 54 | # Orientation 55 | touch.orientation.calibration = vector 56 | -------------------------------------------------------------------------------- /releasetools.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | """Emit extra commands needed for Group during OTA installation 16 | (installing the bootloader).""" 17 | 18 | import common 19 | 20 | def FullOTA_InstallEnd(info): 21 | try: 22 | bootloader_bin = info.input_zip.read("RADIO/bootloader.raw") 23 | except KeyError: 24 | print "no bootloader.raw in target_files; skipping install" 25 | else: 26 | WriteBootloader(info, bootloader_bin) 27 | 28 | def IncrementalOTA_InstallBegin(info): 29 | info.script.Unmount("/system") 30 | info.script.TunePartition("/system", "-O", "^has_journal") 31 | info.script.Mount("/system") 32 | 33 | def IncrementalOTA_InstallEnd(info): 34 | try: 35 | target_bootloader_bin = info.target_zip.read("RADIO/bootloader.raw") 36 | try: 37 | source_bootloader_bin = info.source_zip.read("RADIO/bootloader.raw") 38 | except KeyError: 39 | source_bootloader_bin = None 40 | 41 | if source_bootloader_bin == target_bootloader_bin: 42 | print "bootloader unchanged; skipping" 43 | else: 44 | WriteBootloader(info, target_bootloader_bin) 45 | except KeyError: 46 | print "no bootloader.raw in target target_files; skipping install" 47 | 48 | 49 | def WriteBootloader(info, bootloader_bin): 50 | common.ZipWriteStr(info.output_zip, "bootloader.raw", bootloader_bin) 51 | fstab = info.info_dict["fstab"] 52 | 53 | info.script.Print("Writing bootloader...") 54 | 55 | info.script.AppendExtra('''package_extract_file("bootloader.raw", "%s");''' % 56 | (fstab["/staging"].device,)) 57 | -------------------------------------------------------------------------------- /self-extractors/Android.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyanogenMod/android_device_asus_grouper/fde048fdb20701f933e90a097080631e1b0e6f5e/self-extractors/Android.mk -------------------------------------------------------------------------------- /self-extractors/PART1: -------------------------------------------------------------------------------- 1 | # 2 | # Usage is subject to the enclosed license agreement 3 | 4 | echo 5 | echo The license for this software will now be displayed. 6 | echo You must agree to this license before using this software. 7 | echo 8 | echo -n Press Enter to view the license 9 | read dummy 10 | echo 11 | 12 | more << __EOF__ 13 | -------------------------------------------------------------------------------- /self-extractors/PART2: -------------------------------------------------------------------------------- 1 | __EOF__ 2 | 3 | if test $? != 0 4 | then 5 | echo ERROR: Couldn\'t display license file 1>&2 6 | exit 1 7 | fi 8 | 9 | echo 10 | 11 | echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\ 12 | read typed 13 | 14 | if test "$typed" != I\ ACCEPT 15 | then 16 | echo 17 | echo You didn\'t accept the license. Extraction aborted. 18 | exit 2 19 | fi 20 | 21 | echo 22 | 23 | -------------------------------------------------------------------------------- /self-extractors/PART3: -------------------------------------------------------------------------------- 1 | 2 | if test $? != 0 3 | then 4 | echo 5 | echo ERROR: Couldn\'t extract files. 1>&2 6 | exit 3 7 | else 8 | echo 9 | echo Files extracted successfully. 10 | fi 11 | exit 0 12 | 13 | -------------------------------------------------------------------------------- /self-extractors/PROLOGUE: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | -------------------------------------------------------------------------------- /self-extractors/asus/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) ASUSTek COMPUTER INC. 2 | -------------------------------------------------------------------------------- /self-extractors/asus/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/asus/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Asus blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | sensors-config \ 18 | camera.tegra3 \ 19 | sensors.grouper \ 20 | libsensors.lightsensor \ 21 | libdrmwvmplugin \ 22 | libwvm 23 | -------------------------------------------------------------------------------- /self-extractors/asus/staging/proprietary/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifeq ($(TARGET_DEVICE),grouper) 18 | 19 | include $(CLEAR_VARS) 20 | LOCAL_MODULE := sensors-config 21 | LOCAL_SRC_FILES := sensors-config 22 | LOCAL_MODULE_CLASS := EXECUTABLES 23 | LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES) 24 | LOCAL_MODULE_TAGS := optional 25 | LOCAL_MODULE_OWNER := asus 26 | include $(BUILD_PREBUILT) 27 | 28 | include $(CLEAR_VARS) 29 | LOCAL_MODULE := camera.tegra3 30 | LOCAL_SRC_FILES := camera.tegra3.so 31 | LOCAL_MODULE_SUFFIX := .so 32 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 33 | LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/hw 34 | LOCAL_MODULE_TAGS := optional 35 | LOCAL_MODULE_OWNER := asus 36 | include $(BUILD_PREBUILT) 37 | 38 | include $(CLEAR_VARS) 39 | LOCAL_MODULE := sensors.grouper 40 | LOCAL_SRC_FILES := sensors.grouper.so 41 | LOCAL_MODULE_SUFFIX := .so 42 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 43 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 44 | LOCAL_MODULE_TAGS := optional 45 | LOCAL_MODULE_OWNER := asus 46 | include $(BUILD_PREBUILT) 47 | 48 | include $(CLEAR_VARS) 49 | LOCAL_MODULE := libsensors.lightsensor 50 | LOCAL_SRC_FILES := libsensors.lightsensor.so 51 | LOCAL_MODULE_SUFFIX := .so 52 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 53 | LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 54 | LOCAL_MODULE_TAGS := optional 55 | LOCAL_MODULE_OWNER := asus 56 | include $(BUILD_PREBUILT) 57 | 58 | include $(CLEAR_VARS) 59 | LOCAL_MODULE := libdrmwvmplugin 60 | LOCAL_SRC_FILES := libdrmwvmplugin.so 61 | LOCAL_MODULE_SUFFIX := .so 62 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 63 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/drm 64 | LOCAL_MODULE_TAGS := optional 65 | LOCAL_MODULE_OWNER := asus 66 | include $(BUILD_PREBUILT) 67 | 68 | include $(CLEAR_VARS) 69 | LOCAL_MODULE := libwvm 70 | LOCAL_SRC_FILES := libwvm.so 71 | LOCAL_MODULE_SUFFIX := .so 72 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 73 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib 74 | LOCAL_MODULE_TAGS := optional 75 | LOCAL_MODULE_OWNER := asus 76 | include $(BUILD_PREBUILT) 77 | 78 | endif 79 | -------------------------------------------------------------------------------- /self-extractors/broadcom/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) Broadcom Corporation 2 | -------------------------------------------------------------------------------- /self-extractors/broadcom/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/broadcom/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Broadcom blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | glgps \ 18 | gps.tegra3 \ 19 | gpsconfig \ 20 | bcm4330 21 | -------------------------------------------------------------------------------- /self-extractors/broadcom/staging/proprietary/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifeq ($(TARGET_DEVICE),grouper) 18 | 19 | include $(CLEAR_VARS) 20 | LOCAL_MODULE := glgps 21 | LOCAL_SRC_FILES := glgps 22 | LOCAL_MODULE_CLASS := EXECUTABLES 23 | LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES) 24 | LOCAL_MODULE_TAGS := optional 25 | LOCAL_MODULE_OWNER := broadcom 26 | include $(BUILD_PREBUILT) 27 | 28 | include $(CLEAR_VARS) 29 | LOCAL_MODULE := bcm4330 30 | LOCAL_SRC_FILES := bcm4330.hcd 31 | LOCAL_MODULE_SUFFIX := .hcd 32 | LOCAL_MODULE_CLASS := ETC 33 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware 34 | LOCAL_MODULE_TAGS := optional 35 | LOCAL_MODULE_OWNER := broadcom 36 | include $(BUILD_PREBUILT) 37 | 38 | include $(CLEAR_VARS) 39 | LOCAL_MODULE := gpsconfig 40 | LOCAL_SRC_FILES := gpsconfig.xml 41 | LOCAL_MODULE_SUFFIX := .xml 42 | LOCAL_MODULE_CLASS := ETC 43 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/gps 44 | LOCAL_MODULE_TAGS := optional 45 | LOCAL_MODULE_OWNER := broadcom 46 | include $(BUILD_PREBUILT) 47 | 48 | include $(CLEAR_VARS) 49 | LOCAL_MODULE := gps.tegra3 50 | LOCAL_SRC_FILES := gps.tegra3.so 51 | LOCAL_MODULE_SUFFIX := .so 52 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 53 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 54 | LOCAL_MODULE_TAGS := optional 55 | LOCAL_MODULE_OWNER := broadcom 56 | include $(BUILD_PREBUILT) 57 | 58 | endif 59 | -------------------------------------------------------------------------------- /self-extractors/elan/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) Elan Microelectronics Corporation 2 | -------------------------------------------------------------------------------- /self-extractors/elan/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/elan/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Elan blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | touch_fw 18 | -------------------------------------------------------------------------------- /self-extractors/elan/staging/proprietary/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifeq ($(TARGET_DEVICE),grouper) 18 | 19 | include $(CLEAR_VARS) 20 | LOCAL_MODULE := touch_fw 21 | LOCAL_SRC_FILES := touch_fw.ekt 22 | LOCAL_MODULE_SUFFIX := .ekt 23 | LOCAL_MODULE_CLASS := ETC 24 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware 25 | LOCAL_MODULE_TAGS := optional 26 | LOCAL_MODULE_OWNER := elan 27 | include $(BUILD_PREBUILT) 28 | 29 | endif 30 | -------------------------------------------------------------------------------- /self-extractors/extract-lists.txt: -------------------------------------------------------------------------------- 1 | asus) 2 | TO_EXTRACT="\ 3 | system/bin/sensors-config \ 4 | system/lib/hw/camera.tegra3.so \ 5 | system/lib/hw/sensors.grouper.so \ 6 | system/lib/libsensors.lightsensor.so \ 7 | system/vendor/lib/drm/libdrmwvmplugin.so \ 8 | system/vendor/lib/libwvm.so \ 9 | " 10 | ;; 11 | broadcom) 12 | TO_EXTRACT="\ 13 | system/bin/glgps \ 14 | system/etc/firmware/bcm4330.hcd \ 15 | system/etc/gps/gpsconfig.xml \ 16 | system/lib/hw/gps.tegra3.so \ 17 | " 18 | ;; 19 | elan) 20 | TO_EXTRACT="\ 21 | system/etc/firmware/touch_fw.ekt \ 22 | " 23 | ;; 24 | invensense) 25 | TO_EXTRACT="\ 26 | system/lib/libinvensense_hal.so \ 27 | system/lib/libmllite.so \ 28 | system/lib/libmplmpu.so \ 29 | " 30 | ;; 31 | nvidia) 32 | TO_EXTRACT="\ 33 | system/bin/tf_daemon \ 34 | system/etc/firmware/nvavp_os_00001000.bin \ 35 | system/etc/firmware/nvavp_os_0ff00000.bin \ 36 | system/etc/firmware/nvavp_os_e0000000.bin \ 37 | system/etc/firmware/nvavp_os_eff00000.bin \ 38 | system/etc/firmware/nvavp_vid_ucode_alt.bin \ 39 | system/etc/nvcamera.conf \ 40 | system/etc/nvram.txt \ 41 | system/lib/egl/libEGL_tegra.so \ 42 | system/lib/egl/libGLESv1_CM_tegra.so \ 43 | system/lib/egl/libGLESv2_tegra.so \ 44 | system/lib/hw/gralloc.tegra3.so \ 45 | system/lib/hw/hwcomposer.tegra3.so \ 46 | system/lib/libardrv_dynamic.so \ 47 | system/lib/libcgdrv.so \ 48 | system/lib/libnvapputil.so \ 49 | system/lib/libnvasfparserhal.so \ 50 | system/lib/libnvaviparserhal.so \ 51 | system/lib/libnvavp.so \ 52 | system/lib/libnvcamerahdr.so \ 53 | system/lib/libnvddk_2d.so \ 54 | system/lib/libnvddk_2d_v2.so \ 55 | system/lib/libnvdispmgr_d.so \ 56 | system/lib/libnvmm.so \ 57 | system/lib/libnvmmlite.so \ 58 | system/lib/libnvmmlite_audio.so \ 59 | system/lib/libnvmmlite_image.so \ 60 | system/lib/libnvmmlite_utils.so \ 61 | system/lib/libnvmmlite_video.so \ 62 | system/lib/libnvmm_audio.so \ 63 | system/lib/libnvmm_camera.so \ 64 | system/lib/libnvmm_contentpipe.so \ 65 | system/lib/libnvmm_image.so \ 66 | system/lib/libnvmm_manager.so \ 67 | system/lib/libnvmm_misc.so \ 68 | system/lib/libnvmm_parser.so \ 69 | system/lib/libnvmm_service.so \ 70 | system/lib/libnvmm_utils.so \ 71 | system/lib/libnvmm_video.so \ 72 | system/lib/libnvmm_writer.so \ 73 | system/lib/libnvodm_dtvtuner.so \ 74 | system/lib/libnvodm_hdmi.so \ 75 | system/lib/libnvodm_imager.so \ 76 | system/lib/libnvodm_misc.so \ 77 | system/lib/libnvodm_query.so \ 78 | system/lib/libnvomx.so \ 79 | system/lib/libnvomxilclient.so \ 80 | system/lib/libnvos.so \ 81 | system/lib/libnvparser.so \ 82 | system/lib/libnvrm.so \ 83 | system/lib/libnvrm_graphics.so \ 84 | system/lib/libnvsm.so \ 85 | system/lib/libnvtvmr.so \ 86 | system/lib/libnvwinsys.so \ 87 | system/lib/libnvwsi.so \ 88 | system/lib/libstagefrighthw.so \ 89 | system/lib/libtf_crypto_sst.so \ 90 | " 91 | ;; 92 | nxp) 93 | TO_EXTRACT="\ 94 | system/vendor/firmware/libpn544_fw.so \ 95 | " 96 | ;; 97 | widevine) 98 | TO_EXTRACT="\ 99 | system/lib/libdrmdecrypt.so \ 100 | system/vendor/lib/libwvdrm_L1.so \ 101 | system/vendor/lib/libWVStreamControlAPI_L1.so 102 | " 103 | ;; 104 | -------------------------------------------------------------------------------- /self-extractors/generate-packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright 2010 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | # start jb-dev 18 | # 368864 = JRN61B 19 | # 371028 = JRN65 20 | # 382301 = JRN75 21 | # 386704 = JRN80 22 | # 391496 = JRN83D 23 | # 397816 = JRO03B 24 | # 398337 = JRO03C 25 | # 405518 = JRO03H 26 | # 438695 = JRO03R 27 | # 463694 = JZO54G 28 | # 485486 = JZO54K 29 | # end jb-dev 30 | # start jb-mr1-dev 31 | # 521994 = JOP32B 32 | # 524024 = JOP36 33 | # 527221 = JOP40 34 | # 527662 = JOP40C 35 | # 561924 = JOP40G 36 | # end jb-mr1-dev 37 | # start jb-mr1.1-dev 38 | # 551245 = JDP82 39 | # 573038 = JDQ39 40 | # end jb-mr1.1-dev 41 | # start jb-mr2-dev 42 | # 638589 = JWR11D 43 | # 681336 = JWR50 44 | # 683083 = JWR51 45 | # 684634 = JWR52 46 | # 686185 = JWR53 47 | # 689345 = JWR58 48 | # 690834 = JWR59 49 | # 692263 = JWR60 50 | # 695489 = JWR64 51 | # 699533 = JWR66 52 | # 701448 = JWR66C 53 | # 704243 = JWR66G 54 | # 711294 = JWR66N 55 | # 736095 = JWR66U 56 | # 737497 = JWR66V 57 | # end jb-mr2-dev 58 | BRANCH=klp-dev 59 | if test $BRANCH = jb-dev 60 | then 61 | ZIP=nakasi-ota-485486.zip 62 | BUILD=jzo54k 63 | fi # jb-dev 64 | if test $BRANCH = jb-mr1-dev 65 | then 66 | ZIP=nakasi-ota-561924.zip 67 | BUILD=jop40g 68 | fi # jb-mr1-dev 69 | if test $BRANCH = jb-mr1.1-dev 70 | then 71 | ZIP=nakasi-ota-573038.zip 72 | BUILD=jdq39 73 | fi # jb-mr1.1-dev 74 | if test $BRANCH = jb-mr2-dev 75 | then 76 | ZIP=nakasi-ota-737497 77 | BUILD=jwr66v 78 | fi # jb-mr2-dev 79 | if test $BRANCH = klp-dev 80 | then 81 | ZIP=nakasi-ota-937116 82 | BUILD=kot49h 83 | fi # klp-dev 84 | ROOTDEVICE=grouper 85 | DEVICE=grouper 86 | MANUFACTURER=asus 87 | 88 | for COMPANY in asus broadcom elan invensense nvidia nxp widevine 89 | do 90 | echo Processing files from $COMPANY 91 | rm -rf tmp 92 | FILEDIR=tmp/vendor/$COMPANY/$DEVICE/proprietary 93 | mkdir -p $FILEDIR 94 | mkdir -p tmp/vendor/$MANUFACTURER/$ROOTDEVICE 95 | case $COMPANY in 96 | asus) 97 | TO_EXTRACT="\ 98 | system/bin/sensors-config \ 99 | system/lib/hw/camera.tegra3.so \ 100 | system/lib/hw/sensors.grouper.so \ 101 | system/lib/libsensors.lightsensor.so \ 102 | system/vendor/lib/drm/libdrmwvmplugin.so \ 103 | system/vendor/lib/libwvm.so \ 104 | " 105 | ;; 106 | broadcom) 107 | TO_EXTRACT="\ 108 | system/bin/glgps \ 109 | system/etc/firmware/bcm4330.hcd \ 110 | system/etc/gps/gpsconfig.xml \ 111 | system/lib/hw/gps.tegra3.so \ 112 | " 113 | ;; 114 | elan) 115 | TO_EXTRACT="\ 116 | system/etc/firmware/touch_fw.ekt \ 117 | " 118 | ;; 119 | invensense) 120 | TO_EXTRACT="\ 121 | system/lib/libinvensense_hal.so \ 122 | system/lib/libmllite.so \ 123 | system/lib/libmplmpu.so \ 124 | " 125 | ;; 126 | nvidia) 127 | TO_EXTRACT="\ 128 | system/bin/tf_daemon \ 129 | system/etc/firmware/nvavp_os_00001000.bin \ 130 | system/etc/firmware/nvavp_os_0ff00000.bin \ 131 | system/etc/firmware/nvavp_os_e0000000.bin \ 132 | system/etc/firmware/nvavp_os_eff00000.bin \ 133 | system/etc/firmware/nvavp_vid_ucode_alt.bin \ 134 | system/etc/nvcamera.conf \ 135 | system/etc/nvram.txt \ 136 | system/lib/egl/libEGL_tegra.so \ 137 | system/lib/egl/libGLESv1_CM_tegra.so \ 138 | system/lib/egl/libGLESv2_tegra.so \ 139 | system/lib/hw/gralloc.tegra3.so \ 140 | system/lib/hw/hwcomposer.tegra3.so \ 141 | system/lib/libardrv_dynamic.so \ 142 | system/lib/libcgdrv.so \ 143 | system/lib/libnvapputil.so \ 144 | system/lib/libnvasfparserhal.so \ 145 | system/lib/libnvaviparserhal.so \ 146 | system/lib/libnvavp.so \ 147 | system/lib/libnvcamerahdr.so \ 148 | system/lib/libnvddk_2d.so \ 149 | system/lib/libnvddk_2d_v2.so \ 150 | system/lib/libnvdispmgr_d.so \ 151 | system/lib/libnvmm.so \ 152 | system/lib/libnvmmlite.so \ 153 | system/lib/libnvmmlite_audio.so \ 154 | system/lib/libnvmmlite_image.so \ 155 | system/lib/libnvmmlite_utils.so \ 156 | system/lib/libnvmmlite_video.so \ 157 | system/lib/libnvmm_audio.so \ 158 | system/lib/libnvmm_camera.so \ 159 | system/lib/libnvmm_contentpipe.so \ 160 | system/lib/libnvmm_image.so \ 161 | system/lib/libnvmm_manager.so \ 162 | system/lib/libnvmm_misc.so \ 163 | system/lib/libnvmm_parser.so \ 164 | system/lib/libnvmm_service.so \ 165 | system/lib/libnvmm_utils.so \ 166 | system/lib/libnvmm_video.so \ 167 | system/lib/libnvmm_writer.so \ 168 | system/lib/libnvodm_dtvtuner.so \ 169 | system/lib/libnvodm_hdmi.so \ 170 | system/lib/libnvodm_imager.so \ 171 | system/lib/libnvodm_misc.so \ 172 | system/lib/libnvodm_query.so \ 173 | system/lib/libnvomx.so \ 174 | system/lib/libnvomxilclient.so \ 175 | system/lib/libnvos.so \ 176 | system/lib/libnvparser.so \ 177 | system/lib/libnvrm.so \ 178 | system/lib/libnvrm_graphics.so \ 179 | system/lib/libnvsm.so \ 180 | system/lib/libnvtvmr.so \ 181 | system/lib/libnvwinsys.so \ 182 | system/lib/libnvwsi.so \ 183 | system/lib/libstagefrighthw.so \ 184 | system/lib/libtf_crypto_sst.so \ 185 | " 186 | ;; 187 | nxp) 188 | TO_EXTRACT="\ 189 | system/vendor/firmware/libpn544_fw.so \ 190 | " 191 | ;; 192 | widevine) 193 | TO_EXTRACT="\ 194 | system/lib/libdrmdecrypt.so \ 195 | system/vendor/lib/libwvdrm_L1.so \ 196 | system/vendor/lib/libWVStreamControlAPI_L1.so 197 | " 198 | ;; 199 | esac 200 | echo \ \ Extracting files from OTA package 201 | for ONE_FILE in $TO_EXTRACT 202 | do 203 | echo \ \ \ \ Extracting $ONE_FILE 204 | unzip -j -o $ZIP $ONE_FILE -d $FILEDIR > /dev/null || echo \ \ \ \ Error extracting $ONE_FILE 205 | if test $ONE_FILE = system/vendor/bin/gpsd -o $ONE_FILE = system/vendor/bin/pvrsrvinit -o $ONE_FILE = system/bin/fRom 206 | then 207 | chmod a+x $FILEDIR/$(basename $ONE_FILE) || echo \ \ \ \ Error chmoding $ONE_FILE 208 | fi 209 | done 210 | echo \ \ Setting up $COMPANY-specific makefiles 211 | cp -R $COMPANY/staging/* tmp/vendor/$COMPANY/$DEVICE || echo \ \ \ \ Error copying makefiles 212 | echo \ \ Setting up shared makefiles 213 | cp -R root/* tmp/vendor/$MANUFACTURER/$ROOTDEVICE || echo \ \ \ \ Error copying makefiles 214 | echo \ \ Generating self-extracting script 215 | SCRIPT=extract-$COMPANY-$DEVICE.sh 216 | cat PROLOGUE > tmp/$SCRIPT || echo \ \ \ \ Error generating script 217 | cat $COMPANY/COPYRIGHT >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 218 | cat PART1 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 219 | cat $COMPANY/LICENSE >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 220 | cat PART2 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 221 | 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 222 | cat PART3 >> tmp/$SCRIPT || echo \ \ \ \ Error generating script 223 | (cd tmp ; tar zc --owner=root --group=root vendor/ >> $SCRIPT || echo \ \ \ \ Error generating embedded tgz) 224 | chmod a+x tmp/$SCRIPT || echo \ \ \ \ Error generating script 225 | ARCHIVE=$COMPANY-$DEVICE-$BUILD-$(md5sum < tmp/$SCRIPT | cut -b -8 | tr -d \\n).tgz 226 | rm -f $ARCHIVE 227 | echo \ \ Generating final archive 228 | (cd tmp ; tar --owner=root --group=root -z -c -f ../$ARCHIVE $SCRIPT || echo \ \ \ \ Error archiving script) 229 | rm -rf tmp 230 | done 231 | -------------------------------------------------------------------------------- /self-extractors/invensense/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) Invensense, Inc. 2 | -------------------------------------------------------------------------------- /self-extractors/invensense/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/invensense/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Invensense blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | libinvensense_hal \ 18 | libmllite \ 19 | libmplmpu 20 | -------------------------------------------------------------------------------- /self-extractors/invensense/staging/proprietary/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifeq ($(TARGET_DEVICE),grouper) 18 | 19 | include $(CLEAR_VARS) 20 | LOCAL_MODULE := libinvensense_hal 21 | LOCAL_SRC_FILES := libinvensense_hal.so 22 | LOCAL_MODULE_SUFFIX := .so 23 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 24 | LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 25 | LOCAL_MODULE_TAGS := optional 26 | LOCAL_MODULE_OWNER := invensense 27 | include $(BUILD_PREBUILT) 28 | 29 | include $(CLEAR_VARS) 30 | LOCAL_MODULE := libmllite 31 | LOCAL_SRC_FILES := libmllite.so 32 | LOCAL_MODULE_SUFFIX := .so 33 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 34 | LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 35 | LOCAL_MODULE_TAGS := optional 36 | LOCAL_MODULE_OWNER := invensense 37 | include $(BUILD_PREBUILT) 38 | 39 | include $(CLEAR_VARS) 40 | LOCAL_MODULE := libmplmpu 41 | LOCAL_SRC_FILES := libmplmpu.so 42 | LOCAL_MODULE_SUFFIX := .so 43 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 44 | LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 45 | LOCAL_MODULE_TAGS := optional 46 | LOCAL_MODULE_OWNER := invensense 47 | include $(BUILD_PREBUILT) 48 | 49 | endif 50 | -------------------------------------------------------------------------------- /self-extractors/nvidia/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) NVIDIA Corporation 2 | -------------------------------------------------------------------------------- /self-extractors/nvidia/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/nvidia/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # NVIDIA blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | nvavp_os_00001000 \ 18 | nvavp_os_0ff00000 \ 19 | nvavp_os_e0000000 \ 20 | nvavp_os_eff00000 \ 21 | nvavp_vid_ucode_alt \ 22 | nvcamera \ 23 | nvram \ 24 | libEGL_tegra \ 25 | libGLESv1_CM_tegra \ 26 | libGLESv2_tegra \ 27 | gralloc.tegra3 \ 28 | hwcomposer.tegra3 \ 29 | libardrv_dynamic \ 30 | libcgdrv \ 31 | libnvapputil \ 32 | libnvasfparserhal \ 33 | libnvaviparserhal \ 34 | libnvavp \ 35 | libnvcamerahdr \ 36 | libnvddk_2d_v2 \ 37 | libnvddk_2d \ 38 | libnvdispmgr_d \ 39 | libnvmm_audio \ 40 | libnvmm_camera \ 41 | libnvmm_contentpipe \ 42 | libnvmm_image \ 43 | libnvmm_manager \ 44 | libnvmm_misc \ 45 | libnvmm_parser \ 46 | libnvmm_service \ 47 | libnvmm_utils \ 48 | libnvmm_video \ 49 | libnvmm_writer \ 50 | libnvmm \ 51 | libnvmmlite \ 52 | libnvmmlite_audio \ 53 | libnvmmlite_image \ 54 | libnvmmlite_utils \ 55 | libnvmmlite_video \ 56 | libnvodm_dtvtuner \ 57 | libnvodm_hdmi \ 58 | libnvodm_imager \ 59 | libnvodm_misc \ 60 | libnvodm_query \ 61 | libnvomx \ 62 | libnvomxilclient \ 63 | libnvos \ 64 | libnvparser \ 65 | libnvrm_graphics \ 66 | libnvrm \ 67 | libnvsm \ 68 | libnvtvmr \ 69 | libnvwinsys \ 70 | libnvwsi \ 71 | libstagefrighthw \ 72 | libtf_crypto_sst 73 | 74 | PRODUCT_PACKAGES += keystore.grouper 75 | -------------------------------------------------------------------------------- /self-extractors/nvidia/staging/keymaster/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | ifeq ($(TARGET_ARCH),arm) 16 | ifeq ($(TARGET_DEVICE),grouper) 17 | 18 | LOCAL_PATH := $(call my-dir) 19 | 20 | include $(CLEAR_VARS) 21 | 22 | LOCAL_MODULE := keystore.grouper 23 | 24 | LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 25 | 26 | LOCAL_SRC_FILES := \ 27 | keymaster_grouper.cpp 28 | 29 | LOCAL_C_INCLUDES := \ 30 | libcore/include \ 31 | external/openssl/include \ 32 | $(LOCAL_PATH)/../security/tf_sdk/include 33 | 34 | LOCAL_CFLAGS := -fvisibility=hidden -Wall -Werror 35 | 36 | LOCAL_SHARED_LIBRARIES := libcutils liblog libcrypto libtf_crypto_sst 37 | 38 | LOCAL_MODULE_TAGS := optional 39 | 40 | LOCAL_MODULE_OWNER := google 41 | 42 | include $(BUILD_SHARED_LIBRARY) 43 | 44 | endif 45 | endif 46 | -------------------------------------------------------------------------------- /self-extractors/nvidia/staging/keymaster/cryptoki.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright(c) 2011 Trusted Logic. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in 12 | * the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name Trusted Logic nor the names of its 15 | * contributors may be used to endorse or promote products derived 16 | * from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | #ifndef __CRYPTOKI_H__ 31 | #define __CRYPTOKI_H__ 32 | 33 | #include "s_type.h" 34 | 35 | /* Define CRYPTOKI_EXPORTS during the build of cryptoki libraries. Do 36 | * not define it in applications. 37 | */ 38 | #ifdef CRYPTOKI_EXPORTS 39 | #define PKCS11_EXPORT S_DLL_EXPORT 40 | #else 41 | #define PKCS11_EXPORT S_DLL_IMPORT 42 | #endif 43 | 44 | #define CKV_TOKEN_SYSTEM 0x00000001 45 | #define CKV_TOKEN_SYSTEM_SHARED 0x00000000 46 | #define CKV_TOKEN_USER 0x00004004 47 | #define CKV_TOKEN_USER_SHARED 0x00004012 48 | 49 | #define CKV_TOKEN_SYSTEM_GROUP(gid) (0x00010000 | (gid)) 50 | #define CKV_TOKEN_USER_GROUP(gid) (0x00020000 | (gid)) 51 | 52 | #include "pkcs11.h" 53 | 54 | #endif /* __CRYPTOKI_H__ */ 55 | -------------------------------------------------------------------------------- /self-extractors/nvidia/staging/keymaster/s_type.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright(c) 2011 Trusted Logic. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above copyright 11 | * notice, this list of conditions and the following disclaimer in 12 | * the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name Trusted Logic nor the names of its 15 | * contributors may be used to endorse or promote products derived 16 | * from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * Definition of the machine-specific integer types 33 | **/ 34 | #ifndef __S_TYPE_H__ 35 | #define __S_TYPE_H__ 36 | 37 | /* C99 integer types */ 38 | #if (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) &&(!defined(ANDROID)) 39 | 40 | #include 41 | 42 | /* Figure out if a 64-bit integer types is available */ 43 | #if \ 44 | defined(_MSC_VER) || \ 45 | defined(__SYMBIAN32__) || \ 46 | defined(_WIN32_WCE) || \ 47 | (defined(ULLONG_MAX) && ULLONG_MAX == 0xFFFFFFFFFFFFFFFFULL) || \ 48 | (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 0xFFFFFFFFFFFFFFFFULL) 49 | typedef unsigned long long uint64_t; 50 | typedef long long int64_t; 51 | #else 52 | #define __S_TYPE_INT64_UNDEFINED 53 | #endif 54 | 55 | #if UINT_MAX == 0xFFFFFFFF 56 | typedef unsigned int uint32_t; 57 | typedef int int32_t; 58 | #elif ULONG_MAX == 0xFFFFFFFF 59 | typedef unsigned long uint32_t; 60 | typedef long int32_t; 61 | #else 62 | #error This compiler is not supported. 63 | #endif 64 | 65 | #if USHRT_MAX == 0xFFFF 66 | typedef unsigned short uint16_t; 67 | typedef short int16_t; 68 | #else 69 | #error This compiler is not supported. 70 | #endif 71 | 72 | #if UCHAR_MAX == 0xFF 73 | typedef unsigned char uint8_t; 74 | typedef signed char int8_t; 75 | #else 76 | #error This compiler is not supported. 77 | #endif 78 | 79 | #if !defined(__cplusplus) 80 | typedef unsigned char bool; 81 | #define false ( (bool)0 ) 82 | #define true ( (bool)1 ) 83 | #endif 84 | 85 | #else /* !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L */ 86 | 87 | #include 88 | #include 89 | 90 | #endif /* !(!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) */ 91 | 92 | #include 93 | 94 | #ifndef NULL 95 | # ifdef __cplusplus 96 | # define NULL 0 97 | # else 98 | # define NULL ((void *)0) 99 | # endif 100 | #endif 101 | 102 | #define IN 103 | #define OUT 104 | 105 | /* 106 | * Definition of other common types 107 | */ 108 | 109 | typedef uint32_t S_RESULT; 110 | typedef S_RESULT TEEC_Result; 111 | typedef S_RESULT SM_ERROR; 112 | 113 | typedef uint32_t S_HANDLE; 114 | typedef S_HANDLE SM_HANDLE; 115 | #define S_HANDLE_NULL ((S_HANDLE)0) 116 | #define SM_HANDLE_INVALID S_HANDLE_NULL 117 | 118 | /** Definition of an UUID (from RFC 4122 http://www.ietf.org/rfc/rfc4122.txt) */ 119 | typedef struct S_UUID 120 | { 121 | uint32_t time_low; 122 | uint16_t time_mid; 123 | uint16_t time_hi_and_version; 124 | uint8_t clock_seq_and_node[8]; 125 | }S_UUID; 126 | typedef S_UUID TEEC_UUID; 127 | typedef S_UUID SM_UUID; 128 | 129 | /* DLL Import/Export directives */ 130 | 131 | #if defined(WIN32) || defined(__ARMCC_VERSION) || defined(__WINSCW__) || defined(_WIN32_WCE) 132 | # define S_DLL_EXPORT __declspec(dllexport) 133 | # define S_DLL_IMPORT __declspec(dllimport) 134 | # define S_NO_RETURN __declspec(noreturn) 135 | #elif defined(__GNUC__) 136 | # define S_DLL_EXPORT __attribute__ ((visibility ("default"))) 137 | # define S_DLL_IMPORT __attribute__ ((visibility ("default"))) 138 | # define S_NO_RETURN __attribute__ ((noreturn)) 139 | #else 140 | # define S_DLL_EXPORT 141 | # define S_DLL_IMPORT 142 | # define S_NO_RETURN 143 | #endif 144 | 145 | #endif /* __S_TYPE_H__ */ 146 | 147 | -------------------------------------------------------------------------------- /self-extractors/nxp/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) NXP Semiconductors Netherlands B.V. 2 | -------------------------------------------------------------------------------- /self-extractors/nxp/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/nxp/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # NXP blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | libpn544_fw 18 | -------------------------------------------------------------------------------- /self-extractors/nxp/staging/proprietary/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifeq ($(TARGET_DEVICE),grouper) 18 | 19 | include $(CLEAR_VARS) 20 | LOCAL_MODULE := libpn544_fw 21 | LOCAL_SRC_FILES := libpn544_fw.so 22 | LOCAL_MODULE_SUFFIX := .so 23 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 24 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/firmware 25 | LOCAL_MODULE_TAGS := optional 26 | LOCAL_MODULE_OWNER := nxp 27 | include $(BUILD_PREBUILT) 28 | 29 | endif 30 | -------------------------------------------------------------------------------- /self-extractors/root/BoardConfigVendor.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_STEM := grouper/BoardConfigPartial.mk 16 | 17 | -include vendor/asus/$(LOCAL_STEM) 18 | -include vendor/broadcom/$(LOCAL_STEM) 19 | -include vendor/elan/$(LOCAL_STEM) 20 | -include vendor/invensense/$(LOCAL_STEM) 21 | -include vendor/nvidia/$(LOCAL_STEM) 22 | -include vendor/nxp/$(LOCAL_STEM) 23 | -include vendor/widevine/$(LOCAL_STEM) 24 | -------------------------------------------------------------------------------- /self-extractors/root/device-vendor.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_STEM := grouper/device-partial.mk 16 | 17 | $(call inherit-product-if-exists, vendor/asus/$(LOCAL_STEM)) 18 | $(call inherit-product-if-exists, vendor/broadcom/$(LOCAL_STEM)) 19 | $(call inherit-product-if-exists, vendor/elan/$(LOCAL_STEM)) 20 | $(call inherit-product-if-exists, vendor/invensense/$(LOCAL_STEM)) 21 | $(call inherit-product-if-exists, vendor/nvidia/$(LOCAL_STEM)) 22 | $(call inherit-product-if-exists, vendor/nxp/$(LOCAL_STEM)) 23 | $(call inherit-product-if-exists, vendor/widevine/$(LOCAL_STEM)) 24 | 25 | PRODUCT_RESTRICT_VENDOR_FILES := owner 26 | -------------------------------------------------------------------------------- /self-extractors/widevine/COPYRIGHT: -------------------------------------------------------------------------------- 1 | # (C) Google Inc. 2 | -------------------------------------------------------------------------------- /self-extractors/widevine/staging/BoardConfigPartial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | -------------------------------------------------------------------------------- /self-extractors/widevine/staging/device-partial.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Widevine blob(s) necessary for Grouper hardware 16 | PRODUCT_PACKAGES := \ 17 | libdrmdecrypt \ 18 | libwvdrm_L1 \ 19 | libWVStreamControlAPI_L1 20 | -------------------------------------------------------------------------------- /self-extractors/widevine/staging/proprietary/Android.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2011 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | LOCAL_PATH := $(call my-dir) 16 | 17 | ifeq ($(TARGET_DEVICE),grouper) 18 | 19 | include $(CLEAR_VARS) 20 | LOCAL_MODULE := libdrmdecrypt 21 | LOCAL_SRC_FILES := libdrmdecrypt.so 22 | LOCAL_MODULE_SUFFIX := .so 23 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 24 | LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 25 | LOCAL_MODULE_TAGS := optional 26 | LOCAL_MODULE_OWNER := widevine 27 | include $(BUILD_PREBUILT) 28 | 29 | include $(CLEAR_VARS) 30 | LOCAL_MODULE := libwvdrm_L1 31 | LOCAL_SRC_FILES := libwvdrm_L1.so 32 | LOCAL_MODULE_SUFFIX := .so 33 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 34 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib 35 | LOCAL_MODULE_TAGS := optional 36 | LOCAL_MODULE_OWNER := widevine 37 | include $(BUILD_PREBUILT) 38 | 39 | include $(CLEAR_VARS) 40 | LOCAL_MODULE := libWVStreamControlAPI_L1 41 | LOCAL_SRC_FILES := libWVStreamControlAPI_L1.so 42 | LOCAL_MODULE_SUFFIX := .so 43 | LOCAL_MODULE_CLASS := SHARED_LIBRARIES 44 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib 45 | LOCAL_MODULE_TAGS := optional 46 | LOCAL_MODULE_OWNER := widevine 47 | include $(BUILD_PREBUILT) 48 | 49 | endif 50 | -------------------------------------------------------------------------------- /sensor00fn11.idc: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2010 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # 16 | # Input Device Configuration File for the Atmel Maxtouch touch screen. 17 | # 18 | # These calibration values are derived from empirical measurements 19 | # and may not be appropriate for use with other touch screens. 20 | # Refer to the input device configuration documentation for more details. 21 | # 22 | 23 | # Basic Parameters 24 | touch.deviceType = touchScreen 25 | touch.orientationAware = 1 26 | 27 | # Touch Size 28 | touch.touchSize.calibration = pressure 29 | 30 | # Tool Size 31 | # Driver reports tool size as an area measurement. 32 | # 33 | # Based on empirical measurements, we estimate the size of the tool 34 | # using size = sqrt(22 * rawToolArea + 0) * 6 + 0. 35 | touch.toolSize.calibration = area 36 | touch.toolSize.areaScale = 22 37 | touch.toolSize.areaBias = 0 38 | touch.toolSize.linearScale = 6 39 | touch.toolSize.linearBias = 0 40 | touch.toolSize.isSummed = 0 41 | 42 | # Pressure 43 | # Driver reports signal strength as pressure. 44 | # 45 | # A normal index finger touch typically registers about 80 signal strength 46 | # units although we don't expect these values to be accurate. 47 | touch.pressure.calibration = amplitude 48 | touch.pressure.source = default 49 | touch.pressure.scale = 0.0125 50 | 51 | # Size 52 | touch.size.calibration = normalized 53 | 54 | # Orientation 55 | touch.orientation.calibration = vector 56 | -------------------------------------------------------------------------------- /sepolicy/bluetooth.te: -------------------------------------------------------------------------------- 1 | # Kernel bug for Linux < 3.3: sysfs inodes can lose their security context 2 | # and revert to the base sysfs type. 3 | allow bluetooth sysfs:file write; 4 | -------------------------------------------------------------------------------- /sepolicy/device.te: -------------------------------------------------------------------------------- 1 | type knv_device, dev_type; 2 | type nvhost_device, dev_type; 3 | type elan_ip_device, dev_type; 4 | type diag_device, dev_type; 5 | type baseband_log_device, dev_type; 6 | -------------------------------------------------------------------------------- /sepolicy/domain.te: -------------------------------------------------------------------------------- 1 | userdebug_or_eng(` 2 | allow domain diag_device:chr_file rw_file_perms; 3 | ') 4 | -------------------------------------------------------------------------------- /sepolicy/drmserver.te: -------------------------------------------------------------------------------- 1 | allow drmserver knv_device:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/file.te: -------------------------------------------------------------------------------- 1 | type sysfs_firmware_writable, fs_type, sysfs_type; 2 | type sysfs_devices_tegradc, fs_type, sysfs_type; 3 | -------------------------------------------------------------------------------- /sepolicy/file_contexts: -------------------------------------------------------------------------------- 1 | /dev/diag u:object_r:diag_device:s0 2 | /dev/elan-iap u:object_r:elan_ip_device:s0 3 | /dev/knvmap u:object_r:knv_device:s0 4 | /dev/lightsensor u:object_r:sensors_device:s0 5 | /dev/mi1040 u:object_r:camera_device:s0 6 | /dev/tegra_camera u:object_r:camera_device:s0 7 | /dev/nvhost.* u:object_r:nvhost_device:s0 8 | /dev/nvhost-ctrl u:object_r:gpu_device:s0 9 | /dev/nvhost-gr2d u:object_r:gpu_device:s0 10 | /dev/nvhost-gr3d u:object_r:gpu_device:s0 11 | /dev/nvmap u:object_r:gpu_device:s0 12 | /dev/ttyHS1 u:object_r:gps_device:s0 13 | /dev/ttyHS2 u:object_r:hci_attach_dev:s0 14 | /dev/ttyACM0 u:object_r:radio_device:s0 15 | /dev/ttyACM1 u:object_r:baseband_log_device:s0 16 | 17 | /data/amit(/.*)? u:object_r:sensors_data_file:s0 18 | /data/calibration(/.*)? u:object_r:sensors_data_file:s0 19 | /data/lightsensor(/.*)? u:object_r:sensors_data_file:s0 20 | /data/sensors(/.*)? u:object_r:sensors_data_file:s0 21 | /data/tf(/.*)? u:object_r:tee_data_file:s0 22 | 23 | /system/bin/brcm_patchram_plus -- u:object_r:hci_attach_exec:s0 24 | /system/bin/glgps -- u:object_r:gpsd_exec:s0 25 | /system/bin/sensors-config -- u:object_r:sensors_config_exec:s0 26 | 27 | /sys/devices/tegradc\.0(/.*)? u:object_r:sysfs_devices_tegradc:s0 28 | /sys/devices/tegradc\.1(/.*)? u:object_r:sysfs_devices_tegradc:s0 29 | /sys/devices/platform/tegra-i2c.1/i2c-1/1-0010/update_fw -- u:object_r:sysfs_firmware_writable:s0 30 | /sys/devices/platform/bcm4330_rfkill/rfkill/rfkill0/state -- u:object_r:sysfs_bluetooth_writable:s0 31 | /sys/devices/platform/bcm4330_rfkill/rfkill/rfkill0/type -- u:object_r:sysfs_bluetooth_writable:s0 32 | 33 | # Hardware tunable 34 | /sys/devices/tegradc.0/smartdimmer/enable u:object_r:sysfs_writable:s0 35 | -------------------------------------------------------------------------------- /sepolicy/genfs_contexts: -------------------------------------------------------------------------------- 1 | genfscon proc /bluetooth/sleep/btwrite u:object_r:proc_bluetooth_writable:s0 2 | genfscon proc /bluetooth/sleep/lpm u:object_r:proc_bluetooth_writable:s0 3 | -------------------------------------------------------------------------------- /sepolicy/gpsd.te: -------------------------------------------------------------------------------- 1 | allow gpsd self:process execmem; 2 | -------------------------------------------------------------------------------- /sepolicy/init_shell.te: -------------------------------------------------------------------------------- 1 | allow init_shell sysfs_firmware_writable:file w_file_perms; 2 | 3 | # Kernel bug for Linux < 3.3: sysfs inodes can lose their security context 4 | # and revert to the base sysfs type. 5 | allow init_shell sysfs:file write; 6 | -------------------------------------------------------------------------------- /sepolicy/keystore.te: -------------------------------------------------------------------------------- 1 | allow keystore self:process execmem; 2 | -------------------------------------------------------------------------------- /sepolicy/lmkd.te: -------------------------------------------------------------------------------- 1 | # Kernel bug for Linux < 3.3: sysfs inodes can lose their security context 2 | # and revert to the base sysfs type. 3 | allow lmkd sysfs:file write; 4 | -------------------------------------------------------------------------------- /sepolicy/mediaserver.te: -------------------------------------------------------------------------------- 1 | allow mediaserver { gpu_device nvhost_device }:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/radio.te: -------------------------------------------------------------------------------- 1 | userdebug_or_eng(` 2 | unix_socket_connect(radio, rild_debug, rild) 3 | allow radio baseband_log_device:chr_file rw_file_perms; 4 | ') 5 | -------------------------------------------------------------------------------- /sepolicy/recovery.te: -------------------------------------------------------------------------------- 1 | recovery_only(` 2 | allow recovery ctl_rildaemon_prop:property_service set; 3 | allow recovery device:dir rw_dir_perms; 4 | allow recovery rootfs:dir rw_dir_perms; 5 | allow recovery rootfs:file create_file_perms; 6 | allow recovery sysfs_devices_system_cpu:file rw_file_perms; 7 | allow recovery self:capability mknod; 8 | allow recovery usbfs:dir rw_dir_perms; 9 | allow recovery device:chr_file create_file_perms; 10 | ') 11 | 12 | -------------------------------------------------------------------------------- /sepolicy/rild.te: -------------------------------------------------------------------------------- 1 | # Kernel bug for Linux < 3.3: sysfs inodes can lose their security context 2 | # and revert to the base sysfs type. 3 | allow rild sysfs:file write; 4 | allow rild self:process execmem; 5 | -------------------------------------------------------------------------------- /sepolicy/sensors_config.te: -------------------------------------------------------------------------------- 1 | ########## 2 | # sensors_config: load calibration files. 3 | ########## 4 | type sensors_config, domain; 5 | type sensors_config_exec, exec_type, file_type; 6 | type sensors_data_file, file_type, data_file_type; 7 | init_daemon_domain(sensors_config) 8 | file_type_auto_trans(sensors_config, system_data_file, sensors_data_file) 9 | 10 | # Execute toolbox commands 11 | allow sensors_config shell_exec:file rx_file_perms; 12 | allow sensors_config system_file:file execute_no_trans; 13 | 14 | # Mount /dev/block/platform/sdhci-tegra.3/by-name/PER 15 | allow sensors_config sensors_data_file:dir mounton; 16 | allow sensors_config sdcard_external:filesystem { mount unmount }; 17 | allow sensors_config { sdcard_external block_device }:dir search; 18 | 19 | # Read from the mounted PER partition 20 | allow sensors_config sdcard_external:file r_file_perms; 21 | 22 | # Need to chmod and chown files (/data/lightsensor, /data/sensors) 23 | allow sensors_config self:capability { chown fowner }; 24 | 25 | # Checked as a side effect on the chmod (don't allow) 26 | dontaudit sensors_config self:capability { fsetid }; 27 | 28 | # Needed for mount/umount 29 | allow sensors_config self:capability sys_admin; 30 | 31 | # Tries to delete /data/calibration (don't allow) 32 | dontaudit sensors_config system_data_file:dir remove_name; 33 | dontaudit sensors_config self:capability dac_override; 34 | -------------------------------------------------------------------------------- /sepolicy/surfaceflinger.te: -------------------------------------------------------------------------------- 1 | allow surfaceflinger { knv_device }:chr_file rw_file_perms; 2 | allow surfaceflinger { sysfs_devices_system_cpu sysfs_devices_tegradc }:file rw_file_perms; 3 | allow surfaceflinger sysfs_devices_tegradc:dir r_dir_perms; 4 | allow surfaceflinger sysfs_devices_tegradc:lnk_file { open getattr read }; 5 | allow surfaceflinger sysfs_devices_system_cpu:dir w_dir_perms; 6 | 7 | # Kernel bug for Linux < 3.3: sysfs inodes can lose their security context 8 | # and revert to the base sysfs type. 9 | allow surfaceflinger sysfs:file write; 10 | -------------------------------------------------------------------------------- /sepolicy/system_app.te: -------------------------------------------------------------------------------- 1 | allow system_app knv_device:chr_file rw_file_perms; 2 | -------------------------------------------------------------------------------- /sepolicy/system_server.te: -------------------------------------------------------------------------------- 1 | allow system_server { knv_device }:chr_file rw_file_perms; 2 | allow system_server elan_ip_device:chr_file rw_file_perms; 3 | 4 | # Access .gps.interface.pipe.to_gpsd. 5 | allow system_server gps_data_file:dir search; 6 | allow system_server gps_data_file:fifo_file { setattr rw_file_perms }; 7 | 8 | # Access /data/sensors. 9 | allow system_server sensors_data_file:dir r_dir_perms; 10 | allow system_server sensors_data_file:file r_file_perms; 11 | 12 | # Access to adaptive backlight sysfs dir 13 | allow system_server sysfs_devices_tegradc:dir r_dir_perms; 14 | 15 | # CMHW sysfs files 16 | allow system_server sysfs_writable:file rw_file_perms; 17 | -------------------------------------------------------------------------------- /sepolicy/ueventd.te: -------------------------------------------------------------------------------- 1 | allow ueventd sysfs_devices_tegradc:dir r_dir_perms; 2 | allow ueventd sysfs_devices_tegradc:file rw_file_perms; 3 | -------------------------------------------------------------------------------- /sepolicy/vold.te: -------------------------------------------------------------------------------- 1 | # vold needs to load keystore which loads libtf_crypto_sst.so which has text relocations 2 | allow vold self:process execmem; 3 | -------------------------------------------------------------------------------- /system.prop: -------------------------------------------------------------------------------- 1 | ro.opengles.version = 131072 2 | wifi.interface=wlan0 3 | rild.libpath=/system/lib/libril-icera.so 4 | rild.libargs=-e wwan0 5 | persist.tegra.nvmmlite = 1 6 | ro.audio.monitorOrientation=true 7 | 8 | #NFC 9 | debug.nfc.fw_download=false 10 | debug.nfc.se=false 11 | 12 | # set default lcd density to TVDPI 13 | ro.sf.lcd_density=213 14 | 15 | # don't preload OpenGL in Zygote, the Tegra drivers do not like it 16 | ro.zygote.disable_gl_preload=true 17 | 18 | # configure PRISM 19 | persist.tegra.didim.video = 5 20 | -------------------------------------------------------------------------------- /ueventd.grouper.rc: -------------------------------------------------------------------------------- 1 | /dev/knvmap 0660 system system 2 | /dev/nvmap 0666 system system 3 | /dev/tegra_avp 0660 media media 4 | /dev/tegra_avpchannel 0660 media media 5 | /dev/tegra_rpc 0660 media media 6 | /dev/tegra_avpchannel 0660 media media 7 | /dev/tegra_sema 0660 media media 8 | /dev/tegra_mediaserver 0660 media media 9 | /dev/ov2710 0660 media camera 10 | /dev/mi1040 0660 media camera 11 | /dev/tegra_camera 0660 media camera 12 | /dev/camera* 0660 media camera 13 | /dev/focuser* 0660 media camera 14 | /dev/torch* 0660 media camera 15 | /dev/video0 0660 media camera 16 | /dev/video1 0660 media camera 17 | /dev/spdif* 0660 system audio 18 | /dev/tegra_dc* 0660 system system 19 | /dev/ttyACM* 0660 radio system 20 | /dev/ttyACM2 0660 radio log 21 | /dev/nvhost-ctrl 0666 root root 22 | /dev/nvhost-display 0000 root root 23 | /dev/nvhost-dsi 0000 root root 24 | /dev/nvhost-gr2d 0666 root root 25 | /dev/nvhost-gr3d 0666 root root 26 | /dev/nvhost-isp 0660 media media 27 | /dev/nvhost-mpe 0660 media media 28 | /dev/nvhost-vi 0660 media media 29 | /dev/tf_driver 0660 drmrpc drmrpc 30 | #for FM V4L2 Radio 31 | /dev/radio 0666 system radio 32 | /dev/ion 0666 system system 33 | /dev/pn544 0660 nfc nfc 34 | -------------------------------------------------------------------------------- /vendorsetup.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2008 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # This file is executed by build/envsetup.sh, and can use anything 18 | # defined in envsetup.sh. 19 | # 20 | # In particular, you can add lunch options with the add_lunch_combo 21 | # function: add_lunch_combo generic-eng 22 | 23 | add_lunch_combo aosp_grouper-userdebug 24 | --------------------------------------------------------------------------------