commit 89ce3524a979e4cd479d019a7f96876d36543ecb Author: Diogo Ferreira Date: Wed Sep 14 11:35:47 2011 +0100 urushi: Initial import This should be fairly complete, only waiting for the proprietary files to adjust extraction. Most should be the same but the camera firmware. diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..4328833 --- /dev/null +++ b/Android.mk @@ -0,0 +1,5 @@ +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),urushi) + include $(call all-makefiles-under,$(LOCAL_PATH)) +endif diff --git a/AndroidBoard.mk b/AndroidBoard.mk new file mode 100644 index 0000000..e2f07cd --- /dev/null +++ b/AndroidBoard.mk @@ -0,0 +1,31 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := device/semc/urushi/ + +# +# Boot files +# +#ifeq ($(TARGET_PREBUILT_KERNEL),) +TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/kernel +#endif + +file := $(INSTALLED_KERNEL_TARGET) +ALL_PREBUILT += $(file) +$(file): $(TARGET_PREBUILT_KERNEL) | $(ACP) + $(transform-prebuilt-to-target) + + + + diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..351674c --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,29 @@ +# +# Copyright (C) 2008 The Android Open-Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# This file should set PRODUCT_MAKEFILES to a list of product makefiles +# to expose to the build system. LOCAL_DIR will already be set to +# the directory containing this file. +# +# This file may not rely on the value of any variable other than +# LOCAL_DIR; do not use any conditionals, and do not look up the +# value of any variable that isn't set in this file or in a file that +# it includes. +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/device_urushi.mk diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..e778355 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,22 @@ +-include device/semc/msm7x30-common/BoardConfigCommon.mk + +TARGET_BOOTLOADER_BOARD_NAME := mogami +TARGET_SPECIFIC_HEADER_PATH := device/semc/urushi/include + +BOARD_WPA_SUPPLICANT_DRIVER := CUSTOM +BOARD_WLAN_DEVICE := wl1271 +BOARD_SOFTAP_DEVICE := wl1271 +WPA_SUPPLICANT_VERSION := VER_0_6_X +WIFI_DRIVER_MODULE_PATH := /system/lib/modules/tiwlan_drv.ko +WIFI_DRIVER_MODULE_NAME := tiwlan_drv +WIFI_FIRMWARE_LOADER := wlan_loader +WIFI_EXT_MODULE_PATH := /system/lib/modules/sdio.ko +WIFI_EXT_MODULE_NAME := sdio + +# HDMI_DUAL_DISPLAY := true + +TARGET_OTA_ASSERT_DEVICE := ST18i,ST18a,urushi + +BOARD_CAMERA_USE_GETBUFFERINFO := true + +-include device/semc/msm7x30-common/Android.mk diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..b84e1b6 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,49 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ diff --git a/README b/README new file mode 100644 index 0000000..e69de29 diff --git a/device_urushi.mk b/device_urushi.mk new file mode 100644 index 0000000..4c061f1 --- /dev/null +++ b/device_urushi.mk @@ -0,0 +1,108 @@ +$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) +$(call inherit-product, device/common/gps/gps_eu_supl.mk) + +# proprietary side of the device +$(call inherit-product-if-exists, vendor/semc/urushi/urushi-vendor.mk) + + +# Discard inherited values and use our own instead. +PRODUCT_NAME := urushi +PRODUCT_DEVICE := urushi +PRODUCT_MODEL := urushi + +ifeq ($(TARGET_PREBUILT_KERNEL),) +LOCAL_KERNEL := device/semc/urushi/kernel +else +LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) +endif + +-include device/semc/msm7x30-common/msm7x30.mk + +PRODUCT_COPY_FILES += \ + $(LOCAL_KERNEL):kernel + +DISABLE_DEXPREOPT := false + +# These is the hardware-specific overlay, which points to the location +# of hardware-specific resource overrides, typically the frameworks and +# application settings that are stored in resourced. +DEVICE_PACKAGE_OVERLAYS += device/semc/urushi/overlay + +# These are the hardware-specific configuration files +PRODUCT_COPY_FILES += \ + device/semc/urushi/prebuilt/media_profiles.xml:system/etc/media_profiles.xml + +# Init files +PRODUCT_COPY_FILES += \ + device/semc/msm7x30-common/prebuilt/ueventd.mogami.rc:root/ueventd.mogami.rc \ + device/semc/msm7x30-common/prebuilt/init.mogami.rc:root/init.semc.rc \ + device/semc/urushi/prebuilt/hw_config.sh:system/etc/hw_config.sh \ + device/semc/msm7x30-common/prebuilt/logo_H.rle:root/logo.rle \ + device/semc/urushi/prebuilt/bootrec:root/sbin/bootrec \ + device/semc/urushi/recovery.fstab:root/recovery.fstab + +#recovery resources +PRODUCT_COPY_FILES += \ + bootable/recovery/res/images/icon_clockwork.png:root/res/images/icon_clockwork.png \ + bootable/recovery/res/images/icon_error.png:root/res/images/icon_error.png \ + bootable/recovery/res/images/icon_installing.png:root/res/images/icon_installing.png \ + bootable/recovery/res/images/indeterminate1.png:root/res/images/indeterminate1.png \ + bootable/recovery/res/images/indeterminate2.png:root/res/images/indeterminate2.png \ + bootable/recovery/res/images/indeterminate3.png:root/res/images/indeterminate3.png \ + bootable/recovery/res/images/indeterminate4.png:root/res/images/indeterminate4.png \ + bootable/recovery/res/images/indeterminate5.png:root/res/images/indeterminate5.png \ + bootable/recovery/res/images/indeterminate6.png:root/res/images/indeterminate6.png \ + bootable/recovery/res/images/progress_empty.png:root/res/images/progress_empty.png \ + bootable/recovery/res/images/progress_fill.png:root/res/images/progress_fill.png + + +#WIFI modules and configs +PRODUCT_COPY_FILES += \ + device/semc/msm7x30-common/prebuilt/tiap_loader.sh:system/bin/tiap_loader.sh \ + device/semc/msm7x30-common/prebuilt/wpa_supplicant.conf:system/etc/wifi/wpa_supplicant.conf \ + device/semc/msm7x30-common/prebuilt/hostapd.conf:system/etc/wifi/softap/hostapd.conf \ + device/semc/msm7x30-common/modules/sdio.ko:root/modules/sdio.ko \ + device/semc/msm7x30-common/modules/tiap_drv.ko:root/modules/tiap_drv.ko \ + device/semc/msm7x30-common/modules/tiwlan_drv.ko:root/modules/tiwlan_drv.ko + +# semc msm7x30 uses high-density artwork where available +PRODUCT_LOCALES += hdpi + +#Offline charging animation +PRODUCT_COPY_FILES += \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_01_H.png:system/semc/chargemon/data/charging_animation_01.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_02_H.png:system/semc/chargemon/data/charging_animation_02.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_03_H.png:system/semc/chargemon/data/charging_animation_03.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_04_H.png:system/semc/chargemon/data/charging_animation_04.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_05_H.png:system/semc/chargemon/data/charging_animation_05.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_06_H.png:system/semc/chargemon/data/charging_animation_06.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_07_H.png:system/semc/chargemon/data/charging_animation_07.png \ + device/semc/msm7x30-common/prebuilt/animations/charging_animation_blank_H.png:system/semc/chargemon/data/charging_animation_blank.png + +PRODUCT_PROPERTY_OVERRIDES += \ + rild.libpath=/system/lib/libril-qc-1.so \ + rild.libargs=-d/dev/smd0 \ + ro.ril.hsxpa=1 \ + ro.ril.gprsclass=10 \ + ro.telephony.default_network=0 \ + ro.telephony.call_ring.multiple=false \ + wifi.interface=tiwlan0 \ + wifi.supplicant_scan_interval=15 \ + ro.sf.lcd_density=240 \ + keyguard.no_require_sim=true \ + ro.com.google.locationfeatures=1 \ + dalvik.vm.dexopt-flags=m=y \ + dalvik.vm.heapsize=32m \ + dalvik.vm.dexopt-data-only=1 \ + dalvik.vm.lockprof.threshold=500 \ + dalvik.vm.execution-mode=int:jit \ + dalvik.vm.checkjni=false \ + ro.opengles.version=131072 \ + ro.compcache.default=0 \ + ro.product.locale.language=en \ + ro.product.locale.region=US \ + persist.ro.ril.sms_sync_sending=1 \ + ro.use_data_netmgrd=true \ + wifi.hotspot.ti=1 \ + BUILD_UTC_DATE=0 diff --git a/extract-files.sh b/extract-files.sh new file mode 100755 index 0000000..1756c25 --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,162 @@ +#!/bin/sh + +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +VENDOR=semc +DEVICE=urushi + +rm -r ../../../vendor/$VENDOR/$DEVICE +mkdir -p ../../../vendor/$VENDOR/$DEVICE/proprietary + +# Prebuilt kl keymaps +adb pull /system/usr/keychars/qwerty.kcm.bin ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keychars/qwerty.kcm.bin ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keychars/qwerty2.kcm.bin ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keylayout/atdaemon.kl ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keylayout/AVRCP.kl ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keylayout/msm_pmic_pwr_key.kl ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keylayout/pm8058-keypad.kl ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keylayout/qwerty.kl ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/keylayout/simple_remote.kl ../../../vendor/$VENDOR/$DEVICE/proprietary + +## RIL related stuff +adb pull /system/lib/libril.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/port-bridge ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/qmuxd ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libauth.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcm.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libdiag.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libdll.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libdsm.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libdss.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libgsdi_exp.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libgstk_exp.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libmmgsdilib.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libnv.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/liboem_rapi.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/liboncrpc.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libpbmlib.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libqmi.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libqueue.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libuim.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libreference-ril.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libril-qc-1.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libwms.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libwmsts.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libdsi_netctrl.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libdsutils.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libidl.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libnetmgr.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libqdp.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/netmgrd ../../../vendor/$VENDOR/$DEVICE/proprietary + +## Camera proprietaries +adb pull /system/lib/liboemcamera.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libmmjpeg.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libmmipl.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcamera.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcamera_clientsemc.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libopencore_common.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_api.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_client.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_debugger.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_hal.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_imageutil.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_omxcamera.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_omxcamera_plugin.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_pal.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcald_server.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libface.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libgemini.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcameraextensionclient.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcameraextensionjni.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcameraextensionservice.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libcameralight.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/default_flash.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/LGI08BN0.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/SOD08BN0.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/SOD08BN0_DW9714.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/SOD08BN0_IMX073.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/SOD08BN1.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/SOD08BN1_DW9714.dat ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/usr/semc/camera/SOD08BN1_IMX105.dat ../../../vendor/$VENDOR/$DEVICE/proprietary + + + +## FIRMWARE +adb pull /system/etc/firmware/bq27520_fw-0501_filever-0107_proj-anzu_golden.bqfs ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/bq27520_fw-0501_filever-0107_proj-anzu_golden.dffs ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/fm_rx_init_1273.1.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/fm_rx_init_1273.2.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/fm_tx_init_1273.1.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/fm_tx_init_1273.2.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/fmc_init_1273.1.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/fmc_init_1273.2.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/TIInit_7.5.20.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/TIInit_7.6.15.bts ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_command_control.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_h263_dec_mc.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_h264_dec_mc.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_h264_enc_mc.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_mp4_dec_mc.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_mp4_enc_mc.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/vidc_720p_vc1_dec_mc.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/yamato_pfp.fw ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/yamato_pm4.fw ../../../vendor/$VENDOR/$DEVICE/proprietary + + +## WIFI & BT TI1271 +adb pull /system/bin/nvimport ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/hciattach ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/init.qcom.bt.sh ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/tiwlan.ini ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/wifi/wpa_supplicant.conf ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/wifi/softap/hostapd.conf ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/tiwlan_firmware.bin ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/wifi/softap/tiwlan_ap.ini ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/wifi/softap/softap_firmware.bin ../../../vendor/$VENDOR/$DEVICE/proprietary + +## Adreno 200 files +adb pull /system/lib/libgsl.so ../../../vendor/$VENDOR/$DEVICE/proprietary/libgsl.so +adb pull /system/lib/egl/libGLESv1_CM_adreno200.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/egl/libq3dtools_adreno200.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/egl/libEGL_adreno200.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/egl/libGLESv2_adreno200.so ../../../vendor/$VENDOR/$DEVICE/proprietary + +## Other libraries and proprietary binaries +adb pull /system/lib/libaudioalsa.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libaudioeq.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/als_curve.conf ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/vold.fstab ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/sensors.conf ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/hw/sensors.default.so ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/bq275xx_fwloader ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/hdmid ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/akmd8975 ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/touchd ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/bin/chargemon ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/lib/libmiscta.so ../../../vendor/$VENDOR/$DEVICE/proprietary + +#Temporary GPS Fix untill we have 50001 gps +adb pull /system/lib/hw/gps.msm7x30.so ../../../vendor/$VENDOR/$DEVICE/proprietary + +#touch +adb pull /system/etc/firmware/touch_anzu_sharp_type1.hex ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/touch_anzu_sharp_type2.hex ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/touch_anzu_sony_type1.hex ../../../vendor/$VENDOR/$DEVICE/proprietary +adb pull /system/etc/firmware/touch_anzu_sony_type2.hex ../../../vendor/$VENDOR/$DEVICE/proprietary + +./setup-makefiles.sh + diff --git a/include/camera/CameraHardwareInterface.h b/include/camera/CameraHardwareInterface.h new file mode 100644 index 0000000..42fea51 --- /dev/null +++ b/include/camera/CameraHardwareInterface.h @@ -0,0 +1,242 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * Copyright (C) 2010, Code Aurora Forum. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_HARDWARE_CAMERA_HARDWARE_INTERFACE_H +#define ANDROID_HARDWARE_CAMERA_HARDWARE_INTERFACE_H + +#include +#include +#include +#include +#include + +namespace android { + +class Overlay; + +/** + * The size of image for display. + */ +typedef struct image_rect_struct +{ + uint32_t width; /* Image width */ + uint32_t height; /* Image height */ +} image_rect_type; + + +typedef void (*notify_callback)(int32_t msgType, + int32_t ext1, + int32_t ext2, + void* user); + +typedef void (*data_callback)(int32_t msgType, + const sp& dataPtr, + void* user); + +typedef void (*data_callback_timestamp)(nsecs_t timestamp, + int32_t msgType, + const sp& dataPtr, + void* user); + +/** + * CameraHardwareInterface.h defines the interface to the + * camera hardware abstraction layer, used for setting and getting + * parameters, live previewing, and taking pictures. + * + * It is a referenced counted interface with RefBase as its base class. + * CameraService calls openCameraHardware() to retrieve a strong pointer to the + * instance of this interface and may be called multiple times. The + * following steps describe a typical sequence: + * + * -# After CameraService calls openCameraHardware(), getParameters() and + * setParameters() are used to initialize the camera instance. + * CameraService calls getPreviewHeap() to establish access to the + * preview heap so it can be registered with SurfaceFlinger for + * efficient display updating while in preview mode. + * -# startPreview() is called. The camera instance then periodically + * sends the message CAMERA_MSG_PREVIEW_FRAME (if enabled) each time + * a new preview frame is available. If data callback code needs to use + * this memory after returning, it must copy the data. + * + * Prior to taking a picture, CameraService calls autofocus(). When auto + * focusing has completed, the camera instance sends a CAMERA_MSG_FOCUS notification, + * which informs the application whether focusing was successful. The camera instance + * only sends this message once and it is up to the application to call autoFocus() + * again if refocusing is desired. + * + * CameraService calls takePicture() to request the camera instance take a + * picture. At this point, if a shutter, postview, raw, and/or compressed callback + * is desired, the corresponding message must be enabled. As with CAMERA_MSG_PREVIEW_FRAME, + * any memory provided in a data callback must be copied if it's needed after returning. + */ +class CameraHardwareInterface : public virtual RefBase { +public: + virtual ~CameraHardwareInterface() { } + + /** Return the IMemoryHeap for the preview image heap */ + virtual sp getPreviewHeap() const = 0; + + /** Return the IMemoryHeap for the raw image heap */ + virtual sp getRawHeap() const = 0; + + /** Set the notification and data callbacks */ + virtual void setCallbacks(notify_callback notify_cb, + data_callback data_cb, + data_callback_timestamp data_cb_timestamp, + void* user) = 0; + + /** + * The following three functions all take a msgtype, + * which is a bitmask of the messages defined in + * include/ui/Camera.h + */ + + /** + * Enable a message, or set of messages. + */ + virtual void enableMsgType(int32_t msgType) = 0; + + /** + * Disable a message, or a set of messages. + */ + virtual void disableMsgType(int32_t msgType) = 0; + + /** + * Query whether a message, or a set of messages, is enabled. + * Note that this is operates as an AND, if any of the messages + * queried are off, this will return false. + */ + virtual bool msgTypeEnabled(int32_t msgType) = 0; + +#ifdef USE_GETBUFFERINFO + /** + * Query the recording buffer information from HAL. + * This is needed because the opencore expects the buffer + * information before starting the recording. + */ + virtual status_t getBufferInfo(sp& Frame, size_t *alignedSize) = 0; +#endif + + /** + * Start preview mode. + */ + virtual status_t startPreview() = 0; + + /** + * Only used if overlays are used for camera preview. + */ + virtual bool useOverlay() {return false;} + virtual status_t setOverlay(const sp &overlay) {return BAD_VALUE;} + + /** + * Stop a previously started preview. + */ + virtual void stopPreview() = 0; + + /** + * Returns true if preview is enabled. + */ + virtual bool previewEnabled() = 0; + + /** + * Start record mode. When a record image is available a CAMERA_MSG_VIDEO_FRAME + * message is sent with the corresponding frame. Every record frame must be released + * by calling releaseRecordingFrame(). + */ + virtual status_t startRecording() = 0; + + /** + * Stop a previously started recording. + */ + virtual void stopRecording() = 0; + + /** + * Returns true if recording is enabled. + */ + virtual bool recordingEnabled() = 0; + + /** + * Release a record frame previously returned by CAMERA_MSG_VIDEO_FRAME. + */ + virtual void releaseRecordingFrame(const sp& mem) = 0; + + /** + * Start auto focus, the notification callback routine is called + * with CAMERA_MSG_FOCUS once when focusing is complete. autoFocus() + * will be called again if another auto focus is needed. + */ + virtual status_t autoFocus() = 0; + + /** + * Cancels auto-focus function. If the auto-focus is still in progress, + * this function will cancel it. Whether the auto-focus is in progress + * or not, this function will return the focus position to the default. + * If the camera does not support auto-focus, this is a no-op. + */ + virtual status_t cancelAutoFocus() = 0; + + /** + * Take a picture. + */ + virtual status_t takePicture() = 0; + + /** + * Cancel a picture that was started with takePicture. Calling this + * method when no picture is being taken is a no-op. + */ + virtual status_t cancelPicture() = 0; + + /** + * Set the camera parameters. This returns BAD_VALUE if any parameter is + * invalid or not supported. */ + virtual status_t setParameters(const CameraParameters& params) = 0; + + /** Return the camera parameters. */ + virtual CameraParameters getParameters() const = 0; + + /** + * Send command to camera driver. + */ + virtual status_t sendCommand(int32_t cmd, int32_t arg1, int32_t arg2) = 0; + + /** + * Release the hardware resources owned by this object. Note that this is + * *not* done in the destructor. + */ + virtual void release() = 0; + + /** + * Dump state of the camera hardware + */ + virtual status_t dump(int fd, const Vector& args) const = 0; + +}; + +/** + * The functions need to be provided by the camera HAL. + * + * If getNumberOfCameras() returns N, the valid cameraId for getCameraInfo() + * and openCameraHardware() is 0 to N-1. + */ +extern "C" int HAL_getNumberOfCameras(); +extern "C" void HAL_getCameraInfo(int cameraId, struct CameraInfo* cameraInfo); +/* HAL should return NULL if it fails to open camera hardware. */ +extern "C" sp HAL_openCameraHardware(int cameraId); + +}; // namespace android + +#endif diff --git a/include/linux/ashmem.h b/include/linux/ashmem.h new file mode 100755 index 0000000..c4af6c8 --- /dev/null +++ b/include/linux/ashmem.h @@ -0,0 +1,54 @@ +/* + * include/linux/ashmem.h + * + * Copyright 2008 Google Inc. + * Author: Robert Love + * + * This file is dual licensed. It may be redistributed and/or modified + * under the terms of the Apache 2.0 License OR version 2 of the GNU + * General Public License. + */ + +#ifndef _LINUX_ASHMEM_H +#define _LINUX_ASHMEM_H + +#include +#include + +#define ASHMEM_NAME_LEN 256 + +#define ASHMEM_NAME_DEF "dev/ashmem" + +/* Return values from ASHMEM_PIN: Was the mapping purged while unpinned? */ +#define ASHMEM_NOT_PURGED 0 +#define ASHMEM_WAS_PURGED 1 + +/* Return values from ASHMEM_GET_PIN_STATUS: Is the mapping pinned? */ +#define ASHMEM_IS_UNPINNED 0 +#define ASHMEM_IS_PINNED 1 + +struct ashmem_pin { + __u32 offset; /* offset into region, in bytes, page-aligned */ + __u32 len; /* length forward from offset, in bytes, page-aligned */ +}; + +#define __ASHMEMIOC 0x77 + +#define ASHMEM_SET_NAME _IOW(__ASHMEMIOC, 1, char[ASHMEM_NAME_LEN]) +#define ASHMEM_GET_NAME _IOR(__ASHMEMIOC, 2, char[ASHMEM_NAME_LEN]) +#define ASHMEM_SET_SIZE _IOW(__ASHMEMIOC, 3, size_t) +#define ASHMEM_GET_SIZE _IO(__ASHMEMIOC, 4) +#define ASHMEM_SET_PROT_MASK _IOW(__ASHMEMIOC, 5, unsigned long) +#define ASHMEM_GET_PROT_MASK _IO(__ASHMEMIOC, 6) +#define ASHMEM_PIN _IOW(__ASHMEMIOC, 7, struct ashmem_pin) +#define ASHMEM_UNPIN _IOW(__ASHMEMIOC, 8, struct ashmem_pin) +#define ASHMEM_GET_PIN_STATUS _IO(__ASHMEMIOC, 9) +#define ASHMEM_PURGE_ALL_CACHES _IO(__ASHMEMIOC, 10) +#define ASHMEM_CACHE_FLUSH_RANGE _IO(__ASHMEMIOC, 11) +#define ASHMEM_CACHE_CLEAN_RANGE _IO(__ASHMEMIOC, 12) + +int get_ashmem_file(int fd, struct file **filp, struct file **vm_file, + unsigned long *len); +void put_ashmem_file(struct file *file); + +#endif /* _LINUX_ASHMEM_H */ diff --git a/include/linux/msm_audio_7x30.h b/include/linux/msm_audio_7x30.h new file mode 100644 index 0000000..ea8f63e --- /dev/null +++ b/include/linux/msm_audio_7x30.h @@ -0,0 +1,354 @@ +/* include/linux/msm_audio.h + * + * Copyright (C) 2008 Google, Inc. + * Copyright (c) 2009-2010, Code Aurora Forum. All rights reserved. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef __LINUX_MSM_AUDIO_H +#define __LINUX_MSM_AUDIO_H + +#include +#include + +/* PCM Audio */ + +#define AUDIO_IOCTL_MAGIC 'a' + +#define AUDIO_START _IOW(AUDIO_IOCTL_MAGIC, 0, unsigned) +#define AUDIO_STOP _IOW(AUDIO_IOCTL_MAGIC, 1, unsigned) +#define AUDIO_FLUSH _IOW(AUDIO_IOCTL_MAGIC, 2, unsigned) +#define AUDIO_GET_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 3, unsigned) +#define AUDIO_SET_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 4, unsigned) +#define AUDIO_GET_STATS _IOR(AUDIO_IOCTL_MAGIC, 5, unsigned) +#define AUDIO_ENABLE_AUDPP _IOW(AUDIO_IOCTL_MAGIC, 6, unsigned) +#define AUDIO_SET_ADRC _IOW(AUDIO_IOCTL_MAGIC, 7, unsigned) +#define AUDIO_SET_EQ _IOW(AUDIO_IOCTL_MAGIC, 8, unsigned) +#define AUDIO_SET_RX_IIR _IOW(AUDIO_IOCTL_MAGIC, 9, unsigned) +#define AUDIO_SET_VOLUME _IOW(AUDIO_IOCTL_MAGIC, 10, unsigned) +#define AUDIO_PAUSE _IOW(AUDIO_IOCTL_MAGIC, 11, unsigned) +#define AUDIO_PLAY_DTMF _IOW(AUDIO_IOCTL_MAGIC, 12, unsigned) +#define AUDIO_GET_EVENT _IOR(AUDIO_IOCTL_MAGIC, 13, unsigned) +#define AUDIO_ABORT_GET_EVENT _IOW(AUDIO_IOCTL_MAGIC, 14, unsigned) +#define AUDIO_REGISTER_PMEM _IOW(AUDIO_IOCTL_MAGIC, 15, unsigned) +#define AUDIO_DEREGISTER_PMEM _IOW(AUDIO_IOCTL_MAGIC, 16, unsigned) +#define AUDIO_ASYNC_WRITE _IOW(AUDIO_IOCTL_MAGIC, 17, unsigned) +#define AUDIO_ASYNC_READ _IOW(AUDIO_IOCTL_MAGIC, 18, unsigned) +#define AUDIO_SET_INCALL _IOW(AUDIO_IOCTL_MAGIC, 19, struct msm_voicerec_mode) +#define AUDIO_GET_NUM_SND_DEVICE _IOR(AUDIO_IOCTL_MAGIC, 20, unsigned) +#define AUDIO_GET_SND_DEVICES _IOWR(AUDIO_IOCTL_MAGIC, 21, \ + struct msm_snd_device_list) +#define AUDIO_ENABLE_SND_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 22, unsigned) +#define AUDIO_DISABLE_SND_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 23, unsigned) +#define AUDIO_ROUTE_STREAM _IOW(AUDIO_IOCTL_MAGIC, 24, \ + struct msm_audio_route_config) +#define AUDIO_GET_PCM_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 30, unsigned) +#define AUDIO_SET_PCM_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 31, unsigned) +#define AUDIO_SWITCH_DEVICE _IOW(AUDIO_IOCTL_MAGIC, 32, unsigned) +#define AUDIO_SET_MUTE _IOW(AUDIO_IOCTL_MAGIC, 33, unsigned) +#define AUDIO_UPDATE_ACDB _IOW(AUDIO_IOCTL_MAGIC, 34, unsigned) +#define AUDIO_START_VOICE _IOW(AUDIO_IOCTL_MAGIC, 35, unsigned) +#define AUDIO_STOP_VOICE _IOW(AUDIO_IOCTL_MAGIC, 36, unsigned) +#define AUDIO_REINIT_ACDB _IOW(AUDIO_IOCTL_MAGIC, 39, unsigned) +#define AUDIO_OUTPORT_FLUSH _IOW(AUDIO_IOCTL_MAGIC, 40, unsigned short) +#define AUDIO_SET_ERR_THRESHOLD_VALUE _IOW(AUDIO_IOCTL_MAGIC, 41, \ + unsigned short) +#define AUDIO_GET_BITSTREAM_ERROR_INFO _IOR(AUDIO_IOCTL_MAGIC, 42, \ + struct msm_audio_bitstream_error_info) +/* Qualcomm extensions */ +#define AUDIO_SET_STREAM_CONFIG _IOW(AUDIO_IOCTL_MAGIC, 80, \ + struct msm_audio_stream_config) +#define AUDIO_GET_STREAM_CONFIG _IOR(AUDIO_IOCTL_MAGIC, 81, \ + struct msm_audio_stream_config) +#define AUDIO_GET_SESSION_ID _IOR(AUDIO_IOCTL_MAGIC, 82, unsigned short) +#define AUDIO_GET_STREAM_INFO _IOR(AUDIO_IOCTL_MAGIC, 83, \ + struct msm_audio_bitstream_info) +#define AUDIO_SET_PAN _IOW(AUDIO_IOCTL_MAGIC, 84, unsigned) +#define AUDIO_SET_QCONCERT_PLUS _IOW(AUDIO_IOCTL_MAGIC, 85, unsigned) +#define AUDIO_SET_MBADRC _IOW(AUDIO_IOCTL_MAGIC, 86, unsigned) +#define AUDIO_SET_VOLUME_PATH _IOW(AUDIO_IOCTL_MAGIC, 87, \ + struct msm_vol_info) +#define AUDIO_SET_MAX_VOL_ALL _IOW(AUDIO_IOCTL_MAGIC, 88, unsigned) +#define AUDIO_ENABLE_AUDPRE _IOW(AUDIO_IOCTL_MAGIC, 89, unsigned) +#define AUDIO_SET_AGC _IOW(AUDIO_IOCTL_MAGIC, 90, unsigned) +#define AUDIO_SET_NS _IOW(AUDIO_IOCTL_MAGIC, 91, unsigned) +#define AUDIO_SET_TX_IIR _IOW(AUDIO_IOCTL_MAGIC, 92, unsigned) +#define AUDIO_GET_BUF_CFG _IOW(AUDIO_IOCTL_MAGIC, 93, \ + struct msm_audio_buf_cfg) +#define AUDIO_SET_BUF_CFG _IOW(AUDIO_IOCTL_MAGIC, 94, \ + struct msm_audio_buf_cfg) +#define AUDIO_SET_ACDB_BLK _IOW(AUDIO_IOCTL_MAGIC, 95, \ + struct msm_acdb_cmd_device) +#define AUDIO_GET_ACDB_BLK _IOW(AUDIO_IOCTL_MAGIC, 96, \ + struct msm_acdb_cmd_device) + +#define AUDIO_MAX_COMMON_IOCTL_NUM 100 + + +#define HANDSET_MIC 0x01 +#define HANDSET_SPKR 0x02 +#define HEADSET_MIC 0x03 +#define HEADSET_SPKR_MONO 0x04 +#define HEADSET_SPKR_STEREO 0x05 +#define SPKR_PHONE_MIC 0x06 +#define SPKR_PHONE_MONO 0x07 +#define SPKR_PHONE_STEREO 0x08 +#define BT_SCO_MIC 0x09 +#define BT_SCO_SPKR 0x0A +#define BT_A2DP_SPKR 0x0B +#define TTY_HEADSET_MIC 0x0C +#define TTY_HEADSET_SPKR 0x0D + +/* Default devices are not supported in a */ +/* device switching context. Only supported */ +/* for stream devices. */ +/* DO NOT USE */ +#define DEFAULT_TX 0x0E +#define DEFAULT_RX 0x0F + +#define BT_A2DP_TX 0x10 + +#define HEADSET_MONO_PLUS_SPKR_MONO_RX 0x11 +#define HEADSET_MONO_PLUS_SPKR_STEREO_RX 0x12 +#define HEADSET_STEREO_PLUS_SPKR_MONO_RX 0x13 +#define HEADSET_STEREO_PLUS_SPKR_STEREO_RX 0x14 + +#define I2S_RX 0x20 +#define I2S_TX 0x21 + +#define ADRC_ENABLE 0x0001 +#define EQ_ENABLE 0x0002 +#define IIR_ENABLE 0x0004 +#define QCONCERT_PLUS_ENABLE 0x0008 +#define MBADRC_ENABLE 0x0010 + +#define AGC_ENABLE 0x0001 +#define NS_ENABLE 0x0002 +#define TX_IIR_ENABLE 0x0004 +#define FLUENCE_ENABLE 0x0008 + +#define VOC_REC_UPLINK 0x00 +#define VOC_REC_DOWNLINK 0x01 +#define VOC_REC_BOTH 0x02 + +struct msm_audio_config { + uint32_t buffer_size; + uint32_t buffer_count; + uint32_t channel_count; + uint32_t sample_rate; + uint32_t type; + uint32_t meta_field; + uint32_t bits; + uint32_t unused[3]; +}; + +struct msm_audio_stream_config { + uint32_t buffer_size; + uint32_t buffer_count; +}; + +struct msm_audio_buf_cfg{ + uint32_t meta_info_enable; + uint32_t frames_per_buf; +}; + +struct msm_audio_stats { + uint32_t byte_count; + uint32_t sample_count; + uint32_t unused[2]; +}; + +struct msm_audio_pmem_info { + int fd; + void *vaddr; +}; + +struct msm_audio_aio_buf { + void *buf_addr; + uint32_t buf_len; + uint32_t data_len; + void *private_data; + unsigned short mfield_sz; /*only useful for data has meta field */ +}; + +/* Audio routing */ + +#define SND_IOCTL_MAGIC 's' + +#define SND_MUTE_UNMUTED 0 +#define SND_MUTE_MUTED 1 + +struct msm_mute_info { + uint32_t mute; + uint32_t path; +}; + +struct msm_vol_info { + uint32_t vol; + uint32_t path; +}; + +struct msm_voicerec_mode { + uint32_t rec_mode; +}; + +struct msm_snd_device_config { + uint32_t device; + uint32_t ear_mute; + uint32_t mic_mute; +}; + +#define SND_SET_DEVICE _IOW(SND_IOCTL_MAGIC, 2, struct msm_device_config *) + +#define SND_METHOD_VOICE 0 + +struct msm_snd_volume_config { + uint32_t device; + uint32_t method; + uint32_t volume; +}; + +#define SND_SET_VOLUME _IOW(SND_IOCTL_MAGIC, 3, struct msm_snd_volume_config *) + +/* Returns the number of SND endpoints supported. */ + +#define SND_GET_NUM_ENDPOINTS _IOR(SND_IOCTL_MAGIC, 4, unsigned *) + +struct msm_snd_endpoint { + int id; /* input and output */ + char name[64]; /* output only */ +}; + +/* Takes an index between 0 and one less than the number returned by + * SND_GET_NUM_ENDPOINTS, and returns the SND index and name of a + * SND endpoint. On input, the .id field contains the number of the + * endpoint, and on exit it contains the SND index, while .name contains + * the description of the endpoint. + */ + +#define SND_GET_ENDPOINT _IOWR(SND_IOCTL_MAGIC, 5, struct msm_snd_endpoint *) + + +#define SND_AVC_CTL _IOW(SND_IOCTL_MAGIC, 6, unsigned *) +#define SND_AGC_CTL _IOW(SND_IOCTL_MAGIC, 7, unsigned *) + +struct msm_audio_pcm_config { + uint32_t pcm_feedback; /* 0 - disable > 0 - enable */ + uint32_t buffer_count; /* Number of buffers to allocate */ + uint32_t buffer_size; /* Size of buffer for capturing of + PCM samples */ +}; + +#define AUDIO_EVENT_SUSPEND 0 +#define AUDIO_EVENT_RESUME 1 +#define AUDIO_EVENT_WRITE_DONE 2 +#define AUDIO_EVENT_READ_DONE 3 +#define AUDIO_EVENT_STREAM_INFO 4 +#define AUDIO_EVENT_BITSTREAM_ERROR_INFO 5 + +#define AUDIO_CODEC_TYPE_MP3 0 +#define AUDIO_CODEC_TYPE_AAC 1 + +struct msm_audio_bitstream_info { + uint32_t codec_type; + uint32_t chan_info; + uint32_t sample_rate; + uint32_t bit_stream_info; + uint32_t bit_rate; + uint32_t unused[3]; +}; + +struct msm_audio_bitstream_error_info { + uint32_t dec_id; + uint32_t err_msg_indicator; + uint32_t err_type; +}; + +union msm_audio_event_payload { + struct msm_audio_aio_buf aio_buf; + struct msm_audio_bitstream_info stream_info; + struct msm_audio_bitstream_error_info error_info; + int reserved; +}; + +struct msm_audio_event { + int event_type; + int timeout_ms; + union msm_audio_event_payload event_payload; +}; + +#define MSM_SNDDEV_CAP_RX 0x1 +#define MSM_SNDDEV_CAP_TX 0x2 +#define MSM_SNDDEV_CAP_VOICE 0x4 + +struct msm_snd_device_info { + uint32_t dev_id; + uint32_t dev_cap; /* bitmask describe capability of device */ + char dev_name[64]; +}; + +struct msm_snd_device_list { + uint32_t num_dev; /* Indicate number of device info to be retrieved */ + struct msm_snd_device_info *list; +}; + +struct msm_dtmf_config { + uint16_t path; + uint16_t dtmf_hi; + uint16_t dtmf_low; + uint16_t duration; + uint16_t tx_gain; + uint16_t rx_gain; + uint16_t mixing; +}; + +#define AUDIO_ROUTE_STREAM_VOICE_RX 0 +#define AUDIO_ROUTE_STREAM_VOICE_TX 1 +#define AUDIO_ROUTE_STREAM_PLAYBACK 2 +#define AUDIO_ROUTE_STREAM_REC 3 + +struct msm_audio_route_config { + uint32_t stream_type; + uint32_t stream_id; + uint32_t dev_id; +}; + +#define AUDIO_MAX_EQ_BANDS 12 + +struct msm_audio_eq_band { + uint16_t band_idx; /* The band index, 0 .. 11 */ + uint32_t filter_type; /* Filter band type */ + uint32_t center_freq_hz; /* Filter band center frequency */ + uint32_t filter_gain; /* Filter band initial gain (dB) */ + /* Range is +12 dB to -12 dB with 1dB increments. */ + uint32_t q_factor; +} __attribute__ ((packed)); + +struct msm_audio_eq_stream_config { + uint32_t enable; /* Number of consequtive bands specified */ + uint32_t num_bands; + struct msm_audio_eq_band eq_bands[AUDIO_MAX_EQ_BANDS]; +} __attribute__ ((packed)); + +struct msm_acdb_cmd_device { + uint32_t command_id; + uint32_t device_id; + uint32_t network_id; + uint32_t sample_rate_id; /* Actual sample rate value */ + uint32_t interface_id; /* See interface id's above */ + uint32_t algorithm_block_id; /* See enumerations above */ + uint32_t total_bytes; /* Length in bytes used by buffer */ + uint32_t *phys_buf; /* Physical Address of data */ +}; + + +#endif diff --git a/include/linux/msm_audio_aac.h b/include/linux/msm_audio_aac.h new file mode 100644 index 0000000..6f2db97 --- /dev/null +++ b/include/linux/msm_audio_aac.h @@ -0,0 +1,89 @@ +/* arch/arm/mach-msm/include/mach/msm_audio_aac.h + * + * Copyright (c) 2009, Code Aurora Forum. All rights reserved. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, you can find it at http://www.fsf.org. + * + */ + +#ifndef __MSM_AUDIO_AAC_H +#define __MSM_AUDIO_AAC_H + +#include + +#define AUDIO_SET_AAC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) +#define AUDIO_GET_AAC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) + +#define AUDIO_SET_AAC_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+3), struct msm_audio_aac_enc_config) + +#define AUDIO_GET_AAC_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+4), struct msm_audio_aac_enc_config) + +#define AUDIO_AAC_FORMAT_ADTS -1 +#define AUDIO_AAC_FORMAT_RAW 0x0000 +#define AUDIO_AAC_FORMAT_PSUEDO_RAW 0x0001 +#define AUDIO_AAC_FORMAT_LOAS 0x0002 + +#define AUDIO_AAC_OBJECT_LC 0x0002 +#define AUDIO_AAC_OBJECT_LTP 0x0004 +#define AUDIO_AAC_OBJECT_ERLC 0x0011 +#define AUDIO_AAC_OBJECT_BSAC 0x0016 + +#define AUDIO_AAC_SEC_DATA_RES_ON 0x0001 +#define AUDIO_AAC_SEC_DATA_RES_OFF 0x0000 + +#define AUDIO_AAC_SCA_DATA_RES_ON 0x0001 +#define AUDIO_AAC_SCA_DATA_RES_OFF 0x0000 + +#define AUDIO_AAC_SPEC_DATA_RES_ON 0x0001 +#define AUDIO_AAC_SPEC_DATA_RES_OFF 0x0000 + +#define AUDIO_AAC_SBR_ON_FLAG_ON 0x0001 +#define AUDIO_AAC_SBR_ON_FLAG_OFF 0x0000 + +#define AUDIO_AAC_SBR_PS_ON_FLAG_ON 0x0001 +#define AUDIO_AAC_SBR_PS_ON_FLAG_OFF 0x0000 + +/* Primary channel on both left and right channels */ +#define AUDIO_AAC_DUAL_MONO_PL_PR 0 +/* Secondary channel on both left and right channels */ +#define AUDIO_AAC_DUAL_MONO_SL_SR 1 +/* Primary channel on right channel and 2nd on left channel */ +#define AUDIO_AAC_DUAL_MONO_SL_PR 2 +/* 2nd channel on right channel and primary on left channel */ +#define AUDIO_AAC_DUAL_MONO_PL_SR 3 + +struct msm_audio_aac_config { + signed short format; + unsigned short audio_object; + unsigned short ep_config; /* 0 ~ 3 useful only obj = ERLC */ + unsigned short aac_section_data_resilience_flag; + unsigned short aac_scalefactor_data_resilience_flag; + unsigned short aac_spectral_data_resilience_flag; + unsigned short sbr_on_flag; + unsigned short sbr_ps_on_flag; + unsigned short dual_mono_mode; + unsigned short channel_configuration; +}; + +struct msm_audio_aac_enc_config { + uint32_t channels; + uint32_t sample_rate; + uint32_t bit_rate; + uint32_t stream_format; +}; + +#endif /* __MSM_AUDIO_AAC_H */ diff --git a/include/linux/msm_audio_amrnb.h b/include/linux/msm_audio_amrnb.h new file mode 100644 index 0000000..977335e --- /dev/null +++ b/include/linux/msm_audio_amrnb.h @@ -0,0 +1,51 @@ +/* arch/arm/mach-msm/include/mach/msm_audio_amrnb.h + * + * Copyright (c) 2009, Code Aurora Forum. All rights reserved. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, you can find it at http://www.fsf.org. + * + */ + +#ifndef __MSM_AUDIO_AMRNB_H +#define __MSM_AUDIO_AMRNB_H + +#include + +#define AUDIO_GET_AMRNB_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+0), unsigned) +#define AUDIO_SET_AMRNB_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+1), unsigned) +#define AUDIO_GET_AMRNB_ENC_CONFIG_V2 _IOW(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+2), \ + struct msm_audio_amrnb_enc_config_v2) +#define AUDIO_SET_AMRNB_ENC_CONFIG_V2 _IOR(AUDIO_IOCTL_MAGIC, \ + (AUDIO_MAX_COMMON_IOCTL_NUM+3), \ + struct msm_audio_amrnb_enc_config_v2) + +struct msm_audio_amrnb_enc_config { + unsigned short voicememoencweight1; + unsigned short voicememoencweight2; + unsigned short voicememoencweight3; + unsigned short voicememoencweight4; + unsigned short dtx_mode_enable; /* 0xFFFF - enable, 0- disable */ + unsigned short test_mode_enable; /* 0xFFFF - enable, 0- disable */ + unsigned short enc_mode; /* 0-MR475,1-MR515,2-MR59,3-MR67,4-MR74 + 5-MR795, 6- MR102, 7- MR122(default) */ +}; + +struct msm_audio_amrnb_enc_config_v2 { + uint32_t band_mode; + uint32_t dtx_enable; + uint32_t frame_format; +}; +#endif /* __MSM_AUDIO_AMRNB_H */ diff --git a/include/linux/msm_audio_qcp.h b/include/linux/msm_audio_qcp.h new file mode 100644 index 0000000..67fa6d2 --- /dev/null +++ b/include/linux/msm_audio_qcp.h @@ -0,0 +1,66 @@ +/* Copyright (c) 2009, Code Aurora Forum. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Code Aurora Forum, Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef __MSM_AUDIO_QCP_H +#define __MSM_AUDIO_QCP_H + +#include + +#define AUDIO_SET_QCELP_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, \ + 0, struct msm_audio_qcelp_enc_config) + +#define AUDIO_GET_QCELP_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, \ + 1, struct msm_audio_qcelp_enc_config) + +#define AUDIO_SET_EVRC_ENC_CONFIG _IOW(AUDIO_IOCTL_MAGIC, \ + 2, struct msm_audio_evrc_enc_config) + +#define AUDIO_GET_EVRC_ENC_CONFIG _IOR(AUDIO_IOCTL_MAGIC, \ + 3, struct msm_audio_evrc_enc_config) + +#define CDMA_RATE_BLANK 0x00 +#define CDMA_RATE_EIGHTH 0x01 +#define CDMA_RATE_QUARTER 0x02 +#define CDMA_RATE_HALF 0x03 +#define CDMA_RATE_FULL 0x04 +#define CDMA_RATE_ERASURE 0x05 + +struct msm_audio_qcelp_enc_config { + uint32_t cdma_rate; + uint32_t min_bit_rate; + uint32_t max_bit_rate; +}; + +struct msm_audio_evrc_enc_config { + uint32_t cdma_rate; + uint32_t min_bit_rate; + uint32_t max_bit_rate; +}; + +#endif /* __MSM_AUDIO_QCP_H */ diff --git a/include/linux/msm_mdp.h b/include/linux/msm_mdp.h new file mode 100644 index 0000000..ed1e67c --- /dev/null +++ b/include/linux/msm_mdp.h @@ -0,0 +1,253 @@ +/* include/linux/msm_mdp.h + * + * Copyright (C) 2007 Google Incorporated + * Copyright (c) 2009-2011, Code Aurora Forum. All rights reserved. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifndef _MSM_MDP_H_ +#define _MSM_MDP_H_ + +#include +#include + +#define MSMFB_IOCTL_MAGIC 'm' +#define MSMFB_GRP_DISP _IOW(MSMFB_IOCTL_MAGIC, 1, unsigned int) +#define MSMFB_BLIT _IOW(MSMFB_IOCTL_MAGIC, 2, unsigned int) +#define MSMFB_SUSPEND_SW_REFRESHER _IOW(MSMFB_IOCTL_MAGIC, 128, unsigned int) +#define MSMFB_RESUME_SW_REFRESHER _IOW(MSMFB_IOCTL_MAGIC, 129, unsigned int) +#define MSMFB_CURSOR _IOW(MSMFB_IOCTL_MAGIC, 130, struct fb_cursor) +#define MSMFB_SET_LUT _IOW(MSMFB_IOCTL_MAGIC, 131, struct fb_cmap) +#define MSMFB_HISTOGRAM _IOWR(MSMFB_IOCTL_MAGIC, 132, struct mdp_histogram) +/* new ioctls's for set/get ccs matrix */ +#define MSMFB_GET_CCS_MATRIX _IOWR(MSMFB_IOCTL_MAGIC, 133, struct mdp_ccs) +#define MSMFB_SET_CCS_MATRIX _IOW(MSMFB_IOCTL_MAGIC, 134, struct mdp_ccs) +#define MSMFB_OVERLAY_SET _IOWR(MSMFB_IOCTL_MAGIC, 135, \ + struct mdp_overlay) +#define MSMFB_OVERLAY_UNSET _IOW(MSMFB_IOCTL_MAGIC, 136, unsigned int) +#define MSMFB_OVERLAY_PLAY _IOW(MSMFB_IOCTL_MAGIC, 137, \ + struct msmfb_overlay_data) +#define MSMFB_GET_PAGE_PROTECTION _IOR(MSMFB_IOCTL_MAGIC, 138, \ + struct mdp_page_protection) +#define MSMFB_SET_PAGE_PROTECTION _IOW(MSMFB_IOCTL_MAGIC, 139, \ + struct mdp_page_protection) +#define MSMFB_OVERLAY_GET _IOR(MSMFB_IOCTL_MAGIC, 140, \ + struct mdp_overlay) +#define MSMFB_OVERLAY_PLAY_ENABLE _IOW(MSMFB_IOCTL_MAGIC, 141, unsigned int) +#define MSMFB_OVERLAY_BLT _IOWR(MSMFB_IOCTL_MAGIC, 142, \ + struct msmfb_overlay_blt) +#define MSMFB_OVERLAY_BLT_OFFSET _IOW(MSMFB_IOCTL_MAGIC, 143, unsigned int) +#define MSMFB_HISTOGRAM_START _IO(MSMFB_IOCTL_MAGIC, 144) +#define MSMFB_HISTOGRAM_STOP _IO(MSMFB_IOCTL_MAGIC, 145) +#define MSMFB_NOTIFY_UPDATE _IOW(MSMFB_IOCTL_MAGIC, 146, unsigned int) + +#define MSMFB_OVERLAY_3D _IOWR(MSMFB_IOCTL_MAGIC, 146, \ + struct msmfb_overlay_3d) + +#define MDP_IMGTYPE2_START 0x10000 + +enum { + NOTIFY_UPDATE_START, + NOTIFY_UPDATE_STOP, +}; + +enum { + MDP_RGB_565, /* RGB 565 planer */ + MDP_XRGB_8888, /* RGB 888 padded */ + MDP_Y_CBCR_H2V2, /* Y and CbCr, pseudo planer w/ Cb is in MSB */ + MDP_ARGB_8888, /* ARGB 888 */ + MDP_RGB_888, /* RGB 888 planer */ + MDP_Y_CRCB_H2V2, /* Y and CrCb, pseudo planer w/ Cr is in MSB */ + MDP_YCRYCB_H2V1, /* YCrYCb interleave */ + MDP_Y_CRCB_H2V1, /* Y and CrCb, pseduo planer w/ Cr is in MSB */ + MDP_Y_CBCR_H2V1, /* Y and CrCb, pseduo planer w/ Cr is in MSB */ + MDP_RGBA_8888, /* ARGB 888 */ + MDP_BGRA_8888, /* ABGR 888 */ + MDP_RGBX_8888, /* RGBX 888 */ + MDP_Y_CRCB_H2V2_TILE, /* Y and CrCb, pseudo planer tile */ + MDP_Y_CBCR_H2V2_TILE, /* Y and CbCr, pseudo planer tile */ + MDP_Y_CR_CB_H2V2, /* Y, Cr and Cb, planar */ + MDP_Y_CB_CR_H2V2, /* Y, Cb and Cr, planar */ + MDP_IMGTYPE_LIMIT, + MDP_BGR_565 = MDP_IMGTYPE2_START, /* BGR 565 planer */ + MDP_FB_FORMAT, /* framebuffer format */ + MDP_IMGTYPE_LIMIT2 /* Non valid image type after this enum */ +}; + +enum { + PMEM_IMG, + FB_IMG, +}; + +/* mdp_blit_req flag values */ +#define MDP_ROT_NOP 0 +#define MDP_FLIP_LR 0x1 +#define MDP_FLIP_UD 0x2 +#define MDP_ROT_90 0x4 +#define MDP_ROT_180 (MDP_FLIP_UD|MDP_FLIP_LR) +#define MDP_ROT_270 (MDP_ROT_90|MDP_FLIP_UD|MDP_FLIP_LR) +#define MDP_DITHER 0x8 +#define MDP_BLUR 0x10 +#define MDP_BLEND_FG_PREMULT 0x20000 +#define MDP_DEINTERLACE 0x80000000 +#define MDP_SHARPENING 0x40000000 +#define MDP_NO_DMA_BARRIER_START 0x20000000 +#define MDP_NO_DMA_BARRIER_END 0x10000000 +#define MDP_NO_BLIT 0x08000000 +#define MDP_BLIT_WITH_DMA_BARRIERS 0x000 +#define MDP_BLIT_WITH_NO_DMA_BARRIERS \ + (MDP_NO_DMA_BARRIER_START | MDP_NO_DMA_BARRIER_END) +#define MDP_BLIT_SRC_GEM 0x04000000 +#define MDP_BLIT_DST_GEM 0x02000000 +#define MDP_BLIT_NON_CACHED 0x01000000 +#define MDP_OV_PIPE_SHARE 0x00800000 +#define MDP_DEINTERLACE_ODD 0x00400000 +#define MDP_OV_PLAY_NOWAIT 0x00200000 +#define MDP_SOURCE_ROTATED_90 0x00100000 + +#define MDP_TRANSP_NOP 0xffffffff +#define MDP_ALPHA_NOP 0xff + +#define MDP_FB_PAGE_PROTECTION_NONCACHED (0) +#define MDP_FB_PAGE_PROTECTION_WRITECOMBINE (1) +#define MDP_FB_PAGE_PROTECTION_WRITETHROUGHCACHE (2) +#define MDP_FB_PAGE_PROTECTION_WRITEBACKCACHE (3) +#define MDP_FB_PAGE_PROTECTION_WRITEBACKWACACHE (4) +/* Sentinel: Don't use! */ +#define MDP_FB_PAGE_PROTECTION_INVALID (5) +/* Count of the number of MDP_FB_PAGE_PROTECTION_... values. */ +#define MDP_NUM_FB_PAGE_PROTECTION_VALUES (5) + +struct mdp_rect { + uint32_t x; + uint32_t y; + uint32_t w; + uint32_t h; +}; + +struct mdp_img { + uint32_t width; + uint32_t height; + uint32_t format; + uint32_t offset; + int memory_id; /* the file descriptor */ + uint32_t priv; +}; + +/* + * {3x3} + {3} ccs matrix + */ + +#define MDP_CCS_RGB2YUV 0 +#define MDP_CCS_YUV2RGB 1 + +#define MDP_CCS_SIZE 9 +#define MDP_BV_SIZE 3 + +struct mdp_ccs { + int direction; /* MDP_CCS_RGB2YUV or YUV2RGB */ + uint16_t ccs[MDP_CCS_SIZE]; /* 3x3 color coefficients */ + uint16_t bv[MDP_BV_SIZE]; /* 1x3 bias vector */ +}; + +/* The version of the mdp_blit_req structure so that + * user applications can selectively decide which functionality + * to include + */ + +#define MDP_BLIT_REQ_VERSION 2 + +struct mdp_blit_req { + struct mdp_img src; + struct mdp_img dst; + struct mdp_rect src_rect; + struct mdp_rect dst_rect; + uint32_t alpha; + uint32_t transp_mask; + uint32_t flags; + int sharpening_strength; /* -127 <--> 127, default 64 */ +}; + +struct mdp_blit_req_list { + uint32_t count; + struct mdp_blit_req req[]; +}; + +#define MSMFB_DATA_VERSION 2 + +struct msmfb_data { + uint32_t offset; + int memory_id; + int id; + uint32_t flags; + uint32_t priv; +}; + +#define MSMFB_NEW_REQUEST -1 + +struct msmfb_overlay_data { + uint32_t id; + struct msmfb_data data; +}; + +struct msmfb_img { + uint32_t width; + uint32_t height; + uint32_t format; +}; + +struct mdp_overlay { + struct msmfb_img src; + struct mdp_rect src_rect; + struct mdp_rect dst_rect; + uint32_t z_order; /* stage number */ + uint32_t is_fg; /* control alpha & transp */ + uint32_t alpha; + uint32_t transp_mask; + uint32_t flags; + uint32_t id; + uint32_t user_data[8]; +}; + +struct msmfb_overlay_3d { + uint32_t is_3d; + uint32_t width; + uint32_t height; +}; + + +struct msmfb_overlay_blt { + uint32_t enable; + uint32_t offset; + uint32_t width; + uint32_t height; + uint32_t bpp; +}; + +struct mdp_histogram { + uint32_t frame_cnt; + uint32_t bin_cnt; + uint32_t *r; + uint32_t *g; + uint32_t *b; +}; + +struct mdp_page_protection { + uint32_t page_protection; +}; + +#ifdef __KERNEL__ + +/* get the framebuffer physical address information */ +int get_fb_phys_info(unsigned long *start, unsigned long *len, int fb_num); + +#endif + +#endif /*_MSM_MDP_H_*/ diff --git a/kernel b/kernel new file mode 100755 index 0000000..f17a8ab Binary files /dev/null and b/kernel differ diff --git a/overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg b/overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg new file mode 100644 index 0000000..f7fe9f7 Binary files /dev/null and b/overlay/frameworks/base/core/res/res/drawable-hdpi/default_wallpaper.jpg differ diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml new file mode 100644 index 0000000..be10771 --- /dev/null +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -0,0 +1,70 @@ + + + + + + + false + + + 1 + + true + + + com.google.android.location.NetworkLocationProvider + + + com.google.android.location.GeocodeProvider + + + + "usb0" + + + + + "tiap\\d" + + + + + "rmnet\\d" + "tiwlan\\d" + + + + false + + + + 30 + + + + com.android.wallpaper/.nexus.NexusWallpaper + + diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml new file mode 100644 index 0000000..d252ea9 --- /dev/null +++ b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml @@ -0,0 +1,22 @@ + + + + true + true + diff --git a/overlay/frameworks/base/tests/ImfTest/res/values/config.xml b/overlay/frameworks/base/tests/ImfTest/res/values/config.xml new file mode 100644 index 0000000..157d04a --- /dev/null +++ b/overlay/frameworks/base/tests/ImfTest/res/values/config.xml @@ -0,0 +1,21 @@ + + + + true + diff --git a/overlay/packages/apps/CMParts/res/values/config.xml b/overlay/packages/apps/CMParts/res/values/config.xml new file mode 100644 index 0000000..5a68011 --- /dev/null +++ b/overlay/packages/apps/CMParts/res/values/config.xml @@ -0,0 +1,8 @@ + + + + false + true + true + true + diff --git a/overlay/packages/apps/Contacts/res/values/config.xml b/overlay/packages/apps/Contacts/res/values/config.xml new file mode 100644 index 0000000..09b6689 --- /dev/null +++ b/overlay/packages/apps/Contacts/res/values/config.xml @@ -0,0 +1,21 @@ + + + + + + + true + diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_black.png b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_black.png new file mode 100644 index 0000000..49743ec Binary files /dev/null and b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_black.png differ diff --git a/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_black_small.jpg b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_black_small.jpg new file mode 100644 index 0000000..447187d Binary files /dev/null and b/overlay/packages/apps/Launcher2/res/drawable-hdpi/wallpaper_black_small.jpg differ diff --git a/overlay/packages/apps/Launcher2/res/values/config.xml b/overlay/packages/apps/Launcher2/res/values/config.xml new file mode 100644 index 0000000..4c6f12e --- /dev/null +++ b/overlay/packages/apps/Launcher2/res/values/config.xml @@ -0,0 +1,6 @@ + + 50 + 50 + 0 + 0 + diff --git a/overlay/packages/apps/Mms/res/xml/mms_config.xml b/overlay/packages/apps/Mms/res/xml/mms_config.xml new file mode 100644 index 0000000..8b42eab --- /dev/null +++ b/overlay/packages/apps/Mms/res/xml/mms_config.xml @@ -0,0 +1,39 @@ + + + + + + + + 307200 + + + 768 + + + 1024 + + + Passion + + + http://www.htcmms.com.tw/Android/Common/nexusone/ua-profile.xml + + diff --git a/overlay/packages/apps/Phone/res/values/config.xml b/overlay/packages/apps/Phone/res/values/config.xml new file mode 100644 index 0000000..a43df3e --- /dev/null +++ b/overlay/packages/apps/Phone/res/values/config.xml @@ -0,0 +1,41 @@ + + + + + + + + true + true + + + false + + + true + + + true + + + true + + diff --git a/overlay/packages/apps/Settings/res/values/bools.xml b/overlay/packages/apps/Settings/res/values/bools.xml new file mode 100644 index 0000000..61cc79e --- /dev/null +++ b/overlay/packages/apps/Settings/res/values/bools.xml @@ -0,0 +1,23 @@ + + + + + + false + + false + diff --git a/prebuilt/bootrec b/prebuilt/bootrec new file mode 100755 index 0000000..77aaa14 --- /dev/null +++ b/prebuilt/bootrec @@ -0,0 +1,33 @@ +#!/sbin/sh + +cat /dev/input/event1 > /dev/keycheck& +sleep 3 +kill -9 $! +if [ -s /dev/keycheck -o -e /cache/recovery/boot ] +then +# fixing CPU clocks to avoid issues in recovery +echo 1024000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq +echo 245000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + +rm /cache/recovery/boot +mount -o remount,rw rootfs / +umount -l /system +umount -l /data +umount -l /cache +umount -l /mnt/sdcard +rm -r /sdcard +rm -r /not/sdcard +mkdir /sdcard +mkdir /tmp +rm /etc +mkdir /etc +cp /recovery.fstab /etc/recovery.fstab +mount /dev/block/mmcblk0p1 /sdcard +/sbin/recovery & +/sbin/adbd recovery +fi + +/system/bin/chargemon + +#continue booting + diff --git a/prebuilt/hw_config.sh b/prebuilt/hw_config.sh new file mode 100644 index 0000000..a674715 --- /dev/null +++ b/prebuilt/hw_config.sh @@ -0,0 +1,58 @@ +# Audio jack configuration +dev=/sys/devices/platform/simple_remote.0 +echo 0,201,1600 > $dev/accessory_min_vals # default = 0,200,1600 +echo 200,1599 > $dev/accessory_max_vals # default = 200,1600 +echo 0,100,280,500,700 > $dev/button_min_vals # default = 0,100,300,600,700 +echo 99,199,399,699,5000 > $dev/button_max_vals # default = 99,199,399,699,5000 +echo 512 > $dev/btn_trig_period_freq # Button Period Freq(Hz) default = 512 +echo 16 > $dev/btn_trig_period_time # Button Period Time(cycle) default = 16 +echo 512 > $dev/btn_trig_hyst_freq # Button Hysteresis Freq(Hz) default = 512 +echo 16 > $dev/btn_trig_hyst_time # Button Hysteresis Time(Cycle) default = 16 +echo 500 > $dev/btn_trig_level # default = 500 + +# Proximity sensor configuration +dev=/sys/bus/i2c/devices/0-0054 +hwid=`cat /sys/class/hwid/hwid` +case $hwid in + 0x0a) + val_cycle=2 + val_nburst=7 + val_freq=3 + val_threshold=15 + val_filter=0 + ;; + *) + val_cycle=2 + val_nburst=8 + val_freq=2 + val_threshold=15 + val_filter=0 + ;; +esac + +nv_param_loader 60240 prox_cal +val_calibrated=$? +case $val_calibrated in + 1) + nv_param_loader 60240 threshold + val_threshold=$? + nv_param_loader 60240 rfilter + val_filter=$? + ;; +esac + +echo $val_cycle > $dev/cycle # Duration Cycle. Valid range is 0 - 3. +echo $val_nburst > $dev/nburst # Number of pulses in burst. Valid range is 0 - 15. +echo $val_freq > $dev/freq # Burst frequency. Valid range is 0 - 3. +echo $val_threshold > $dev/threshold # sensor threshold. Valid range is 0 - 15 (0.12V - 0.87V) +echo $val_filter > $dev/filter # RFilter. Valid range is 0 - 3. + +# LMU AS3676 Configuration +dev=/sys/devices/i2c-0/0-0040/leds +echo 1,65,255,24,24,5,128 > $dev/lcd-backlight/als/curve # ALS curve for group1 +echo 2,0,0,0 > $dev/lcd-backlight/als/params #[gain],[filter_up],[filter_down],[offset] +echo 1 > $dev/lcd-backlight/als/enable #Sensor on/off. 1 = on, reg 90h +echo 450 > $dev/button-backlight/max_current + +# TI BQ275xx firmware loader +bq275xx_fwloader diff --git a/prebuilt/media_profiles.xml b/prebuilt/media_profiles.xml new file mode 100644 index 0000000..beb7061 --- /dev/null +++ b/prebuilt/media_profiles.xml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/recovery.fstab b/recovery.fstab new file mode 100644 index 0000000..fb79c26 --- /dev/null +++ b/recovery.fstab @@ -0,0 +1,8 @@ +# mount point fstype device [device2] fstype2 + +/cache yaffs2 cache +/data yaffs2 userdata +/system yaffs2 system +/sdcard vfat /dev/block/mmcblk0p1 +/sd-ext auto /dev/block/mmcblk0p2 + diff --git a/setup-makefiles.sh b/setup-makefiles.sh new file mode 100755 index 0000000..f88639d --- /dev/null +++ b/setup-makefiles.sh @@ -0,0 +1,246 @@ +#!/bin/sh + +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +VENDOR=semc +DEVICE=urushi + +(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk + +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This file is generated by device/__VENDOR__/__DEVICE__/extract-files.sh + +# Prebuilt libraries that are needed to build open-source libraries + +# Prebuilt kl keymaps +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/qwerty.kcm.bin:system/usr/keychars/qwerty.kcm.bin \\ +vendor/__VENDOR__/__DEVICE__/proprietary/qwerty2.kcm.bin:system/usr/keychars/qwerty2.kcm.bin \\ +vendor/__VENDOR__/__DEVICE__/proprietary/atdaemon.kl:system/usr/keylayout/atdaemon.kl \\ +vendor/__VENDOR__/__DEVICE__/proprietary/AVRCP.kl:system/usr/keylayout/AVRCP.kl \\ +vendor/__VENDOR__/__DEVICE__/proprietary/msm_pmic_pwr_key.kl:system/usr/keylayout/msm_pmic_pwr_key.kl \\ +vendor/__VENDOR__/__DEVICE__/proprietary/pm8058-keypad.kl:system/usr/keylayout/pm8058-keypad.kl \\ +vendor/__VENDOR__/__DEVICE__/proprietary/qwerty.kl:system/usr/keylayout/qwerty.kl \\ +vendor/__VENDOR__/__DEVICE__/proprietary/simple_remote.kl:system/usr/keylayout/simple_remote.kl + + +## RIL related stuff +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libril.so:system/lib/libril.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/port-bridge:system/bin/port-bridge \\ +vendor/__VENDOR__/__DEVICE__/proprietary/qmuxd:system/bin/qmuxd \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libauth.so:system/lib/libauth.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcm.so:system/lib/libcm.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libdiag.so:system/lib/libdiag.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libdll.so:system/lib/libdll.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libdsm.so:system/lib/libdsm.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libdss.so:system/lib/libdss.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libgsdi_exp.so:system/lib/libgsdi_exp.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libgstk_exp.so:system/lib/libgstk_exp.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libmmgsdilib.so:system/lib/libmmgsdilib.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libnv.so:system/lib/libnv.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/liboem_rapi.so:system/lib/liboem_rapi.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/liboncrpc.so:system/lib/liboncrpc.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libpbmlib.so:system/lib/libpbmlib.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libqmi.so:system/lib/libqmi.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libqueue.so:system/lib/libqueue.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libuim.so:system/lib/libuim.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libreference-ril.so:system/lib/libreference-ril.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libril-qc-1.so:system/lib/libril-qc-1.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libwms.so:system/lib/libwms.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libwmsts.so:system/lib/libwmsts.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libdsi_netctrl.so:system/lib/libdsi_netctrl.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libdsutils.so:system/lib/libdsutils.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libidl.so:system/lib/libidl.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libnetmgr.so:system/lib/libnetmgr.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libqdp.so:system/lib/libqdp.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/netmgrd:system/bin/netmgrd + +## Camera proprietaries +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/liboemcamera.so:system/lib/liboemcamera.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcamera.so:obj/lib/libcamera.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcamera.so:system/lib/libcamera.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcamera_clientsemc.so:system/lib/libcamera_clientsemc.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libopencore_common.so:system/lib/libopencore_common.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libmmjpeg.so:system/lib/libmmjpeg.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libmmipl.so:system/lib/libmmipl.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_api.so:system/lib/libcald_api.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_client.so:system/lib/libcald_client.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_debugger.so:system/lib/libcald_debugger.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_hal.so:system/lib/libcald_hal.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_imageutil.so:system/lib/libcald_imageutil.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_omxcamera.so:system/lib/libcald_omxcamera.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_omxcamera_plugin.so:system/lib/libcald_omxcamera_plugin.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_pal.so:system/lib/libcald_pal.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcald_server.so:system/lib/libcald_server.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcameraextensionclient.so:system/lib/libcameraextensionclient.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcameraextensionjni.so:system/lib/libcameraextensionjni.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcameraextensionservice.so:system/lib/libcameraextensionservice.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libface.so:system/lib/libface.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libgemini.so:system/lib/libgemini.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libcameralight.so:system/lib/libcameralight.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/default_flash.dat:system/usr/semc/camera/default_flash.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/LGI08BN0.dat:system/usr/semc/camera/LGI08BN0.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/SOD08BN0.dat:system/usr/semc/camera/SOD08BN0.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/SOD08BN0_DW9714.dat:system/usr/semc/camera/SOD08BN0_DW9714.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/SOD08BN0_IMX073.dat:system/usr/semc/camera/SOD08BN0_IMX073.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/SOD08BN1.dat:system/usr/semc/camera/SOD08BN1.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/SOD08BN1_DW9714.dat:system/usr/semc/camera/SOD08BN1_DW9714.dat \\ +vendor/__VENDOR__/__DEVICE__/proprietary/SOD08BN1_IMX105.dat:system/usr/semc/camera/SOD08BN1_IMX105.dat + + + +## FIRMWARE +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/bq27520_fw-0501_filever-0107_proj-anzu_golden.bqfs:system/etc/firmware/bq27520_fw-0501_filever-0107_proj-anzu_golden.bqfs \\ +vendor/__VENDOR__/__DEVICE__/proprietary/bq27520_fw-0501_filever-0107_proj-anzu_golden.dffs:system/etc/firmware/bq27520_fw-0501_filever-0107_proj-anzu_golden.dffs \\ +vendor/__VENDOR__/__DEVICE__/proprietary/fm_rx_init_1273.1.bts:system/etc/firmware/fm_rx_init_1273.1.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/fm_rx_init_1273.2.bts:system/etc/firmware/fm_rx_init_1273.2.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/fm_tx_init_1273.1.bts:system/etc/firmware/fm_tx_init_1273.1.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/fm_tx_init_1273.2.bts:system/etc/firmware/fm_tx_init_1273.2.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/fmc_init_1273.1.bts:system/etc/firmware/fmc_init_1273.1.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/fmc_init_1273.2.bts:system/etc/firmware/fmc_init_1273.2.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/TIInit_7.5.20.bts:system/etc/firmware/TIInit_7.5.20.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/TIInit_7.6.15.bts:system/etc/firmware/TIInit_7.6.15.bts \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_command_control.fw:system/etc/firmware/vidc_720p_command_control.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_h263_dec_mc.fw:system/etc/firmware/vidc_720p_h263_dec_mc.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_h264_dec_mc.fw:system/etc/firmware/vidc_720p_h264_dec_mc.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_h264_enc_mc.fw:system/etc/firmware/vidc_720p_h264_enc_mc.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_mp4_dec_mc.fw:system/etc/firmware/vidc_720p_mp4_dec_mc.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_mp4_enc_mc.fw:system/etc/firmware/vidc_720p_mp4_enc_mc.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vidc_720p_vc1_dec_mc.fw:system/etc/firmware/vidc_720p_vc1_dec_mc.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/yamato_pfp.fw:system/etc/firmware/yamato_pfp.fw \\ +vendor/__VENDOR__/__DEVICE__/proprietary/yamato_pm4.fw:system/etc/firmware/yamato_pm4.fw + +## WIFI & BT TI1271 +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/hciattach:system/bin/hciattach \\ +vendor/__VENDOR__/__DEVICE__/proprietary/init.qcom.bt.sh:system/etc/init.bt.sh \\ +vendor/__VENDOR__/__DEVICE__/proprietary/tiwlan.ini:system/etc/wifi/tiwlan.ini \\ +vendor/__VENDOR__/__DEVICE__/proprietary/tiwlan_firmware.bin:system/etc/wifi/tiwlan_firmware.bin \\ +vendor/__VENDOR__/__DEVICE__/proprietary/tiwlan_ap.ini:system/etc/wifi/softap/tiwlan_ap.ini \\ +vendor/__VENDOR__/__DEVICE__/proprietary/softap_firmware.bin:system/etc/wifi/softap/tiwlan_firmware_ap.bin \\ +vendor/__VENDOR__/__DEVICE__/proprietary/nvimport:system/bin/nvimport + + +## Other libraries and proprietary binaries +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libaudioalsa.so:obj/lib/libaudioalsa.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libaudioalsa.so:system/lib/libaudioalsa.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libaudioeq.so:system/lib/libaudioeq.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/als_curve.conf:system/etc/als_curve.conf \\ +vendor/__VENDOR__/__DEVICE__/proprietary/vold.fstab:system/etc/vold.fstab \\ +vendor/__VENDOR__/__DEVICE__/proprietary/sensors.conf:system/etc/sensors.conf \\ +vendor/__VENDOR__/__DEVICE__/proprietary/sensors.default.so:system/lib/hw/sensors.semc.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/bq275xx_fwloader:system/bin/bq275xx_fwloader \\ +vendor/__VENDOR__/__DEVICE__/proprietary/hdmid:system/bin/hdmid \\ +vendor/__VENDOR__/__DEVICE__/proprietary/akmd8975:system/bin/akmd8975 \\ +vendor/__VENDOR__/__DEVICE__/proprietary/touchd:system/bin/touchd + +#offline charging animation +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/chargemon:system/bin/chargemon \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libmiscta.so:system/lib/libmiscta.so + +#Temporary GPS Fix untill we have 50001 gps +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/gps.msm7x30.so:system/lib/hw/gps.semc.so + +#touch +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/touch_anzu_sharp_type1.hex:system/etc/firmware/touch_anzu_sharp_type1.hex \\ +vendor/__VENDOR__/__DEVICE__/proprietary/touch_anzu_sharp_type2.hex:system/etc/firmware/touch_anzu_sharp_type2.hex \\ +vendor/__VENDOR__/__DEVICE__/proprietary/touch_anzu_sony_type1.hex:system/etc/firmware/touch_anzu_sony_type1.hex \\ +vendor/__VENDOR__/__DEVICE__/proprietary/touch_anzu_sony_type2.hex:system/etc/firmware/touch_anzu_sony_type2.hex + +## Adreno 200 files +PRODUCT_COPY_FILES += \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libgsl.so:system/lib/libgsl.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libGLESv1_CM_adreno200.so:system/lib/egl/libGLESv1_CM_adreno200.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libq3dtools_adreno200.so:system/lib/egl/libq3dtools_adreno200.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libEGL_adreno200.so:system/lib/egl/libEGL_adreno200.so \\ +vendor/__VENDOR__/__DEVICE__/proprietary/libGLESv2_adreno200.so:system/lib/egl/libGLESv2_adreno200.so + + +EOF + +(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$DEVICE/$DEVICE-vendor.mk +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This file is generated by device/__VENDOR__/__DEVICE__/setup-makefiles.sh + +# Live wallpaper packages +PRODUCT_PACKAGES += \\ + LiveWallpapers \\ + LiveWallpapersPicker \\ + MagicSmokeWallpapers \\ + VisualizationWallpapers + +# Publish that we support the live wallpaper feature. +PRODUCT_COPY_FILES += \\ + packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:/system/etc/permissions/android.software.live_wallpaper.xml + +# Pick up overlay for features that depend on non-open-source files +DEVICE_PACKAGE_OVERLAYS += vendor/__VENDOR__/__DEVICE__/overlay + +\$(call inherit-product, vendor/__VENDOR__/__DEVICE__/__DEVICE__-vendor-blobs.mk) +EOF + +(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__VENDOR__/$VENDOR/g > ../../../vendor/$VENDOR/$DEVICE/BoardConfigVendor.mk + +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This file is generated by device/__VENDOR__/__DEVICE__/setup-makefiles.sh + +USE_CAMERA_STUB := false +EOF diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..36dfa93 --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1 @@ +add_lunch_combo urushi-userdebug