summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbootable/bootloader/lk/platform/msm7k/panel_ili9486.c84
-rwxr-xr-xbootable/bootloader/lk/target/msm7627_sku5/tools/mkheaderbin8895 -> 0 bytes
-rw-r--r--bootable/recovery/recovery.c36
-rw-r--r--build/core/Makefile10
-rw-r--r--build/envsetup.sh2
-rw-r--r--device/qcom/common/cdrom/Android.mk29
-rw-r--r--device/qcom/common/cdrom/cdrom_files/QCUSBNetworkCombo1064.tar.bz2bin0 -> 4914893 bytes
-rw-r--r--device/qcom/common/cdrom/cdrom_files/adb_usb_driver.tar.bz2bin0 -> 6508621 bytes
-rwxr-xr-xdevice/qcom/common/libsensors/ASensorBMA220.cpp1
-rwxr-xr-xdevice/qcom/common/libsensors/ASensorBMA220.h1
-rwxr-xr-x[-rw-r--r--]device/qcom/common/libsensors/AccelSensor.cpp33
-rwxr-xr-xdevice/qcom/common/libsensors/AccelSensor.h11
-rw-r--r--device/qcom/common/libsensors/Android.mk41
-rwxr-xr-xdevice/qcom/common/libsensors/GyroSensor.cpp11
-rwxr-xr-xdevice/qcom/common/libsensors/GyroSensor.h3
-rwxr-xr-xdevice/qcom/common/libsensors/InputEventReader.cpp1
-rwxr-xr-xdevice/qcom/common/libsensors/InputEventReader.h1
-rwxr-xr-xdevice/qcom/common/libsensors/LSensorAL3003.cpp2
-rwxr-xr-xdevice/qcom/common/libsensors/LSensorAL3003.h1
-rwxr-xr-xdevice/qcom/common/libsensors/LightSensor.cpp5
-rwxr-xr-xdevice/qcom/common/libsensors/LightSensor.h3
-rwxr-xr-xdevice/qcom/common/libsensors/MSensorYAS529.cpp1
-rwxr-xr-xdevice/qcom/common/libsensors/MSensorYAS529.h1
-rwxr-xr-xdevice/qcom/common/libsensors/MagvSensor.cpp27
-rwxr-xr-xdevice/qcom/common/libsensors/MagvSensor.h1
-rwxr-xr-xdevice/qcom/common/libsensors/OSensorYAS529.cpp1
-rwxr-xr-xdevice/qcom/common/libsensors/OSensorYAS529.h1
-rwxr-xr-xdevice/qcom/common/libsensors/OrientSensor.cpp10
-rwxr-xr-xdevice/qcom/common/libsensors/OrientSensor.h1
-rwxr-xr-xdevice/qcom/common/libsensors/PSensorAL3003.cpp1
-rwxr-xr-xdevice/qcom/common/libsensors/PSensorAL3003.h1
-rwxr-xr-xdevice/qcom/common/libsensors/ProximitySensor.cpp5
-rwxr-xr-xdevice/qcom/common/libsensors/ProximitySensor.h1
-rwxr-xr-xdevice/qcom/common/libsensors/SensorBase.cpp127
-rwxr-xr-xdevice/qcom/common/libsensors/SensorBase.h13
-rwxr-xr-xdevice/qcom/common/libsensors/sensors.cpp102
-rwxr-xr-xdevice/qcom/common/libsensors/sensors.h1
-rw-r--r--device/qcom/msm7625_sku1/7k_handset.kl29
-rw-r--r--device/qcom/msm7625_sku1/Android.mk4
-rw-r--r--device/qcom/msm7625_sku1/AndroidBoard.mk64
-rw-r--r--device/qcom/msm7625_sku1/AndroidProducts.mk3
-rw-r--r--device/qcom/msm7625_sku1/BoardConfig.mk90
-rw-r--r--device/qcom/msm7625_sku1/Makefile18
-rw-r--r--device/qcom/msm7625_sku1/definitions.mk41
-rw-r--r--device/qcom/msm7625_sku1/egl.cfg1
-rw-r--r--device/qcom/msm7625_sku1/include/board_gpio.h91
-rwxr-xr-xdevice/qcom/msm7625_sku1/include/board_input.h69
-rw-r--r--device/qcom/msm7625_sku1/include/board_pm.h52
-rw-r--r--device/qcom/msm7625_sku1/msm7625_sku1.mk4
-rw-r--r--device/qcom/msm7625_sku1/msm7625_sku1_keypad.kcm64
-rw-r--r--device/qcom/msm7625_sku1/msm7625_sku1_keypad.kl16
-rw-r--r--device/qcom/msm7625_sku1/qcom_custom.mk125
-rw-r--r--device/qcom/msm7625_sku1/recovery.fstab36
-rw-r--r--device/qcom/msm7625_sku1/recovery_mmc.fstab36
-rw-r--r--device/qcom/msm7625_sku1/scripts/a11.cmm21
-rw-r--r--device/qcom/msm7625_sku1/scripts/a9.cmm15
-rw-r--r--device/qcom/msm7625_sku1/scripts/boot.cmm22
-rw-r--r--device/qcom/msm7625_sku1/scripts/c11.cmm15
-rw-r--r--device/qcom/msm7625_sku1/scripts/c9.cmm15
-rw-r--r--device/qcom/msm7625_sku1/scripts/chain.cmm73
-rw-r--r--device/qcom/msm7625_sku1/scripts/dcc.cmm21
-rw-r--r--device/qcom/msm7625_sku1/scripts/debug.cmm74
-rw-r--r--device/qcom/msm7625_sku1/scripts/debug_android.cmm178
-rw-r--r--device/qcom/msm7625_sku1/scripts/flash.cmm70
-rw-r--r--device/qcom/msm7625_sku1/scripts/flashall.cmm36
-rw-r--r--device/qcom/msm7625_sku1/scripts/flashbootimg.cmm139
-rw-r--r--device/qcom/msm7625_sku1/scripts/flashsystem.cmm7
-rw-r--r--device/qcom/msm7625_sku1/scripts/irqtest.cmm4
-rw-r--r--device/qcom/msm7625_sku1/scripts/linux.cmm82
-rw-r--r--device/qcom/msm7625_sku1/scripts/setup.cmm85
-rw-r--r--device/qcom/msm7625_sku1/scripts/usb.cmm22
-rw-r--r--device/qcom/msm7625_sku1/system.prop102
-rw-r--r--device/qcom/msm7625_sku1/vendorsetup.sh38
-rw-r--r--device/qcom/msm7625_sku1/vold.fstab28
-rw-r--r--device/qcom/msm7625_sku1/wpa_supplicant.conf840
-rw-r--r--device/qcom/msm7625_sku3/7k_handset.kl29
-rw-r--r--device/qcom/msm7625_sku3/Android.mk5
-rw-r--r--device/qcom/msm7625_sku3/AndroidBoard.mk63
-rw-r--r--device/qcom/msm7625_sku3/AndroidProducts.mk3
-rw-r--r--device/qcom/msm7625_sku3/BoardConfig.mk84
-rw-r--r--device/qcom/msm7625_sku3/definitions.mk41
-rw-r--r--device/qcom/msm7625_sku3/egl.cfg1
-rwxr-xr-xdevice/qcom/msm7625_sku3/include/board_gpio.h82
-rw-r--r--device/qcom/msm7625_sku3/include/board_input.h261
-rw-r--r--device/qcom/msm7625_sku3/include/board_pm.h38
-rw-r--r--device/qcom/msm7625_sku3/libsensors/AkmAotController.cpp160
-rw-r--r--device/qcom/msm7625_sku3/libsensors/AkmAotController.h55
-rw-r--r--device/qcom/msm7625_sku3/libsensors/AkmSensor.cpp326
-rw-r--r--device/qcom/msm7625_sku3/libsensors/AkmSensor.h77
-rw-r--r--device/qcom/msm7625_sku3/libsensors/Android.mk49
-rw-r--r--device/qcom/msm7625_sku3/libsensors/Bma250Sensor.cpp349
-rw-r--r--device/qcom/msm7625_sku3/libsensors/Bma250Sensor.h58
-rw-r--r--device/qcom/msm7625_sku3/libsensors/InputEventReader.cpp88
-rw-r--r--device/qcom/msm7625_sku3/libsensors/InputEventReader.h47
-rw-r--r--device/qcom/msm7625_sku3/libsensors/SensorBase.cpp129
-rw-r--r--device/qcom/msm7625_sku3/libsensors/SensorBase.h69
-rw-r--r--device/qcom/msm7625_sku3/libsensors/sensors.cpp373
-rw-r--r--device/qcom/msm7625_sku3/libsensors/sensors.h134
-rw-r--r--device/qcom/msm7625_sku3/msm7625_sku3.mk4
-rwxr-xr-xdevice/qcom/msm7625_sku3/msm7625_sku3_keypad.kcm36
-rwxr-xr-xdevice/qcom/msm7625_sku3/msm7625_sku3_keypad.kl53
-rw-r--r--device/qcom/msm7625_sku3/qcom_custom.mk125
-rw-r--r--device/qcom/msm7625_sku3/recovery.fstab36
-rw-r--r--device/qcom/msm7625_sku3/recovery_mmc.fstab36
-rw-r--r--device/qcom/msm7625_sku3/scripts/a11.cmm21
-rw-r--r--device/qcom/msm7625_sku3/scripts/a9.cmm15
-rw-r--r--device/qcom/msm7625_sku3/scripts/boot.cmm22
-rw-r--r--device/qcom/msm7625_sku3/scripts/c11.cmm15
-rw-r--r--device/qcom/msm7625_sku3/scripts/c9.cmm15
-rw-r--r--device/qcom/msm7625_sku3/scripts/chain.cmm73
-rw-r--r--device/qcom/msm7625_sku3/scripts/dcc.cmm21
-rw-r--r--device/qcom/msm7625_sku3/scripts/debug.cmm74
-rw-r--r--device/qcom/msm7625_sku3/scripts/debug_android.cmm178
-rw-r--r--device/qcom/msm7625_sku3/scripts/flash.cmm70
-rw-r--r--device/qcom/msm7625_sku3/scripts/flashall.cmm36
-rw-r--r--device/qcom/msm7625_sku3/scripts/flashbootimg.cmm139
-rw-r--r--device/qcom/msm7625_sku3/scripts/flashsystem.cmm7
-rw-r--r--device/qcom/msm7625_sku3/scripts/irqtest.cmm4
-rw-r--r--device/qcom/msm7625_sku3/scripts/linux.cmm82
-rw-r--r--device/qcom/msm7625_sku3/scripts/setup.cmm85
-rw-r--r--device/qcom/msm7625_sku3/scripts/usb.cmm22
-rw-r--r--device/qcom/msm7625_sku3/system.prop105
-rw-r--r--device/qcom/msm7625_sku3/vendorsetup.sh38
-rw-r--r--device/qcom/msm7625_sku3/vold.fstab28
-rw-r--r--device/qcom/msm7625_sku3/wpa_supplicant.conf840
-rw-r--r--device/qcom/msm7627_sku2/BoardConfig.mk3
-rwxr-xr-xdevice/qcom/msm7627_sku2/include/board_input.h6
-rwxr-xr-x[-rw-r--r--]device/qcom/msm7627_sku2/msm7627_sku2_keypad.kl0
-rwxr-xr-x[-rw-r--r--]device/qcom/msm7627_sku2/scripts/debug_android.cmm356
-rwxr-xr-xdevice/qcom/msm7627_sku2/sw_ver.txt2
-rw-r--r--device/qcom/msm7627_sku2/system.prop2
-rw-r--r--device/qcom/msm7627_sku2/vendorsetup.sh30
-rwxr-xr-xdevice/qcom/msm7627_sku5/BoardConfig.mk3
-rwxr-xr-xdevice/qcom/msm7627_sku5/include/board_pm.h5
-rwxr-xr-xdevice/qcom/msm7627_sku5/sw_ver.txt2
-rwxr-xr-xdevice/qcom/msm7627_sku5/system.prop2
-rwxr-xr-xframeworks/base/core/java/android/content/Intent.java1
-rwxr-xr-xframeworks/base/core/java/android/hardware/fmradio/FmConfig.java2
-rwxr-xr-xframeworks/base/core/java/android/hardware/fmradio/FmRxControls.java2
-rwxr-xr-xframeworks/base/core/java/android/hardware/fmradio/FmRxEventListner.java2
-rwxr-xr-xframeworks/base/core/java/android/inputmethodservice/InputMethodService.java1
-rw-r--r--frameworks/base/core/java/android/provider/CallLog.java1
-rw-r--r--frameworks/base/core/java/android/provider/ContactsContract.java4
-rw-r--r--frameworks/base/core/java/android/view/IWindowManager.aidl2
-rwxr-xr-xframeworks/base/core/java/android/view/WindowOrientationListener.java2
-rw-r--r--frameworks/base/core/java/android/webkit/WebViewCore.java2
-rwxr-xr-x[-rw-r--r--]frameworks/base/core/java/android/widget/AbsListView.java15
-rwxr-xr-x[-rw-r--r--]frameworks/base/core/java/android/widget/GridView.java73
-rwxr-xr-x[-rw-r--r--]frameworks/base/core/jni/Android.mk3
-rwxr-xr-x[-rw-r--r--]frameworks/base/core/jni/AndroidRuntime.cpp6
-rw-r--r--frameworks/base/core/jni/android_net_wifi_Wifi.cpp1
-rwxr-xr-xframeworks/base/core/jni/libgridview_QMemOpt/Android.mk51
-rwxr-xr-xframeworks/base/core/jni/libgridview_QMemOpt/libgridview_QMemOpt.cpp298
-rw-r--r--frameworks/base/core/res/res/layout/recent_apps_dialog.xml5
-rw-r--r--frameworks/base/core/res/res/values-zh-rCN/strings.xml17
-rwxr-xr-xframeworks/base/core/res/res/values/attrs.xml4
-rw-r--r--frameworks/base/core/res/res/values/public.xml16
-rw-r--r--frameworks/base/core/res/res/values/strings.xml16
-rw-r--r--frameworks/base/core/res/res/xml/apns.xml1
-rwxr-xr-x[-rw-r--r--]frameworks/base/data/sounds/OriginalAudio.mk4
-rwxr-xr-x[-rw-r--r--]frameworks/base/graphics/java/android/graphics/BitmapFactory.java4
-rw-r--r--frameworks/base/include/media/stagefright/DataSource.h4
-rw-r--r--frameworks/base/include/private/surfaceflinger/SharedBufferStack.h35
-rw-r--r--frameworks/base/libs/surfaceflinger_client/SharedBufferStack.cpp39
-rw-r--r--frameworks/base/libs/ui/EventHub.cpp16
-rw-r--r--frameworks/base/media/java/android/media/AudioManager.java1
-rwxr-xr-xframeworks/base/media/java/android/media/AudioSystem.java1
-rw-r--r--frameworks/base/media/java/android/media/MediaScanner.java1
-rw-r--r--frameworks/base/media/java/android/media/RingtoneManager.java1
-rw-r--r--frameworks/base/media/libmedia/AudioTrack.cpp2
-rwxr-xr-x[-rw-r--r--]frameworks/base/media/libstagefright/AudioPlayer.cpp13
-rwxr-xr-xframeworks/base/media/libstagefright/AwesomePlayer.cpp11
-rw-r--r--frameworks/base/media/libstagefright/DataSource.cpp14
-rw-r--r--frameworks/base/media/libstagefright/NuCachedSource2.cpp6
-rw-r--r--frameworks/base/media/libstagefright/include/NuCachedSource2.h4
-rw-r--r--frameworks/base/packages/SettingsProvider/res/values/defaults.xml1
-rw-r--r--frameworks/base/packages/SystemUI/AndroidManifest.xml19
-rw-r--r--frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml1
-rw-r--r--frameworks/base/packages/SystemUI/res/values-zh-rCN/array.xml35
-rw-r--r--frameworks/base/packages/SystemUI/res/values-zh-rCN/strings.xml16
-rw-r--r--frameworks/base/packages/SystemUI/res/values/array.xml35
-rw-r--r--frameworks/base/packages/SystemUI/res/values/strings.xml7
-rwxr-xr-x[-rw-r--r--]frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CarrierLabel.java43
-rwxr-xr-xframeworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java1
-rw-r--r--frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java1
-rw-r--r--frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageMountChoser.java141
-rw-r--r--frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java65
-rw-r--r--frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java13
-rw-r--r--frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java19
-rw-r--r--frameworks/base/policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java1
-rwxr-xr-xframeworks/base/services/audioflinger/AudioPolicyManagerBase.cpp11
-rw-r--r--frameworks/base/services/camera/libcameraservice/CameraService.cpp147
-rw-r--r--frameworks/base/services/camera/libcameraservice/CameraService.h6
-rwxr-xr-xframeworks/base/services/java/com/android/server/CNE.java2
-rw-r--r--[-rwxr-xr-x]frameworks/base/services/java/com/android/server/ConnectivityService.java6
-rw-r--r--[-rwxr-xr-x]frameworks/base/services/java/com/android/server/MasterClearReceiver.java16
-rw-r--r--frameworks/base/services/java/com/android/server/MountService.java14
-rwxr-xr-xframeworks/base/services/java/com/android/server/WifiService.java1
-rw-r--r--frameworks/base/services/java/com/android/server/WindowManagerService.java11
-rw-r--r--frameworks/base/services/java/com/android/server/connectivity/Tethering.java37
-rwxr-xr-xframeworks/base/services/java/com/android/server/location/GpsLocationProvider.java1
-rwxr-xr-xframeworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp1
-rw-r--r--frameworks/base/services/surfaceflinger/LayerBase.cpp4
-rw-r--r--frameworks/base/services/surfaceflinger/LayerBase.h1
-rw-r--r--[-rwxr-xr-x]frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp19
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/AdnRecord.java1
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/AdnRecordCache.java1
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/DataConnectionTracker.java4
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/GsmAlphabet.java1
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/MMDataConnectionTracker.java26
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/ProxyManager.java148
-rw-r--r--frameworks/base/telephony/java/com/android/internal/telephony/cat/ResponseData.java1
-rw-r--r--frameworks/base/wifi/java/android/net/wifi/WifiNative.java1
-rw-r--r--frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java1
-rwxr-xr-x[-rw-r--r--]hardware/focaltech/touchpanel/ft5202/firmware/touch_ft5202_fm_25.binbin17825 -> 17825 bytes
-rwxr-xr-x[-rw-r--r--]hardware/focaltech/touchpanel/ft5202/init.focaltech.sh0
-rwxr-xr-x[-rw-r--r--]hardware/msm7k/libgralloc-qsd8k/Android.mk4
-rwxr-xr-x[-rw-r--r--]hardware/msm7k/libgralloc-qsd8k/gralloc.cpp7
-rwxr-xr-x[-rw-r--r--]kernel/arch/arm/configs/msm7627_sku2-perf_defconfig28
-rwxr-xr-xkernel/arch/arm/mach-msm/board-msm7x27-sku5.c155
-rwxr-xr-xkernel/arch/arm/mach-msm/board-msm7x27.c50
-rw-r--r--kernel/arch/arm/mach-msm/include/mach/debug_mm.h6
-rwxr-xr-x[-rw-r--r--]kernel/arch/arm/mach-msm/include/mach/oem_rapi_client.h1
-rw-r--r--kernel/arch/arm/mach-msm/msm_vibrator.c53
-rwxr-xr-x[-rw-r--r--]kernel/arch/arm/mach-msm/oem_rapi_client.c2
-rw-r--r--kernel/arch/arm/mach-msm/pm2.c23
-rw-r--r--kernel/arch/arm/mach-msm/proc_comm.h4
-rw-r--r--kernel/arch/arm/mach-msm/qdsp5/audio_aac.c15
-rw-r--r--[-rwxr-xr-x]kernel/arch/arm/mach-msm/wlan_power_ctrl-ar6003.c201
-rw-r--r--kernel/drivers/cpufreq/cpufreq_ondemand.c2
-rwxr-xr-xkernel/drivers/input/touchscreen/ft5202.c19
-rw-r--r--kernel/drivers/leds/leds-msm-pmic.c46
-rwxr-xr-xkernel/drivers/leds/qrd-leds-msm-pmic.c253
-rw-r--r--kernel/drivers/media/radio/radio-rda5802n.c9
-rw-r--r--kernel/drivers/media/radio/radio-rda5802n.h9
-rwxr-xr-x[-rw-r--r--]kernel/drivers/media/video/msm/flash.c5
-rwxr-xr-x[-rw-r--r--]kernel/drivers/media/video/msm/ov5640.c1472
-rwxr-xr-x[-rw-r--r--]kernel/drivers/media/video/msm/ov5640.h1776
-rwxr-xr-xkernel/drivers/media/video/msm/s5k5cag.c42
-rw-r--r--[-rwxr-xr-x]kernel/drivers/power/msm_battery.c99
-rwxr-xr-x[-rw-r--r--]kernel/drivers/staging/ramzswap/ramzswap_drv.c22
-rw-r--r--kernel/drivers/usb/gadget/f_mass_storage.c3
-rw-r--r--kernel/drivers/usb/otg/msm72k_otg.c4
-rwxr-xr-xkernel/drivers/video/msm/lcdc_spi_panel.c2
-rw-r--r--kernel/include/linux/usb/android_composite.h2
-rwxr-xr-xkernel/include/media/msm_camera.h2
-rw-r--r--kernel/kernel/power/Kconfig38
-rw-r--r--packages/apps/Bluetooth/res/values-zh-rCN/strings.xml6
-rw-r--r--packages/apps/Browser/src/com/android/browser/HistoryItem.java1
-rw-r--r--packages/apps/Calendar/res/layout/edit_event.xml2
-rw-r--r--packages/apps/Calendar/res/values-zh-rCN/strings.xml2
-rw-r--r--packages/apps/Calendar/src/com/android/calendar/AlertService.java4
-rwxr-xr-x[-rw-r--r--]packages/apps/Camera/res/values-zh-rCN/strings.xml31
-rwxr-xr-xpackages/apps/Camera/res/values/strings.xml4
-rwxr-xr-xpackages/apps/Camera/src/com/android/camera/CameraSettings.java8
-rwxr-xr-xpackages/apps/Camera/src/com/android/camera/VideoCamera.java22
-rwxr-xr-x[-rw-r--r--]packages/apps/Camera/src/com/android/camera/ui/BasicIndicator.java19
-rwxr-xr-x[-rw-r--r--]packages/apps/Camera/src/com/android/camera/ui/HeadUpDisplay.java28
-rwxr-xr-x[-rw-r--r--]packages/apps/Camera/src/com/android/camera/ui/OtherSettingsIndicator.java95
-rwxr-xr-x[-rw-r--r--]packages/apps/Camera/src/com/android/camera/ui/PreferenceAdapter.java10
-rw-r--r--packages/apps/Contacts/AndroidManifest.xml1
-rw-r--r--packages/apps/Contacts/res/layout-finger/recent_calls_list_item_layout.xml2
-rw-r--r--packages/apps/Contacts/res/layout/pick_contact.xml29
-rw-r--r--packages/apps/Contacts/res/layout/pick_contact_item.xml29
-rwxr-xr-x[-rw-r--r--]packages/apps/Contacts/res/values-zh-rCN/strings.xml7
-rw-r--r--packages/apps/Contacts/res/values/strings.xml1
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/ContactsListActivity.java3
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java3
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/PhoneDisambigDialog.java3
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/RecentCallsListActivity.java4
-rwxr-xr-x[-rw-r--r--]packages/apps/Contacts/src/com/android/contacts/ViewContactActivity.java12
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/ui/EditContactActivity.java20
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/ui/MultiPickContactActivity.java2
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/ui/widget/GenericEditorView.java1
-rw-r--r--packages/apps/Contacts/src/com/android/contacts/util/AccountSelectionUtil.java1
-rwxr-xr-x[-rw-r--r--]packages/apps/DeskClock/res/layout/desk_clock.xml5
-rw-r--r--packages/apps/DeskClock/src/com/android/deskclock/Alarms.java68
-rw-r--r--packages/apps/Email/AndroidManifest.xml1
-rw-r--r--packages/apps/Email/res/layout/message_compose.xml3
-rw-r--r--packages/apps/Email/res/values-zh-rCN/strings.xml7
-rw-r--r--packages/apps/Email/res/values/strings.xml15
-rw-r--r--packages/apps/Email/src/com/android/email/activity/MessageCompose.java62
-rw-r--r--packages/apps/Email/src/com/android/email/activity/MessageView.java1
-rw-r--r--packages/apps/Email/src/com/android/email/activity/setup/AccountSettings.java1
-rw-r--r--packages/apps/Email/src/com/android/email/activity/setup/AccountSettingsUtils.java1
-rw-r--r--packages/apps/Email/src/com/android/email/activity/setup/AccountSetupBasics.java13
-rw-r--r--[-rwxr-xr-x]packages/apps/Email/src/com/android/email/activity/setup/AccountSetupCheckSettings.java0
-rw-r--r--packages/apps/Email/src/com/android/email/activity/setup/AccountSetupIncoming.java33
-rw-r--r--packages/apps/Email/src/com/android/email/activity/setup/AccountSetupOptions.java1
-rw-r--r--packages/apps/Email/src/com/android/email/provider/EmailContent.java2
-rw-r--r--packages/apps/Email/src/com/android/email/provider/EmailProvider.java1
-rw-r--r--packages/apps/Email/src/com/android/exchange/ContactsSyncAdapterService.java23
-rw-r--r--packages/apps/Email/src/com/android/exchange/EasSyncService.java1
-rw-r--r--packages/apps/Email/src/com/android/exchange/SyncManager.java3
-rw-r--r--packages/apps/Email/src/com/android/exchange/adapter/Parser.java1
-rw-r--r--packages/apps/FM/res/layout-800x480/navigate.xml2
-rwxr-xr-x[-rw-r--r--]packages/apps/GSensorCalibration/res/drawable-hdpi/icon.pngbin4147 -> 4147 bytes
-rwxr-xr-x[-rw-r--r--]packages/apps/GSensorCalibration/res/drawable-ldpi/icon.pngbin1723 -> 1723 bytes
-rwxr-xr-x[-rw-r--r--]packages/apps/GSensorCalibration/res/drawable-mdpi/icon.pngbin2574 -> 2574 bytes
-rw-r--r--packages/apps/Gallery3D/src/com/cooliris/media/DetailMode.java13
-rw-r--r--packages/apps/Gallery3D/src/com/cooliris/media/MediaFeed.java14
-rw-r--r--packages/apps/Mms/res/layout/add_recipients_bt.xml31
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/res/layout/number_picker_dialog.xml3
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/res/layout/reject_call_with_sms.xml4
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/res/values-zh-rCN/strings.xml23
-rwxr-xr-xpackages/apps/Mms/res/values/strings.xml25
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/res/xml/preferences.xml5
-rw-r--r--packages/apps/Mms/src/com/android/mms/data/Contact.java2
-rw-r--r--packages/apps/Mms/src/com/android/mms/data/Conversation.java2
-rwxr-xr-xpackages/apps/Mms/src/com/android/mms/data/WorkingMessage.java11
-rw-r--r--packages/apps/Mms/src/com/android/mms/model/SlideModel.java3
-rw-r--r--packages/apps/Mms/src/com/android/mms/transaction/NotificationTransaction.java2
-rw-r--r--packages/apps/Mms/src/com/android/mms/transaction/RetrieveTransaction.java3
-rw-r--r--packages/apps/Mms/src/com/android/mms/transaction/SendTransaction.java2
-rw-r--r--packages/apps/Mms/src/com/android/mms/transaction/TransactionService.java118
-rw-r--r--packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java64
-rw-r--r--packages/apps/Mms/src/com/android/mms/ui/MessageTemplate.java4
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/src/com/android/mms/ui/MessagingPreferenceActivity.java11
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/src/com/android/mms/ui/NumberPickerDialog.java14
-rw-r--r--packages/apps/Mms/src/com/android/mms/ui/RecipientsEditor.java1
-rwxr-xr-x[-rw-r--r--]packages/apps/Mms/src/com/android/mms/ui/RejectCallWithSMS.java198
-rw-r--r--packages/apps/Mms/src/com/android/mms/ui/SlideView.java2
-rw-r--r--packages/apps/Mms/src/com/android/mms/util/DownloadManager.java23
-rw-r--r--packages/apps/Music/AndroidManifest.xml3
-rwxr-xr-x[-rw-r--r--]packages/apps/Music/res/layout-land-finger/media_picker_activity.xml4
-rwxr-xr-x[-rw-r--r--]packages/apps/Music/res/layout-land-finger/media_picker_activity_expanding.xml3
-rw-r--r--packages/apps/Music/src/com/android/music/AudioPreview.java20
-rw-r--r--packages/apps/Music/src/com/android/music/MusicUtils.java26
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/AndroidManifest.xml7
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/res/layout/call_card.xml6
-rwxr-xr-xpackages/apps/Phone/res/layout/call_card_multi_sim.xml2
-rw-r--r--packages/apps/Phone/res/layout/multi_sim_dialer.xml20
-rwxr-xr-xpackages/apps/Phone/res/values-zh-rCN/strings.xml52
-rw-r--r--packages/apps/Phone/res/values/config.xml4
-rwxr-xr-xpackages/apps/Phone/res/values/strings.xml65
-rw-r--r--packages/apps/Phone/res/xml/call_feature_setting.xml50
-rw-r--r--[-rwxr-xr-x]packages/apps/Phone/res/xml/call_independent_services.xml0
-rw-r--r--[-rwxr-xr-x]packages/apps/Phone/res/xml/call_independent_services_multi_sim.xml57
-rw-r--r--packages/apps/Phone/res/xml/callforward_cdma_options.xml18
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/res/xml/dual_sim_settings.xml12
-rwxr-xr-xpackages/apps/Phone/res/xml/mobile_network_setting.xml5
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/res/xml/mobile_network_setting_multi_sim.xml13
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/res/xml/sim_preference_settings.xml44
-rw-r--r--packages/apps/Phone/res/xml/sound_preference_settings.xml27
-rw-r--r--packages/apps/Phone/src/com/android/phone/ADNList.java2
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/src/com/android/phone/BluetoothHandsfree.java6
-rwxr-xr-xpackages/apps/Phone/src/com/android/phone/CallCard.java43
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/src/com/android/phone/CallFeaturesSetting.java28
-rw-r--r--[-rwxr-xr-x]packages/apps/Phone/src/com/android/phone/CallIndependentServices.java0
-rw-r--r--packages/apps/Phone/src/com/android/phone/CallLogAsync.java1
-rw-r--r--packages/apps/Phone/src/com/android/phone/CdmaCallForwardEditPreference.java4
-rw-r--r--packages/apps/Phone/src/com/android/phone/CdmaCallForwardOptions.java22
-rw-r--r--packages/apps/Phone/src/com/android/phone/CdmaCallOptionsSetting.java4
-rw-r--r--packages/apps/Phone/src/com/android/phone/CdmaOptions.java4
-rw-r--r--packages/apps/Phone/src/com/android/phone/DefaultRingtonePreference.java57
-rw-r--r--packages/apps/Phone/src/com/android/phone/GsmUmtsOptions.java7
-rwxr-xr-xpackages/apps/Phone/src/com/android/phone/InCallScreen.java73
-rw-r--r--[-rwxr-xr-x]packages/apps/Phone/src/com/android/phone/InCallTouchUi.java193
-rw-r--r--packages/apps/Phone/src/com/android/phone/MobileNetworkSettings.java24
-rw-r--r--packages/apps/Phone/src/com/android/phone/MultiSimDialerActivity.java1
-rw-r--r--packages/apps/Phone/src/com/android/phone/NetworkSetting.java47
-rwxr-xr-xpackages/apps/Phone/src/com/android/phone/OutgoingCallBroadcaster.java1
-rwxr-xr-xpackages/apps/Phone/src/com/android/phone/PhoneApp.java9
-rw-r--r--packages/apps/Phone/src/com/android/phone/SetSubscription.java6
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/src/com/android/phone/Settings.java52
-rw-r--r--packages/apps/Phone/src/com/android/phone/SimContacts.java1
-rw-r--r--packages/apps/Phone/src/com/android/phone/SoundSettings.java62
-rw-r--r--packages/apps/Phone/src/com/android/phone/Use2GOnlyCheckBoxPreference.java7
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/CallbackEnabler.java16
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/CountDownPreference.java16
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/src/com/android/phone/dualsimsettings/DualSimSettings.java23
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/DualSimSettingsConstants.java16
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/LocalMultiSimSettingsManager.java3
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/PreferredSubscriptionListPreference.java16
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/src/com/android/phone/dualsimsettings/SimEnabler.java13
-rwxr-xr-x[-rw-r--r--]packages/apps/Phone/src/com/android/phone/dualsimsettings/SimNamePreference.java30
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/SimPreferenceSettings.java32
-rw-r--r--packages/apps/Phone/src/com/android/phone/dualsimsettings/SimSettingsTab.java57
-rwxr-xr-xpackages/apps/QualcommSoftAP/Android.mk3
-rwxr-xr-x[-rw-r--r--]packages/apps/Settings/AndroidManifest.xml10
-rw-r--r--packages/apps/Settings/res/layout/multi_sim_count_down.xml2
-rwxr-xr-x[-rw-r--r--]packages/apps/Settings/res/values-zh-rCN/strings.xml59
-rw-r--r--packages/apps/Settings/res/values/strings.xml2
-rwxr-xr-x[-rw-r--r--]packages/apps/Settings/res/xml/device_info_msim_status.xml74
-rwxr-xr-x[-rw-r--r--]packages/apps/Settings/res/xml/device_info_subscription_status.xml89
-rw-r--r--packages/apps/Settings/res/xml/sound_settings.xml14
-rw-r--r--packages/apps/Settings/src/com/android/settings/IccLockSettings.java17
-rw-r--r--packages/apps/Settings/src/com/android/settings/MultiSimSettings.java1
-rw-r--r--packages/apps/Settings/src/com/android/settings/SecuritySettings.java10
-rw-r--r--packages/apps/Settings/src/com/android/settings/Settings.java2
-rw-r--r--packages/apps/Settings/src/com/android/settings/SoundSettings.java30
-rw-r--r--packages/apps/Settings/src/com/android/settings/deviceinfo/MSimStatus.java346
-rwxr-xr-x[-rw-r--r--]packages/apps/Settings/src/com/android/settings/deviceinfo/Memory.java7
-rwxr-xr-x[-rw-r--r--]packages/apps/Settings/src/com/android/settings/deviceinfo/Status.java332
-rw-r--r--packages/apps/Settings/src/com/android/settings/multisimsettings/CallbackEnabler.java16
-rw-r--r--packages/apps/Settings/src/com/android/settings/multisimsettings/CountDownPreference.java16
-rw-r--r--packages/apps/Settings/src/com/android/settings/multisimsettings/LocalMultiSimSettingsManager.java2
-rw-r--r--packages/apps/Settings/src/com/android/settings/multisimsettings/MultiSimNamePreference.java16
-rw-r--r--packages/apps/Settings/src/com/android/settings/multisimsettings/MultiSimSettingsConstants.java18
-rw-r--r--packages/apps/Settings/src/com/android/settings/multisimsettings/PreferredSubscriptionListPreference.java16
-rwxr-xr-x[-rw-r--r--]packages/apps/SoundRecorder/res/layout-land/main.xml29
-rwxr-xr-x[-rw-r--r--]packages/apps/SoundRecorder/res/layout-port/main.xml29
-rwxr-xr-x[-rw-r--r--]packages/apps/SoundRecorder/res/values-zh-rCN/strings.xml3
-rwxr-xr-x[-rw-r--r--]packages/apps/SoundRecorder/res/values/strings.xml3
-rwxr-xr-x[-rw-r--r--]packages/apps/SoundRecorder/src/com/android/soundrecorder/SoundRecorder.java39
-rw-r--r--packages/apps/TSCalibration/res/values/strings.xml6
-rwxr-xr-x[-rw-r--r--]packages/factory/FactoryTestSystem/Android.mk15
-rwxr-xr-x[-rw-r--r--]packages/factory/FactoryTestSystem/src/android/FactoryTest/SIM1Test/Sim1Test.java0
-rwxr-xr-x[-rw-r--r--]packages/factory/FactoryTestSystem/src/android/FactoryTest/SIM2Test/Sim2Test.java0
-rwxr-xr-x[-rw-r--r--]packages/factory/FactoryTestSystem/src/android/FactoryTest/SIMTest/SimTest.java0
-rwxr-xr-x[-rw-r--r--]packages/factory/FactoryTestSystem/src/android/FactoryTest/TriColorLed/TriColorLed.java0
-rw-r--r--packages/inputmethods/PinyinIME/jni/android/com_android_inputmethod_pinyin_PinyinDecoderService.cpp1
-rw-r--r--packages/inputmethods/PinyinIME/res/xml/skb_phone.xml10
-rw-r--r--packages/inputmethods/PinyinIME/src/com/android/inputmethod/pinyin/CandidateView.java1
-rw-r--r--packages/inputmethods/PinyinIME/src/com/android/inputmethod/pinyin/PinyinDecoderService.java1
-rwxr-xr-xpackages/inputmethods/PinyinIME/src/com/android/inputmethod/pinyin/PinyinIME.java20
-rw-r--r--packages/providers/ContactsProvider/src/com/android/providers/contacts/ContactsDatabaseHelper.java4
-rw-r--r--[-rwxr-xr-x]packages/providers/TelephonyProvider/res/drawable-hdpi/ic_launcher_phone.pngbin4796 -> 4796 bytes
-rw-r--r--packages/providers/TelephonyProvider/src/com/android/providers/telephony/CdmaCallOptionProvider.java31
-rw-r--r--revision/sw_rev.mk2
-rwxr-xr-xsystem/core/init/property_service.c3
-rwxr-xr-xsystem/core/rootdir/etc/init.msm7627_sku5.rc4
-rwxr-xr-xsystem/core/rootdir/etc/init.qcom.post_boot.sh8
-rw-r--r--system/core/rootdir/etc/init.qcom.rc10
-rwxr-xr-xsystem/core/rootdir/etc/init.qcom.usbcdrom.sh10
-rwxr-xr-xsystem/core/rootdir/init.rc24
-rwxr-xr-x[-rw-r--r--]system/core/toolbox/Android.mk4
-rwxr-xr-xsystem/core/toolbox/swapon.c61
-rwxr-xr-xsystem/core/toolbox/swapon_syscall.S46
-rw-r--r--system/vold/Volume.cpp2
-rwxr-xr-xvendor/qcom/android-open/libcamera2/QualcommCameraHardware.cpp72
-rwxr-xr-xvendor/qcom/android-open/libcamera2/QualcommCameraHardware.h8
-rw-r--r--vendor/qcom/android-open/libopencorehw/Android.mk2
-rw-r--r--vendor/qcom/opensource/omx/mm-video/vidc/venc/src/omx_video_encoder.cpp92
-rw-r--r--vendor/qcom/opensource/omx/mm-video/vidc/venc/test/venc_test.cpp8
435 files changed, 6846 insertions, 11475 deletions
diff --git a/bootable/bootloader/lk/platform/msm7k/panel_ili9486.c b/bootable/bootloader/lk/platform/msm7k/panel_ili9486.c
index 1e4560966..68ef0aba7 100755
--- a/bootable/bootloader/lk/platform/msm7k/panel_ili9486.c
+++ b/bootable/bootloader/lk/platform/msm7k/panel_ili9486.c
@@ -180,13 +180,20 @@ MAINLCD_CMD(0xf7);
MAINLCD_DATA(0x0a);
MAINLCD_DATA(0x4f);
+MAINLCD_CMD(0xf9);
+ MAINLCD_DATA(0x00);
+ MAINLCD_DATA(0x08);
+
+MAINLCD_CMD(0xf4);
+ MAINLCD_DATA(0x00);
+ MAINLCD_DATA(0x00);
+ MAINLCD_DATA(0x08);
+ MAINLCD_DATA(0x91);
+ MAINLCD_DATA(0x04);
+
MAINLCD_CMD(0xB0); //Set Frame Rate
MAINLCD_DATA(0x0e);
-MAINLCD_CMD(0xB1); //Set Frame Rate
- MAINLCD_DATA(0xb0);
- MAINLCD_DATA(0x10); //***********10 11
-
MAINLCD_CMD(0xB4); //Set 2Dot Invertion
MAINLCD_DATA(0x02);
@@ -196,11 +203,6 @@ MAINLCD_CMD(0xB5);
MAINLCD_DATA(0x0a);
MAINLCD_DATA(0x04);
-MAINLCD_CMD(0xB6);
- MAINLCD_DATA(0x32);
- MAINLCD_DATA(0x21);
- MAINLCD_DATA(0x3B);
-
MAINLCD_CMD(0x20); //Display Inversion OFF
MAINLCD_CMD(0xc0);
@@ -208,47 +210,51 @@ MAINLCD_CMD(0xc0);
MAINLCD_DATA(0x0c);
MAINLCD_CMD(0xc1);
- MAINLCD_DATA(0x05);
+ MAINLCD_DATA(0x42);
MAINLCD_DATA(0x07);
+MAINLCD_CMD(0xc2);
+ MAINLCD_DATA(0x00);
+
MAINLCD_CMD(0xc5);
MAINLCD_DATA(0x00);
- MAINLCD_DATA(0x60);
+ MAINLCD_DATA(0x56);
MAINLCD_DATA(0x80);
//gamma setting
MAINLCD_CMD(0xE0); //Set Gamma P
+ MAINLCD_DATA(0x0d);
+ MAINLCD_DATA(0x0d);
+ MAINLCD_DATA(0x11);
+ MAINLCD_DATA(0x0d);
+ MAINLCD_DATA(0x1a);
+ MAINLCD_DATA(0x18);
+ MAINLCD_DATA(0x34);
+ MAINLCD_DATA(0xbc);
+ MAINLCD_DATA(0x4b);
+ MAINLCD_DATA(0x0a);
+ MAINLCD_DATA(0x15);
+ MAINLCD_DATA(0x0b);
+ MAINLCD_DATA(0x1b);
+ MAINLCD_DATA(0x1d);
MAINLCD_DATA(0x00);
- MAINLCD_DATA(0x00);
- MAINLCD_DATA(0x13);
- MAINLCD_DATA(0x08);
- MAINLCD_DATA(0x13);
- MAINLCD_DATA(0x08);
- MAINLCD_DATA(0x32);
- MAINLCD_DATA(0xAA);
- MAINLCD_DATA(0x45);
- MAINLCD_DATA(0x09);
- MAINLCD_DATA(0x0D);
- MAINLCD_DATA(0x09);
- MAINLCD_DATA(0x1A);
- MAINLCD_DATA(0x1C);
- MAINLCD_DATA(0x0F);
MAINLCD_CMD(0xE1); //Set Gamma N
MAINLCD_DATA(0x00);
- MAINLCD_DATA(0x23);
+ MAINLCD_DATA(0x21);
MAINLCD_DATA(0x25);
- MAINLCD_DATA(0x06);
+ MAINLCD_DATA(0x08);
MAINLCD_DATA(0x12);
- MAINLCD_DATA(0x06);
- MAINLCD_DATA(0x3A);
- MAINLCD_DATA(0x55);
- MAINLCD_DATA(0x4D);
- MAINLCD_DATA(0x07);
- MAINLCD_DATA(0x0C);
- MAINLCD_DATA(0x07);
- MAINLCD_DATA(0x2C);
- MAINLCD_DATA(0x3F);
+ MAINLCD_DATA(0x04);
+ MAINLCD_DATA(0x39);
+ MAINLCD_DATA(0x56);
+ MAINLCD_DATA(0x46);
+ MAINLCD_DATA(0x03);
+ MAINLCD_DATA(0x04);
+ MAINLCD_DATA(0x02);
+ MAINLCD_DATA(0x35);
+ MAINLCD_DATA(0x3a);
+ MAINLCD_DATA(0x1f);
MAINLCD_CMD(0x36);//set address mode
MAINLCD_DATA(0x08);
@@ -270,6 +276,12 @@ MAINLCD_CMD(0x2B); //display area page setting
MAINLCD_CMD(0x11);//exit sleep mode
mdelay(150);
+
+MAINLCD_CMD(0xB6);
+ MAINLCD_DATA(0x32);
+ MAINLCD_DATA(0x21);
+ MAINLCD_DATA(0x3B);
+
MAINLCD_CMD(0x29); //Display on
mdelay(20);
}
diff --git a/bootable/bootloader/lk/target/msm7627_sku5/tools/mkheader b/bootable/bootloader/lk/target/msm7627_sku5/tools/mkheader
deleted file mode 100755
index 9bcfdf29a..000000000
--- a/bootable/bootloader/lk/target/msm7627_sku5/tools/mkheader
+++ /dev/null
Binary files differ
diff --git a/bootable/recovery/recovery.c b/bootable/recovery/recovery.c
index f4632e7c2..b89d3d410 100644
--- a/bootable/recovery/recovery.c
+++ b/bootable/recovery/recovery.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -691,6 +692,29 @@ print_property(const char *key, const char *name, void *cookie) {
printf("%s=%s\n", key, name);
}
+static int write_file(const char *path, const char *value)
+{
+ int fd, ret, len;
+
+ fd = open(path, O_WRONLY|O_CREAT, 0622);
+
+ if (fd < 0)
+ return -errno;
+
+ len = strlen(value);
+
+ do {
+ ret = write(fd, value, len);
+ } while (ret < 0 && errno == EINTR);
+
+ close(fd);
+ if (ret < 0) {
+ return -errno;
+ } else {
+ return 0;
+ }
+}
+
int
main(int argc, char **argv) {
time_t start = time(NULL);
@@ -702,6 +726,10 @@ main(int argc, char **argv) {
ui_init();
ui_set_background(BACKGROUND_ICON_INSTALLING);
+
+ // enable backlight
+ write_file("/sys/class/leds/lcd-backlight/brightness", "128");
+
load_volume_table();
get_args(&argc, &argv);
@@ -711,6 +739,7 @@ main(int argc, char **argv) {
const char *encrypted_fs_mode = NULL;
int wipe_data = 0, wipe_cache = 0;
int toggle_secure_fs = 0;
+ int factory_reset = 0;
encrypted_fs_info encrypted_fs_data;
int arg;
@@ -719,7 +748,7 @@ main(int argc, char **argv) {
case 'p': previous_runs = atoi(optarg); break;
case 's': send_intent = optarg; break;
case 'u': update_package = optarg; break;
- case 'w': wipe_data = wipe_cache = 1; break;
+ case 'w': wipe_data = wipe_cache = 1; factory_reset = 1; break;
case 'c': wipe_cache = 1; break;
case 'e': encrypted_fs_mode = optarg; toggle_secure_fs = 1; break;
case 't': ui_show_text(1); break;
@@ -802,7 +831,9 @@ main(int argc, char **argv) {
if (erase_volume("/data")) status = INSTALL_ERROR;
if (wipe_cache && erase_volume("/cache")) status = INSTALL_ERROR;
if (status != INSTALL_SUCCESS) ui_print("Data wipe failed.\n");
- } else if (wipe_cache) {
+ if (factory_reset) ui_print("reboot system.\n");
+ goto recovery_end;
+ } else if (wipe_cache) {
if (wipe_cache && erase_volume("/cache")) status = INSTALL_ERROR;
if (status != INSTALL_SUCCESS) ui_print("Cache wipe failed.\n");
} else {
@@ -814,6 +845,7 @@ main(int argc, char **argv) {
prompt_and_wait();
}
+recovery_end:
//finish_recovery(send_intent);
ui_print("Rebooting...\n");
sync();
diff --git a/build/core/Makefile b/build/core/Makefile
index 7e26f33e6..c2bebfeab 100644
--- a/build/core/Makefile
+++ b/build/core/Makefile
@@ -71,7 +71,11 @@ BUILD_VERSION_TAGS += test-keys
BUILD_VERSION_TAGS := $(subst $(space),$(comma),$(sort $(BUILD_VERSION_TAGS)))
# A human-readable string that descibes this build in detail.
+ifeq (,$(BUILD_DESCRIPTION))
build_desc := $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT) $(PLATFORM_VERSION) $(BUILD_ID) $(BUILD_NUMBER) $(BUILD_VERSION_TAGS)
+else
+build_desc := $(BUILD_DESCRIPTION)
+endif
$(INSTALLED_BUILD_PROP_TARGET): PRIVATE_BUILD_DESC := $(build_desc)
# The string used to uniquely identify this build; used by the OTA server.
@@ -89,13 +93,13 @@ ifeq ($(TARGET_BUILD_VARIANT),user)
# Dev. branches should have DISPLAY_BUILD_NUMBER set
ifeq "true" "$(DISPLAY_BUILD_NUMBER)"
- BUILD_DISPLAY_ID := $(BUILD_ID).$(BUILD_NUMBER)
+ BUILD_DISPLAY_ID := $(BUILD_DESCRIPTION)
else
- BUILD_DISPLAY_ID := $(BUILD_ID)
+ BUILD_DISPLAY_ID := $(BUILD_DESCRIPTION)
endif
else
# Non-user builds should show detailed build information
- BUILD_DISPLAY_ID := $(build_desc)
+ BUILD_DISPLAY_ID := $(BUILD_DESCRIPTION)
endif
# Selects the first locale in the list given as the argument,
diff --git a/build/envsetup.sh b/build/envsetup.sh
index 35da10ab2..14182538e 100644
--- a/build/envsetup.sh
+++ b/build/envsetup.sh
@@ -376,7 +376,7 @@ function chooseproduct()
done
set_stuff_for_environment
- do_vendorsetup $ANSWER
+ do_vendorsetup $TARGET_PRODUCT
}
function choosevariant()
diff --git a/device/qcom/common/cdrom/Android.mk b/device/qcom/common/cdrom/Android.mk
new file mode 100644
index 000000000..e60f17a6f
--- /dev/null
+++ b/device/qcom/common/cdrom/Android.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.
+
+LOCAL_PATH:= $(call my-dir)
+
+ifeq ($(BOARD_HAVE_CDROM) ,true)
+
+include $(CLEAR_VARS)
+
+ALL_PREBUILT += $(LOCAL_PATH)/cdrom_install.iso
+$(LOCAL_PATH)/cdrom_install.iso : $(LOCAL_PATH)/cdrom_files
+ mkisofs -l -J -L -r -V 'android install CD' -o $@ $<
+
+ALL_PREBUILT += $(TARGET_OUT)/cdrom.iso
+$(TARGET_OUT)/cdrom.iso : $(LOCAL_PATH)/cdrom_install.iso | $(ACP)
+ cp $< $@
+
+endif
diff --git a/device/qcom/common/cdrom/cdrom_files/QCUSBNetworkCombo1064.tar.bz2 b/device/qcom/common/cdrom/cdrom_files/QCUSBNetworkCombo1064.tar.bz2
new file mode 100644
index 000000000..dfecc966b
--- /dev/null
+++ b/device/qcom/common/cdrom/cdrom_files/QCUSBNetworkCombo1064.tar.bz2
Binary files differ
diff --git a/device/qcom/common/cdrom/cdrom_files/adb_usb_driver.tar.bz2 b/device/qcom/common/cdrom/cdrom_files/adb_usb_driver.tar.bz2
new file mode 100644
index 000000000..15147e463
--- /dev/null
+++ b/device/qcom/common/cdrom/cdrom_files/adb_usb_driver.tar.bz2
Binary files differ
diff --git a/device/qcom/common/libsensors/ASensorBMA220.cpp b/device/qcom/common/libsensors/ASensorBMA220.cpp
index cf7f29d29..f54ea2b40 100755
--- a/device/qcom/common/libsensors/ASensorBMA220.cpp
+++ b/device/qcom/common/libsensors/ASensorBMA220.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/ASensorBMA220.h b/device/qcom/common/libsensors/ASensorBMA220.h
index 36ecc8fec..c19a69845 100755
--- a/device/qcom/common/libsensors/ASensorBMA220.h
+++ b/device/qcom/common/libsensors/ASensorBMA220.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/AccelSensor.cpp b/device/qcom/common/libsensors/AccelSensor.cpp
index 249277502..f77e4fdf7 100644..100755
--- a/device/qcom/common/libsensors/AccelSensor.cpp
+++ b/device/qcom/common/libsensors/AccelSensor.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -28,7 +29,7 @@
#include "AccelSensor.h"
#include "ASensorBMA220.h"
-#define FETCH_FULL_EVENT_BEFORE_RETURN 1
+#define FETCH_FULL_EVENT_BEFORE_RETURN 0
/*****************************************************************************/
@@ -69,29 +70,37 @@ int AccelSensor::setInitialState() {
struct input_absinfo absinfo_z;
float value;
if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_X), &absinfo_x) &&
- !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_X), &absinfo_y) &&
- !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_X), &absinfo_z)) {
+ !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_Y), &absinfo_y) &&
+ !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_Z), &absinfo_z)) {
value = absinfo_x.value;
mPendingEvent.data[0] = value / TRANSFORMATION_A;
- value = absinfo_x.value;
+ value = absinfo_y.value;
mPendingEvent.data[1] = value / TRANSFORMATION_A;
- value = absinfo_x.value;
+ value = absinfo_z.value;
mPendingEvent.data[2] = value / TRANSFORMATION_A;
mHasPendingEvent = true;
}
return 0;
}
-int AccelSensor::enable(int32_t, int en) {
+int AccelSensor::enable(int32_t handle, int en) {
+ static int mOriEnable = 0;
int flags = en ? 1 : 0;
-
- if (flags != mEnabled) {
- sleep(1);
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "enable", flags) < 0) {
+ //handle < 0 means the enable is not called by framework but the orientaion sensors.
+ if(((handle < 0) && mEnabled) || ((handle >= 0) && mOriEnable))
+ return 0;
+
+ //if (flags != mEnabled)
+ {
+ usleep(50000);
+ if (sysfs_set_attr_int(input_sysfs_path, "enable", flags) < 0) {
LOGE("%s:%d,cannot open the (enable)",__func__,__LINE__);
return -1;
}
- mEnabled = flags;
+ if(handle >= 0)
+ mEnabled = flags;
+ else
+ mOriEnable = flags;
setInitialState();
}
return 0;
@@ -106,7 +115,7 @@ int AccelSensor::setDelay(int32_t handle, int64_t delay_ns)
long ms = (long)delay_ns/1000000;
if (ms >=0) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "delay", ms) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "delay", ms) < 0) {
LOGE("%s:%d,cannot open the delay",__func__,__LINE__);
return -1;
}
diff --git a/device/qcom/common/libsensors/AccelSensor.h b/device/qcom/common/libsensors/AccelSensor.h
index 5b21e3ed9..cb32edee9 100755
--- a/device/qcom/common/libsensors/AccelSensor.h
+++ b/device/qcom/common/libsensors/AccelSensor.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -33,14 +34,13 @@ struct input_event;
class AccelSensor : public SensorBase {
int mEnabled;
int mDelay;
- InputEventCircularReader mInputReader;
- sensors_event_t mPendingEvent;
- bool mHasPendingEvent;
char input_sysfs_path[PATH_MAX];
int input_sysfs_path_len;
-
int setInitialState();
-
+ InputEventCircularReader mInputReader;
+ sensors_event_t mPendingEvent;
+ bool mHasPendingEvent;
+
public:
AccelSensor(int data_fd,
int handle,
@@ -53,6 +53,7 @@ public:
virtual int setDelay(int32_t handle, int64_t ns);
virtual int enable(int32_t handle, int enabled);
static SensorBase* getInstance(int handle);
+
};
/*****************************************************************************/
diff --git a/device/qcom/common/libsensors/Android.mk b/device/qcom/common/libsensors/Android.mk
index f547e1fd5..a842cfb25 100644
--- a/device/qcom/common/libsensors/Android.mk
+++ b/device/qcom/common/libsensors/Android.mk
@@ -1,22 +1,10 @@
-# 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.
-
LOCAL_PATH := $(call my-dir)
ifneq ($(TARGET_SIMULATOR),true)
+ifneq (, $(filter msm7627_sku2 msm7625_sku1, $(QCOM_TARGET_PRODUCT)))
+
# HAL module implemenation, not prelinked, and stored in
# hw/<SENSORS_HARDWARE_MODULE_ID>.<ro.product.board>.so
include $(CLEAR_VARS)
@@ -25,9 +13,8 @@ LOCAL_MODULE := sensors.$(TARGET_BOARD_PLATFORM)
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
-LOCAL_MODULE_TAGS := eng user tests optional
+LOCAL_MODULE_TAGS := user eng tests optional
-ifneq (, $(filter msm7627_sku2 , $(TARGET_PRODUCT)))
LOCAL_SRC_FILES := \
InputEventReader.cpp \
sensors.cpp \
@@ -43,10 +30,26 @@ LOCAL_SRC_FILES := \
OrientSensor.cpp \
OSensorYAS529.cpp \
GyroSensor.cpp
+
+LOCAL_SHARED_LIBRARIES := liblog libcutils libdl
+LOCAL_PRELINK_MODULE := false
+
+include $(BUILD_SHARED_LIBRARY)
+
endif
ifneq (, $(filter msm7627_sku5 , $(TARGET_PRODUCT)))
+# HAL module implemenation, not prelinked, and stored in
+# hw/<SENSORS_HARDWARE_MODULE_ID>.<ro.product.board>.so
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := sensors.$(TARGET_BOARD_PLATFORM)
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
+
+LOCAL_MODULE_TAGS := user eng tests optional
+
LOCAL_C_INCLUDES := \
$(libc_root) \
$(KERNEL_HEADERS)
@@ -63,12 +66,12 @@ LOCAL_SRC_FILES := \
nuAkmSensor.cpp \
nuAdxlSensor.cpp \
nuInputEventReader.cpp
-endif
-
-
+
LOCAL_SHARED_LIBRARIES := liblog libcutils libdl
LOCAL_PRELINK_MODULE := false
include $(BUILD_SHARED_LIBRARY)
+endif
+
endif # !TARGET_SIMULATOR
diff --git a/device/qcom/common/libsensors/GyroSensor.cpp b/device/qcom/common/libsensors/GyroSensor.cpp
index ce6272061..a47972ec8 100755
--- a/device/qcom/common/libsensors/GyroSensor.cpp
+++ b/device/qcom/common/libsensors/GyroSensor.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +27,7 @@
#include "GyroSensor.h"
-#define FETCH_FULL_EVENT_BEFORE_RETURN 1
+#define FETCH_FULL_EVENT_BEFORE_RETURN 0
/*****************************************************************************/
@@ -67,13 +68,13 @@ int GyroSensor::setInitialState() {
struct input_absinfo absinfo_z;
float value;
if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_GYRO_X), &absinfo_x) &&
- !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_GYRO_X), &absinfo_y) &&
- !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_GYRO_X), &absinfo_z)) {
+ !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_GYRO_Y), &absinfo_y) &&
+ !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_GYRO_Z), &absinfo_z)) {
value = absinfo_x.value;
mPendingEvent.data[0] = value * CONVERT_GYRO_X;
- value = absinfo_x.value;
+ value = absinfo_y.value;
mPendingEvent.data[1] = value * CONVERT_GYRO_Y;
- value = absinfo_x.value;
+ value = absinfo_z.value;
mPendingEvent.data[2] = value * CONVERT_GYRO_Z;
mHasPendingEvent = true;
}
diff --git a/device/qcom/common/libsensors/GyroSensor.h b/device/qcom/common/libsensors/GyroSensor.h
index 769ff899e..03e7992fb 100755
--- a/device/qcom/common/libsensors/GyroSensor.h
+++ b/device/qcom/common/libsensors/GyroSensor.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +27,7 @@
#include "SensorBase.h"
#include "InputEventReader.h"
-/*****************************************************************************/
+/****************************************************************************/
struct input_event;
diff --git a/device/qcom/common/libsensors/InputEventReader.cpp b/device/qcom/common/libsensors/InputEventReader.cpp
index 1014f2948..b58cb865b 100755
--- a/device/qcom/common/libsensors/InputEventReader.cpp
+++ b/device/qcom/common/libsensors/InputEventReader.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/InputEventReader.h b/device/qcom/common/libsensors/InputEventReader.h
index 92a9ab6e2..34befe02b 100755
--- a/device/qcom/common/libsensors/InputEventReader.h
+++ b/device/qcom/common/libsensors/InputEventReader.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/LSensorAL3003.cpp b/device/qcom/common/libsensors/LSensorAL3003.cpp
index 95ac7d1ed..a45b20fad 100755
--- a/device/qcom/common/libsensors/LSensorAL3003.cpp
+++ b/device/qcom/common/libsensors/LSensorAL3003.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,6 +28,7 @@
#include "LSensorAL3003.h"
+
/*****************************************************************************/
struct input_id LSensorAL3003::id = {BUS_I2C, 0x0000, 0x3113, 0x0000};
LSensorAL3003::LSensorAL3003(
diff --git a/device/qcom/common/libsensors/LSensorAL3003.h b/device/qcom/common/libsensors/LSensorAL3003.h
index f8e8cb2ec..a818a126d 100755
--- a/device/qcom/common/libsensors/LSensorAL3003.h
+++ b/device/qcom/common/libsensors/LSensorAL3003.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/LightSensor.cpp b/device/qcom/common/libsensors/LightSensor.cpp
index a1cd52ff8..e2fd32d2a 100755
--- a/device/qcom/common/libsensors/LightSensor.cpp
+++ b/device/qcom/common/libsensors/LightSensor.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -80,7 +81,7 @@ int LightSensor::setDelay(int32_t handle, int64_t ns)
{
long ms = (long)ns/1000000;
if (ms >=0) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "delay", ms) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "delay", ms) < 0) {
LOGE("%s:%d,cannot open the delay",__func__,__LINE__);
return -1;
}
@@ -95,7 +96,7 @@ int LightSensor::enable(int32_t handle, int en)
int flags = en ? 1 : 0;
if (flags != mEnabled) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "enable", flags) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "enable", flags) < 0) {
LOGE("%s:%d,cannot open the enable",__func__,__LINE__);
return -1;
}
diff --git a/device/qcom/common/libsensors/LightSensor.h b/device/qcom/common/libsensors/LightSensor.h
index 89285debc..1470a946b 100755
--- a/device/qcom/common/libsensors/LightSensor.h
+++ b/device/qcom/common/libsensors/LightSensor.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -25,7 +26,7 @@
#include "sensors.h"
#include "SensorBase.h"
#include "InputEventReader.h"
-/*****************************************************************************/
+/****************************************************************************/
struct input_event;
diff --git a/device/qcom/common/libsensors/MSensorYAS529.cpp b/device/qcom/common/libsensors/MSensorYAS529.cpp
index 03097a1a1..ddebdc200 100755
--- a/device/qcom/common/libsensors/MSensorYAS529.cpp
+++ b/device/qcom/common/libsensors/MSensorYAS529.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/MSensorYAS529.h b/device/qcom/common/libsensors/MSensorYAS529.h
index 763cd1c0e..a6b711616 100755
--- a/device/qcom/common/libsensors/MSensorYAS529.h
+++ b/device/qcom/common/libsensors/MSensorYAS529.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/MagvSensor.cpp b/device/qcom/common/libsensors/MagvSensor.cpp
index e3ef9e24b..fe76977a5 100755
--- a/device/qcom/common/libsensors/MagvSensor.cpp
+++ b/device/qcom/common/libsensors/MagvSensor.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,7 +28,7 @@
#include "MagvSensor.h"
#include "MSensorYAS529.h"
-#define FETCH_FULL_EVENT_BEFORE_RETURN 1
+#define FETCH_FULL_EVENT_BEFORE_RETURN 0
/*****************************************************************************/
@@ -66,13 +67,13 @@ int MagvSensor::setInitialState() {
struct input_absinfo absinfo_z;
float value;
if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_X), &absinfo_x) &&
- !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_X), &absinfo_y) &&
- !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_X), &absinfo_z)) {
+ !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_Y), &absinfo_y) &&
+ !ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_Z), &absinfo_z)) {
value = absinfo_x.value;
mPendingEvent.data[0] = value / TRANSFORMATION_M;
- value = absinfo_x.value / TRANSFORMATION_M;
+ value = absinfo_y.value / TRANSFORMATION_M;
mPendingEvent.data[1] = value / TRANSFORMATION_M;
- value = absinfo_x.value;
+ value = absinfo_z.value;
mPendingEvent.data[2] = value / TRANSFORMATION_M;
mHasPendingEvent = true;
}
@@ -80,14 +81,22 @@ int MagvSensor::setInitialState() {
}
int MagvSensor::enable(int32_t handle, int en) {
+ static int mOriEnable = 0;
int flags = en ? 1 : 0;
+ //handle < 0 means the enable is not called by framework but the orientaion sensors.
+ if(((handle < 0) && mEnabled) || ((handle >= 0) && mOriEnable))
+ return 0;
- if (flags != mEnabled) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "enable", flags) < 0) {
+ //if (flags != mEnabled)
+ {
+ if (sysfs_set_attr_int(input_sysfs_path, "enable", flags) < 0) {
LOGE("%s:%d,cannot open the enable",__func__,__LINE__);
return -1;
}
- mEnabled = flags;
+ if(handle >= 0)
+ mEnabled = flags;
+ else
+ mOriEnable = flags;
setInitialState();
}
return 0;
@@ -102,7 +111,7 @@ int MagvSensor::setDelay(int32_t handle, int64_t delay_ns)
long ms = (long)delay_ns/1000000;
if (ms >=0) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "delay", ms) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "delay", ms) < 0) {
LOGE("%s:%d,cannot open the delay",__func__,__LINE__);
return -1;
}
diff --git a/device/qcom/common/libsensors/MagvSensor.h b/device/qcom/common/libsensors/MagvSensor.h
index e4bb7b576..6d81d39fd 100755
--- a/device/qcom/common/libsensors/MagvSensor.h
+++ b/device/qcom/common/libsensors/MagvSensor.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/OSensorYAS529.cpp b/device/qcom/common/libsensors/OSensorYAS529.cpp
index 98a4b3998..f21028711 100755
--- a/device/qcom/common/libsensors/OSensorYAS529.cpp
+++ b/device/qcom/common/libsensors/OSensorYAS529.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/OSensorYAS529.h b/device/qcom/common/libsensors/OSensorYAS529.h
index ca2a6d93f..21d578d2b 100755
--- a/device/qcom/common/libsensors/OSensorYAS529.h
+++ b/device/qcom/common/libsensors/OSensorYAS529.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/OrientSensor.cpp b/device/qcom/common/libsensors/OrientSensor.cpp
index e6bb466e4..39c1b2deb 100755
--- a/device/qcom/common/libsensors/OrientSensor.cpp
+++ b/device/qcom/common/libsensors/OrientSensor.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,7 +28,7 @@
#include "OrientSensor.h"
#include "OSensorYAS529.h"
-#define FETCH_FULL_EVENT_BEFORE_RETURN 1
+#define FETCH_FULL_EVENT_BEFORE_RETURN 0
/*****************************************************************************/
@@ -81,11 +82,11 @@ int OrientSensor::setInitialState() {
return 0;
}
-int OrientSensor::enable(int32_t, int en) {
+int OrientSensor::enable(int32_t handle, int en) {
int flags = en ? 1 : 0;
if (flags != mEnabled) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "enable", flags) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "enable", flags) < 0) {
LOGE("%s:%d,cannot open the enable",__func__,__LINE__);
return -1;
}
@@ -104,7 +105,7 @@ int OrientSensor::setDelay(int32_t handle, int64_t delay_ns)
long ms = (long)delay_ns/1000000;
if (ms >=0) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "delay", ms) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "delay", ms) < 0) {
LOGE("%s:%d,cannot open the delay",__func__,__LINE__);
return -1;
}
@@ -160,7 +161,6 @@ again:
}
mInputReader.next();
}
-
#if FETCH_FULL_EVENT_BEFORE_RETURN
/* if we didn't read a complete event, see if we can fill and
try again instead of returning with nothing and redoing poll. */
diff --git a/device/qcom/common/libsensors/OrientSensor.h b/device/qcom/common/libsensors/OrientSensor.h
index 635eed086..d1cd22f3b 100755
--- a/device/qcom/common/libsensors/OrientSensor.h
+++ b/device/qcom/common/libsensors/OrientSensor.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/PSensorAL3003.cpp b/device/qcom/common/libsensors/PSensorAL3003.cpp
index 45883be08..792b91b1d 100755
--- a/device/qcom/common/libsensors/PSensorAL3003.cpp
+++ b/device/qcom/common/libsensors/PSensorAL3003.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/PSensorAL3003.h b/device/qcom/common/libsensors/PSensorAL3003.h
index 628415058..fc515a9ad 100755
--- a/device/qcom/common/libsensors/PSensorAL3003.h
+++ b/device/qcom/common/libsensors/PSensorAL3003.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/ProximitySensor.cpp b/device/qcom/common/libsensors/ProximitySensor.cpp
index b00ac1690..cd261f53b 100755
--- a/device/qcom/common/libsensors/ProximitySensor.cpp
+++ b/device/qcom/common/libsensors/ProximitySensor.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -75,7 +76,7 @@ int ProximitySensor::setInitialState() {
int ProximitySensor::enable(int32_t handle, int en) {
int flags = en ? 1 : 0;
if (flags != mEnabled) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "enable", flags) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "enable", flags) < 0) {
LOGE("%s:%d,cannot open the enable",__func__,__LINE__);
return -1;
}
@@ -88,7 +89,7 @@ int ProximitySensor::enable(int32_t handle, int en) {
int ProximitySensor::setDelay(int32_t handle, int64_t ns) {
int ms = (int)ns/1000000;
if (ms >=0) {
- if (sysfs_set_input_attr_by_int(input_sysfs_path, "delay", ms) < 0) {
+ if (sysfs_set_attr_int(input_sysfs_path, "delay", ms) < 0) {
LOGE("%s:%d,cannot open the delay",__func__,__LINE__);
return -1;
}
diff --git a/device/qcom/common/libsensors/ProximitySensor.h b/device/qcom/common/libsensors/ProximitySensor.h
index dfb991898..3f8328e59 100755
--- a/device/qcom/common/libsensors/ProximitySensor.h
+++ b/device/qcom/common/libsensors/ProximitySensor.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/common/libsensors/SensorBase.cpp b/device/qcom/common/libsensors/SensorBase.cpp
index e848c8e66..438d2f580 100755
--- a/device/qcom/common/libsensors/SensorBase.cpp
+++ b/device/qcom/common/libsensors/SensorBase.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -138,25 +139,24 @@ int SensorBase::openInput(const char* dataName, char* inputName, struct input_id
return fd;
}
-#define MAX_ATTR_PATH (256)
-int SensorBase::sysfs_set_input_attr(char *classpath, const char *attr, char *value, int len)
+int SensorBase::sysfs_set_attr(const char *classpath, const char *attr, const char *data, int len)
{
- char fname[MAX_ATTR_PATH];
int fd;
+ char attr_name[PATH_MAX] = {'\0'};
- if (classpath == NULL || *classpath == '\0'
- || attr == NULL || value == NULL || len < 1) {
+ if (classpath == NULL || attr == NULL || data == NULL) {
return -EINVAL;
}
+
+ strcpy(attr_name, classpath);
+ strcat(attr_name, "/");
+ strcat(attr_name, attr);
- snprintf(fname, sizeof(fname), "%s/%s", classpath, attr);
- fname[sizeof(fname) - 1] = '\0';
-
- fd = open(fname, O_WRONLY);
+ fd = open(attr_name, O_WRONLY);
if (fd < 0) {
return -errno;
}
- if (write(fd, value, len) < 0) {
+ if (write(fd, data, len) < 0) {
close(fd);
return -errno;
}
@@ -165,118 +165,51 @@ int SensorBase::sysfs_set_input_attr(char *classpath, const char *attr, char *va
return 0;
}
-int SensorBase::sysfs_get_input_attr(char *classpath, const char *attr, char *value, int len)
+int SensorBase::sysfs_get_attr(const char *classpath, const char *attr, char *data, int len)
{
- char fname[MAX_ATTR_PATH];
int fd;
- int nread;
+ int num;
+ char attr_name[PATH_MAX] = {'\0'};
- if (classpath == NULL || *classpath == '\0'
- || attr == NULL || value == NULL || len < 1) {
+ if (classpath == NULL || attr == NULL || data == NULL) {
return -EINVAL;
}
- snprintf(fname, sizeof(fname), "%s/%s", classpath, attr);
- fname[sizeof(fname) - 1] = '\0';
-
- fd = open(fname, O_RDONLY);
+ strcpy(attr_name, classpath);
+ strcat(attr_name, "/");
+ strcat(attr_name, attr);
+
+ fd = open(attr_name, O_RDONLY);
if (fd < 0) {
return -errno;
}
- if ((nread = read(fd, value, len)) < 0) {
+ if ((num = read(fd, data, len)) < 0) {
close(fd);
return -errno;
}
- value[nread - 1] = '\0';
+ data[num - 1] = '\0';
close(fd);
- chomp(value, strlen(value));
-
- return 0;
-}
-
-int SensorBase::sysfs_set_input_attr_by_int(char *classpath, const char *attr, int value)
-{
- char buf[sizeof("-2147483647")];
-
- int2a(buf, value, sizeof(buf));
-
- return sysfs_set_input_attr(classpath, attr, buf, sizeof(buf));
-}
-
-int SensorBase::sysfs_get_input_attr_by_int(char *classpath, const char *attr, int *value)
-{
- char buf[sizeof("-2147483647")];
- int rt;
-
- if (value == NULL) {
- return -EINVAL;
- }
- if ((rt = sysfs_get_input_attr(classpath, attr, buf, sizeof(buf))) < 0) {
- return rt;
- }
- *value = atoi(buf);
return 0;
}
-int SensorBase::chomp(char *buf, int len)
+int SensorBase::sysfs_set_attr_int(const char *classpath, const char *attr, int data)
{
- if (buf == NULL || len < 0) {
- return -1;
- }
- while (len > 0 && (buf[len - 1] == '\n' || buf[len -1] == '\r')) {
- buf[len - 1] = '\0';
- len--;
- }
- return 0;
-}
+ char string[11];
-void SensorBase::reverse(char s[])
-{
- int c, i, j;
+ sprintf(string, "%d", data);
- for (i = 0, j = strlen(s) - 1; i < j; i++, j--) {
- c = s[i];
- s[i] = s[j];
- s[j] = c;
- }
+ return sysfs_set_attr(classpath, attr, string, sizeof(string));
}
-int SensorBase::int2a(char *buf, int value, int bufsize)
+int SensorBase::sysfs_get_attr_int(const char *classpath, const char *attr, int *data)
{
- unsigned int tmp;
- int i, sign;
-
- if (buf == NULL) {
- return -1;
- }
-
- if((sign = value) < 0){
- tmp = (unsigned int)(-value);
- bufsize--;
- }
- else {
- tmp = value;
- }
-
- if (bufsize <= 0) {
- return -1;
- }
+ char string[11];
- i = 0;
- do {
- if (i >= bufsize - 1) {
- return -1;
- }
- buf[i++] = tmp % 10 + '0';
- } while ((tmp /= 10) > 0);
-
- if(sign < 0){
- buf[i++] = '-';
+ if (sysfs_get_attr(classpath, attr, string, sizeof(string)) < 0) {
+ return -errno;
}
-
- buf[i] = '\0';
- reverse(buf);
+ *data = atoi(string);
return 0;
}
diff --git a/device/qcom/common/libsensors/SensorBase.h b/device/qcom/common/libsensors/SensorBase.h
index fac4c097e..3e2d8b3b5 100755
--- a/device/qcom/common/libsensors/SensorBase.h
+++ b/device/qcom/common/libsensors/SensorBase.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -43,14 +44,10 @@ protected:
int open_device();
int close_device();
- int chomp(char *buf, int len);
- void reverse(char s[]);
- int int2a(char *buf, int value, int bufsize);
- int sysfs_get_input_classpath(const char *name, char *classpath, int len);
- int sysfs_get_input_attr(char *classpath, const char *attr, char *buf, int len);
- int sysfs_get_input_attr_by_int(char *classpath, const char *attr, int *value);
- int sysfs_set_input_attr(char *classpath, const char *attr, char *value, int len);
- int sysfs_set_input_attr_by_int(char *classpath, const char *attr, int value);
+ int sysfs_get_attr(const char *classpath, const char *attr, char *data, int len);
+ int sysfs_set_attr(const char *classpath, const char *attr, const char *data, int len);
+ int sysfs_get_attr_int(const char *classpath, const char *attr, int *data);
+ int sysfs_set_attr_int(const char *classpath, const char *attr, int data);
public:
char* getProductName();
diff --git a/device/qcom/common/libsensors/sensors.cpp b/device/qcom/common/libsensors/sensors.cpp
index 91920bbd2..686ccc022 100755
--- a/device/qcom/common/libsensors/sensors.cpp
+++ b/device/qcom/common/libsensors/sensors.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -44,7 +45,8 @@
* The SENSORS Module List
* Android define 11 types sensor in sensors.h
*/
-static struct sensor_t sSensorList[11] = {0};
+#define MAX_SENSOR_NUM (16)
+static struct sensor_t sSensorList[MAX_SENSOR_NUM] = {0};
/*
* Really exsit sensor number
@@ -66,13 +68,14 @@ struct sensors_poll_context_t
int activate(int handle, int enabled);
int setDelay(int handle, int64_t ns);
int pollEvents(sensors_event_t* data, int count);
-
+ int handle2type(int handle);
+ int type2handle(int type);
private:
size_t wake;
static const char WAKE_MESSAGE = 'W';
int mWritePipeFd;
- SensorBase* mSensors[11];
- struct pollfd mPollFds[11 + 1];
+ SensorBase* mSensors[MAX_SENSOR_NUM];
+ struct pollfd mPollFds[MAX_SENSOR_NUM + 1];
};
sensors_poll_context_t::sensors_poll_context_t()
@@ -96,7 +99,6 @@ sensors_poll_context_t::sensors_poll_context_t()
num++;
}
-
tempSensor = MagvSensor::getInstance(num);
if(tempSensor)
{
@@ -109,7 +111,6 @@ sensors_poll_context_t::sensors_poll_context_t()
num++;
}
-
tempSensor = OrientSensor::getInstance(num);
if(tempSensor)
{
@@ -190,19 +191,90 @@ sensors_poll_context_t::~sensors_poll_context_t()
close(mWritePipeFd);
}
+int sensors_poll_context_t::handle2type(int handle)
+{
+ return sSensorList[handle].type;
+}
+
+int sensors_poll_context_t::type2handle(int type)
+{
+ int handle = -1;
+ int i;
+
+ for(i = 0; i < sensorNum; i++)
+ {
+ if(sSensorList[i].type == type)
+ {
+ handle = i;
+ break;
+ }
+ }
+ return handle;
+}
+
int sensors_poll_context_t::activate(int handle, int enabled)
{
+ int h;
+ int err;
+ int result;
+ const char wakeMessage(WAKE_MESSAGE);
+
+ LOGD("%s:%d, handle = %d, enable = %d", __func__, __LINE__, handle, enabled);
if ((handle < 0) || (handle >= sensorNum))
return -1;
- int err = mSensors[handle]->enable(handle, enabled);
+ if(handle2type(handle) == SENSOR_TYPE_ORIENTATION)
+ {
+ h = type2handle(SENSOR_TYPE_MAGNETIC_FIELD);
+ if(h >= 0)
+ {
+ err = mSensors[h]->enable(-1, enabled);
+ if (enabled && !err)
+ {
+ result = write(mWritePipeFd, &wakeMessage, 1);
+ LOGE_IF(result<0, "error sending wake message (%s)", strerror(errno));
+ }
+ else if(enabled && err)
+ {
+ err = -1;
+ goto err;
+ }
+ }
+ else if(enabled)
+ {
+ err = -1;
+ goto err;
+ }
+
+ h = type2handle(SENSOR_TYPE_ACCELEROMETER);
+ if(h >= 0)
+ {
+ err = mSensors[h]->enable(-1, enabled);
+ if (enabled && !err)
+ {
+ result = write(mWritePipeFd, &wakeMessage, 1);
+ LOGE_IF(result<0, "error sending wake message (%s)", strerror(errno));
+ }
+ else if(enabled && err)
+ {
+ err = -1;
+ goto err;
+ }
+ }
+ else if(enabled)
+ {
+ err = -1;
+ goto err;
+ }
+ }
+
+ err = mSensors[handle]->enable(handle, enabled);
if (enabled && !err)
{
- const char wakeMessage(WAKE_MESSAGE);
- int result = write(mWritePipeFd, &wakeMessage, 1);
+ result = write(mWritePipeFd, &wakeMessage, 1);
LOGE_IF(result<0, "error sending wake message (%s)", strerror(errno));
}
-
+err:
return err;
}
@@ -218,7 +290,8 @@ int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count)
{
int nbEvents = 0;
int n = 0;
-
+ int valid_fds = 0;
+
do {
// see if we have some leftover from the last poll()
for (int i=0 ; count && i<sensorNum ; i++) {
@@ -234,6 +307,7 @@ int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count)
data += nb;
}
}
+
if(nbEvents)
break;
@@ -241,9 +315,9 @@ int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count)
// we still have some room, so try to see if we can get
// some events immediately or just wait if we don't have
// anything to return
- n = poll(mPollFds, sensorNum + 1, nbEvents ? 0 : -1);
+ n = poll(mPollFds, sensorNum + 1, -1);
if (n<0) {
- LOGE("poll() failed (%s)", strerror(errno));
+ LOGE("poll() failed (%s), valid_fds = %d", strerror(errno), valid_fds);
return -errno;
}
if (mPollFds[wake].revents & POLLIN) {
@@ -256,7 +330,7 @@ int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count)
}
// if we have events and space, go read them
} while (n && count);
-
+
return nbEvents;
}
diff --git a/device/qcom/common/libsensors/sensors.h b/device/qcom/common/libsensors/sensors.h
index 4e2cf2433..d479d9d33 100755
--- a/device/qcom/common/libsensors/sensors.h
+++ b/device/qcom/common/libsensors/sensors.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/device/qcom/msm7625_sku1/7k_handset.kl b/device/qcom/msm7625_sku1/7k_handset.kl
deleted file mode 100644
index 9d87141b7..000000000
--- a/device/qcom/msm7625_sku1/7k_handset.kl
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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 nor
-# the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-key 226 HEADSETHOOK WAKE
-key 116 POWER WAKE
-key 107 ENDCALL WAKE_DROPPED
diff --git a/device/qcom/msm7625_sku1/Android.mk b/device/qcom/msm7625_sku1/Android.mk
deleted file mode 100644
index 9a21fab30..000000000
--- a/device/qcom/msm7625_sku1/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-#
-# This empty Android.mk file exists to prevent the build system from
-# automatically including any other Android.mk files under this directory.
-#
diff --git a/device/qcom/msm7625_sku1/AndroidBoard.mk b/device/qcom/msm7625_sku1/AndroidBoard.mk
deleted file mode 100644
index 73a1b65a1..000000000
--- a/device/qcom/msm7625_sku1/AndroidBoard.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-#----------------------------------------------------------------------
-# Compile (L)ittle (K)ernel bootloader and the nandwrite utility
-#----------------------------------------------------------------------
-ifneq ($(strip $(TARGET_NO_BOOTLOADER)),true)
-
-# Compile
-include bootable/bootloader/lk/AndroidBoot.mk
-
-INSTALLED_BOOTLOADER_TARGET := $(PRODUCT_OUT)/bootloader
-file := $(INSTALLED_BOOTLOADER_TARGET)
-ALL_PREBUILT += $(file)
-$(file): $(TARGET_BOOTLOADER) | $(ACP)
- $(transform-prebuilt-to-target)
-
-# Copy nandwrite utility to target out directory
-INSTALLED_NANDWRITE_TARGET := $(PRODUCT_OUT)/nandwrite
-file := $(INSTALLED_NANDWRITE_TARGET)
-ALL_PREBUILT += $(file)
-$(file) : $(TARGET_NANDWRITE) | $(ACP)
- $(transform-prebuilt-to-target)
-endif
-
-#----------------------------------------------------------------------
-# Compile Linux Kernel
-#----------------------------------------------------------------------
-ifeq ($(KERNEL_DEFCONFIG),)
- KERNEL_DEFCONFIG := msm7625_sku1-perf_defconfig
-endif
-
-include kernel/AndroidKernel.mk
-
-file := $(INSTALLED_KERNEL_TARGET)
-ALL_PREBUILT += $(file)
-$(file) : $(TARGET_PREBUILT_KERNEL) | $(ACP)
- $(transform-prebuilt-to-target)
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := msm7625_sku1_keypad.kcm
-#LOCAL_MODULE_TAGS := optional
-include $(BUILD_KEY_CHAR_MAP)
-
-file := $(TARGET_OUT_KEYLAYOUT)/7k_handset.kl
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/7k_handset.kl | $(ACP)
- $(transform-prebuilt-to-target)
-
-file := $(TARGET_OUT_KEYLAYOUT)/msm7625_sku1_keypad.kl
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/msm7625_sku1_keypad.kl | $(ACP)
- $(transform-prebuilt-to-target)
-
-file := $(TARGET_OUT)/etc/vold.fstab
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/vold.fstab | $(ACP)
- $(transform-prebuilt-to-target)
-
-ifeq ($(strip $(BOARD_HAS_QCOM_WLAN)),true)
-file := $(TARGET_OUT)/etc/wifi/wpa_supplicant.conf
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/wpa_supplicant.conf | $(ACP)
- $(transform-prebuilt-to-target)
-endif
diff --git a/device/qcom/msm7625_sku1/AndroidProducts.mk b/device/qcom/msm7625_sku1/AndroidProducts.mk
deleted file mode 100644
index ad25b64aa..000000000
--- a/device/qcom/msm7625_sku1/AndroidProducts.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-
-PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/msm7625_sku1.mk
diff --git a/device/qcom/msm7625_sku1/BoardConfig.mk b/device/qcom/msm7625_sku1/BoardConfig.mk
deleted file mode 100644
index 677e0531b..000000000
--- a/device/qcom/msm7625_sku1/BoardConfig.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-#
-# config.mk
-#
-# Product-specific compile-time definitions.
-#
-
-ifeq ($(QC_PROP),true)
- BOARD_USES_QCOM_HARDWARE := true
- BOARD_USES_ADRENO_200 := false
- HAVE_ADRENO200_SOURCE := false
- HAVE_ADRENO200_SC_SOURCE := false
- HAVE_ADRENO200_FIRMWARE := false
- BOARD_USES_QCNE := true
-
- ifneq ($(BUILD_TINY_ANDROID), true)
- BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION := 50001
- BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
- BOARD_CAMERA_LIBRARIES := libcamera
- BOARD_HAVE_BLUETOOTH := true
- BOARD_HAS_QCOM_WLAN := false
- #BOARD_USES_GENERIC_AUDIO := true
- ifeq ($(BOARD_HAS_QCOM_WLAN),true)
- BOARD_WPA_SUPPLICANT_DRIVER := WEXT
- WPA_SUPPLICANT_VERSION := VER_0_6_X
- WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/libra.ko"
- WIFI_DRIVER_MODULE_NAME := "libra"
- endif
- # [WIFI] If enable Wi-Fi Support. Set "BOARD_HAVE_WIFI := true"
- BOARD_HAVE_WIFI := true
- endif # !BUILD_TINY_ANDROID
-
-else
-# BOARD_USES_GENERIC_AUDIO := true
- USE_CAMERA_STUB := true
-
-endif # QC_PROP
-
-TARGET_HAVE_TSLIB := true
-
-TARGET_NO_BOOTLOADER := false
-TARGET_NO_KERNEL := false
-TARGET_NO_RADIOIMAGE := true
-
-TARGET_CPU_ABI := armeabi
-
-TARGET_BOARD_PLATFORM := msm7k
-TARGET_BOOTLOADER_BOARD_NAME := msm7625_sku1
-TARGET_USES_16BPPSURFACE_FOR_OPAQUE := true
-TARGET_AVOID_DRAW_TEXTURE_EXTENSION := true
-QCOM_TARGET_PRODUCT := msm7625_sku1
-QCOM_CUSTOM := true
-
-BOARD_KERNEL_BASE := 0x00200000
-
-# emmc support
-TARGET_USERIMAGES_USE_EXT4 := false
-
-BOARD_KERNEL_CMDLINE := mem=212M console=ttyMSM2,115200n8 console=ttyHSL1,115200n8 androidboot.hardware=qcom
-#BOARD_KERNEL_CMDLINE := mem=212M console=/dev/null androidboot.hardware=qcom lpj=2637824
-BOARD_EGL_CFG := device/qcom/$(TARGET_PRODUCT)/egl.cfg
-
-BOARD_NO_SPEAKER := false
-
-BOARD_DEVEL_TOOLS := busybox oprofile
-
-# [WIFI] Wi-Fi support
-#ifeq ($(BOARD_HAVE_WIFI),true)
-# BOARD_WIFI_ATH_AR6K := true
-# BOARD_WLAN_ATHEROS_SDK := system/wlan/atheros/AR6kSDK.2.2.1.151
-# WPA_SUPPLICANT_VERSION := VER_0_6_X
-# BOARD_WPA_SUPPLICANT_DRIVER := AR6000
-#endif # BOARD_HAVE_WIFI
-
-#Atheros ++++
-BOARD_USES_ATH_WIFI := true
-BOARD_USES_AR6002 := true
-BOARD_USES_AR6003 := false
-ifeq ($(BOARD_USES_ATH_WIFI),true)
- WPA_SUPPLICANT_VERSION := VER_0_6_ATHEROS
- ifeq ($(BOARD_USES_AR6002),true)
- BOARD_WLAN_ATHEROS_SDK := external/ar6002/olca
- endif
- ifeq ($(BOARD_USES_AR6003),true)
- BOARD_WLAN_ATHEROS_SDK := external/ar6003/olca
- endif
-endif
-# Atheros ---
-
-
-include device/qcom/$(TARGET_PRODUCT)/qcom_custom.mk
diff --git a/device/qcom/msm7625_sku1/Makefile b/device/qcom/msm7625_sku1/Makefile
deleted file mode 100644
index 559d3bfb9..000000000
--- a/device/qcom/msm7625_sku1/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-include definitions.mk
-
-A := 11111
-
-$(call add-head-comments,test1.h)
-$(call convert-makefile-item-to-h,test1.h,define,A,$(A))
-
-ifeq (1,0)
-all: test.h
- @echo done!
-
-clean_test.h :
- @rm -rf test.h
-
-test.h : clean_test.h
- $(call add-head-comments,$@)
- $(call convert-makefile-item-to-h,$@,define,A,$(A))
-endif
diff --git a/device/qcom/msm7625_sku1/definitions.mk b/device/qcom/msm7625_sku1/definitions.mk
deleted file mode 100644
index 3ae6a2ea8..000000000
--- a/device/qcom/msm7625_sku1/definitions.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-
-###########################################################
-## Set up the comments for auto-generated files
-## $(call add-head-comments,filename)
-###########################################################
-define add-head-comments
-$(shell echo "/**********************************************************" >> $(1)) \
-$(shell echo " * Auto-generated file" >> $(1)) \
-$(shell echo " *" >> $(1)) \
-$(shell echo " * DO NOT Modify the file by hand." >> $(1)) \
-$(shell echo " **********************************************************/" >> $(1)) \
-$(shell echo >> $(1))
-endef
-
-###########################################################
-## Add header file check
-## $(call add-define-check,filename,def)
-###########################################################
-define add-define-check
-$(shell echo "#ifndef "$(2) >> $(1)) \
-$(shell echo "#define "$(2) >> $(1)) \
-$(shell echo >> $(1))
-endef
-
-###########################################################
-## Add endif
-## $(call add-endif,filename)
-###########################################################
-define add-endif
-$(shell echo >> $(1)) \
-$(shell echo "#endif /* "$(2)" */" >> $(1))
-endef
-
-###########################################################
-## Convert makefile item to definition in header file
-## $(call convert-makefile-item-to-h, header_file, def,
-## makefile_item_name, makefile_item_val)
-###########################################################
-define convert-makefile-item-to-h
-$(shell echo "#"$(2)" "$(3)" "$(4) >> $(1))
-endef
diff --git a/device/qcom/msm7625_sku1/egl.cfg b/device/qcom/msm7625_sku1/egl.cfg
deleted file mode 100644
index c4a143763..000000000
--- a/device/qcom/msm7625_sku1/egl.cfg
+++ /dev/null
@@ -1 +0,0 @@
-0 0 android
diff --git a/device/qcom/msm7625_sku1/include/board_gpio.h b/device/qcom/msm7625_sku1/include/board_gpio.h
deleted file mode 100644
index 40d57c285..000000000
--- a/device/qcom/msm7625_sku1/include/board_gpio.h
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef BOARD_GPIO_H
-#define BOARD_GPIO_H
-
-//#include "gpio-tlmm-v1.h"
-struct gpio_info {
- char name[15];
- unsigned char num;
- unsigned int active_cfg;
- unsigned int inactive_cfg;
-};
-
-
-/*******************************************
- * LCD MODULE
- ******************************************/
-#define GPIO_LCD_RESET 101
-#define GPIO_LCD_RESET_CFG GPIO_CFG(GPIO_LCD_RESET, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_LCD_TE 124
-#define GPIO_LCD_TE_CFG GPIO_CFG(GPIO_LCD_TE,0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA)
-
-/* control interface: spi */
-#define GPIO_SPI_CS 131
-#define GPIO_SPI_CS_CFG GPIO_CFG(GPIO_SPI_CS, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_SPI_SCK 132
-#define GPIO_SPI_SCK_CFG GPIO_CFG(GPIO_SPI_SCK, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_SPI_MISO 102
-#define GPIO_SPI_MISO_CFG GPIO_CFG(GPIO_SPI_MISO, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA)
-#define GPIO_SPI_MOSI 103
-#define GPIO_SPI_MOSI_CFG GPIO_CFG(GPIO_SPI_MOSI, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-
-/*******************************************
- * TOUCH PANEL(CTP) MODULE
- ******************************************/
-#define GPIO_CTP_MCU_INT 18
-#define GPIO_CTP_MCU_RST 76
-
-#define GPIO_CTP_MCU_INT_CFG GPIO_CFG(GPIO_CTP_MCU_INT, 0, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_CTP_MCU_RST_CFG GPIO_CFG(GPIO_CTP_MCU_RST, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-
-/*******************************************
- * WLAN MODULE
- ******************************************/
-#define GPIO_WLAN_RST_L 26
-#define GPIO_WLAN_RST_L_CFG GPIO_CFG(GPIO_WLAN_RST_L, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_WLAN_WAKES_MSM 29
-#define GPIO_WLAN_WAKES_MSM_CFG GPIO_CFG(GPIO_WLAN_WAKES_MSM, 0, GPIO_CFG_OUTPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_WLAN_CHIP_PWD_L 81
-#define GPIO_WLAN_CHIP_PWD_L_CFG GPIO_CFG(GPIO_WLAN_CHIP_PWD_L, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-
-/*******************************************
- * BT MODULE
- ******************************************/
-#define GPIO_BT
-#define GPIO_BT_RST 16
-#define GPIO_BT_WAKE 42
-#define GPIO_BT_RFR 43
-#define GPIO_BT_CTS 44
-#define GPIO_BT_RX 45
-#define GPIO_BT_TX 46
-#define GPIO_BT_PCM_DOUT 68
-#define GPIO_BT_PCM_DIN 69
-#define GPIO_BT_PCM_SYNC 70
-#define GPIO_BT_PCM_CLK 71
-#define GPIO_BT_HOST_WAKE 83
-
-#define GPIO_BT_RST_CFG_ON GPIO_CFG(GPIO_BT_RST, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_WAKE_CFG_ON GPIO_CFG(GPIO_BT_WAKE, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_RFR_CFG_ON GPIO_CFG(GPIO_BT_RFR, 2, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_CTS_CFG_ON GPIO_CFG(GPIO_BT_CTS, 2, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_RX_CFG_ON GPIO_CFG(GPIO_BT_RX, 2, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_TX_CFG_ON GPIO_CFG(GPIO_BT_TX, 3, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DOUT_CFG_ON GPIO_CFG(GPIO_BT_PCM_DOUT, 1, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DIN_CFG_ON GPIO_CFG(GPIO_BT_PCM_DIN, 1, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_SYNC_CFG_ON GPIO_CFG(GPIO_BT_PCM_SYNC, 2, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_CLK_CFG_ON GPIO_CFG(GPIO_BT_PCM_CLK, 2, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_HOST_WAKE_CFG_ON GPIO_CFG(GPIO_BT_HOST_WAKE, 0, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-
-#define GPIO_BT_RST_CFG_OFF GPIO_CFG(GPIO_BT_RST, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_WAKE_CFG_OFF GPIO_CFG(GPIO_BT_WAKE, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_RFR_CFG_OFF GPIO_CFG(GPIO_BT_RFR, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_CTS_CFG_OFF GPIO_CFG(GPIO_BT_CTS, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_RX_CFG_OFF GPIO_CFG(GPIO_BT_RX, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_TX_CFG_OFF GPIO_CFG(GPIO_BT_TX, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DOUT_CFG_OFF GPIO_CFG(GPIO_BT_PCM_DOUT, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DIN_CFG_OFF GPIO_CFG(GPIO_BT_PCM_DIN, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_SYNC_CFG_OFF GPIO_CFG(GPIO_BT_PCM_SYNC, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_CLK_CFG_OFF GPIO_CFG(GPIO_BT_PCM_CLK, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_HOST_WAKE_CFG_OFF GPIO_CFG(GPIO_BT_HOST_WAKE, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-
-/* */
-#endif
diff --git a/device/qcom/msm7625_sku1/include/board_input.h b/device/qcom/msm7625_sku1/include/board_input.h
deleted file mode 100755
index 7571185b7..000000000
--- a/device/qcom/msm7625_sku1/include/board_input.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef board_input_h
-#define board_input_h
-
-#ifndef KEY_RESERVED
-#define KEY_RESERVED 0
-#endif
-
-#ifndef KEY_CENTER
-#define KEY_CENTER 232
-#endif
-
-#ifndef KEY_CAMERA
-#define KEY_CAMERA 212
-#endif
-
-#ifndef KEY_END
-#define KEY_END 107
-#endif
-
-/* keypad input */
-#define KEYPAD_COL 41, 40, 39, 38, 37
-#define KEYPAD_COL_LINES 5
-/* keypad output */
-#define KEYPAD_ROW 35, 34, 33, 32
-#define KEYPAD_ROW_LINES 4
-
-#define KEYMAP_INDEX(row, col) ((row) * KEYPAD_COL_LINES + (col))
-
-#define KEYPAD_LAYOUT \
- [KEYMAP_INDEX(0, 0)] = KEY_UP, \
- [KEYMAP_INDEX(0, 1)] = KEY_CENTER, \
- [KEYMAP_INDEX(0, 2)] = KEY_LEFT, \
- [KEYMAP_INDEX(0, 3)] = KEY_RIGHT, \
- [KEYMAP_INDEX(0, 4)] = KEY_DOWN, \
- [KEYMAP_INDEX(1, 0)] = KEY_RESERVED, \
- [KEYMAP_INDEX(1, 1)] = KEY_SEND, \
- [KEYMAP_INDEX(1, 2)] = KEY_END, \
- [KEYMAP_INDEX(1, 3)] = KEY_RESERVED, \
- [KEYMAP_INDEX(1, 4)] = KEY_RESERVED, \
- [KEYMAP_INDEX(2, 0)] = KEY_RESERVED, \
- [KEYMAP_INDEX(2, 1)] = KEY_RESERVED, \
- [KEYMAP_INDEX(2, 2)] = KEY_VOLUMEDOWN, \
- [KEYMAP_INDEX(2, 3)] = KEY_VOLUMEUP, \
- [KEYMAP_INDEX(2, 4)] = KEY_RESERVED, \
- [KEYMAP_INDEX(3, 0)] = KEY_F9, \
- [KEYMAP_INDEX(3, 1)] = KEY_CAMERA, \
- [KEYMAP_INDEX(3, 2)] = KEY_RESERVED, \
- [KEYMAP_INDEX(3, 3)] = KEY_RESERVED, \
- [KEYMAP_INDEX(3, 4)] = KEY_RESERVED
-
-/* the name should be exactly same as *.kcm file */
-#define KEYPAD_NAME "msm7625_sku1_keypad"
-
-/*******************************************
- * TOUCH PANEL(CTP) MODULE
- ******************************************/
-#define VK_YHIGHT 0
-#define VKEY_MENU_X_POINT 30
-#define VKEY_HOME_X_POINT 110
-#define VKEY_SEARCH_X_POINT 190
-#define VKEY_BACK_X_POINT 270
-#define VKEY_Y_POINT 500
-#define VKEY_WIDTH 70
-#define VKEY_HIGHT 80
-#define TS_DIS_MAXX 480
-#define TS_DIS_MAXY 760
-#define TS_FIRMWARE_NAME "touch_ft5202_fm_25.bin"
-
-#endif /* board_input_h */
diff --git a/device/qcom/msm7625_sku1/include/board_pm.h b/device/qcom/msm7625_sku1/include/board_pm.h
deleted file mode 100644
index 6b1c80f69..000000000
--- a/device/qcom/msm7625_sku1/include/board_pm.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef board_pm_h
-#define board_pm_h
-
-/*******************************************
- * LCD MODULE
- ******************************************/
-#define LCD_VREG_NUM 2
-/* lcd 1.8v */
-#define LCD_VREG0 "gp4"
-/* lcd 2.6v */
-#define LCD_VREG1 "gp1"
-
-#define LCD_VREG(x) \
- ((x == 0) ? (LCD_VREG0) : ((x == 1) ? (LCD_VREG1) : NULL))
-
-#define MMC_VREG "mmc"
-
-#define WLAN_VREG "msme2"
-
-/*******************************************
- * CAMERA MODULE
- ******************************************/
-#define CAMERA_VREG_NUM 3
-#define CAMERA_VREG_VDDA "wlan"
-#define CAMERA_VREG_VDDIO "gp6"
-#define CAMERA_VREG_VDDC "gp3"
-
-#define CAMERA_VREG(x) \
- (((x == 0) ? (CAMERA_VREG_VDDA) : ((x == 1) ? (CAMERA_VREG_VDDIO) : CAMERA_VREG_VDDC)))
-
-/*******************************************
- * RGB leds MODULE
- ******************************************/
-#define MPP_R_PIN PM_MPP_14
-#define MPP_G_PIN PM_MPP_15
-#define MPP_B_PIN PM_MPP_16
-
-/*******************************************
- * BT MODULE
- ******************************************/
-#define BT_VREG "gp6"
-#define BT_VREG_LEVEL 1200
-#define BT_VREG_LEVEL_NOSET
-
-/*******************************************
- * TOUCH PANEL(CTP) MODULE
- ******************************************/
-#define CTP_VREG "rfrx2"
-#define CTP_VREG_LEVEL 2800
-#define CTP_VREG_LEVEL_NOSET
-
-#endif /* board_pm_h */
diff --git a/device/qcom/msm7625_sku1/msm7625_sku1.mk b/device/qcom/msm7625_sku1/msm7625_sku1.mk
deleted file mode 100644
index 5b0b4f421..000000000
--- a/device/qcom/msm7625_sku1/msm7625_sku1.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-$(call inherit-product, device/qcom/common/common.mk)
-
-PRODUCT_NAME := msm7625_sku1
-PRODUCT_DEVICE := msm7625_sku1
diff --git a/device/qcom/msm7625_sku1/msm7625_sku1_keypad.kcm b/device/qcom/msm7625_sku1/msm7625_sku1_keypad.kcm
deleted file mode 100644
index 80563642e..000000000
--- a/device/qcom/msm7625_sku1/msm7625_sku1_keypad.kcm
+++ /dev/null
@@ -1,64 +0,0 @@
-[type=QWERTY]
-
-# keycode display number base caps fn caps_fn
-
-A 'A' '2' 'a' 'A' '#' 0x00
-B 'B' '2' 'b' 'B' '<' 0x00
-C 'C' '2' 'c' 'C' '9' 0x00E7
-D 'D' '3' 'd' 'D' '5' 0x00
-E 'E' '3' 'e' 'E' '2' 0x0301
-F 'F' '3' 'f' 'F' '6' 0x00A5
-G 'G' '4' 'g' 'G' '-' '_'
-H 'H' '4' 'h' 'H' '[' '{'
-I 'I' '4' 'i' 'I' '$' 0x0302
-J 'J' '5' 'j' 'J' ']' '}'
-K 'K' '5' 'k' 'K' '"' '~'
-L 'L' '5' 'l' 'L' ''' '`'
-M 'M' '6' 'm' 'M' '!' 0x00
-N 'N' '6' 'n' 'N' '>' 0x0303
-O 'O' '6' 'o' 'O' '(' 0x00
-P 'P' '7' 'p' 'P' ')' 0x00
-Q 'Q' '7' 'q' 'Q' '*' 0x0300
-R 'R' '7' 'r' 'R' '3' 0x20AC
-S 'S' '7' 's' 'S' '4' 0x00DF
-T 'T' '8' 't' 'T' '+' 0x00A3
-U 'U' '8' 'u' 'U' '&' 0x0308
-V 'V' '8' 'v' 'V' '=' '^'
-W 'W' '9' 'w' 'W' '1' 0x00
-X 'X' '9' 'x' 'X' '8' 0xEF00
-Y 'Y' '9' 'y' 'Y' '%' 0x00A1
-Z 'Z' '9' 'z' 'Z' '7' 0x00
-
-# on pc keyboards
-COMMA ',' ',' ',' ';' ';' '|'
-PERIOD '.' '.' '.' ':' ':' 0x2026
-AT '@' '0' '@' '0' '0' 0x2022
-SLASH '/' '/' '/' '?' '?' '\'
-
-SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
-ENTER 0xa 0xa 0xa 0xa 0xa 0xa
-
-TAB 0x9 0x9 0x9 0x9 0x9 0x9
-0 '0' '0' '0' ')' ')' ')'
-1 '1' '1' '1' '!' '!' '!'
-2 '2' '2' '2' '@' '@' '@'
-3 '3' '3' '3' '#' '#' '#'
-4 '4' '4' '4' '$' '$' '$'
-5 '5' '5' '5' '%' '%' '%'
-6 '6' '6' '6' '^' '^' '^'
-7 '7' '7' '7' '&' '&' '&'
-8 '8' '8' '8' '*' '*' '*'
-9 '9' '9' '9' '(' '(' '('
-
-GRAVE '`' '`' '`' '~' '`' '~'
-MINUS '-' '-' '-' '_' '-' '_'
-EQUALS '=' '=' '=' '+' '=' '+'
-LEFT_BRACKET '[' '[' '[' '{' '[' '{'
-RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
-BACKSLASH '\' '\' '\' '|' '\' '|'
-SEMICOLON ';' ';' ';' ':' ';' ':'
-APOSTROPHE ''' ''' ''' '"' ''' '"'
-STAR '*' '*' '*' '*' '*' '*'
-POUND '#' '#' '#' '#' '#' '#'
-PLUS '+' '+' '+' '+' '+' '+'
-
diff --git a/device/qcom/msm7625_sku1/msm7625_sku1_keypad.kl b/device/qcom/msm7625_sku1/msm7625_sku1_keypad.kl
deleted file mode 100644
index c45ee63dd..000000000
--- a/device/qcom/msm7625_sku1/msm7625_sku1_keypad.kl
+++ /dev/null
@@ -1,16 +0,0 @@
-key 116 POWER WAKE
-key 231 CALL
-key 103 DPAD_UP
-key 108 DPAD_DOWN
-key 105 DPAD_LEFT
-key 106 DPAD_RIGHT
-key 232 DPAD_CENTER
-key 107 ENDCALL WAKE_DROPPED
-key 232 MENU
-key 102 HOME
-key 217 SEARCH
-key 158 BACK
-key 115 VOLUME_UP WAKE
-key 114 VOLUME_DOWN WAKE
-key 67 FOCUS
-key 212 CAMERA
diff --git a/device/qcom/msm7625_sku1/qcom_custom.mk b/device/qcom/msm7625_sku1/qcom_custom.mk
deleted file mode 100644
index 4b060aad5..000000000
--- a/device/qcom/msm7625_sku1/qcom_custom.mk
+++ /dev/null
@@ -1,125 +0,0 @@
-ifeq ($(QCOM_CUSTOM),true)
-QCOM_CUSTOM_GEN_HEADER := true
-
-QCOM_CUSTOM_INCLUDE := device/qcom/$(TARGET_PRODUCT)/include
-QCOM_CUSTOM_KERNEL_INCLUDE := kernel/arch/arm/mach-msm/include/mach
-
-# debug level(0-2) for lk
-# define CRITICAL 0
-# define ALWAYS 0
-# define INFO 1
-# define SPEW 2
-QCOM_CUSTOM_LK_DEBUG_LEVEL := 2
-
-QCOM_CUSTOM_LCD := hx8352 rm68042 r61581 ili9481b
-# QCOM_CUSTOM_LCD_IF information should be mddi or lcdc or ebi2 or mipi
-QCOM_CUSTOM_LCD_IF := lcdc
-
-# QCOM_CUSTOM_FLASH information should be <nand/nor>_<size>_block_<block_size>
-QCOM_CUSTOM_FLASH := nand_block_128k_page_2048
-
-TARGET_BOARD_MACHTYPE := 1007004
-
-ifneq (, $(findstring block_128k, $(QCOM_CUSTOM_FLASH)))
-BOARD_FLASH_BLOCK_SIZE := 0x20000
-endif
-
-ifneq (, $(findstring block_16k, $(QCOM_CUSTOM_FLASH)))
-BOARD_FLASH_BLOCK_SIZE := 0x4000
-endif
-
-ifneq (, $(findstring block_256k, $(QCOM_CUSTOM_FLASH)))
-BOARD_FLASH_BLOCK_SIZE := 0x40000
-endif
-
-ifneq (, $(findstring page_512, $(QCOM_CUSTOM_FLASH)))
-BOARD_KERNEL_PAGESIZE := 512
-endif
-
-ifneq (, $(findstring page_2048, $(QCOM_CUSTOM_FLASH)))
-BOARD_KERNEL_PAGESIZE := 2048
-endif
-
-ifneq (, $(findstring page_4096, $(QCOM_CUSTOM_FLASH)))
-BOARD_KERNEL_PAGESIZE := 4096
-endif
-
-BOARD_SPLASH_PARTITION_SIZE := 1048576 #0x00100000 # 1 MB
-BOARD_BOOTIMAGE_PARTITION_SIZE := 5242880 #0x00500000 # 5 MB
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 125829120 #0x07800000 # 170 MB
-BOARD_CACHEIMAGE_PARTITION_SIZE := 67108864 #0x04000000 # 60 MB
-BOARD_MISC_PARTITION_SIZE := 1048576 #0x00100000 # 1 MB
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 536870912 #0x20000000 # 512 MB fake size and should be decided by LK
-BOARD_PERSISTIMAGE_PARTITION_SIZE := 2097152 #0x00200000 # 2 MB
-BOARD_RECOVERYIMAGE_PARTITION_SIZE := 5242880 #0x00500000 # 5 MB
-BOARD_TOMBSTONESIMAGE_PARTITION_SIZE := 4194304 #0x00400000 # not used on the board
-
-# include definitions makefile
-BOARD_DEFINITION_MK := device/qcom/$(TARGET_PRODUCT)/definitions.mk
-include $(BOARD_DEFINITION_MK)
-
-# board_partitions_h
-board_partitions_h := $(QCOM_CUSTOM_INCLUDE)/board_partitions.h
-ifeq ($(QCOM_CUSTOM_GEN_HEADER),true)
-$(shell rm -rf $(board_partitions_h))
-$(call add-head-comments,$(board_partitions_h))
-$(call add-define-check,$(board_partitions_h),board_partitions_h)
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_SPLASH_PARTITION_SIZE,\
- $(BOARD_SPLASH_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_BOOTIMAGE_PARTITION_SIZE,\
- $(BOARD_BOOTIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_SYSTEMIMAGE_PARTITION_SIZE,\
- $(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_CACHEIMAGE_PARTITION_SIZE,\
- $(BOARD_CACHEIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_MISC_PARTITION_SIZE,\
- $(BOARD_MISC_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_USERDATAIMAGE_PARTITION_SIZE,\
- $(BOARD_USERDATAIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_PERSISTIMAGE_PARTITION_SIZE,\
- $(BOARD_PERSISTIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_RECOVERYIMAGE_PARTITION_SIZE,\
- $(BOARD_RECOVERYIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_TOMBSTONESIMAGE_PARTITION_SIZE,\
- $(BOARD_TOMBSTONESIMAGE_PARTITION_SIZE))
-$(call add-endif,$(board_partitions_h),board_partitions_h)
-endif
-
-# board_gpio_h
-
-# board_input_h
-
-# generate board_memory_h file
-board_memory_h := $(QCOM_CUSTOM_INCLUDE)/board_memory.h
-ifeq ($(QCOM_CUSTOM_GEN_HEADER),true)
-$(shell rm -rf $(board_memory_h))
-$(call add-head-comments,$(board_memory_h))
-$(call add-define-check,$(board_memory_h),board_memory_h)
-$(call convert-makefile-item-to-h,$(board_memory_h),define,BOARD_KERNEL_PAGESIZE,\
- $(BOARD_KERNEL_PAGESIZE))
-$(call convert-makefile-item-to-h,$(board_memory_h),define,BOARD_FLASH_BLOCK_SIZE,\
- $(BOARD_FLASH_BLOCK_SIZE))
-$(call add-endif,$(board_memory_h),board_memory_h)
-endif
-
-# generate board_common_h file
-board_common_h := $(QCOM_CUSTOM_INCLUDE)/board_common.h
-ifeq ($(QCOM_CUSTOM_GEN_HEADER),true)
-$(shell rm -rf $(board_common_h))
-$(call add-head-comments,$(board_common_h))
-$(call add-define-check,$(board_common_h),board_common_h)
-$(call convert-makefile-item-to-h,$(board_common_h),define,BOARD_KERNEL_BASE,\
- $(BOARD_KERNEL_BASE))
-$(call convert-makefile-item-to-h,$(board_common_h),define,TARGET_BOARD_MACHTYPE,\
- $(TARGET_BOARD_MACHTYPE))
-$(call convert-makefile-item-to-h,$(board_common_h),define,BOARD_KERNEL_PAGESIZE,\
- $(BOARD_KERNEL_PAGESIZE))
-$(call convert-makefile-item-to-h,$(board_common_h),define,BOARD_KERNEL_BASE,\
- $(BOARD_KERNEL_BASE))
-$(call add-endif,$(board_common_h),board_common_h)
-endif
-
-# copy custom include files to kernel
-$(shell cp -af $(QCOM_CUSTOM_INCLUDE)/board_*.h $(QCOM_CUSTOM_KERNEL_INCLUDE))
-
-endif
diff --git a/device/qcom/msm7625_sku1/recovery.fstab b/device/qcom/msm7625_sku1/recovery.fstab
deleted file mode 100644
index 034edcfa9..000000000
--- a/device/qcom/msm7625_sku1/recovery.fstab
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (c) 2011, Code Aurora Forum. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Code Aurora 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.
-
-# mount point fstype device [device2]
-
-/boot mtd boot
-/cache yaffs2 cache
-/data yaffs2 userdata
-/misc mtd misc
-/recovery mtd recovery
-/sdcard vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0
-/system yaffs2 system
diff --git a/device/qcom/msm7625_sku1/recovery_mmc.fstab b/device/qcom/msm7625_sku1/recovery_mmc.fstab
deleted file mode 100644
index 18066863b..000000000
--- a/device/qcom/msm7625_sku1/recovery_mmc.fstab
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (c) 2011, Code Aurora Forum. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Code Aurora 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.
-
-# mount point fstype device [device2]
-
-/boot emmc /dev/block/mmcblk0p8
-/cache ext4 /dev/block/mmcblk0p15
-/data ext4 /dev/block/mmcblk0p13
-/misc mtd misc
-/recovery emmc /dev/block/mmcblk0p16
-/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
-/system ext4 /dev/block/mmcblk0p12
diff --git a/device/qcom/msm7625_sku1/scripts/a11.cmm b/device/qcom/msm7625_sku1/scripts/a11.cmm
deleted file mode 100644
index c9841845d..000000000
--- a/device/qcom/msm7625_sku1/scripts/a11.cmm
+++ /dev/null
@@ -1,21 +0,0 @@
-; MSM7200 ARM11 in JTAG Direct Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm1136j
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 0.
-system.multicore drpost 0.
-sys.mode attach
-
-if state.run()
-(
- break
-)
-
diff --git a/device/qcom/msm7625_sku1/scripts/a9.cmm b/device/qcom/msm7625_sku1/scripts/a9.cmm
deleted file mode 100644
index 2cd7046fd..000000000
--- a/device/qcom/msm7625_sku1/scripts/a9.cmm
+++ /dev/null
@@ -1,15 +0,0 @@
-; MSM7200 ARM9 in JTAG Direct Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm926ej
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 0.
-system.multicore drpost 0.
-sys.mode attach
diff --git a/device/qcom/msm7625_sku1/scripts/boot.cmm b/device/qcom/msm7625_sku1/scripts/boot.cmm
deleted file mode 100644
index 36eb18e81..000000000
--- a/device/qcom/msm7625_sku1/scripts/boot.cmm
+++ /dev/null
@@ -1,22 +0,0 @@
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-sys.mode attach
-if state.run()
-(
- break
-)
-
-do setup
-
-data.load.elf "&(OUT)obj/EXECUTABLES/bootloader_intermediates/bootloader.elf" /relpath /path ../boot/
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-term
-
-go
diff --git a/device/qcom/msm7625_sku1/scripts/c11.cmm b/device/qcom/msm7625_sku1/scripts/c11.cmm
deleted file mode 100644
index ee83843d9..000000000
--- a/device/qcom/msm7625_sku1/scripts/c11.cmm
+++ /dev/null
@@ -1,15 +0,0 @@
-; MSM7200 ARM11 in JTAG Chained Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm1136j
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 4.
-system.multicore drpost 1.
-sys.mode attach
diff --git a/device/qcom/msm7625_sku1/scripts/c9.cmm b/device/qcom/msm7625_sku1/scripts/c9.cmm
deleted file mode 100644
index 65b8ecd2b..000000000
--- a/device/qcom/msm7625_sku1/scripts/c9.cmm
+++ /dev/null
@@ -1,15 +0,0 @@
-; MSM7200 ARM9 in JTAG Chained Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm926ej
-system.multicore irpre 5.
-system.multicore drpre 1.
-system.multicore irpost 0.
-system.multicore drpost 0.
-sys.mode attach
diff --git a/device/qcom/msm7625_sku1/scripts/chain.cmm b/device/qcom/msm7625_sku1/scripts/chain.cmm
deleted file mode 100644
index 0a1dd99e6..000000000
--- a/device/qcom/msm7625_sku1/scripts/chain.cmm
+++ /dev/null
@@ -1,73 +0,0 @@
-;;
-;; Script to attach to the ARM9 on the MSM7200 Primary JTAG interface
-;; and reconfigure the Primary JTAG interface to ARM9+ARM11 w/ RTCK.
-;; chained mode. The MSM7200 'MODE' pins must be 0001 for this to work.
-;;
-;; TDI -> ARM9 (4 bit IR) -> ARM11 (5 bit IR) -> TDO
-;;
-
-; these are common to both the ARM9 and the ARM11
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-print "ARM9: attaching"
-sys.cpu arm926ej
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 0.
-system.multicore drpost 0.
-
-sys.mode attach
-if state.run()
-(
- break
-)
-
-print "ARM9: selecting chained JTAG mode (expect bus error)"
-; we're probably going to error out after
-; we thwack the mode register
-on error gosub
-(
- return
-)
-
-; reconfigure primary jtag mode register for arm9+arm11 w/ RTCK
-; TLMM_INT_JTAG_CTL = 9
-;d.s 0xa860020c %long 0x1f
-;d.s 0xa860020c %long 0x0
-d.s 0xa900026c %long 9
-
-system.down
-
-on error
-
-sys.cpu arm926ej
-system.multicore irpre 5.
-system.multicore drpre 1.
-system.multicore irpost 0.
-system.multicore drpost 0.
-
-print "ARM9: resuming execution"
-sys.mode attach
-
-;confirm that this worked (it did)
-;local &reg
-;&reg=data.long(d:0xa900026c)
-;print "ARM9: TLMM_INT_JTAG_CTL = &reg"
-
-go
-system.down
-
-print "ARM11: attaching"
-sys.cpu arm1136j
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 4.
-system.multicore drpost 1.
-
-sys.mode attach
-print "ARM11: ready" \ No newline at end of file
diff --git a/device/qcom/msm7625_sku1/scripts/dcc.cmm b/device/qcom/msm7625_sku1/scripts/dcc.cmm
deleted file mode 100644
index 1a6264d0d..000000000
--- a/device/qcom/msm7625_sku1/scripts/dcc.cmm
+++ /dev/null
@@ -1,21 +0,0 @@
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-
-sys.mode attach
-
-if state.run()
-(
- break
-)
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-term
-
-go
-
diff --git a/device/qcom/msm7625_sku1/scripts/debug.cmm b/device/qcom/msm7625_sku1/scripts/debug.cmm
deleted file mode 100644
index a84353397..000000000
--- a/device/qcom/msm7625_sku1/scripts/debug.cmm
+++ /dev/null
@@ -1,74 +0,0 @@
-;; Copyright 2007, Google Inc.
-;;
-;; script to communicate with debug/utility programs using the jtag.c interface
-;;
-
-local &cmd
-local &arg0
-local &arg1
-local &arg2
-
-local &pc
-local &str
-local &n
-
-entry &cmd &arg0 &arg1 &arg2
-
-area
-
-print
-mainloop:
-
-b.reset
-b.set jtag_hook /onchip
-go
-wait !run()
-b.reset
-
-&pc=y.varname(A:register(pc))
-if ("&pc"!="jtag_hook")
-(
- print "ERROR: not stopped at jtag_hook()"
- enddo 1
-)
-
-;; if there's a message, process it
-;; and then keep waiting (if it's non-final)
-;;
-&n=data.long(_jtag_msg)
-if (&n==3)
-(
- print "> " data.string(_jtag_msg_buffer)
- d.s _jtag_msg %long 0
- goto mainloop
-)
-if (&n==1)
-(
- print
- print "OKAY: " data.string(_jtag_msg_buffer)
- d.s _jtag_msg %long 0
- enddo 0
-)
-if (&n==2)
-(
- print
- print "FAIL: " data.string(_jtag_msg_buffer)
- d.s _jtag_msg %long 0
- enddo 1
-)
-
-if ("&cmd"!="")
-(
- &n=data.long(_jtag_cmd)
- if (&n!=0)
- goto mainloop
-
- d.s _jtag_cmd_buffer "&cmd"
- d.s _jtag_arg0 %long &arg0
- d.s _jtag_arg1 %long &arg1
- d.s _jtag_arg2 %long &arg2
- d.s _jtag_cmd %long 1
- &cmd=""
-)
-
-goto mainloop
diff --git a/device/qcom/msm7625_sku1/scripts/debug_android.cmm b/device/qcom/msm7625_sku1/scripts/debug_android.cmm
deleted file mode 100644
index 850d12674..000000000
--- a/device/qcom/msm7625_sku1/scripts/debug_android.cmm
+++ /dev/null
@@ -1,178 +0,0 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Setup Android T32 debugging environment
-;; Sample script
-;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Declare local variables
-ENTRY &AndroidRoot
-
-local &kernelPath
-local &T32Path
-
-;; Break if already running
-if run()
-(
- break
-)
-
-;; Setup Windows
- winclear
- ; Display code listing
- WINPOS 0.0 0.0 68% 65% 12. 1. W000
- DATA.list
-
- ; Display register window
- WINPOS 68% 0. 32% 50% 0. 0. W002
- register /spotlight
-
- ; Display variables in HEX and with symbol names
- setup.var %open.on %hex
-
- ; Display stackframe with local variables
- WINPOS 68% 50% 32% 48% 0. 0. W003
- Var.Frame /Locals /Caller
-
-;; Setup window area to display messages when setting this up
-WINPOS 0% 65% 34% 35% 0. 0. W001
-Area.create MAIN
-Area.clear MAIN
-Area.view MAIN
-Area.select MAIN
-
-print " _ _ _ ___ ___ ___ ___ ___ "
-print " /_\ | \| | \| _ \/ _ \_ _| \ "
-print " / _ \| .` | |) | / (_) | || |) |"
-print "/_/ \_\_|\_|___/|_|_\\___/___|___/ "
-print " "
-print "ANDROID root directory: &AndroidRoot"
-
-&kernelPath="&AndroidRoot/kernel"
-&T32LinuxScriptPath="c:/T32/demo/arm/kernel/linux"
-
-; Generic start-up
-Break.Delete ; remove any breakpoints
-MAP.RESet ; reset debuggers memory mapping
-MMU.RESet ; reset debuggers MMU
-sYmbol.RESet ; remove any symbols
-
-; Linux start-up
-TrOnchip.Set DABORT OFF ; turn off breakpoint on data abort
-TrOnchip.Set PABORT OFF ; turn off breakpoint on program abort
-TrOnchip.Set UNDEF OFF ; turn off breakpoint on undefined instruction
-SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses
-
-print "Loading Linux kernel symbols..."
-data.load.elf "&AndroidRoot/out/target/product/msm7625_sku1/obj/KERNEL_OBJ/vmlinux" /nocode /gnu
-
-; Declare the MMU format to the debugger
- ; - table format is "LINUX"
- ; - table base address is at label "swapper_pg_dir"
- ; - kernel address translation
- ; Map the virtual kernel symbols to physical addresses to give
- ; the debugger access to it before CPU MMU is initialized
-
-MMU.RESET
-MMU.FORMAT LINUX swapper_pg_dir 0xC0000000--0xCfffffff 0x00200000
-MMU.COMMON 0xC00000000--0xCFFFFFFF
-MMU.AUTOSCAN ON
-MMU.TABLEWALK ON
-MMU.ON
-
-
-; Configure Trace32 for Linux debugging
-TASK.CONFIG "&T32LinuxScriptPath/linux.t32" ; Load Linux awareness
-MENU.ReProgram "&T32LinuxScriptPath/linux.men" ; Load Linux menu
-HELP.FILTER.Add rtoslinux ; Add linux awareness manual to help filter
-
-TASK.sYmbol.Option MMUSCAN OFF ; not necessary with table walk
-
-sYmbol.AutoLoad.CHECKLINUX "do &LinuxT32ScriptPath/autoload " ; Switch on symbol autoloader
-
-GROUP.Create "kernel" 0xC00000000--0xCFFFFFFFF /RED
-
-
-; Configure Autoloader to automatically load symbols for process debugging
-Task.SYMBOL.Option Autoload Process
-
-; Display Linux processes
-WINPOS 34% 65% 34% 35% 0. 0. W003
-task.dtask
-mode.hll
-
-;; Setup break points in linux kernel to ease debugging
-b.s \\vmlinux\panic\panic
-
-&symbolPath="&AndroidRoot/out/target/product/msm7625_sku1/symbols/system/lib"
-
-;; The following addresses are based on prelink library map defined in
-;; build/core/prelink-linux-arm.map. Addresses may need to be customized
-;; based on target
-&libopencore_commonAddr=0xa6000000
-&libopencore_playerAddr=0xa7000000
-&libopencore_authorAddr=0xa7800000
-&libhardware_legacyAddr=0xa9c00000
-&libhardwareAddr=0xa9c70000
-&libaudioflingerAddr=0xab000000
-&libmediaAddr=0xab200000
-&libmediaplayerserviceAddr=0xab280000
-&libvorbisidecAddr=0xab400000
-&libsonivoxAddr=0xab500000
-&libaudioAddr=0xab700000
-&libaudiopolicygenericAddr=0xab800000
-&libaudiopolicyAddr=0xab880000
-&libskiaAddr=0xac000000
-&libuiAddr=0xac400000
-&libEGLAddr=0xac700000
-&libGLESv1_CMAddr=0xacb00000
-&libpixelflingerAddr=0xacf00000
-&libdvmAddr=0xad000000
-&libandroid_runtimeAddr=0xad300000
-&liblogAddr=0xafbc0000
-&libcAddr=0xafe00000
-
-;; Get the application ID
-;&appsID=task.proc.spaceid("mediaserver");
-;if &appsID==0xffffffff
-;(
-; print "Error getting mediaserver ID.. exit"
-; enddo
-;)
-;print "ID"
-;print &appsID
-
-;; Load libraries
-print "Loading Android library symbols..."
-data.load.elf &symbolPath\libopencore_common.so &libopencore_commonAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libopencore_player.so &libopencore_playerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libopencore_author.so &libopencore_authorAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libhardware.so &libhardwareAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudioflinger.so &libaudioflingerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libmedia.so &libmediaAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libmediaplayerservice.so &libmediaplayerserviceAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libvorbisidec.so &libvorbisidecAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libsonivox.so &libsonivoxAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudio.so &libaudioAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudiopolicygeneric.so &libaudiopolicygenericAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudiopolicy.so &libaudiopolicyAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libskia.so &libskiaAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libui.so &libuiAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libEGL.so &libEGLAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libGLESv1_CM.so &libGLESv1_CMAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libpixelflinger.so &libpixelflingerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libdvm.so &libdvmAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libandroid_runtime.so &libandroid_runtimeAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\liblog.so &liblogAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libc.so &libcAddr /gnu /nocode /noclear
-
-
-;Source Paths for libraries
-print "Adding default source paths..."
-y.spath.srd "&AndroidRoot/kernel"
-y.spath.srd "&AndroidRoot/hardware/msm7k"
-y.spath.srd "&AndroidRoot/frameworks/base"
-y.spath.srd "&AndroidRoot/system/core"
-
-print "Done."
-ENDDO
diff --git a/device/qcom/msm7625_sku1/scripts/flash.cmm b/device/qcom/msm7625_sku1/scripts/flash.cmm
deleted file mode 100644
index 2cb03ac68..000000000
--- a/device/qcom/msm7625_sku1/scripts/flash.cmm
+++ /dev/null
@@ -1,70 +0,0 @@
-;; Copyright 2007, Google Inc.
-;; flash driver script
-;;
-
-local &arg_ptn
-local &arg_img
-local &arg_extra
-local &arg_size
-
-local &result
-global &img_size
-local &status
-
-ENTRY &arg_ptn &arg_img &arg_extra
-
-do setup.cmm
-
-if ("&arg_extra"!="again")
-(
- area
- area.clear
-)
-
-if ("&arg_ptn"=="")
-(
- print "USAGE: do flash <partition> <image>"
- enddo
-)
-
-if ("&arg_extra"!="again")
-(
- sys.down
- sys.cpu arm1136j
- sys.jtagclock rtck
- sys.mode attach
- if state.run()
- (
- break
- )
- data.load.elf "&(NANDWRITE)"
-)
-
-if ("&arg_img"=="MEMORY")
-(
- &img_size=&arg_extra
-)
-else
-(
- if ("&arg_img"!="")
- (
- if y.exist("\\flashimg")
- symbol.delete \\flashimg
- data.load.binary &arg_img &SYSTEM_HDR_ADDR /name flashimg /noclear
- &img_size=os.file.size(&arg_img)
- )
- else
- (
- &img_size=0
- )
-)
-
-&arg_ptn="flash:&arg_ptn"
-
-if ("&arg_extra"!="dont_flash")
-(
- do debug &arg_ptn &SYSTEM_HDR_ADDR &img_size
-)
-
-entry &result
-enddo &result
diff --git a/device/qcom/msm7625_sku1/scripts/flashall.cmm b/device/qcom/msm7625_sku1/scripts/flashall.cmm
deleted file mode 100644
index ad4a8419e..000000000
--- a/device/qcom/msm7625_sku1/scripts/flashall.cmm
+++ /dev/null
@@ -1,36 +0,0 @@
-
-local &status
-
-do setup.cmm
-
-do flash userdata
-entry &status
-if (&status!=0)
- enddo
-print
-
-if ("&KERNEL"!="")
-(
- do flash kernel &KERNEL again
- entry &status
- if (&status!=0)
- enddo
- print
-)
-
-if ("&RAMDISK"!="")
-(
- do flash ramdisk &RAMDISK again
- entry &status
- if (&status!=0)
- enddo
- print
-)
-
-if ("&SYSTEM_IMG"!="")
-(
- do flash system &SYSTEM_IMG again
- entry &status
- if (&status!=0)
- enddo
-)
diff --git a/device/qcom/msm7625_sku1/scripts/flashbootimg.cmm b/device/qcom/msm7625_sku1/scripts/flashbootimg.cmm
deleted file mode 100644
index 2197edab2..000000000
--- a/device/qcom/msm7625_sku1/scripts/flashbootimg.cmm
+++ /dev/null
@@ -1,139 +0,0 @@
-
-do setup.cmm
-
-local &addr
-local &size
-local &pagesize
-local &hdr
-
-sys.down
-sys.cpu arm1136j
-sys.jtagclock rtck
-sys.mode attach
-if state.run()
- break
-
-&pagesize=0x800
-&hdr=&SYSTEM_HDR_ADDR
-
-; 000 magic
-; 008 kernel_size
-; 00c kernel_addr
-; 010 ramdisk_size
-; 014 ramdisk_addr
-; 018 second_size
-; 01c second_addr
-; 020 tags_addr
-; 024 page_size
-; 028 unused0/1
-; 030 unused2/3/4/5
-; 040 cmdline
-
-; fill boot image header with 0s initially
-;
-d.s &hdr++&pagesize %byte 0
-;d.s &hdr++0x300000 %long 0
-
-d.s &hdr+0x000 "ANDROID!"
-d.s &hdr+0x00c %long &KERNEL_ADDR
-d.s &hdr+0x014 %long &RAMDISK_ADDR
-if ("&SECOND_STAGE"!="")
-(
- d.s &hdr+0x01c %long &SECOND_STAGE_ADDR
-)
-d.s &hdr+0x020 %long &TAGS_ADDR
-d.s &hdr+0x024 %long &pagesize
-d.s &hdr+0x040 "&CMDLINE"
-
-; advance to the kernel slot
-;
-&addr=&hdr+&pagesize
-
-; load the kernel image
-;
-if y.exist("\\flashimg")
- symbol.delete \\flashimg
-data.load.binary &KERNEL &addr /name flashimg /noclear
-&size=y.sizeof("\\flashimg")
-
-d.s &hdr+0x008 %long &size
-
-; advance addr to next page-aligned region > &size
-;
-&addr=&addr+((&size+(&pagesize-1))&(~(&pagesize-1)))
-
-; load the ramdisk image
-;
-if y.exist("\\flashimg")
- symbol.delete \\flashimg
-data.load.binary &RAMDISK &addr /name flashimg /noclear
-&size=y.sizeof("\\flashimg")
-
-d.s &hdr+0x010 %long &size
-
-&addr=&addr+((&size+(&pagesize-1))&(~(&pagesize-1)))
-
-if ("&SECOND_STAGE"!="")
-(
- if ("&SECOND_STAGE"=="wait")
- (
- d.s &addr %long 0xeafffffe
- &size= 4
- )
- else if ("&SECOND_STAGE"=="fixup")
- (
- local &ip
- &ip= &addr
- ;gosub emit b &addr
- gosub emit mov r1, #&MACHINE_ID
- gosub emit mov r4, #0
- gosub emit str r4, [r2, #0xd0] ; terminate tags
-
- ; change kernel commandline
- gosub emit mov r4, #0
- gosub emit strb r4, [r2, #0x28] ; no console
- ;gosub emit strb r4, [r2, #0x35] ; tty1 only
- ;gosub emit strb r4, [r2, #0x45] ; tty1 + ttyMSM0 only
-
- ;gosub emit b &ip
- gosub emit mov r4, #0x98000000 ; CPLD base
- gosub emit ldrb r5, [r4, #0x0a] ; INT2
- gosub emit tst r5, #0x10 ; NAVI_ACT#
- gosub emit beq &ip-8
- gosub emit tst r5, #2 ; NAVI_DOWN#
- gosub emit moveq r5, #0xab
- gosub emit streqb r5, [r4, #0x00] ; MISC1
- gosub emit beq &ip
- ;gosub emit b &ip
- gosub emit mov r4, #(&KERNEL_ADDR&0xff000000)
- gosub emit add r4, r4, #(&KERNEL_ADDR&0x00ff0000)
- gosub emit add r4, r4, #(&KERNEL_ADDR&0x0000ff00)
- gosub emit add pc, r4, #(&KERNEL_ADDR&0x000000ff)
- &size= &ip-&addr
- )
- else
- (
- ; load the second stage image
- ;
- if y.exist("\\flashimg")
- symbol.delete \\flashimg
- data.load.binary &SECOND_STAGE &addr /name flashimg /noclear
- &size=y.sizeof("\\flashimg")
- )
-
- d.s &hdr+0x018 %long &size
-
- &addr=&addr+((&size+(&pagesize-1))&(~(&pagesize-1)))
-)
-
-do flash boot MEMORY (&addr-&hdr)
-;do flash recovery MEMORY (&addr-&hdr)
-
-enddo
-
-emit:
- ENTRY &op1 &op2 &op3 &op4 &op5
- d.a &ip &op1 &op2 &op3 &op4 &op5
- &ip=&ip+4
- RETURN
-
diff --git a/device/qcom/msm7625_sku1/scripts/flashsystem.cmm b/device/qcom/msm7625_sku1/scripts/flashsystem.cmm
deleted file mode 100644
index 2080bdae4..000000000
--- a/device/qcom/msm7625_sku1/scripts/flashsystem.cmm
+++ /dev/null
@@ -1,7 +0,0 @@
-
-do setup.cmm
-
-if ("&SYSTEM_IMG"!="")
-(
- do flash system &SYSTEM_IMG
-)
diff --git a/device/qcom/msm7625_sku1/scripts/irqtest.cmm b/device/qcom/msm7625_sku1/scripts/irqtest.cmm
deleted file mode 100644
index 1f78749cd..000000000
--- a/device/qcom/msm7625_sku1/scripts/irqtest.cmm
+++ /dev/null
@@ -1,4 +0,0 @@
-sys.cpu arm1136j
-sys.jtagclock rtck
-data.load.elf ../boot/irqtest.elf
-go
diff --git a/device/qcom/msm7625_sku1/scripts/linux.cmm b/device/qcom/msm7625_sku1/scripts/linux.cmm
deleted file mode 100644
index 257dd535f..000000000
--- a/device/qcom/msm7625_sku1/scripts/linux.cmm
+++ /dev/null
@@ -1,82 +0,0 @@
-
-sys.down
-
-do setup.cmm
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-
-sys.mode attach
-
-if state.run()
-(
- break
-)
-
-data.load &KERNEL &KERNEL_ADDR /name kernel
-data.load.ELF &KERNEL_ELF /NOCODE /RELPATH /PATH &KERNEL_SRC
-
-if ("&RAMDISK"!="")
-(
- data.load &RAMDISK &RAMDISK_ADDR /name ramdisk /noclear
- &RAMDISK_SIZE=y.sizeof("\\ramdisk")
-)
-else
-(
- &RAMDISK_SIZE=0
-)
-
-local &tags
-&tags=&TAGS_ADDR
-
-d.s &tags+0x00 %long 2
-d.s &tags+0x04 %long 0x54410001
-&tags=&tags+0x08
-
-if (&RAMDISK_SIZE!=0)
-(
- d.s &tags+0x00 %long 4
- d.s &tags+0x04 %long 0x54420005
- d.s &tags+0x08 %long &RAMDISK_ADDR
- d.s &tags+0x0C %long &RAMDISK_SIZE
- &tags=&tags+0x10
-)
-
-if ("&CMDLINE"!="")
-(
- d.s &tags+0x00 %long 0x42
- d.s &tags+0x04 %long 0x54410009
- &tags=&tags+0x08
- d.s &tags++0x100 %byte 0
- d.s &tags "&CMDLINE"
- &tags=&tags+0x100
-)
-
-d.s &tags+0x00 %long 0
-d.s &tags+0x04 %long 0
-
-
-register.set pc &KERNEL_ADDR
-register.set r0 0
-register.set r1 &MACHINE_ID
-register.set r2 &TAGS_ADDR
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-term
-
-break.select program onchip
-break.delete
-;break.set __irq_usr
-;break.set __irq_svc
-;break.set pte_hack
-;break.set cpu_v6_set_pte
-;break.set panic
-;break.set do_DataAbort\10
-
-go
-
diff --git a/device/qcom/msm7625_sku1/scripts/setup.cmm b/device/qcom/msm7625_sku1/scripts/setup.cmm
deleted file mode 100644
index b414cc7bf..000000000
--- a/device/qcom/msm7625_sku1/scripts/setup.cmm
+++ /dev/null
@@ -1,85 +0,0 @@
-; Copyright 2007, Google Inc.
-
-; files
-;
-global &KERNEL
-global &KERNEL_ELF
-global &KERNEL_SRC
-global &RAMDISK
-global &SECOND_STAGE
-global &SYSTEM_IMG
-global &CMDLINE
-global &NANDWRITE_ELF
-
-; memory locations
-;
-global &TAGS_ADDR
-global &KERNEL_ADDR
-global &RAMDISK_ADDR
-global &RAMDISK_SIZE
-global &SECOND_STAGE_ADDR
-global &SYSTEM_IMG_ADDR
-global &SYSTEM_IMG_SIZE
-global &SYSTEM_PHY_BASE_ADDR
-global &SYSTEM_HDR_ADDR
-
-; misc
-global &MACHINE_ID
-
-global &TOP
-global &OUT
-global &NANDWRITE
-
-; relative path back up to the top of the device tree from here
-;
-&TOP="../../../../"
-
-; directory where the results of the device build live
-;
-&OUT="&(TOP)out/target/product/msm7625_sku1/"
-
-; ----------------------------------------------------------------------
-; configure your memory layout, binary images, and commandline below:
-; ----------------------------------------------------------------------
-
-&SYSTEM_PHY_BASE_ADDR= 0x00200000
-&SECOND_STAGE_ADDR= 0x00300000
-&KERNEL_ADDR= &SYSTEM_PHY_BASE_ADDR+0x00008000
-&RAMDISK_ADDR= &SYSTEM_PHY_BASE_ADDR+0x01000000
-&TAGS_ADDR= &SYSTEM_PHY_BASE_ADDR+0x00000100
-&SYSTEM_IMG_ADDR= &SYSTEM_PHY_BASE_ADDR+0x01000000
-&SYSTEM_HDR_ADDR= &SYSTEM_PHY_BASE_ADDR+0x04000000
-
-;&MACHINE_ID= 0x59f ; halibut
-;&MACHINE_ID= 0x5a0 ; trout
-;&MACHINE_ID= 0x0f5da6 ; MSM 7627 SURF
-&MACHINE_ID= 0x0f5d9c ; MSM 7625 SKU1
-;&MACHINE_ID= 0x0f5da7 ; MSM 7627 FFA
-
-;&KERNEL_SRC= "../../../git/kernel-msm/"
-&KERNEL_SRC= "&(TOP)../kernel/"
-;&KERNEL_SRC= "/scratch/linux-msm/"
-;&KERNEL_SRC= "/work/kernel/mergebox/"
-&KERNEL= "&(KERNEL_SRC)arch/arm/boot/zImage"
-&KERNEL_ELF= "&(KERNEL_SRC)vmlinux"
-
-&SECOND_STAGE=""
-;&SECOND_STAGE= "wait"
-;&SECOND_STAGE= "&(OUT)usbloader"
-
-&RAMDISK= "&(OUT)ramdisk.img"
-&SYSTEM_IMG= "&(OUT)system.img"
-&NANDWRITE= "&(OUT)nandwrite"
-
-;&CMDLINE= "mem=50M"
-;&CMDLINE= "mem=64M"
-&CMDLINE= "mem=83M"
-&CMDLINE= "&(CMDLINE) console=ttyMSM2"
-;&CMDLINE= "&(CMDLINE) board_halibut.ffa=1"
-;&CMDLINE= "&(CMDLINE) console=tty1"
-;&CMDLINE= "&(CMDLINE) androidboot.console=ttyMSM0"
-;&CMDLINE= "&(CMDLINE) console=ttyDCC0"
-;&CMDLINE= "&(CMDLINE) androidboot.console=ttyDCC0"
-;&CMDLINE= "&(CMDLINE) console=null"
-
-; ----------------------------------------------------------------------
diff --git a/device/qcom/msm7625_sku1/scripts/usb.cmm b/device/qcom/msm7625_sku1/scripts/usb.cmm
deleted file mode 100644
index 8a9963e2d..000000000
--- a/device/qcom/msm7625_sku1/scripts/usb.cmm
+++ /dev/null
@@ -1,22 +0,0 @@
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-sys.mode attach
-if state.run()
-(
- break
-)
-
-do setup
-
-data.load.elf "&(OUT)obj/EXECUTABLES/usbloader_intermediates/usbloader.elf" /relpath /path ../boot/
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-;term
-
-go
diff --git a/device/qcom/msm7625_sku1/system.prop b/device/qcom/msm7625_sku1/system.prop
deleted file mode 100644
index ec106ac1f..000000000
--- a/device/qcom/msm7625_sku1/system.prop
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# system.prop for msm7625_sku1 board
-#
-
-rild.libpath=/system/lib/libril-qc-1.so
-rild.libargs=-d /dev/smd0
-persist.rild.nitz_plmn=
-persist.rild.nitz_long_ons_0=
-persist.rild.nitz_long_ons_1=
-persist.rild.nitz_long_ons_2=
-persist.rild.nitz_long_ons_3=
-persist.rild.nitz_short_ons_0=
-persist.rild.nitz_short_ons_1=
-persist.rild.nitz_short_ons_2=
-persist.rild.nitz_short_ons_3=
-ril.subscription.types=NV,RUIM
-DEVICE_PROVISIONED=1
-debug.sf.hw=1
-debug.composition.type=mdp
-dalvik.vm.heapsize=24m
-
-#
-# system props for the cne module
-#
-persist.cne.UseCne=vendor
-persist.cne.bat.range.low.med=30
-persist.cne.bat.range.med.high=60
-persist.cne.loc.policy.op=/system/etc/OperatorPolicy.xml
-persist.cne.loc.policy.user=/system/etc/UserPolicy.xml
-persist.cne.bwbased.rat.sel=false
-persist.cne.snsr.based.rat.mgt=false
-persist.cne.bat.based.rat.mgt=false
-persist.cne.rat.acq.time.out=30000
-persist.cne.rat.acq.retry.tout=0
-persist.cne.fmc.mode=false
-persist.cne.fmc.init.time.out=30
-persist.cne.fmc.comm.time.out=130
-persist.cne.fmc.retry=false
-
-#
-# system props for the MM modules
-#
-media.stagefright.enable-player=true
-media.stagefright.enable-meta=false
-media.stagefright.enable-scan=false
-media.stagefright.enable-http=true
-
-#
-# system prop for opengles version
-#
-ro.opengles.version=131072
-
-#
-# system props for the data modules
-#
-ro.use_data_netmgrd=true
-persist.data.ds_fmc_app.mode=0
-
-#
-# system props for IMS module
-#
-persist.ims.regmanager.mode=0
-
-#
-# system prop for Bluetooth Auto connect for remote initated connections
-#
-ro.bluetooth.remote.autoconnect=true
-
-#
-# System prop to enable/disable OMH. Enabled by default
-#
-persist.omh.enabled=1
-
-#
-# system prop for Bluetooth FTP profile
-#
-ro.qualcomm.bluetooth.ftp=true
-#
-# system prop for Bluetooth Dialup Networking
-#
-ro.qualcomm.bluetooth.dun=true
-#
-# system prop for requesting Master role in incoming Bluetooth connection.
-#
-ro.bluetooth.request.master=true
-# system property for Bluetooth discoverability time out in seconds
-# 0: Always discoverable
-debug.bt.discoverable_time=0
-
-
-android.keylayout.msm7625_sku1_keypad=/system/usr/keylayout/msm7625_sku1_keypad.kl
-android.keychar.msm7625_sku1_keypad=/system/usr/keychars/msm7625_sku1_keypad.kcm
-
-# [WIFI] Enable Wi-Fi Support
-# Please reference [PROJECT]/vendor/$(OEM)/$(TARGET_DEVICE)/BoardConfig.mk
-wifi.interface=ath0
-
-# [BT] Initial bt firmware version (for factory test tool)
-net.bt.fw_ver=0xff
-
-# Fusion DSDS is enabled by default
-persist.dsds.enabled=true
diff --git a/device/qcom/msm7625_sku1/vendorsetup.sh b/device/qcom/msm7625_sku1/vendorsetup.sh
deleted file mode 100644
index 5b301a806..000000000
--- a/device/qcom/msm7625_sku1/vendorsetup.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-# Prepare QCOM_CUSTOM stuff
-
-
-export MODEM_SEARCH_PATH_AND_ID=../images/MCNCJOLG
-
-if [ "$BUILD_NUMBER" == "" ]; then
- export BUILD_NUMBER=7225_SKU1_AG_$(date +'%Y%m%d')
-fi
-
-FILES="$MODEM_SEARCH_PATH_AND_ID/amss.mbn
-$MODEM_SEARCH_PATH_AND_ID/appsboot.mbn
-$MODEM_SEARCH_PATH_AND_ID/appsboothd.mbn
-$MODEM_SEARCH_PATH_AND_ID/oemsbl.mbn
-$MODEM_SEARCH_PATH_AND_ID/oemsblhd.mbn
-$MODEM_SEARCH_PATH_AND_ID/partition.mbn
-$MODEM_SEARCH_PATH_AND_ID/qcsbl.mbn
-$MODEM_SEARCH_PATH_AND_ID/qcsblhd_cfgdata.mbn
-$MODEM_SEARCH_PATH_AND_ID/amsshd.mbn"
-
-for f in $FILES
-do
- if [ ! -e "$f" ]
- then
- echo "WARNING:$f does not exist."
- continue
- fi
-done
-unset f
-
-
-if [ -d "custom/tools" ]; then
- if [ -f "custom/Android.mk" ]; then
- echo > /dev/null
- else
- cp -af custom/tools/Android.mk custom/Android.mk 2> /dev/null
- fi
-fi
diff --git a/device/qcom/msm7625_sku1/vold.fstab b/device/qcom/msm7625_sku1/vold.fstab
deleted file mode 100644
index 3b47c056e..000000000
--- a/device/qcom/msm7625_sku1/vold.fstab
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2010, 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.
-
-dev_mount sdcard /mnt/sdcard auto /devices/platform/msm_sdcc.1/mmc_host
diff --git a/device/qcom/msm7625_sku1/wpa_supplicant.conf b/device/qcom/msm7625_sku1/wpa_supplicant.conf
deleted file mode 100644
index bd5c09953..000000000
--- a/device/qcom/msm7625_sku1/wpa_supplicant.conf
+++ /dev/null
@@ -1,840 +0,0 @@
-##### Example wpa_supplicant configuration file ###############################
-#
-# This file describes configuration file format and lists all available option.
-# Please also take a look at simpler configuration examples in 'examples'
-# subdirectory.
-#
-# Empty lines and lines starting with # are ignored
-
-# NOTE! This file may contain password information and should probably be made
-# readable only by root user on multiuser systems.
-
-# Note: All file paths in this configuration file should use full (absolute,
-# not relative to working directory) path in order to allow working directory
-# to be changed. This can happen if wpa_supplicant is run in the background.
-
-# Whether to allow wpa_supplicant to update (overwrite) configuration
-#
-# This option can be used to allow wpa_supplicant to overwrite configuration
-# file whenever configuration is changed (e.g., new network block is added with
-# wpa_cli or wpa_gui, or a password is changed). This is required for
-# wpa_cli/wpa_gui to be able to store the configuration changes permanently.
-# Please note that overwriting configuration file will remove the comments from
-# it.
-update_config=1
-
-# global configuration (shared by all network blocks)
-#
-# Parameters for the control interface. If this is specified, wpa_supplicant
-# will open a control interface that is available for external programs to
-# manage wpa_supplicant. The meaning of this string depends on which control
-# interface mechanism is used. For all cases, the existance of this parameter
-# in configuration is used to determine whether the control interface is
-# enabled.
-#
-# For UNIX domain sockets (default on Linux and BSD): This is a directory that
-# will be created for UNIX domain sockets for listening to requests from
-# external programs (CLI/GUI, etc.) for status information and configuration.
-# The socket file will be named based on the interface name, so multiple
-# wpa_supplicant processes can be run at the same time if more than one
-# interface is used.
-# /var/run/wpa_supplicant is the recommended directory for sockets and by
-# default, wpa_cli will use it when trying to connect with wpa_supplicant.
-#
-# Access control for the control interface can be configured by setting the
-# directory to allow only members of a group to use sockets. This way, it is
-# possible to run wpa_supplicant as root (since it needs to change network
-# configuration and open raw sockets) and still allow GUI/CLI components to be
-# run as non-root users. However, since the control interface can be used to
-# change the network configuration, this access needs to be protected in many
-# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
-# want to allow non-root users to use the control interface, add a new group
-# and change this value to match with that group. Add users that should have
-# control interface access to this group. If this variable is commented out or
-# not included in the configuration file, group will not be changed from the
-# value it got by default when the directory or socket was created.
-#
-# When configuring both the directory and group, use following format:
-# DIR=/var/run/wpa_supplicant GROUP=wheel
-# DIR=/var/run/wpa_supplicant GROUP=0
-# (group can be either group name or gid)
-#
-# For UDP connections (default on Windows): The value will be ignored. This
-# variable is just used to select that the control interface is to be created.
-# The value can be set to, e.g., udp (ctrl_interface=udp)
-#
-# For Windows Named Pipe: This value can be used to set the security descriptor
-# for controlling access to the control interface. Security descriptor can be
-# set using Security Descriptor String Format (see http://msdn.microsoft.com/
-# library/default.asp?url=/library/en-us/secauthz/security/
-# security_descriptor_string_format.asp). The descriptor string needs to be
-# prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty
-# DACL (which will reject all connections). See README-Windows.txt for more
-# information about SDDL string format.
-#
-ctrl_interface=DIR=/data/misc/wifi/wpa_supplicant GROUP=wifi
-
-# IEEE 802.1X/EAPOL version
-# wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines
-# EAPOL version 2. However, there are many APs that do not handle the new
-# version number correctly (they seem to drop the frames completely). In order
-# to make wpa_supplicant interoperate with these APs, the version number is set
-# to 1 by default. This configuration value can be used to set it to the new
-# version (2).
-eapol_version=1
-
-# AP scanning/selection
-# By default, wpa_supplicant requests driver to perform AP scanning and then
-# uses the scan results to select a suitable AP. Another alternative is to
-# allow the driver to take care of AP scanning and selection and use
-# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
-# information from the driver.
-# 1: wpa_supplicant initiates scanning and AP selection
-# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
-# parameters (e.g., WPA IE generation); this mode can also be used with
-# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
-# APs (i.e., external program needs to control association). This mode must
-# also be used when using wired Ethernet drivers.
-# 2: like 0, but associate with APs using security policy and SSID (but not
-# BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to
-# enable operation with hidden SSIDs and optimized roaming; in this mode,
-# the network blocks in the configuration file are tried one by one until
-# the driver reports successful association; each network block should have
-# explicit security policy (i.e., only one option in the lists) for
-# key_mgmt, pairwise, group, proto variables
-ap_scan=1
-
-# EAP fast re-authentication
-# By default, fast re-authentication is enabled for all EAP methods that
-# support it. This variable can be used to disable fast re-authentication.
-# Normally, there is no need to disable this.
-fast_reauth=1
-
-# OpenSSL Engine support
-# These options can be used to load OpenSSL engines.
-# The two engines that are supported currently are shown below:
-# They are both from the opensc project (http://www.opensc.org/)
-# By default no engines are loaded.
-# make the opensc engine available
-#opensc_engine_path=/usr/lib/opensc/engine_opensc.so
-# make the pkcs11 engine available
-#pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
-# configure the path to the pkcs11 module required by the pkcs11 engine
-#pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
-
-# Dynamic EAP methods
-# If EAP methods were built dynamically as shared object files, they need to be
-# loaded here before being used in the network blocks. By default, EAP methods
-# are included statically in the build, so these lines are not needed
-#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
-#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
-
-# Driver interface parameters
-# This field can be used to configure arbitrary driver interace parameters. The
-# format is specific to the selected driver interface. This field is not used
-# in most cases.
-#driver_param="field=value"
-
-# Country code
-# The ISO/IEC alpha2 country code for the country in which this device is
-# currently operating.
-#country=US
-
-# Maximum lifetime for PMKSA in seconds; default 43200
-#dot11RSNAConfigPMKLifetime=43200
-# Threshold for reauthentication (percentage of PMK lifetime); default 70
-#dot11RSNAConfigPMKReauthThreshold=70
-# Timeout for security association negotiation in seconds; default 60
-#dot11RSNAConfigSATimeout=60
-
-# Wi-Fi Protected Setup (WPS) parameters
-
-# Universally Unique IDentifier (UUID; see RFC 4122) of the device
-# If not configured, UUID will be generated based on the local MAC address.
-#uuid=12345678-9abc-def0-1234-56789abcdef0
-
-# Device Name
-# User-friendly description of device; up to 32 octets encoded in UTF-8
-#device_name=Wireless Client
-
-# Manufacturer
-# The manufacturer of the device (up to 64 ASCII characters)
-#manufacturer=Company
-
-# Model Name
-# Model of the device (up to 32 ASCII characters)
-#model_name=cmodel
-
-# Model Number
-# Additional device description (up to 32 ASCII characters)
-#model_number=123
-
-# Serial Number
-# Serial number of the device (up to 32 characters)
-#serial_number=12345
-
-# Primary Device Type
-# Used format: <categ>-<OUI>-<subcateg>
-# categ = Category as an integer value
-# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
-# default WPS OUI
-# subcateg = OUI-specific Sub Category as an integer value
-# Examples:
-# 1-0050F204-1 (Computer / PC)
-# 1-0050F204-2 (Computer / Server)
-# 5-0050F204-1 (Storage / NAS)
-# 6-0050F204-1 (Network Infrastructure / AP)
-#device_type=1-0050F204-1
-
-# OS Version
-# 4-octet operating system version number (hex string)
-#os_version=01020300
-
-# Credential processing
-# 0 = process received credentials internally (default)
-# 1 = do not process received credentials; just pass them over ctrl_iface to
-# external program(s)
-# 2 = process received credentials internally and pass them over ctrl_iface
-# to external program(s)
-#wps_cred_processing=0
-
-# network block
-#
-# Each network (usually AP's sharing the same SSID) is configured as a separate
-# block in this configuration file. The network blocks are in preference order
-# (the first match is used).
-#
-# network block fields:
-#
-# disabled:
-# 0 = this network can be used (default)
-# 1 = this network block is disabled (can be enabled through ctrl_iface,
-# e.g., with wpa_cli or wpa_gui)
-#
-# id_str: Network identifier string for external scripts. This value is passed
-# to external action script through wpa_cli as WPA_ID_STR environment
-# variable to make it easier to do network specific configuration.
-#
-# ssid: SSID (mandatory); either as an ASCII string with double quotation or
-# as hex string; network name
-#
-# scan_ssid:
-# 0 = do not scan this SSID with specific Probe Request frames (default)
-# 1 = scan with SSID-specific Probe Request frames (this can be used to
-# find APs that do not accept broadcast SSID or use multiple SSIDs;
-# this will add latency to scanning, so enable this only when needed)
-#
-# bssid: BSSID (optional); if set, this network block is used only when
-# associating with the AP using the configured BSSID
-#
-# priority: priority group (integer)
-# By default, all networks will get same priority group (0). If some of the
-# networks are more desirable, this field can be used to change the order in
-# which wpa_supplicant goes through the networks when selecting a BSS. The
-# priority groups will be iterated in decreasing priority (i.e., the larger the
-# priority value, the sooner the network is matched against the scan results).
-# Within each priority group, networks will be selected based on security
-# policy, signal strength, etc.
-# Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not
-# using this priority to select the order for scanning. Instead, they try the
-# networks in the order that used in the configuration file.
-#
-# mode: IEEE 802.11 operation mode
-# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
-# 1 = IBSS (ad-hoc, peer-to-peer)
-# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
-# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
-# to be set to 2 for IBSS. WPA-None requires following network block options:
-# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
-# both), and psk must also be set.
-#
-# frequency: Channel frequency in megahertz (MHz) for IBSS, e.g.,
-# 2412 = IEEE 802.11b/g channel 1. This value is used to configure the initial
-# channel for IBSS (adhoc) networks. It is ignored in the infrastructure mode.
-# In addition, this value is only used by the station that creates the IBSS. If
-# an IBSS network with the configured SSID is already present, the frequency of
-# the network will be used instead of this configured value.
-#
-# proto: list of accepted protocols
-# WPA = WPA/IEEE 802.11i/D3.0
-# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
-# If not set, this defaults to: WPA RSN
-#
-# key_mgmt: list of accepted authenticated key management protocols
-# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
-# WPA-EAP = WPA using EAP authentication
-# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
-# generated WEP keys
-# NONE = WPA is not used; plaintext or static WEP could be used
-# WPA-PSK-SHA256 = Like WPA-PSK but using stronger SHA256-based algorithms
-# WPA-EAP-SHA256 = Like WPA-EAP but using stronger SHA256-based algorithms
-# If not set, this defaults to: WPA-PSK WPA-EAP
-#
-# auth_alg: list of allowed IEEE 802.11 authentication algorithms
-# OPEN = Open System authentication (required for WPA/WPA2)
-# SHARED = Shared Key authentication (requires static WEP keys)
-# LEAP = LEAP/Network EAP (only used with LEAP)
-# If not set, automatic selection is used (Open System with LEAP enabled if
-# LEAP is allowed as one of the EAP methods).
-#
-# pairwise: list of accepted pairwise (unicast) ciphers for WPA
-# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
-# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
-# NONE = Use only Group Keys (deprecated, should not be included if APs support
-# pairwise keys)
-# If not set, this defaults to: CCMP TKIP
-#
-# group: list of accepted group (broadcast/multicast) ciphers for WPA
-# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
-# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
-# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
-# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
-# If not set, this defaults to: CCMP TKIP WEP104 WEP40
-#
-# psk: WPA preshared key; 256-bit pre-shared key
-# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
-# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
-# generated using the passphrase and SSID). ASCII passphrase must be between
-# 8 and 63 characters (inclusive).
-# This field is not needed, if WPA-EAP is used.
-# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
-# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
-# startup and reconfiguration time can be optimized by generating the PSK only
-# only when the passphrase or SSID has actually changed.
-#
-# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
-# Dynamic WEP key required for non-WPA mode
-# bit0 (1): require dynamically generated unicast WEP key
-# bit1 (2): require dynamically generated broadcast WEP key
-# (3 = require both keys; default)
-# Note: When using wired authentication, eapol_flags must be set to 0 for the
-# authentication to be completed successfully.
-#
-# mixed_cell: This option can be used to configure whether so called mixed
-# cells, i.e., networks that use both plaintext and encryption in the same
-# SSID, are allowed when selecting a BSS form scan results.
-# 0 = disabled (default)
-# 1 = enabled
-#
-# proactive_key_caching:
-# Enable/disable opportunistic PMKSA caching for WPA2.
-# 0 = disabled (default)
-# 1 = enabled
-#
-# wep_key0..3: Static WEP key (ASCII in double quotation, e.g. "abcde" or
-# hex without quotation, e.g., 0102030405)
-# wep_tx_keyidx: Default WEP key index (TX) (0..3)
-#
-# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e DLS) is
-# allowed. This is only used with RSN/WPA2.
-# 0 = disabled (default)
-# 1 = enabled
-#peerkey=1
-#
-# wpa_ptk_rekey: Maximum lifetime for PTK in seconds. This can be used to
-# enforce rekeying of PTK to mitigate some attacks against TKIP deficiencies.
-#
-# Following fields are only used with internal EAP implementation.
-# eap: space-separated list of accepted EAP methods
-# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
-# cannot be used with WPA; to be used as a Phase 2 method
-# with EAP-PEAP or EAP-TTLS)
-# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
-# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
-# OTP = EAP-OTP (cannot be used separately with WPA; to be used
-# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
-# GTC = EAP-GTC (cannot be used separately with WPA; to be used
-# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
-# TLS = EAP-TLS (client and server certificate)
-# PEAP = EAP-PEAP (with tunnelled EAP authentication)
-# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
-# authentication)
-# If not set, all compiled in methods are allowed.
-#
-# identity: Identity string for EAP
-# This field is also used to configure user NAI for
-# EAP-PSK/PAX/SAKE/GPSK.
-# anonymous_identity: Anonymous identity string for EAP (to be used as the
-# unencrypted identity with EAP types that support different tunnelled
-# identity, e.g., EAP-TTLS)
-# password: Password string for EAP. This field can include either the
-# plaintext password (using ASCII or hex string) or a NtPasswordHash
-# (16-byte MD4 hash of password) in hash:<32 hex digits> format.
-# NtPasswordHash can only be used when the password is for MSCHAPv2 or
-# MSCHAP (EAP-MSCHAPv2, EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP).
-# EAP-PSK (128-bit PSK), EAP-PAX (128-bit PSK), and EAP-SAKE (256-bit
-# PSK) is also configured using this field. For EAP-GPSK, this is a
-# variable length PSK.
-# ca_cert: File path to CA certificate file (PEM/DER). This file can have one
-# or more trusted CA certificates. If ca_cert and ca_path are not
-# included, server certificate will not be verified. This is insecure and
-# a trusted CA certificate should always be configured when using
-# EAP-TLS/TTLS/PEAP. Full path should be used since working directory may
-# change when wpa_supplicant is run in the background.
-# On Windows, trusted CA certificates can be loaded from the system
-# certificate store by setting this to cert_store://<name>, e.g.,
-# ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT".
-# Note that when running wpa_supplicant as an application, the user
-# certificate store (My user account) is used, whereas computer store
-# (Computer account) is used when running wpasvc as a service.
-# ca_path: Directory path for CA certificate files (PEM). This path may
-# contain multiple CA certificates in OpenSSL format. Common use for this
-# is to point to system trusted CA list which is often installed into
-# directory like /etc/ssl/certs. If configured, these certificates are
-# added to the list of trusted CAs. ca_cert may also be included in that
-# case, but it is not required.
-# client_cert: File path to client certificate file (PEM/DER)
-# Full path should be used since working directory may change when
-# wpa_supplicant is run in the background.
-# Alternatively, a named configuration blob can be used by setting this
-# to blob://<blob name>.
-# private_key: File path to client private key file (PEM/DER/PFX)
-# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
-# commented out. Both the private key and certificate will be read from
-# the PKCS#12 file in this case. Full path should be used since working
-# directory may change when wpa_supplicant is run in the background.
-# Windows certificate store can be used by leaving client_cert out and
-# configuring private_key in one of the following formats:
-# cert://substring_to_match
-# hash://certificate_thumbprint_in_hex
-# for example: private_key="hash://63093aa9c47f56ae88334c7b65a4"
-# Note that when running wpa_supplicant as an application, the user
-# certificate store (My user account) is used, whereas computer store
-# (Computer account) is used when running wpasvc as a service.
-# Alternatively, a named configuration blob can be used by setting this
-# to blob://<blob name>.
-# private_key_passwd: Password for private key file (if left out, this will be
-# asked through control interface)
-# dh_file: File path to DH/DSA parameters file (in PEM format)
-# This is an optional configuration file for setting parameters for an
-# ephemeral DH key exchange. In most cases, the default RSA
-# authentication does not use this configuration. However, it is possible
-# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
-# DSA keys always use ephemeral DH keys. This can be used to achieve
-# forward secrecy. If the file is in DSA parameters format, it will be
-# automatically converted into DH params.
-# subject_match: Substring to be matched against the subject of the
-# authentication server certificate. If this string is set, the server
-# sertificate is only accepted if it contains this string in the subject.
-# The subject string is in following format:
-# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
-# altsubject_match: Semicolon separated string of entries to be matched against
-# the alternative subject name of the authentication server certificate.
-# If this string is set, the server sertificate is only accepted if it
-# contains one of the entries in an alternative subject name extension.
-# altSubjectName string is in following format: TYPE:VALUE
-# Example: EMAIL:server@example.com
-# Example: DNS:server.example.com;DNS:server2.example.com
-# Following types are supported: EMAIL, DNS, URI
-# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
-# (string with field-value pairs, e.g., "peapver=0" or
-# "peapver=1 peaplabel=1")
-# 'peapver' can be used to force which PEAP version (0 or 1) is used.
-# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
-# to be used during key derivation when PEAPv1 or newer. Most existing
-# PEAPv1 implementation seem to be using the old label, "client EAP
-# encryption", and wpa_supplicant is now using that as the default value.
-# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
-# interoperate with PEAPv1; see eap_testing.txt for more details.
-# 'peap_outer_success=0' can be used to terminate PEAP authentication on
-# tunneled EAP-Success. This is required with some RADIUS servers that
-# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
-# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
-# include_tls_length=1 can be used to force wpa_supplicant to include
-# TLS Message Length field in all TLS messages even if they are not
-# fragmented.
-# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
-# challenges (by default, it accepts 2 or 3)
-# result_ind=1 can be used to enable EAP-SIM and EAP-AKA to use
-# protected result indication.
-# 'crypto_binding' option can be used to control PEAPv0 cryptobinding
-# behavior:
-# * 0 = do not use cryptobinding (default)
-# * 1 = use cryptobinding if server supports it
-# * 2 = require cryptobinding
-# EAP-WSC (WPS) uses following options: pin=<Device Password> or
-# pbc=1.
-# phase2: Phase2 (inner authentication with TLS tunnel) parameters
-# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
-# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
-# Following certificate/private key fields are used in inner Phase2
-# authentication when using EAP-TTLS or EAP-PEAP.
-# ca_cert2: File path to CA certificate file. This file can have one or more
-# trusted CA certificates. If ca_cert2 and ca_path2 are not included,
-# server certificate will not be verified. This is insecure and a trusted
-# CA certificate should always be configured.
-# ca_path2: Directory path for CA certificate files (PEM)
-# client_cert2: File path to client certificate file
-# private_key2: File path to client private key file
-# private_key2_passwd: Password for private key file
-# dh_file2: File path to DH/DSA parameters file (in PEM format)
-# subject_match2: Substring to be matched against the subject of the
-# authentication server certificate.
-# altsubject_match2: Substring to be matched against the alternative subject
-# name of the authentication server certificate.
-#
-# fragment_size: Maximum EAP fragment size in bytes (default 1398).
-# This value limits the fragment size for EAP methods that support
-# fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set
-# small enough to make the EAP messages fit in MTU of the network
-# interface used for EAPOL. The default value is suitable for most
-# cases.
-#
-# EAP-FAST variables:
-# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
-# to create this file and write updates to it when PAC is being
-# provisioned or refreshed. Full path to the file should be used since
-# working directory may change when wpa_supplicant is run in the
-# background. Alternatively, a named configuration blob can be used by
-# setting this to blob://<blob name>
-# phase1: fast_provisioning option can be used to enable in-line provisioning
-# of EAP-FAST credentials (PAC):
-# 0 = disabled,
-# 1 = allow unauthenticated provisioning,
-# 2 = allow authenticated provisioning,
-# 3 = allow both unauthenticated and authenticated provisioning
-# fast_max_pac_list_len=<num> option can be used to set the maximum
-# number of PAC entries to store in a PAC list (default: 10)
-# fast_pac_format=binary option can be used to select binary format for
-# storing PAC entries in order to save some space (the default
-# text format uses about 2.5 times the size of minimal binary
-# format)
-#
-# wpa_supplicant supports number of "EAP workarounds" to work around
-# interoperability issues with incorrectly behaving authentication servers.
-# These are enabled by default because some of the issues are present in large
-# number of authentication servers. Strict EAP conformance mode can be
-# configured by disabling workarounds with eap_workaround=0.
-
-# Example blocks:
-
-# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
-#network={
-# ssid="simple"
-# psk="very secret passphrase"
-# priority=5
-#}
-#
-## Same as previous, but request SSID-specific scanning (for APs that reject
-## broadcast SSID)
-#network={
-# ssid="second ssid"
-# scan_ssid=1
-# psk="very secret passphrase"
-# priority=2
-#}
-#
-## Only WPA-PSK is used. Any valid cipher combination is accepted.
-#network={
-# ssid="example"
-# proto=WPA
-# key_mgmt=WPA-PSK
-# pairwise=CCMP TKIP
-# group=CCMP TKIP WEP104 WEP40
-# psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
-# priority=2
-#}
-#
-## WPA-Personal(PSK) with TKIP and enforcement for frequent PTK rekeying
-#network={
-# ssid="example"
-# proto=WPA
-# key_mgmt=WPA-PSK
-# pairwise=TKIP
-# group=TKIP
-# psk="not so secure passphrase"
-# wpa_ptk_rekey=600
-#}
-#
-## Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
-## or WEP40 as the group cipher will not be accepted.
-#network={
-# ssid="example"
-# proto=RSN
-# key_mgmt=WPA-EAP
-# pairwise=CCMP TKIP
-# group=CCMP TKIP
-# eap=TLS
-# identity="user@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-# private_key="/etc/cert/user.prv"
-# private_key_passwd="password"
-# priority=1
-#}
-#
-## EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
-## (e.g., Radiator)
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=PEAP
-# identity="user@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# phase1="peaplabel=1"
-# phase2="auth=MSCHAPV2"
-# priority=10
-#}
-#
-## EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
-## unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# identity="user@example.com"
-# anonymous_identity="anonymous@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# priority=2
-#}
-#
-## EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
-## use. Real identity is sent only within an encrypted TLS tunnel.
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# identity="user@example.com"
-# anonymous_identity="anonymous@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# phase2="auth=MSCHAPV2"
-#}
-#
-## WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
-## authentication.
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# # Phase1 / outer authentication
-# anonymous_identity="anonymous@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# # Phase 2 / inner authentication
-# phase2="autheap=TLS"
-# ca_cert2="/etc/cert/ca2.pem"
-# client_cert2="/etc/cer/user.pem"
-# private_key2="/etc/cer/user.prv"
-# private_key2_passwd="password"
-# priority=2
-#}
-#
-## Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
-## group cipher.
-#network={
-# ssid="example"
-# bssid=00:11:22:33:44:55
-# proto=WPA RSN
-# key_mgmt=WPA-PSK WPA-EAP
-# pairwise=CCMP
-# group=CCMP
-# psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
-#}
-#
-## Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
-## and all valid ciphers.
-#network={
-# ssid=00010203
-# psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
-#}
-#
-#
-## EAP-SIM with a GSM SIM or USIM
-#network={
-# ssid="eap-sim-test"
-# key_mgmt=WPA-EAP
-# eap=SIM
-# pin="1234"
-# pcsc=""
-#}
-#
-#
-## EAP-PSK
-#network={
-# ssid="eap-psk-test"
-# key_mgmt=WPA-EAP
-# eap=PSK
-# anonymous_identity="eap_psk_user"
-# password=06b4be19da289f475aa46a33cb793029
-# identity="eap_psk_user@example.com"
-#}
-#
-#
-## IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
-## EAP-TLS for authentication and key generation; require both unicast and
-## broadcast WEP keys.
-#network={
-# ssid="1x-test"
-# key_mgmt=IEEE8021X
-# eap=TLS
-# identity="user@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-# private_key="/etc/cert/user.prv"
-# private_key_passwd="password"
-# eapol_flags=3
-#}
-#
-#
-## LEAP with dynamic WEP keys
-#network={
-# ssid="leap-example"
-# key_mgmt=IEEE8021X
-# eap=LEAP
-# identity="user"
-# password="foobar"
-#}
-#
-## EAP-IKEv2 using shared secrets for both server and peer authentication
-#network={
-# ssid="ikev2-example"
-# key_mgmt=WPA-EAP
-# eap=IKEV2
-# identity="user"
-# password="foobar"
-#}
-#
-## EAP-FAST with WPA (WPA or WPA2)
-#network={
-# ssid="eap-fast-test"
-# key_mgmt=WPA-EAP
-# eap=FAST
-# anonymous_identity="FAST-000102030405"
-# identity="username"
-# password="password"
-# phase1="fast_provisioning=1"
-# pac_file="/etc/wpa_supplicant.eap-fast-pac"
-#}
-#
-#network={
-# ssid="eap-fast-test"
-# key_mgmt=WPA-EAP
-# eap=FAST
-# anonymous_identity="FAST-000102030405"
-# identity="username"
-# password="password"
-# phase1="fast_provisioning=1"
-# pac_file="blob://eap-fast-pac"
-#}
-#
-## Plaintext connection (no WPA, no IEEE 802.1X)
-#network={
-# ssid="plaintext-test"
-# key_mgmt=NONE
-#}
-#
-#
-## Shared WEP key connection (no WPA, no IEEE 802.1X)
-#network={
-# ssid="static-wep-test"
-# key_mgmt=NONE
-# wep_key0="abcde"
-# wep_key1=0102030405
-# wep_key2="1234567890123"
-# wep_tx_keyidx=0
-# priority=5
-#}
-#
-#
-## Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
-## IEEE 802.11 authentication
-#network={
-# ssid="static-wep-test2"
-# key_mgmt=NONE
-# wep_key0="abcde"
-# wep_key1=0102030405
-# wep_key2="1234567890123"
-# wep_tx_keyidx=0
-# priority=5
-# auth_alg=SHARED
-#}
-#
-#
-## IBSS/ad-hoc network with WPA-None/TKIP.
-#network={
-# ssid="test adhoc"
-# mode=1
-# frequency=2412
-# proto=WPA
-# key_mgmt=WPA-NONE
-# pairwise=NONE
-# group=TKIP
-# psk="secret passphrase"
-#}
-#
-#
-## Catch all example that allows more or less all configuration modes
-#network={
-# ssid="example"
-# scan_ssid=1
-# key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
-# pairwise=CCMP TKIP
-# group=CCMP TKIP WEP104 WEP40
-# psk="very secret passphrase"
-# eap=TTLS PEAP TLS
-# identity="user@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-# private_key="/etc/cert/user.prv"
-# private_key_passwd="password"
-# phase1="peaplabel=0"
-#}
-#
-## Example of EAP-TLS with smartcard (openssl engine)
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TLS
-# proto=RSN
-# pairwise=CCMP TKIP
-# group=CCMP TKIP
-# identity="user@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-#
-# engine=1
-#
-# # The engine configured here must be available. Look at
-# # OpenSSL engine support in the global section.
-# # The key available through the engine must be the private key
-# # matching the client certificate configured above.
-#
-# # use the opensc engine
-# #engine_id="opensc"
-# #key_id="45"
-#
-# # use the pkcs11 engine
-# engine_id="pkcs11"
-# key_id="id_45"
-#
-# # Optional PIN configuration; this can be left out and PIN will be
-# # asked through the control interface
-# pin="1234"
-#}
-#
-## Example configuration showing how to use an inlined blob as a CA certificate
-## data instead of using external file
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# identity="user@example.com"
-# anonymous_identity="anonymous@example.com"
-# password="foobar"
-# ca_cert="blob://exampleblob"
-# priority=20
-#}
-#
-#blob-base64-exampleblob={
-#SGVsbG8gV29ybGQhCg==
-#}
-
-
-# Wildcard match for SSID (plaintext APs only). This example select any
-# open AP regardless of its SSID.
-#network={
-# key_mgmt=NONE
-#}
diff --git a/device/qcom/msm7625_sku3/7k_handset.kl b/device/qcom/msm7625_sku3/7k_handset.kl
deleted file mode 100644
index 9d87141b7..000000000
--- a/device/qcom/msm7625_sku3/7k_handset.kl
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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 nor
-# the names of its contributors may be used to endorse or promote
-# products derived from this software without specific prior written
-# permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-key 226 HEADSETHOOK WAKE
-key 116 POWER WAKE
-key 107 ENDCALL WAKE_DROPPED
diff --git a/device/qcom/msm7625_sku3/Android.mk b/device/qcom/msm7625_sku3/Android.mk
deleted file mode 100644
index 9e6673c59..000000000
--- a/device/qcom/msm7625_sku3/Android.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# This empty Android.mk file exists to prevent the build system from
-# automatically including any other Android.mk files under this directory.
-#
-include $(all-subdir-makefiles) \ No newline at end of file
diff --git a/device/qcom/msm7625_sku3/AndroidBoard.mk b/device/qcom/msm7625_sku3/AndroidBoard.mk
deleted file mode 100644
index f458e820b..000000000
--- a/device/qcom/msm7625_sku3/AndroidBoard.mk
+++ /dev/null
@@ -1,63 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-#----------------------------------------------------------------------
-# Compile (L)ittle (K)ernel bootloader and the nandwrite utility
-#----------------------------------------------------------------------
-ifneq ($(strip $(TARGET_NO_BOOTLOADER)),true)
-
-# Compile
-include bootable/bootloader/lk/AndroidBoot.mk
-
-INSTALLED_BOOTLOADER_TARGET := $(PRODUCT_OUT)/bootloader
-file := $(INSTALLED_BOOTLOADER_TARGET)
-ALL_PREBUILT += $(file)
-$(file): $(TARGET_BOOTLOADER) | $(ACP)
- $(transform-prebuilt-to-target)
-
-# Copy nandwrite utility to target out directory
-INSTALLED_NANDWRITE_TARGET := $(PRODUCT_OUT)/nandwrite
-file := $(INSTALLED_NANDWRITE_TARGET)
-ALL_PREBUILT += $(file)
-$(file) : $(TARGET_NANDWRITE) | $(ACP)
- $(transform-prebuilt-to-target)
-endif
-
-#----------------------------------------------------------------------
-# Compile Linux Kernel
-#----------------------------------------------------------------------
-ifeq ($(KERNEL_DEFCONFIG),)
- KERNEL_DEFCONFIG := msm7625_sku3-perf_defconfig
-endif
-
-include kernel/AndroidKernel.mk
-
-file := $(INSTALLED_KERNEL_TARGET)
-ALL_PREBUILT += $(file)
-$(file) : $(TARGET_PREBUILT_KERNEL) | $(ACP)
- $(transform-prebuilt-to-target)
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := msm7625_sku3_keypad.kcm
-include $(BUILD_KEY_CHAR_MAP)
-
-file := $(TARGET_OUT_KEYLAYOUT)/7k_handset.kl
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/7k_handset.kl | $(ACP)
- $(transform-prebuilt-to-target)
-
-file := $(TARGET_OUT_KEYLAYOUT)/msm7625_sku3_keypad.kl
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/msm7625_sku3_keypad.kl | $(ACP)
- $(transform-prebuilt-to-target)
-
-file := $(TARGET_OUT)/etc/vold.fstab
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/vold.fstab | $(ACP)
- $(transform-prebuilt-to-target)
-
-ifeq ($(strip $(BOARD_HAS_QCOM_WLAN)),true)
-file := $(TARGET_OUT)/etc/wifi/wpa_supplicant.conf
-ALL_PREBUILT += $(file)
-$(file) : $(LOCAL_PATH)/wpa_supplicant.conf | $(ACP)
- $(transform-prebuilt-to-target)
-endif
diff --git a/device/qcom/msm7625_sku3/AndroidProducts.mk b/device/qcom/msm7625_sku3/AndroidProducts.mk
deleted file mode 100644
index 39a761430..000000000
--- a/device/qcom/msm7625_sku3/AndroidProducts.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-
-PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/msm7625_sku3.mk
diff --git a/device/qcom/msm7625_sku3/BoardConfig.mk b/device/qcom/msm7625_sku3/BoardConfig.mk
deleted file mode 100644
index 43e9c6df3..000000000
--- a/device/qcom/msm7625_sku3/BoardConfig.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-# config.mk
-#
-# Product-specific compile-time definitions.
-#
-
-ifeq ($(QC_PROP),true)
- BOARD_USES_QCOM_HARDWARE := true
- BOARD_USES_ADRENO_200 := false
- HAVE_ADRENO200_SOURCE := false
- HAVE_ADRENO200_SC_SOURCE := false
- HAVE_ADRENO200_FIRMWARE := false
- BOARD_USES_QCNE := true
- # [WIFI] If enable Wi-Fi Support. Set "BOARD_HAVE_WIFI := true"
- BOARD_HAVE_WIFI := true
- ifneq ($(BUILD_TINY_ANDROID), true)
- BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION := 50001
- BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
- BOARD_CAMERA_LIBRARIES := libcamera
- BOARD_HAVE_BLUETOOTH := true
- BOARD_HAS_QCOM_WLAN := false
- #BOARD_USES_GENERIC_AUDIO := true
- ifeq ($(BOARD_HAS_QCOM_WLAN),true)
- BOARD_WPA_SUPPLICANT_DRIVER := WEXT
- WPA_SUPPLICANT_VERSION := VER_0_6_X
- WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/libra.ko"
- WIFI_DRIVER_MODULE_NAME := "libra"
- endif
- # [WIFI] If enable Wi-Fi Support. Set "BOARD_HAVE_WIFI := true"
- BOARD_HAVE_WIFI := true
- endif # !BUILD_TINY_ANDROID
-
-else
-# BOARD_USES_GENERIC_AUDIO := true
- USE_CAMERA_STUB := true
-
-endif # QC_PROP
-
-TARGET_HAVE_TSLIB := true
-
-TARGET_NO_BOOTLOADER := false
-TARGET_NO_KERNEL := false
-TARGET_NO_RADIOIMAGE := true
-
-TARGET_CPU_ABI := armeabi
-
-TARGET_BOARD_PLATFORM := msm7k
-TARGET_BOOTLOADER_BOARD_NAME := msm7625_sku3
-TARGET_USES_16BPPSURFACE_FOR_OPAQUE := true
-TARGET_AVOID_DRAW_TEXTURE_EXTENSION := true
-QCOM_TARGET_PRODUCT := msm7625_sku3
-QCOM_CUSTOM := true
-
-BOARD_KERNEL_BASE := 0x00200000
-
-TARGET_USERIMAGES_USE_EXT4 := false
-
-BOARD_KERNEL_CMDLINE := mem=212M console=ttyMSM2,115200n8 console=ttyHSL1,115200n8 androidboot.hardware=qcom
-#BOARD_KERNEL_CMDLINE := mem=212M console=/dev/null androidboot.hardware=qcom lpj=2637824
-BOARD_EGL_CFG := device/qcom/$(TARGET_PRODUCT)/egl.cfg
-
-BOARD_NO_SPEAKER := false
-
-BOARD_DEVEL_TOOLS := busybox oprofile
-
-#Atheros ++++
-BOARD_USES_ATH_WIFI := true
-BOARD_USES_AR6002 := false
-BOARD_USES_AR6003 := true
-ifeq ($(BOARD_USES_ATH_WIFI),true)
- WPA_SUPPLICANT_VERSION := VER_0_6_ATHEROS
- ifeq ($(BOARD_USES_AR6002),true)
- BOARD_WLAN_ATHEROS_SDK := external/ar6002/olca
- endif
- ifeq ($(BOARD_USES_AR6003),true)
- BOARD_WLAN_ATHEROS_SDK := external/ar6003/olca
- endif
-endif
-# Atheros ---
-
-#AKM
-BOARD_SUPPORT_AKM_SENSOR := true
-
-include device/qcom/$(TARGET_PRODUCT)/qcom_custom.mk
diff --git a/device/qcom/msm7625_sku3/definitions.mk b/device/qcom/msm7625_sku3/definitions.mk
deleted file mode 100644
index 3ae6a2ea8..000000000
--- a/device/qcom/msm7625_sku3/definitions.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-
-###########################################################
-## Set up the comments for auto-generated files
-## $(call add-head-comments,filename)
-###########################################################
-define add-head-comments
-$(shell echo "/**********************************************************" >> $(1)) \
-$(shell echo " * Auto-generated file" >> $(1)) \
-$(shell echo " *" >> $(1)) \
-$(shell echo " * DO NOT Modify the file by hand." >> $(1)) \
-$(shell echo " **********************************************************/" >> $(1)) \
-$(shell echo >> $(1))
-endef
-
-###########################################################
-## Add header file check
-## $(call add-define-check,filename,def)
-###########################################################
-define add-define-check
-$(shell echo "#ifndef "$(2) >> $(1)) \
-$(shell echo "#define "$(2) >> $(1)) \
-$(shell echo >> $(1))
-endef
-
-###########################################################
-## Add endif
-## $(call add-endif,filename)
-###########################################################
-define add-endif
-$(shell echo >> $(1)) \
-$(shell echo "#endif /* "$(2)" */" >> $(1))
-endef
-
-###########################################################
-## Convert makefile item to definition in header file
-## $(call convert-makefile-item-to-h, header_file, def,
-## makefile_item_name, makefile_item_val)
-###########################################################
-define convert-makefile-item-to-h
-$(shell echo "#"$(2)" "$(3)" "$(4) >> $(1))
-endef
diff --git a/device/qcom/msm7625_sku3/egl.cfg b/device/qcom/msm7625_sku3/egl.cfg
deleted file mode 100644
index c4a143763..000000000
--- a/device/qcom/msm7625_sku3/egl.cfg
+++ /dev/null
@@ -1 +0,0 @@
-0 0 android
diff --git a/device/qcom/msm7625_sku3/include/board_gpio.h b/device/qcom/msm7625_sku3/include/board_gpio.h
deleted file mode 100755
index 411f4692c..000000000
--- a/device/qcom/msm7625_sku3/include/board_gpio.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef BOARD_GPIO_H
-#define BOARD_GPIO_H
-
-//#include "gpio-tlmm-v1.h"
-struct gpio_info {
- char name[15];
- unsigned char num;
- unsigned int active_cfg;
- unsigned int inactive_cfg;
-};
-
-
-/*******************************************
- * LCD MODULE
- ******************************************/
-#define GPIO_LCD_RESET 101
-#define GPIO_LCD_RESET_CFG GPIO_CFG(GPIO_LCD_RESET, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_LCD_TE 124
-#define GPIO_LCD_TE_CFG GPIO_CFG(GPIO_LCD_TE,0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA)
-
-/* control interface: spi */
-#define GPIO_SPI_CS 131
-#define GPIO_SPI_CS_CFG GPIO_CFG(GPIO_SPI_CS, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_SPI_SCK 132
-#define GPIO_SPI_SCK_CFG GPIO_CFG(GPIO_SPI_SCK, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_SPI_MISO 102
-#define GPIO_SPI_MISO_CFG GPIO_CFG(GPIO_SPI_MISO, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_UP, GPIO_CFG_2MA)
-#define GPIO_SPI_MOSI 103
-#define GPIO_SPI_MOSI_CFG GPIO_CFG(GPIO_SPI_MOSI, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-
-
-/*******************************************
- * BT MODULE
- ******************************************/
-#define GPIO_BT
-#define GPIO_BT_RST 16
-#define GPIO_BT_WAKE 42
-#define GPIO_BT_RFR 43
-#define GPIO_BT_CTS 44
-#define GPIO_BT_RX 45
-#define GPIO_BT_TX 46
-#define GPIO_BT_PCM_DOUT 68
-#define GPIO_BT_PCM_DIN 69
-#define GPIO_BT_PCM_SYNC 70
-#define GPIO_BT_PCM_CLK 71
-#define GPIO_BT_HOST_WAKE 83
-
-#define GPIO_BT_RST_CFG_ON GPIO_CFG(GPIO_BT_RST, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_WAKE_CFG_ON GPIO_CFG(GPIO_BT_WAKE, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_RFR_CFG_ON GPIO_CFG(GPIO_BT_RFR, 2, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_CTS_CFG_ON GPIO_CFG(GPIO_BT_CTS, 2, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_RX_CFG_ON GPIO_CFG(GPIO_BT_RX, 2, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_TX_CFG_ON GPIO_CFG(GPIO_BT_TX, 3, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DOUT_CFG_ON GPIO_CFG(GPIO_BT_PCM_DOUT, 1, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DIN_CFG_ON GPIO_CFG(GPIO_BT_PCM_DIN, 1, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_SYNC_CFG_ON GPIO_CFG(GPIO_BT_PCM_SYNC, 2, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_CLK_CFG_ON GPIO_CFG(GPIO_BT_PCM_CLK, 2, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_HOST_WAKE_CFG_ON GPIO_CFG(GPIO_BT_HOST_WAKE, 0, GPIO_CFG_INPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-
-#define GPIO_BT_RST_CFG_OFF GPIO_CFG(GPIO_BT_RST, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_BT_WAKE_CFG_OFF GPIO_CFG(GPIO_BT_WAKE, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_RFR_CFG_OFF GPIO_CFG(GPIO_BT_RFR, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_CTS_CFG_OFF GPIO_CFG(GPIO_BT_CTS, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_RX_CFG_OFF GPIO_CFG(GPIO_BT_RX, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_TX_CFG_OFF GPIO_CFG(GPIO_BT_TX, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DOUT_CFG_OFF GPIO_CFG(GPIO_BT_PCM_DOUT, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_DIN_CFG_OFF GPIO_CFG(GPIO_BT_PCM_DIN, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_SYNC_CFG_OFF GPIO_CFG(GPIO_BT_PCM_SYNC, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_PCM_CLK_CFG_OFF GPIO_CFG(GPIO_BT_PCM_CLK, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_BT_HOST_WAKE_CFG_OFF GPIO_CFG(GPIO_BT_HOST_WAKE, 0, GPIO_CFG_INPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-
-/* */
-/*******************************************
- * WLAN MODULE
- ******************************************/
-#define GPIO_WLAN_3V3_EN 57
-#define GPIO_WLAN_3V3_EN_CFG GPIO_CFG(GPIO_WLAN_3V3_EN, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#define GPIO_WLAN_WAKES_MSM 96
-#define GPIO_WLAN_WAKES_MSM_CFG GPIO_CFG(GPIO_WLAN_WAKES_MSM, 0, GPIO_CFG_OUTPUT, GPIO_CFG_PULL_DOWN, GPIO_CFG_2MA)
-#define GPIO_WLAN_CHIP_PWD_L 20
-#define GPIO_WLAN_CHIP_PWD_L_CFG GPIO_CFG(GPIO_WLAN_CHIP_PWD_L, 0, GPIO_CFG_OUTPUT, GPIO_CFG_NO_PULL, GPIO_CFG_2MA)
-#endif
diff --git a/device/qcom/msm7625_sku3/include/board_input.h b/device/qcom/msm7625_sku3/include/board_input.h
deleted file mode 100644
index 3b218d63f..000000000
--- a/device/qcom/msm7625_sku3/include/board_input.h
+++ /dev/null
@@ -1,261 +0,0 @@
-#ifndef board_input_h
-#define board_input_h
-
-#ifndef KEY_RESERVED
-#define KEY_RESERVED 0
-#endif
-
-#ifndef KEY_CENTER
-#define KEY_CENTER 232
-#endif
-
-#ifndef KEY_CAMERA
-#define KEY_CAMERA 212
-#endif
-
-#ifndef KEY_END
-#define KEY_END 107
-#endif
-
-#ifndef KEY_COMMA
-#define KEY_COMMA 51
-#endif
-
-#ifndef KEY_DOWN
-#define KEY_DOWN 108
-#endif
-
-#ifndef KEY_LEFTSHIFT
-#define KEY_LEFTSHIFT 42
-#endif
-
-#ifndef KEY_C
-#define KEY_C 46
-#endif
-
-#ifndef KEY_J
-#define KEY_J 36
-#endif
-
-#ifndef KEY_P
-#define KEY_P 25
-#endif
-
-#ifndef KEY_E
-#define KEY_E 18
-#endif
-
-#ifndef KEY_RIGHT
-#define KEY_RIGHT 106
-#endif
-
-#ifndef KEY_EMAIL
-#define KEY_EMAIL 215
-#endif
-
-#ifndef KEY_V
-#define KEY_V 47
-#endif
-
-#ifndef KEY_K
-#define KEY_K 37
-#endif
-
-#ifndef KEY_A
-#define KEY_A 30
-#endif
-
-#ifndef KEY_R
-#define KEY_R 19
-#endif
-
-#ifndef KEY_REPLY
-#define KEY_REPLY 232 /* AC Reply */
-#endif
-
-#ifndef KEY_SPACE
-#define KEY_SPACE 57
-#endif
-
-#ifndef KEY_B
-#define KEY_B 48
-#endif
-
-#ifndef KEY_L
-#define KEY_L 38
-#endif
-
-#ifndef KEY_S
-#define KEY_S 31
-#endif
-
-#ifndef KEY_T
-#define KEY_T 20
-#endif
-
-#ifndef KEY_LEFT
-#define KEY_LEFT 105
-#endif
-
-#ifndef KEY_DOT
-#define KEY_DOT 52
-#endif
-
-#ifndef KEY_N
-#define KEY_N 49
-#endif
-
-#ifndef KEY_BACKSPACE
-#define KEY_BACKSPACE 14
-#endif
-
-#ifndef KEY_D
-#define KEY_D 32
-#endif
-
-#ifndef KEY_Y
-#define KEY_Y 21
-#endif
-
-#ifndef KEY_UP
-#define KEY_UP 103
-#endif
-
-#ifndef KEY_MAIL
-#define KEY_MAIL 155
-#endif
-
-#ifndef KEY_M
-#define KEY_M 50
-#endif
-
-#ifndef KEY_RECORD
-#define KEY_RECORD 167
-#endif
-
-#ifndef KEY_VOLUMEUP
-#define KEY_VOLUMEUP 115
-#endif
-
-#ifndef KEY_VOLUMEDOWN
-#define KEY_VOLUMEDOWN 114
-#endif
-
-#ifndef KEY_F
-#define KEY_F 33
-#endif
-
-#ifndef KEY_U
-#define KEY_U 22
-#endif
-
-#ifndef KEY_SEND
-#define KEY_SEND 231 /* AC Send */
-#endif
-
-#ifndef KEY_BACK
-#define KEY_BACK 158 /* AC Back */
-#endif
-
-#ifndef KEY_Z
-#define KEY_Z 44
-#endif
-
-#ifndef KEY_G
-#define KEY_G 34
-#endif
-
-#ifndef KEY_I
-#define KEY_I 23
-#endif
-
-#ifndef KEY_Q
-#define KEY_Q 16
-#endif
-
-#ifndef KEY_HOME
-#define KEY_HOME 102
-#endif
-
-#ifndef KEY_ENTER
-#define KEY_ENTER 28
-#endif
-
-#ifndef KEY_X
-#define KEY_X 45
-#endif
-
-#ifndef KEY_H
-#define KEY_H 35
-#endif
-
-#ifndef KEY_O
-#define KEY_O 24
-#endif
-
-#ifndef KEY_W
-#define KEY_W 17
-#endif
-
-/* keypad input */
-#define KEYPAD_COL 41, 40, 39, 38, 37, 36
-#define KEYPAD_COL_LINES 6
-/* keypad output */
-#define KEYPAD_ROW 35, 34, 33, 32, 31, 29, 28, 27
-#define KEYPAD_ROW_LINES 8
-
-#define KEYMAP_INDEX(row, col) ((row) * KEYPAD_COL_LINES + (col))
-
-/* For LK, KEY_VOLUMEDOWN is fastboot and KEY_VOLUMEUP is recovery */
-#define KEYPAD_LAYOUT \
- [KEYMAP_INDEX(0, 0)] = KEY_COMMA, \
- [KEYMAP_INDEX(0, 1)] = KEY_Z, \
- [KEYMAP_INDEX(0, 2)] = KEY_G, \
- [KEYMAP_INDEX(0, 3)] = KEY_I, \
- [KEYMAP_INDEX(0, 4)] = KEY_Q, \
- [KEYMAP_INDEX(0, 5)] = KEY_HOME, \
- [KEYMAP_INDEX(1, 0)] = KEY_ENTER, \
- [KEYMAP_INDEX(1, 1)] = KEY_X, \
- [KEYMAP_INDEX(1, 2)] = KEY_H, \
- [KEYMAP_INDEX(1, 3)] = KEY_O, \
- [KEYMAP_INDEX(1, 4)] = KEY_W, \
- [KEYMAP_INDEX(1, 5)] = KEY_DOWN, \
- [KEYMAP_INDEX(2, 0)] = KEY_LEFTSHIFT, \
- [KEYMAP_INDEX(2, 1)] = KEY_C, \
- [KEYMAP_INDEX(2, 2)] = KEY_J, \
- [KEYMAP_INDEX(2, 3)] = KEY_P, \
- [KEYMAP_INDEX(2, 4)] = KEY_E, \
- [KEYMAP_INDEX(2, 5)] = KEY_RIGHT, \
- [KEYMAP_INDEX(3, 0)] = KEY_EMAIL, \
- [KEYMAP_INDEX(3, 1)] = KEY_V, \
- [KEYMAP_INDEX(3, 2)] = KEY_K, \
- [KEYMAP_INDEX(3, 3)] = KEY_A, \
- [KEYMAP_INDEX(3, 4)] = KEY_R, \
- [KEYMAP_INDEX(3, 5)] = KEY_REPLY, \
- [KEYMAP_INDEX(4, 0)] = KEY_SPACE, \
- [KEYMAP_INDEX(4, 1)] = KEY_B, \
- [KEYMAP_INDEX(4, 2)] = KEY_L, \
- [KEYMAP_INDEX(4, 3)] = KEY_S, \
- [KEYMAP_INDEX(4, 4)] = KEY_T, \
- [KEYMAP_INDEX(4, 5)] = KEY_LEFT, \
- [KEYMAP_INDEX(5, 0)] = KEY_DOT, \
- [KEYMAP_INDEX(5, 1)] = KEY_N, \
- [KEYMAP_INDEX(5, 2)] = KEY_BACKSPACE, \
- [KEYMAP_INDEX(5, 3)] = KEY_D, \
- [KEYMAP_INDEX(5, 4)] = KEY_Y, \
- [KEYMAP_INDEX(5, 5)] = KEY_UP, \
- [KEYMAP_INDEX(6, 0)] = KEY_MAIL, \
- [KEYMAP_INDEX(6, 1)] = KEY_M, \
- [KEYMAP_INDEX(6, 2)] = KEY_RECORD, \
- [KEYMAP_INDEX(6, 3)] = KEY_F, \
- [KEYMAP_INDEX(6, 4)] = KEY_U, \
- [KEYMAP_INDEX(6, 5)] = KEY_BACK, \
- [KEYMAP_INDEX(7, 1)] = KEY_VOLUMEUP, \
- [KEYMAP_INDEX(7, 2)] = KEY_VOLUMEDOWN, \
- [KEYMAP_INDEX(7, 4)] = KEY_SEND, \
- [KEYMAP_INDEX(7, 5)] = KEY_END
-
-/* the name should be exactly same as *.kcm file */
-#define KEYPAD_NAME "msm7625_sku3_keypad"
-
-#endif /* board_input_h */
diff --git a/device/qcom/msm7625_sku3/include/board_pm.h b/device/qcom/msm7625_sku3/include/board_pm.h
deleted file mode 100644
index 542b019f2..000000000
--- a/device/qcom/msm7625_sku3/include/board_pm.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef board_pm_h
-#define board_pm_h
-
-/*******************************************
- * LCD MODULE
- ******************************************/
-#define LCD_VREG_NUM 2
-/* lcd 1.8v */
-#define LCD_VREG0 "gp4"
-/* lcd 2.6v */
-#define LCD_VREG1 "gp1"
-
-#define LCD_VREG(x) \
- ((x == 0) ? (LCD_VREG0) : ((x == 1) ? (LCD_VREG1) : NULL))
-
-#define MMC_VREG "mmc"
-
-#define WLAN_VREG "wlan"
-
-/*******************************************
- * CAMERA MODULE
- ******************************************/
-#define CAMERA_VREG_NUM 3
-#define CAMERA_VREG_VDDA "gp2"
-#define CAMERA_VREG_VDDIO "msmp"
-#define CAMERA_VREG_VDDC "rfrx2"
-
-#define CAMERA_VREG(x) \
- (((x == 0) ? (CAMERA_VREG_VDDA) : ((x == 1) ? (CAMERA_VREG_VDDIO) : CAMERA_VREG_VDDC)))
-
-/*******************************************
- * BT MODULE
- ******************************************/
-#define BT_VREG "gp6"
-#define BT_VREG_LEVEL 1200
-#define BT_VREG_LEVEL_NOSET
-
-#endif /* board_pm_h */
diff --git a/device/qcom/msm7625_sku3/libsensors/AkmAotController.cpp b/device/qcom/msm7625_sku3/libsensors/AkmAotController.cpp
deleted file mode 100644
index b295440a7..000000000
--- a/device/qcom/msm7625_sku3/libsensors/AkmAotController.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-#include <fcntl.h>
-#include <cfloat>
-#include <sys/ioctl.h>
-#include <cerrno>
-#include <cutils/log.h>
-
-#include <linux/akm8975.h>
-
-#include "AkmAotController.h"
-
-#define AKM_AOT_DEVICE_PATH "/dev/akm8975_aot"
-#define INVALID_CMD_VALUE 0
-
-static AkmAotController g_instance_;
-
-AkmAotController::AkmAotController()
- : aot_fd(-1), m_magEn(0), m_accEn(0), m_oriEn(0), mLock()
-{
- if (0 > ioctl(ECS_IOCTL_APP_GET_MVFLAG, &m_magEn)) {
- LOGE_IF(ENXIO != errno, "%s - ioctl failed (%s).", __func__, strerror(errno));
- }
- if (0 > ioctl(ECS_IOCTL_APP_GET_AFLAG, &m_accEn)) {
- LOGE_IF(ENXIO != errno, "%s - ioctl failed (%s).", __func__, strerror(errno));
- }
- if (0 > ioctl(ECS_IOCTL_APP_GET_AFLAG, &m_oriEn)) {
- LOGE_IF(ENXIO != errno, "%s - ioctl failed (%s).", __func__, strerror(errno));
- }
- closeDevice_internal();
-}
-
-AkmAotController::~AkmAotController()
-{
- closeDevice_internal();
-}
-
-AkmAotController & AkmAotController::getInstance()
-{
- return g_instance_;
-}
-
-void AkmAotController::writeAccels(int16_t value[ACCEL_AXIS])
-{
- if (0 <= aot_fd) {
- if (0 > ioctl(ECS_IOCTL_APP_SET_ACCEL, value)) {
- LOGE_IF(ENXIO != errno, "%s - ioctl failed (%s).", __func__, strerror(errno));
- }
- }
-}
-
-bool AkmAotController::getEnabled(SensorType sensorType)
-{
- switch (sensorType) {
- case AKM_SENSOR_TYPE_MAGNETOMETER:
- return (0 == m_magEn) ? false : true;
- case AKM_SENSOR_TYPE_ACCELEROMETER:
- return (0 == m_accEn) ? false : true;
- case AKM_SENSOR_TYPE_ORIENTATION:
- return (0 == m_oriEn) ? false : true;
- default:
- LOGE("Unknown sensor type.");
- return false;
- }
-}
-
-void AkmAotController::setEnabled(SensorType sensorType, bool isEnabled)
-{
- unsigned int cmd;
- short value = (false == isEnabled) ? 0 : 1;
-
- switch (sensorType) {
- case AKM_SENSOR_TYPE_MAGNETOMETER:
- cmd = ECS_IOCTL_APP_SET_MVFLAG;
- break;
- case AKM_SENSOR_TYPE_ACCELEROMETER:
- cmd = ECS_IOCTL_APP_SET_AFLAG;
- break;
- case AKM_SENSOR_TYPE_ORIENTATION:
- cmd = ECS_IOCTL_APP_SET_MFLAG;
- break;
- default:
- LOGE("Unknown sensor type.");
- return;
- }
- if (0 > ioctl(cmd, &value)) {
- LOGE_IF(ENXIO != errno, "%s - ioctl failed (%s).", __func__, strerror(errno));
- } else {
- switch (sensorType) {
- case AKM_SENSOR_TYPE_MAGNETOMETER:
- m_magEn = value;
- break;
- case AKM_SENSOR_TYPE_ACCELEROMETER:
- m_accEn = value;
- break;
- case AKM_SENSOR_TYPE_ORIENTATION:
- m_oriEn = value;
- break;
- default:
- break;
- }
- }
- // Currently, ignore accelerometer
- if ((m_magEn == 0) && (m_oriEn == 0)) {
- closeDevice_internal();
- }
- LOGD("Enabled: Mag(%d), Acc(%d), Ori(%d)", m_magEn, m_accEn, m_oriEn);
-}
-
-void AkmAotController::setDelay(int64_t ns[3])
-{
- if (0 > ioctl(ECS_IOCTL_APP_SET_DELAY, ns)) {
- LOGE_IF(ENXIO != errno, "%s - ioctl failed (%s).", __func__, strerror(errno));
- }
- LOGD("Delay: Mag(%lld), Acc(%lld), Ori(%lld)", ns[0], ns[1], ns[2]);
-}
-
-int AkmAotController::ioctl(unsigned int cmd, void *argp)
-{
- if (!openDevice()){
- return -1;
- }
- if (0 > ::ioctl(aot_fd, cmd, argp)) {
- return -1;
- }
- return 0;
-}
-
-bool AkmAotController::openDevice() {
- android::AutoMutex lock(mLock);
- return openDevice_internal();
-}
-
-void AkmAotController::closeDevice() {
- android::AutoMutex lock(mLock);
- closeDevice_internal();
-}
-
-bool AkmAotController::openDevice_internal()
-{
- if (0 <= aot_fd) {
- return true;
- }
- aot_fd = open(AKM_AOT_DEVICE_PATH, O_RDWR);
- if (0 > aot_fd) {
- LOGE("Colud not open AKM's aot device file (%s).", strerror(errno));
- return false;
- }
- return true;
-}
-
-void AkmAotController::closeDevice_internal()
-{
- if (0 <= aot_fd) {
- int const errno_old = errno;
- close(aot_fd);
- aot_fd = -1;
- errno = errno_old;
- }
-}
-
-
diff --git a/device/qcom/msm7625_sku3/libsensors/AkmAotController.h b/device/qcom/msm7625_sku3/libsensors/AkmAotController.h
deleted file mode 100644
index 696aba932..000000000
--- a/device/qcom/msm7625_sku3/libsensors/AkmAotController.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef ANDROID_AKM_AOT_CONTROLLER_H
-#define ANDROID_AKM_AOT_CONTROLLER_H
-
-#include <cstdint>
-
-#include <utils/threads.h>
-
-class AkmAotController {
-public:
- AkmAotController();
- ~AkmAotController();
-
-private:
- /* non-copyable */
- AkmAotController(AkmAotController const &);
- AkmAotController& operator = (AkmAotController const &);
-
-public:
- static AkmAotController & getInstance();
-
- enum {
- ACCEL_AXIS = 3,
- };
-
- enum SensorType {
- AKM_SENSOR_TYPE_ACCELEROMETER = 0,
- AKM_SENSOR_TYPE_MAGNETOMETER,
- AKM_SENSOR_TYPE_ORIENTATION,
- AKM_SENSOR_TYPE_UNKNOWN,
- };
-
- void writeAccels(int16_t value[ACCEL_AXIS]);
-
- bool getEnabled(SensorType sensorType);
- void setEnabled(SensorType sensorType, bool isEnabled);
- void setDelay(int64_t ns[3]);
-
- bool openDevice();
- void closeDevice();
-
-private:
- int ioctl(unsigned int cmd, void *argp);
- bool openDevice_internal();
- void closeDevice_internal();
-
-private:
- int aot_fd;
- short m_magEn;
- short m_accEn;
- short m_oriEn;
- android::Mutex mLock;
-};
-
-#endif // end of AKM_AOT_INTERFACE_H_
-
diff --git a/device/qcom/msm7625_sku3/libsensors/AkmSensor.cpp b/device/qcom/msm7625_sku3/libsensors/AkmSensor.cpp
deleted file mode 100644
index c4c66f826..000000000
--- a/device/qcom/msm7625_sku3/libsensors/AkmSensor.cpp
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * 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.
- */
-
-#include <fcntl.h>
-#include <errno.h>
-#include <math.h>
-#include <poll.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <sys/select.h>
-#include <dlfcn.h>
-#include <stdint.h>
-
-#include <linux/akm8975.h>
-
-#include <cutils/log.h>
-
-#include "AkmSensor.h"
-#include "AkmAotController.h"
-
-/*****************************************************************************/
-
-#define AKM_DATA_NAME "compass"
-
-#define AKM_CMD_GET 1
-#define AKM_CMD_SET 0
-
-#define AKM_ENABLED_BITMASK_M 0x01
-#define AKM_ENABLED_BITMASK_O 0x02
-
-/*****************************************************************************/
-
-AkmSensor::AkmSensor()
-: SensorBase(NULL, AKM_DATA_NAME),
- mEnabled(0),
- mPendingMask(0),
- mInputReader(32)
-{
- memset(mPendingEvents, 0, sizeof(mPendingEvents));
-
- mPendingEvents[MagneticField].version = sizeof(sensors_event_t);
- mPendingEvents[MagneticField].sensor = ID_M;
- mPendingEvents[MagneticField].type = SENSOR_TYPE_MAGNETIC_FIELD;
- mPendingEvents[MagneticField].magnetic.status = SENSOR_STATUS_ACCURACY_HIGH;
-
- mPendingEvents[Orientation ].version = sizeof(sensors_event_t);
- mPendingEvents[Orientation ].sensor = ID_O;
- mPendingEvents[Orientation ].type = SENSOR_TYPE_ORIENTATION;
- mPendingEvents[Orientation ].orientation.status = SENSOR_STATUS_ACCURACY_HIGH;
-
- for (int i=0 ; i<numSensors ; i++)
- mDelays[i] = -1; // Disable by default
-
- for (int i=0 ; i<numAccelAxises ; ++i)
- mAccels[i] = 0;
-
- // read the actual value of all sensors if they're enabled already
- struct input_absinfo absinfo;
-
- if (is_sensor_enabled(SENSOR_TYPE_MAGNETIC_FIELD)) {
- mEnabled |= AKM_ENABLED_BITMASK_M;
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_X), &absinfo)) {
- mPendingEvents[MagneticField].magnetic.x = absinfo.value * CONVERT_M;
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_Y), &absinfo)) {
- mPendingEvents[MagneticField].magnetic.y = absinfo.value * CONVERT_M;
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_Z), &absinfo)) {
- mPendingEvents[MagneticField].magnetic.z = absinfo.value * CONVERT_M;
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_MAGV_STATUS), &absinfo)) {
- mPendingEvents[MagneticField].magnetic.status = uint8_t(absinfo.value & SENSOR_STATE_MASK);
- }
- }
- if (is_sensor_enabled(SENSOR_TYPE_ORIENTATION)) {
- mEnabled |= AKM_ENABLED_BITMASK_M;
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_YAW), &absinfo)) {
- mPendingEvents[Orientation].orientation.azimuth = absinfo.value * CONVERT_O;
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_PITCH), &absinfo)) {
- mPendingEvents[Orientation].orientation.pitch = absinfo.value * CONVERT_O;
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ROLL), &absinfo)) {
- mPendingEvents[Orientation].orientation.roll = -absinfo.value * CONVERT_O;
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ORIENT_STATUS), &absinfo)) {
- mPendingEvents[Orientation].orientation.status = uint8_t(absinfo.value & SENSOR_STATE_MASK);
- }
- }
-}
-
-AkmSensor::~AkmSensor()
-{
-}
-
-int AkmSensor::enable(int32_t handle, int en)
-{
- uint32_t mask;
- uint32_t sensor_type;
-
- switch (handle) {
- case ID_M:
- mask = AKM_ENABLED_BITMASK_M;
- sensor_type = SENSOR_TYPE_MAGNETIC_FIELD;
- break;
- case ID_O:
- mask = AKM_ENABLED_BITMASK_O;
- sensor_type = SENSOR_TYPE_ORIENTATION;
- break;
- default: return -EINVAL;
- }
-
- int err = 0;
- uint32_t newState = (mEnabled & ~mask) | (en ? mask : 0);
-
- if (mEnabled != newState) {
- if (en)
- err = enable_sensor(sensor_type);
- else
- err = disable_sensor(sensor_type);
-
- LOGE_IF(err, "Could not change sensor state (%s)", strerror(-err));
- if (!err) {
- mEnabled = newState;
- update_delay();
- }
- }
-
- return err;
-}
-
-int AkmSensor::setDelay(int32_t handle, int64_t ns)
-{
- if (ns < 0)
- return -EINVAL;
-
- switch (handle) {
- case ID_M:
- mDelays[0] = ns;
- break;
- case ID_O:
- mDelays[1] = ns;
- break;
- default:
- return -EINVAL;
- }
-
- LOGD("setDelay: handle=%d, ns=%lld", handle, ns);
- return update_delay();
-}
-
-int AkmSensor::update_delay()
-{
- if (mEnabled) {
- int64_t delay[3];
- // Magnetic sensor
- if (mEnabled & AKM_ENABLED_BITMASK_M) {
- delay[0] = mDelays[0];
- } else {
- delay[0] = -1;
- }
- // Acceleration sensor
- delay[1] = -1;
- // Orientation sensor
- if (mEnabled & AKM_ENABLED_BITMASK_O) {
- delay[2] = mDelays[1];
- } else {
- delay[2] = -1;
- }
- LOGD("update_delay:%lld,%lld,%lld",delay[0],delay[1],delay[2]);
- AkmAotController::getInstance().setDelay(delay);
- }
- return 0;
-}
-
-int AkmSensor::readEvents(sensors_event_t* data, int count)
-{
- if (count < 1)
- return -EINVAL;
-
- ssize_t n = mInputReader.fill(data_fd);
-
- if (n < 0)
- return n;
-
- int numEventReceived = 0;
- input_event const* event;
-
- while (count && mInputReader.readEvent(&event)) {
- int type = event->type;
- if (type == EV_ABS) {
- processEvent(event->code, event->value);
- mInputReader.next();
- } else if (type == EV_SYN) {
- int64_t time = timevalToNano(event->time);
- for (int j=0 ; count && mPendingMask && j<numSensors ; j++) {
- if (mPendingMask & (1<<j)) {
- mPendingMask &= ~(1<<j);
- mPendingEvents[j].timestamp = time;
- if (0 != (mEnabled & (1 << j))) {
- *data++ = mPendingEvents[j];
- count--;
- numEventReceived++;
- }
- }
- }
- if (!mPendingMask) {
- mInputReader.next();
- }
- } else {
- LOGE("AkmSensor: unknown event (type=%d, code=%d)",
- type, event->code);
- mInputReader.next();
- }
- }
- return numEventReceived;
-}
-
-void AkmSensor::processEvent(int code, int value)
-{
- switch (code) {
- case EVENT_TYPE_MAGV_X:
- mPendingMask |= 1<<MagneticField;
- mPendingEvents[MagneticField].magnetic.x = value * CONVERT_M;
- break;
- case EVENT_TYPE_MAGV_Y:
- mPendingMask |= 1<<MagneticField;
- mPendingEvents[MagneticField].magnetic.y = value * CONVERT_M;
- break;
- case EVENT_TYPE_MAGV_Z:
- mPendingMask |= 1<<MagneticField;
- mPendingEvents[MagneticField].magnetic.z = value * CONVERT_M;
- break;
- case EVENT_TYPE_MAGV_STATUS:
- mPendingMask |= 1<<MagneticField;
- mPendingEvents[MagneticField].magnetic.status =
- uint8_t(value & SENSOR_STATE_MASK);
- break;
-
- case EVENT_TYPE_YAW:
- mPendingMask |= 1<<Orientation;
- mPendingEvents[Orientation].orientation.azimuth = value * CONVERT_O;
- break;
- case EVENT_TYPE_PITCH:
- mPendingMask |= 1<<Orientation;
- mPendingEvents[Orientation].orientation.pitch = value * CONVERT_O;
- break;
- case EVENT_TYPE_ROLL:
- mPendingMask |= 1<<Orientation;
- mPendingEvents[Orientation].orientation.roll = value * CONVERT_O;
- break;
- case EVENT_TYPE_ORIENT_STATUS:
- mPendingMask |= 1<<Orientation;
- mPendingEvents[Orientation].orientation.status =
- uint8_t(value & SENSOR_STATE_MASK);
- break;
- }
-}
-
-static AkmAotController::SensorType convert_sensor_type(uint32_t sensor_type) {
- switch (sensor_type) {
- case SENSOR_TYPE_MAGNETIC_FIELD:
- return AkmAotController::AKM_SENSOR_TYPE_MAGNETOMETER;
- case SENSOR_TYPE_ORIENTATION:
- return AkmAotController::AKM_SENSOR_TYPE_ORIENTATION;
- default:
- return AkmAotController::AKM_SENSOR_TYPE_UNKNOWN;
- }
-}
-
-int AkmSensor::is_sensor_enabled(uint32_t sensor_type) {
- return (false == AkmAotController::getInstance().getEnabled(convert_sensor_type(sensor_type))) ? 0 : 1;
-}
-
-int AkmSensor::enable_sensor(uint32_t sensor_type) {
- AkmAotController::getInstance().setEnabled(convert_sensor_type(sensor_type), true);
- return 0;
-}
-
-int AkmSensor::disable_sensor(uint32_t sensor_type) {
- AkmAotController::getInstance().setEnabled(convert_sensor_type(sensor_type), false);
- return 0;
-}
-
-int AkmSensor::set_delay(int64_t ns[3]) {
- AkmAotController::getInstance().setDelay(ns);
- return 0;
-}
-
-int AkmSensor::forwardEvents(sensors_event_t *data)
-{
- if ((NULL == data) || (ID_A_P != data->sensor)) {
- return -EINVAL;
- }
- mAccels[AccelAxisX] = (int16_t)(data->acceleration.x / GRAVITY_EARTH * LSG);
- mAccels[AccelAxisY] = (int16_t)(data->acceleration.y / GRAVITY_EARTH * LSG);
- mAccels[AccelAxisZ] = (int16_t)(data->acceleration.z / GRAVITY_EARTH * LSG);
- AkmAotController::getInstance().writeAccels(mAccels);
- return 0;
-}
-
-bool AkmSensor::isEnabled(int32_t handle) {
- switch (handle) {
- case ID_M:
- return (0 != (mEnabled & AKM_ENABLED_BITMASK_M)) ? true : false;
- case ID_O:
- return (0 != (mEnabled & AKM_ENABLED_BITMASK_O)) ? true : false;
- default:
- LOGE("Unkown handle(%d).", handle);
- return false;
- }
-}
-
diff --git a/device/qcom/msm7625_sku3/libsensors/AkmSensor.h b/device/qcom/msm7625_sku3/libsensors/AkmSensor.h
deleted file mode 100644
index aeb4c2023..000000000
--- a/device/qcom/msm7625_sku3/libsensors/AkmSensor.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef ANDROID_AKM_SENSOR_H
-#define ANDROID_AKM_SENSOR_H
-
-#include <stdint.h>
-#include <errno.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-
-#include "sensors.h"
-#include "SensorBase.h"
-#include "InputEventReader.h"
-
-/*****************************************************************************/
-
-struct input_event;
-
-class AkmSensor : public SensorBase {
-public:
- AkmSensor();
- virtual ~AkmSensor();
-
- enum {
- MagneticField = 0,
- Orientation,
- numSensors
- };
-
- virtual int setDelay(int32_t handle, int64_t ns);
- virtual int enable(int32_t handle, int enabled);
- virtual int forwardEvents(sensors_event_t *data);
- virtual bool isEnabled(int32_t handle);
- virtual int readEvents(sensors_event_t* data, int count);
- void processEvent(int code, int value);
-
-private:
- int update_delay();
-
- int is_sensor_enabled(uint32_t sensor_type);
- int enable_sensor(uint32_t sensor_type);
- int disable_sensor(uint32_t sensor_type);
- int set_delay(int64_t ns[3]);
-
- enum {
- AccelAxisX = 0,
- AccelAxisY,
- AccelAxisZ,
- numAccelAxises,
- };
-
- uint32_t mEnabled;
- uint32_t mPendingMask;
- InputEventCircularReader mInputReader;
- sensors_event_t mPendingEvents[numSensors];
- int64_t mDelays[numSensors];
- int16_t mAccels[numAccelAxises];
-};
-
-/*****************************************************************************/
-
-#endif // ANDROID_AKM_SENSOR_H
diff --git a/device/qcom/msm7625_sku3/libsensors/Android.mk b/device/qcom/msm7625_sku3/libsensors/Android.mk
deleted file mode 100644
index fad1027c0..000000000
--- a/device/qcom/msm7625_sku3/libsensors/Android.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-# 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.
-
-
-LOCAL_PATH := $(call my-dir)
-
-ifeq ($(QCOM_TARGET_PRODUCT),msm7625_sku3)
-
-# HAL module implemenation, not prelinked, and stored in
-# hw/<SENSORS_HARDWARE_MODULE_ID>.<ro.product.board>.so
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := sensors.$(TARGET_BOOTLOADER_BOARD_NAME)
-
-LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
-
-LOCAL_MODULE_TAGS := eng
-LOCAL_C_INCLUDES := \
- $(libc_root) \
- $(KERNEL_HEADERS)
-
-LOCAL_CFLAGS := -DLOG_TAG=\"Sensors\" \
- #-Wall
-
-LOCAL_SRC_FILES := \
- sensors.cpp \
- SensorBase.cpp \
- AkmAotController.cpp \
- AkmSensor.cpp \
- Bma250Sensor.cpp \
- InputEventReader.cpp
-
-LOCAL_SHARED_LIBRARIES := liblog libcutils
-LOCAL_PRELINK_MODULE := false
-
-include $(BUILD_SHARED_LIBRARY)
-
-endif # !TARGET_SIMULATOR
diff --git a/device/qcom/msm7625_sku3/libsensors/Bma250Sensor.cpp b/device/qcom/msm7625_sku3/libsensors/Bma250Sensor.cpp
deleted file mode 100644
index b2aae8b80..000000000
--- a/device/qcom/msm7625_sku3/libsensors/Bma250Sensor.cpp
+++ /dev/null
@@ -1,349 +0,0 @@
-#include <fcntl.h>
-#include <errno.h>
-#include <math.h>
-#include <poll.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <sys/select.h>
-#include <dlfcn.h>
-#include <stdlib.h>
-#include <math.h>
-
-//#include <linux/spi/adxl34x.h>
-#include <linux/akm8975.h>
-
-#include <cutils/log.h>
-
-#include "Bma250Sensor.h"
-
-/*****************************************************************************/
-
-#define BMA250_SYSFS_PATH "/sys/devices/platform/i2c_omap.2/i2c-2/2-0053"
-#define BMA250_SYSFS_ATTR_DISABLE "disable"
-#define BMA250_SYSFS_ATTR_CALIBRATE "calibrate"
-#define BMA250_SYSFS_ATTR_RATE "rate"
-#define BMA250_DATA_NAME "bma250"
-
-#define MAKE_SYSFS_ATTR_PATH(attr) (BMA250_SYSFS_PATH "/" attr)
-
-#define BMA250_GRAVITY_EARTH GRAVITY_EARTH
-#define BMA250_GRAVITY_UNIT 3.90625f /* 1g/256LSB -> 3.90625mg/1LSB */
-#define BMA250_UNIT_CONVERSION(value) (float)((float)((short)value) * (GRAVITY_EARTH / 256))
-
-#define BMA250_ENABLE_BITMASK_P 0x01 /* primary logical driver. */
-#define BMA250_ENABLE_BITMASK_S 0x02 /* secondary logical driver. */
-
-/*****************************************************************************/
-Bma250Sensor::Bma250Sensor()
-: SensorBase(NULL, BMA250_DATA_NAME),
- mEnabled(0),
- mPendingMask(0),
- mInputReader(32),
- mDelay(0)
-{
- memset(&mPendingEvent, 0, sizeof(mPendingEvent));
- memset(mClassPath, '\0', sizeof(mClassPath));
-
- mPendingEvent.version = sizeof(sensors_event_t);
- mPendingEvent.sensor = ID_A_P;
- mPendingEvent.type = SENSOR_TYPE_ACCELEROMETER;
- mPendingEvent.acceleration.status = SENSOR_STATUS_ACCURACY_HIGH;
-
- if(sensor_get_class_path(mClassPath))
- {
- LOGE("Can`t find the BMA250 sensor!");
- }
- // read the actual value of all sensors if they're enabled already
-/*
- struct input_absinfo absinfo;
-
- if (is_sensor_enabled()) {
- mEnabled |= BMA250_ENABLE_BITMASK_P;
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_X), &absinfo)) {
- mPendingEvent.acceleration.x = BMA250_UNIT_CONVERSION(absinfo.value);
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_Y), &absinfo)) {
- mPendingEvent.acceleration.y = BMA250_UNIT_CONVERSION(absinfo.value);
- }
- if (!ioctl(data_fd, EVIOCGABS(EVENT_TYPE_ACCEL_Z), &absinfo)) {
- mPendingEvent.acceleration.z = BMA250_UNIT_CONVERSION(absinfo.value);
- }
- }
-*/
-}
-
-Bma250Sensor::~Bma250Sensor()
-{
-}
-
-int Bma250Sensor::enable(int32_t handle, int en)
-{
- uint32_t mask;
- int err = 0;
- uint32_t newState = en;
-
- if (mEnabled != newState) {
- if (newState && !mEnabled)
- err = enable_sensor();
- else if (!newState)
- err = disable_sensor();
-
- LOGE_IF(err, "Could not change sensor state \"%d -> %d\" (%s).", mEnabled, newState, strerror(-err));
- if (!err) {
- mEnabled = newState;
- update_delay();
- }
- }
-
- return err;
-}
-
-int Bma250Sensor::setDelay(int32_t handle, int64_t ns)
-{
- if (ns < 0)
- return -EINVAL;
-
- mDelay = ns;
- return update_delay();
-}
-
-int Bma250Sensor::update_delay()
-{
- if (mEnabled) {
- return set_delay(mDelay);
- }
- else
- return 0;
-}
-
-int Bma250Sensor::readEvents(sensors_event_t* data, int count)
-{
- if (count < 1)
- return -EINVAL;
-
- ssize_t n = mInputReader.fill(data_fd);
- if (n < 0)
- return n;
-
- int numEventReceived = 0;
- input_event const* event;
-
- while (count && mInputReader.readEvent(&event)) {
- int type = event->type;
- if ((type == EV_ABS) || (type == EV_REL) || (type == EV_KEY)) {
- processEvent(event->code, event->value);
- mInputReader.next();
- } else if (type == EV_SYN) {
- int64_t time = timevalToNano(event->time);
- if (mPendingMask) {
- mPendingMask = 0;
- mPendingEvent.timestamp = time;
- if (mEnabled) {
- *data++ = mPendingEvent;
- count--;
- numEventReceived++;
- }
- }
- if (!mPendingMask) {
- mInputReader.next();
- }
- } else {
- LOGE("Bma250Sensor: unknown event (type=%d, code=%d)",
- type, event->code);
- mInputReader.next();
- }
- }
-
- return numEventReceived;
-}
-
-void Bma250Sensor::processEvent(int code, int value)
-{
- switch (code) {
- case ABS_Y:
- mPendingMask = 1;
- mPendingEvent.acceleration.x = BMA250_UNIT_CONVERSION(value);
- break;
- case ABS_X:
- mPendingMask = 1;
- mPendingEvent.acceleration.y = BMA250_UNIT_CONVERSION(value);
- break;
- case ABS_Z:
- mPendingMask = 1;
- mPendingEvent.acceleration.z = (-1)*BMA250_UNIT_CONVERSION(value);
- break;
- default:
- /* TODO: implement if needed. */
- break;
- }
-}
-
-int Bma250Sensor::writeDisable(int isDisable) {
- char attr[PATH_MAX] = {'\0'};
-
- if(mClassPath[0] == '\0')
- return -1;
-
- strcpy(attr, mClassPath);
- strcat(attr,"/");
- strcat(attr,"enable");
-
- attr[strlen(attr)] = '\0';
-
- //LOGE("the G sensor open attr is %s ", attr);
-
- int fd = open(attr, O_RDWR);
- if (0 > fd) {
- LOGE("Could not open (write-only) SysFs attribute \"%s\" (%s).", attr, strerror(errno));
- return -errno;
- }
-
- char buf[2];
-
- if (isDisable) {
- buf[0] = '0';
- } else {
- buf[0] = '1';
- }
- buf[1] = '\0';
-
- int err = 0;
-
- err = write(fd, buf, sizeof(buf));
-
-
-
- if (0 > err) {
- err = -errno;
- LOGE("Could not write SysFs attribute \"%s\" (%s).", attr, strerror(errno));
- } else {
- err = 0;
- }
-
- close(fd);
-
- return err;
-}
-
-int Bma250Sensor::writeDelay(int64_t ns) {
- char attr[PATH_MAX] = {'\0'};
- if(mClassPath[0] != '\0')
- return -1;
-
- strcpy(attr, mClassPath);
- strcat(attr,"/");
- strcat(attr,"delay");
-
- int fd = open(attr, O_WRONLY);
- if (0 > fd) {
- LOGE("Could not open (write-only) SysFs attribute \"%s\" (%s).", attr, strerror(errno));
- return -errno;
- }
-
- if (ns > 10240000000LL) {
- ns = 10240000000LL; /* maximum delay in nano second. */
- }
- if (ns < 312500LL) {
- ns = 312500LL; /* minimum delay in nano second. */
- }
-
- int64_t u = (int64_t)(ns / 312500LL);
- uint8_t bin_dig = 0;
- for (uint8_t i = 0; i < 16 ; ++i) {
- if (u == 1) {
- bin_dig = i;
- break;
- }
- u >>= 1;
- }
- uint8_t const reg = 0x0f - bin_dig;
-
- char buf[4];
- snprintf(buf, sizeof(buf), "%d", reg);
- buf[3] = '\0';
-
- int err = 0;
-
- err = write(fd, buf, sizeof(buf));
-
- if (0 > err) {
- err = -errno;
- LOGE("Could not write SysFs attribute \"%s\" (%s).", attr, strerror(errno));
- } else {
- err = 0;
- }
-
- close(fd);
- //LOGE("writeDelay: ns=%lld, bin_dig=%d, reg=%d, str=%s", ns, bin_dig, reg, buf);
-
- return 0;
-}
-
-int Bma250Sensor::enable_sensor() {
- return writeDisable(0);
-}
-
-int Bma250Sensor::disable_sensor() {
- return writeDisable(1);
-}
-
-int Bma250Sensor::set_delay(int64_t ns) {
- return writeDelay(ns);
-}
-
-bool Bma250Sensor::isEnabled(int32_t handle) {
- return (0 != (mEnabled)) ? true : false;
-}
-
-int Bma250Sensor::sensor_get_class_path(char *class_path)
-{
- char *dirname = "/sys/class/input";
- char buf[256];
- int res;
- DIR *dir;
- struct dirent *de;
- int fd = -1;
- int found = 0;
-
- dir = opendir(dirname);
- if (dir == NULL)
- return -1;
-
- while((de = readdir(dir))) {
- if (strncmp(de->d_name, "input", strlen("input")) != 0) {
- continue;
- }
-
- sprintf(class_path, "%s/%s", dirname, de->d_name);
- snprintf(buf, sizeof(buf), "%s/name", class_path);
-
- fd = open(buf, O_RDONLY);
- if (fd < 0) {
- continue;
- }
- if ((res = read(fd, buf, sizeof(buf))) < 0) {
- close(fd);
- continue;
- }
- buf[res - 1] = '\0';
- if (strcmp(buf, "bma250") == 0) {
- found = 1;
- close(fd);
- break;
- }
-
- close(fd);
- fd = -1;
- }
- closedir(dir);
-
- LOGE("the G sensor dir is %s",class_path);
-
- if (found) {
- return 0;
- }else {
- *class_path = '\0';
- return -1;
- }
-}
-
diff --git a/device/qcom/msm7625_sku3/libsensors/Bma250Sensor.h b/device/qcom/msm7625_sku3/libsensors/Bma250Sensor.h
deleted file mode 100644
index f457fb694..000000000
--- a/device/qcom/msm7625_sku3/libsensors/Bma250Sensor.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef ANDROID_BMA250_SENSOR_H
-#define ANDROID_BMA250_SENSOR_H
-
-#include <stdint.h>
-#include <errno.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-
-#include "sensors.h"
-#include "SensorBase.h"
-#include "InputEventReader.h"
-
-/*****************************************************************************/
-
-struct input_event;
-
-class Bma250Sensor : public SensorBase {
-public:
- Bma250Sensor();
- virtual ~Bma250Sensor();
-
- virtual int setDelay(int32_t handle, int64_t ns);
- virtual int enable(int32_t handle, int enabled);
- virtual bool isEnabled(int32_t handle);
- virtual int readEvents(sensors_event_t* data, int count);
- void processEvent(int code, int value);
-
-private:
- int sensor_get_class_path(char *class_path);
- int is_sensor_enabled();
- int enable_sensor();
- int disable_sensor();
- int set_delay(int64_t ns);
-
- int update_delay();
-
- int readDisable();
- int writeDisable(int isDisable);
- int writeDelay(int64_t ns);
-
- enum {
- Primary = 0,
- Secondary,
- numChannels
- };
-
- uint32_t mEnabled;
- uint32_t mPendingMask;
- char mClassPath[PATH_MAX];
- InputEventCircularReader mInputReader;
- sensors_event_t mPendingEvent;
- int64_t mDelay;
-};
-
-/*****************************************************************************/
-
-#endif // ANDROID_AKM_SENSOR_H
diff --git a/device/qcom/msm7625_sku3/libsensors/InputEventReader.cpp b/device/qcom/msm7625_sku3/libsensors/InputEventReader.cpp
deleted file mode 100644
index 1014f2948..000000000
--- a/device/qcom/msm7625_sku3/libsensors/InputEventReader.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * 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.
- */
-
-#include <stdint.h>
-#include <errno.h>
-#include <unistd.h>
-#include <poll.h>
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <linux/input.h>
-
-#include <cutils/log.h>
-
-#include "InputEventReader.h"
-
-/*****************************************************************************/
-
-struct input_event;
-
-InputEventCircularReader::InputEventCircularReader(size_t numEvents)
- : mBuffer(new input_event[numEvents * 2]),
- mBufferEnd(mBuffer + numEvents),
- mHead(mBuffer),
- mCurr(mBuffer),
- mFreeSpace(numEvents)
-{
-}
-
-InputEventCircularReader::~InputEventCircularReader()
-{
- delete [] mBuffer;
-}
-
-ssize_t InputEventCircularReader::fill(int fd)
-{
- size_t numEventsRead = 0;
- if (mFreeSpace) {
- const ssize_t nread = read(fd, mHead, mFreeSpace * sizeof(input_event));
- if (nread<0 || nread % sizeof(input_event)) {
- // we got a partial event!!
- return nread<0 ? -errno : -EINVAL;
- }
-
- numEventsRead = nread / sizeof(input_event);
- if (numEventsRead) {
- mHead += numEventsRead;
- mFreeSpace -= numEventsRead;
- if (mHead > mBufferEnd) {
- size_t s = mHead - mBufferEnd;
- memcpy(mBuffer, mBufferEnd, s * sizeof(input_event));
- mHead = mBuffer + s;
- }
- }
- }
-
- return numEventsRead;
-}
-
-ssize_t InputEventCircularReader::readEvent(input_event const** events)
-{
- *events = mCurr;
- ssize_t available = (mBufferEnd - mBuffer) - mFreeSpace;
- return available ? 1 : 0;
-}
-
-void InputEventCircularReader::next()
-{
- mCurr++;
- mFreeSpace++;
- if (mCurr >= mBufferEnd) {
- mCurr = mBuffer;
- }
-}
diff --git a/device/qcom/msm7625_sku3/libsensors/InputEventReader.h b/device/qcom/msm7625_sku3/libsensors/InputEventReader.h
deleted file mode 100644
index 180aadefc..000000000
--- a/device/qcom/msm7625_sku3/libsensors/InputEventReader.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef ANDROID_INPUT_EVENT_READER_H
-#define ANDROID_INPUT_EVENT_READER_H
-
-#include <stdint.h>
-#include <errno.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/*****************************************************************************/
-
-struct input_event;
-
-class InputEventCircularReader
-{
- struct input_event* const mBuffer;
- struct input_event* const mBufferEnd;
- struct input_event* mHead;
- struct input_event* mCurr;
- ssize_t mFreeSpace;
-
-public:
- InputEventCircularReader(size_t numEvents);
- ~InputEventCircularReader();
- ssize_t fill(int fd);
- ssize_t readEvent(input_event const** events);
- void next();
-};
-
-/*****************************************************************************/
-
-#endif // ANDROID_INPUT_EVENT_READER_H
diff --git a/device/qcom/msm7625_sku3/libsensors/SensorBase.cpp b/device/qcom/msm7625_sku3/libsensors/SensorBase.cpp
deleted file mode 100644
index 6375e8885..000000000
--- a/device/qcom/msm7625_sku3/libsensors/SensorBase.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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.
- */
-
-#include <fcntl.h>
-#include <errno.h>
-#include <math.h>
-#include <poll.h>
-#include <unistd.h>
-#include <dirent.h>
-#include <sys/select.h>
-
-#include <cutils/log.h>
-
-#include <linux/input.h>
-
-#include "SensorBase.h"
-
-/*****************************************************************************/
-
-SensorBase::SensorBase(
- const char* dev_name,
- const char* data_name)
- : dev_name(dev_name), data_name(data_name),
- dev_fd(-1), data_fd(-1)
-{
- if (data_name) {
- data_fd = openInput(data_name);
- }
-}
-
-SensorBase::~SensorBase() {
- if (data_fd >= 0) {
- close(data_fd);
- }
- if (dev_fd >= 0) {
- close(dev_fd);
- }
-}
-
-int SensorBase::open_device() {
- if (dev_fd<0 && dev_name) {
- dev_fd = open(dev_name, O_RDONLY);
- LOGE_IF(dev_fd<0, "Couldn't open %s (%s)", dev_name, strerror(errno));
- }
- return 0;
-}
-
-int SensorBase::close_device() {
- if (dev_fd >= 0) {
- close(dev_fd);
- dev_fd = -1;
- }
- return 0;
-}
-
-int SensorBase::getFd() const {
- if (!data_name) {
- return dev_fd;
- }
- return data_fd;
-}
-
-int SensorBase::setDelay(int32_t handle, int64_t ns) {
- return 0;
-}
-
-bool SensorBase::hasPendingEvents() const {
- return false;
-}
-
-int64_t SensorBase::getTimestamp() {
- struct timespec t;
- t.tv_sec = t.tv_nsec = 0;
- clock_gettime(CLOCK_MONOTONIC, &t);
- return int64_t(t.tv_sec)*1000000000LL + t.tv_nsec;
-}
-
-int SensorBase::openInput(const char* inputName) {
- int fd = -1;
- const char *dirname = "/dev/input";
- char devname[PATH_MAX];
- char *filename;
- DIR *dir;
- struct dirent *de;
- dir = opendir(dirname);
- if(dir == NULL)
- return -1;
- strcpy(devname, dirname);
- filename = devname + strlen(devname);
- *filename++ = '/';
- while((de = readdir(dir))) {
- if(de->d_name[0] == '.' &&
- (de->d_name[1] == '\0' ||
- (de->d_name[1] == '.' && de->d_name[2] == '\0')))
- continue;
- strcpy(filename, de->d_name);
- fd = open(devname, O_RDONLY);
- if (fd>=0) {
- char name[80];
- if (ioctl(fd, EVIOCGNAME(sizeof(name) - 1), &name) < 1) {
- name[0] = '\0';
- }
- if (!strcmp(name, inputName)) {
- strcpy(input_name, filename);
- break;
- } else {
- close(fd);
- fd = -1;
- }
- }
- }
- closedir(dir);
- LOGE_IF(fd<0, "couldn't find '%s' input device", inputName);
- return fd;
-}
-
diff --git a/device/qcom/msm7625_sku3/libsensors/SensorBase.h b/device/qcom/msm7625_sku3/libsensors/SensorBase.h
deleted file mode 100644
index 9a12add69..000000000
--- a/device/qcom/msm7625_sku3/libsensors/SensorBase.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef ANDROID_SENSOR_BASE_H
-#define ANDROID_SENSOR_BASE_H
-
-#include <stdint.h>
-#include <errno.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-
-/*****************************************************************************/
-
-struct sensors_event_t;
-
-class SensorBase {
-protected:
- const char* dev_name;
- const char* data_name;
- char input_name[PATH_MAX];
- int dev_fd;
- int data_fd;
-
- int openInput(const char* inputName);
- static int64_t getTimestamp();
-
-
- static int64_t timevalToNano(timeval const& t) {
- return t.tv_sec*1000000000LL + t.tv_usec*1000;
- }
-
- int open_device();
- int close_device();
-
-public:
- SensorBase(
- const char* dev_name,
- const char* data_name);
-
- virtual ~SensorBase();
-
- virtual int readEvents(sensors_event_t* data, int count) = 0;
- virtual bool hasPendingEvents() const;
- virtual int getFd() const;
- virtual int setDelay(int32_t handle, int64_t ns);
-
- virtual int enable(int32_t handle, int enabled) = 0;
-
- virtual int forwardEvents(sensors_event_t *data) { return 0; }
- virtual bool isEnabled(int32_t handle) = 0;
-};
-
-/*****************************************************************************/
-
-#endif // ANDROID_SENSOR_BASE_H
diff --git a/device/qcom/msm7625_sku3/libsensors/sensors.cpp b/device/qcom/msm7625_sku3/libsensors/sensors.cpp
deleted file mode 100644
index 51fffbd5d..000000000
--- a/device/qcom/msm7625_sku3/libsensors/sensors.cpp
+++ /dev/null
@@ -1,373 +0,0 @@
-/*
- * 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.
- */
-
-#define LOG_TAG "Sensors"
-
-#include <hardware/sensors.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <dirent.h>
-#include <math.h>
-#include <poll.h>
-#include <pthread.h>
-#include <stdlib.h>
-
-#include <linux/input.h>
-#include <linux/akm8973.h>
-
-#include <utils/Atomic.h>
-#include <utils/Log.h>
-
-#include "sensors.h"
-
-//#include "LightSensor.h"
-//#include "ProximitySensor.h"
-#include "AkmSensor.h"
-//#include "GyroSensor.h"
-#include "Bma250Sensor.h"
-#include "AkmAotController.h"
-
-/*****************************************************************************/
-
-#define DELAY_OUT_TIME 0x7FFFFFFF
-
-#define LIGHT_SENSOR_POLLTIME 2000000000
-
-
-#define SENSORS_ACCELERATION (1<<ID_A_P)
-#define SENSORS_MAGNETIC_FIELD (1<<ID_M)
-#define SENSORS_ORIENTATION (1<<ID_O)
-#define SENSORS_LIGHT (1<<ID_L)
-#define SENSORS_PROXIMITY (1<<ID_P)
-#define SENSORS_GYROSCOPE (1<<ID_GY)
-
-#define SENSORS_ACCELERATION_HANDLE ID_A_P
-#define SENSORS_MAGNETIC_FIELD_HANDLE ID_M
-#define SENSORS_ORIENTATION_HANDLE ID_O
-#define SENSORS_LIGHT_HANDLE ID_L
-#define SENSORS_PROXIMITY_HANDLE ID_P
-#define SENSORS_GYROSCOPE_HANDLE ID_GY
-
-#define AKM_FTRACE 0
-#define AKM_DEBUG 0
-#define AKM_DATA 0
-
-/*****************************************************************************/
-
-/* The SENSORS Module */
-static const struct sensor_t sSensorList[] = {
- { "BMA250 3-axis Accelerometer",
- "Bosch",
- 1, SENSORS_ACCELERATION_HANDLE,
- SENSOR_TYPE_ACCELEROMETER, 4.0f*9.81f, (4.0f*9.81f)/1024.0f, 0.2f, 0, { } },
- { "AK8975 3-axis Magnetic field sensor",
- "Asahi Kasei Microdevices",
- 1, SENSORS_MAGNETIC_FIELD_HANDLE,
- SENSOR_TYPE_MAGNETIC_FIELD, 2000.0f, CONVERT_M, 6.8f, 30000, { } },
- { "AK8975 Orientation sensor",
- "Asahi Kasei Microdevices",
- 1, SENSORS_ORIENTATION_HANDLE,
- SENSOR_TYPE_ORIENTATION, 360.0f, CONVERT_O, 7.8f, 30000, { } },
-/*
- { "GP2A Light sensor",
- "Sharp",
- 1, SENSORS_LIGHT_HANDLE,
- SENSOR_TYPE_LIGHT, 3000.0f, 1.0f, 0.75f, 0, { } },
- { "GP2A Proximity sensor",
- "Sharp",
- 1, SENSORS_PROXIMITY_HANDLE,
- SENSOR_TYPE_PROXIMITY, 5.0f, 5.0f, 0.75f, 0, { } },
- { "K3G Gyroscope sensor",
- "STMicroelectronics",
- 1, SENSORS_GYROSCOPE_HANDLE,
- SENSOR_TYPE_GYROSCOPE, RANGE_GYRO, CONVERT_GYRO, 6.1f, 1200, { } },
-*/
-};
-
-
-static int open_sensors(const struct hw_module_t* module, const char* id,
- struct hw_device_t** device);
-
-
-static int sensors__get_sensors_list(struct sensors_module_t* module,
- struct sensor_t const** list)
-{
- *list = sSensorList;
- return ARRAY_SIZE(sSensorList);
-}
-
-static struct hw_module_methods_t sensors_module_methods = {
- open: open_sensors
-};
-
-struct sensors_module_t HAL_MODULE_INFO_SYM = {
- common: {
- tag: HARDWARE_MODULE_TAG,
- version_major: 1,
- version_minor: 0,
- id: SENSORS_HARDWARE_MODULE_ID,
- name: "Samsung Sensor module",
- author: "Samsung Electronic Company",
- methods: &sensors_module_methods,
- },
- get_sensors_list: sensors__get_sensors_list,
-};
-
-struct sensors_poll_context_t {
- struct sensors_poll_device_t device; // must be first
-
- sensors_poll_context_t();
- ~sensors_poll_context_t();
- int activate(int handle, int enabled);
- int setDelay(int handle, int64_t ns);
- int pollEvents(sensors_event_t* data, int count);
-
-private:
- enum {
- akm = 0,
- adxl = 1,
- numSensorDrivers,
- numFds,
- };
-
- static const size_t wake = numFds - 1;
- static const char WAKE_MESSAGE = 'W';
- struct pollfd mPollFds[numFds];
- int mWritePipeFd;
- int gsensor_enable_flag; //add this flag for prevent compass reopen gsensor
- SensorBase* mSensors[numSensorDrivers];
-
- int handleToDriver(int handle) const {
- switch (handle) {
- case ID_A_P:
- case ID_A_S:
- return adxl;
- case ID_M:
- case ID_O:
- return akm;
- /*
- case ID_P:
- return proximity;
- case ID_L:
- return light;
- case ID_GY:
- return gyro;
- */
- }
- return -EINVAL;
- }
-};
-
-/*****************************************************************************/
-
-sensors_poll_context_t::sensors_poll_context_t()
-{
- /*
- mSensors[light] = new LightSensor();
- mPollFds[light].fd = mSensors[light]->getFd();
- mPollFds[light].events = POLLIN;
- mPollFds[light].revents = 0;
-
- mSensors[proximity] = new ProximitySensor();
- mPollFds[proximity].fd = mSensors[proximity]->getFd();
- mPollFds[proximity].events = POLLIN;
- mPollFds[proximity].revents = 0;
- */
-
- mSensors[akm] = new AkmSensor();
- mPollFds[akm].fd = mSensors[akm]->getFd();
- mPollFds[akm].events = POLLIN;
- mPollFds[akm].revents = 0;
-
- /*
- mSensors[gyro] = new GyroSensor();
- mPollFds[gyro].fd = mSensors[gyro]->getFd();
- mPollFds[gyro].events = POLLIN;
- mPollFds[gyro].revents = 0;
- */
-
- mSensors[adxl] = new Bma250Sensor();
- mPollFds[adxl].fd = mSensors[adxl]->getFd();
- mPollFds[adxl].events = POLLIN;
- mPollFds[adxl].revents = 0;
-
- int wakeFds[2];
- int result = pipe(wakeFds);
- LOGE_IF(result<0, "error creating wake pipe (%s)", strerror(errno));
- fcntl(wakeFds[0], F_SETFL, O_NONBLOCK);
- fcntl(wakeFds[1], F_SETFL, O_NONBLOCK);
- mWritePipeFd = wakeFds[1];
-
- mPollFds[wake].fd = wakeFds[0];
- mPollFds[wake].events = POLLIN;
- mPollFds[wake].revents = 0;
-}
-
-sensors_poll_context_t::~sensors_poll_context_t() {
- for (int i=0 ; i<numSensorDrivers ; i++) {
- delete mSensors[i];
- }
- close(mPollFds[wake].fd);
- close(mWritePipeFd);
-}
-
-int sensors_poll_context_t::activate(int handle, int enabled) {
- int index = handleToDriver(handle);
- if (index < 0) return index;
- int err = mSensors[index]->enable(handle, enabled);
-
- if ((0 == err) && (akm == index)) { //enable gsensor for mag
- if (mSensors[akm]->isEnabled(ID_M) && mSensors[akm]->isEnabled(ID_O)) {
- if(mSensors[adxl]->isEnabled(ID_A_S)){
- gsensor_enable_flag = 1; //if enabled ,just set the flag
- } else{
- err = mSensors[adxl]->enable(ID_A_S, 1); //otherwise , init gsensor
- //LOGE("mag open gsensor gsensor_enable_flag is %d",gsensor_enable_flag);
- }
- } else if(!mSensors[akm]->isEnabled(ID_M) && !mSensors[akm]->isEnabled(ID_O)){
- if(gsensor_enable_flag){ //if not init by mag,just restore the flag
- gsensor_enable_flag = 0;
- } else {
- //LOGE("mag close gsensor gsensor_enable_flag is %d",gsensor_enable_flag);
- err = mSensors[adxl]->enable(ID_A_S, 0); //ohterwise, disable the gsensor
- }
- }
- }
- if (enabled && !err) {
- const char wakeMessage(WAKE_MESSAGE);
- int result = write(mWritePipeFd, &wakeMessage, 1);
- LOGE_IF(result<0, "error sending wake message (%s)", strerror(errno));
- }
- return err;
-}
-
-int sensors_poll_context_t::setDelay(int handle, int64_t ns) {
- int index = handleToDriver(handle);
- if (index < 0) return index;
- int err;
- err = mSensors[index]->setDelay(handle, ns);
- if ((0 == err) && (akm == index)) {
- err = mSensors[adxl]->setDelay(ID_A_S, ns);
- }
- LOGE_IF(0 != err, "setDelay(%d) failed (%s)", handle, strerror(-err));
- return err;
-}
-
-int sensors_poll_context_t::pollEvents(sensors_event_t* data, int count)
-{
- int nbEvents = 0;
- int n = 0;
-
- do {
- // see if we have some leftover from the last poll()
- for (int i=0 ; count && i<numSensorDrivers ; i++) {
- SensorBase* const sensor(mSensors[i]);
- if ((mPollFds[i].revents & POLLIN) || (sensor->hasPendingEvents())) {
- int nb = sensor->readEvents(data, count);
- if (nb < count) {
- // no more data for this sensor
- mPollFds[i].revents = 0;
- }
- if ((0 != nb) && (adxl == i)) {
- mSensors[akm]->forwardEvents(&data[nb-1]);
- }
- count -= nb;
- nbEvents += nb;
- data += nb;
- }
- }
-
- if (count) {
- // we still have some room, so try to see if we can get
- // some events immediately or just wait if we don't have
- // anything to return
- n = poll(mPollFds, numFds, nbEvents ? 0 : -1);
- if (n<0) {
- LOGE("poll() failed (%s)", strerror(errno));
- return -errno;
- }
- if (mPollFds[wake].revents & POLLIN) {
- char msg;
- int result = read(mPollFds[wake].fd, &msg, 1);
- LOGE_IF(result<0, "error reading from wake pipe (%s)", strerror(errno));
- LOGE_IF(msg != WAKE_MESSAGE, "unknown message on wake queue (0x%02x)", int(msg));
- mPollFds[wake].revents = 0;
- }
- }
- // if we have events and space, go read them
- } while (n && count);
-
- return nbEvents;
-}
-
-/*****************************************************************************/
-
-static int poll__close(struct hw_device_t *dev)
-{
- sensors_poll_context_t *ctx = (sensors_poll_context_t *)dev;
- if (ctx) {
- delete ctx;
- }
- return 0;
-}
-
-static int poll__activate(struct sensors_poll_device_t *dev,
- int handle, int enabled) {
- sensors_poll_context_t *ctx = (sensors_poll_context_t *)dev;
- return ctx->activate(handle, enabled);
-}
-
-static int poll__setDelay(struct sensors_poll_device_t *dev,
- int handle, int64_t ns) {
- sensors_poll_context_t *ctx = (sensors_poll_context_t *)dev;
- return ctx->setDelay(handle, ns);
-}
-
-static int poll__poll(struct sensors_poll_device_t *dev,
- sensors_event_t* data, int count) {
- sensors_poll_context_t *ctx = (sensors_poll_context_t *)dev;
- return ctx->pollEvents(data, count);
-}
-
-/*****************************************************************************/
-
-/** Open a new instance of a sensor device using name */
-static int open_sensors(const struct hw_module_t* module, const char* id,
- struct hw_device_t** device)
-{
- int status = -EINVAL;
- sensors_poll_context_t *dev = new sensors_poll_context_t();
-
- if (NULL == dev) {
- return -ENOMEM;
- }
-
- memset(&dev->device, 0, sizeof(sensors_poll_device_t));
-
- dev->device.common.tag = HARDWARE_DEVICE_TAG;
- dev->device.common.version = 0;
- dev->device.common.module = const_cast<hw_module_t*>(module);
- dev->device.common.close = poll__close;
- dev->device.activate = poll__activate;
- dev->device.setDelay = poll__setDelay;
- dev->device.poll = poll__poll;
-
- *device = &dev->device.common;
- status = 0;
-
- return status;
-}
-
diff --git a/device/qcom/msm7625_sku3/libsensors/sensors.h b/device/qcom/msm7625_sku3/libsensors/sensors.h
deleted file mode 100644
index d027e0bfa..000000000
--- a/device/qcom/msm7625_sku3/libsensors/sensors.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef ANDROID_SENSORS_H
-#define ANDROID_SENSORS_H
-
-#include <stdint.h>
-#include <errno.h>
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <linux/input.h>
-
-#include <hardware/hardware.h>
-#include <hardware/sensors.h>
-
-__BEGIN_DECLS
-
-/*****************************************************************************/
-
-#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-
-#define ID_A_P (0)
-#define ID_A_S (1)
-#define ID_M (2)
-#define ID_O (3)
-#define ID_L (4)
-#define ID_P (5)
-#define ID_GY (6)
-
-/*****************************************************************************/
-
-/*
- * The SENSORS Module
- */
-
-/* the GP2A is a binary proximity sensor that triggers around 5 cm on
- * this hardware */
-#define PROXIMITY_THRESHOLD_GP2A 5.0f
-
-/*****************************************************************************/
-
-#define AKM_DEVICE_NAME "/dev/akm8973_aot"
-/*
-#define EVENT_TYPE_ACCEL_X ABS_Y
-#define EVENT_TYPE_ACCEL_Y ABS_X
-#define EVENT_TYPE_ACCEL_Z ABS_Z
-*/
-#define EVENT_TYPE_ACCEL_STATUS ABS_WHEEL
-
-#define EVENT_TYPE_YAW ABS_RX
-#define EVENT_TYPE_PITCH ABS_RY
-#define EVENT_TYPE_ROLL ABS_RZ
-#define EVENT_TYPE_ORIENT_STATUS ABS_RUDDER
-
-/* For AK8975 */
-#define EVENT_TYPE_MAGV_X ABS_HAT0X
-#define EVENT_TYPE_MAGV_Y ABS_HAT0Y
-#define EVENT_TYPE_MAGV_Z ABS_BRAKE
-#define EVENT_TYPE_MAGV_STATUS ABS_GAS
-
-#define EVENT_TYPE_PROXIMITY ABS_DISTANCE
-#define EVENT_TYPE_LIGHT ABS_MISC
-
-#define EVENT_TYPE_GYRO_X REL_RY
-#define EVENT_TYPE_GYRO_Y REL_RX
-#define EVENT_TYPE_GYRO_Z REL_RZ
-
-/* For ADXL34X */
-/*
-#define EVENT_TYPE_ACCEL_X REL_X
-#define EVENT_TYPE_ACCEL_Y REL_Y
-#define EVENT_TYPE_ACCEL_Z REL_Z
-*/
-#define EVENT_TYPE_ACCEL_X ABS_X
-#define EVENT_TYPE_ACCEL_Y ABS_Y
-#define EVENT_TYPE_ACCEL_Z ABS_Z
-
-#define EVENT_TYPE_ACCEL_FREE_FALL 0
-
-#define EVENT_TYPE_ACCEL_ACTIVITY_CHANGED 0
-/*
-#define EVENT_TYPE_ACCEL_SINGLE_TAP_X BTN_TOUCH
-#define EVENT_TYPE_ACCEL_SINGLE_TAP_Y BTN_TOUCH
-#define EVENT_TYPE_ACCEL_SINGLE_TAP_Z BTN_TOUCH
-#define EVENT_TYPE_ACCEL_DOUBLE_TAP_X BTN_TOUCH
-#define EVENT_TYPE_ACCEL_DOUBLE_TAP_Y BTN_TOUCH
-#define EVENT_TYPE_ACCEL_DOUBLE_TAP_Z BTN_TOUCH
-*/
-#define EVENT_TYPE_ACCEL_SINGLE_TAP BTN_TOUCH
-#define EVENT_TYPE_ACCEL_DOUBLE_TAP BTN_TOUCH
-
-// 720 LSG = 1G
-#define LSG (720.0f)
-#define NUMOFACCDATA 8
-
-// conversion of acceleration data to SI units (m/s^2)
-#define RANGE_A (2*GRAVITY_EARTH)
-#define RESOLUTION_A (RANGE_A/(256*NUMOFACCDATA))
-#define CONVERT_A (GRAVITY_EARTH / LSG / NUMOFACCDATA)
-
-/* conversion of magnetic data to uT units (1/5 * 0.3) */
-#define CONVERT_M (0.06f)
-
-/* conversion of orientation data to degree units (1/64) */
-#define CONVERT_O (0.015625f)
-
-// conversion of gyro data to SI units (radian/sec)
-#define RANGE_GYRO (2000.0f*(float)M_PI/180.0f)
-#define CONVERT_GYRO ((70.0f / 1000.0f) * ((float)M_PI / 180.0f))
-#define CONVERT_GYRO_X (CONVERT_GYRO)
-#define CONVERT_GYRO_Y (-CONVERT_GYRO)
-#define CONVERT_GYRO_Z (CONVERT_GYRO)
-
-#define SENSOR_STATE_MASK (0x7FFF)
-
-/*****************************************************************************/
-
-__END_DECLS
-
-#endif // ANDROID_SENSORS_H
diff --git a/device/qcom/msm7625_sku3/msm7625_sku3.mk b/device/qcom/msm7625_sku3/msm7625_sku3.mk
deleted file mode 100644
index f1901c8e0..000000000
--- a/device/qcom/msm7625_sku3/msm7625_sku3.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-$(call inherit-product, device/qcom/common/common.mk)
-
-PRODUCT_NAME := msm7625_sku3
-PRODUCT_DEVICE := msm7625_sku3
diff --git a/device/qcom/msm7625_sku3/msm7625_sku3_keypad.kcm b/device/qcom/msm7625_sku3/msm7625_sku3_keypad.kcm
deleted file mode 100755
index e86f6a319..000000000
--- a/device/qcom/msm7625_sku3/msm7625_sku3_keypad.kcm
+++ /dev/null
@@ -1,36 +0,0 @@
-[type=QWERTY]
-
-# keycode display number base caps fn caps_fn
-
-A 'A' 'a' 'a' 'A' '*' 0x00
-B 'B' 'b' 'b' 'B' '!' 0x00
-C 'C' '9' 'c' 'C' '9' 0x00E7
-D 'D' '5' 'd' 'D' '5' 0x00
-E 'E' '2' 'e' 'E' '2' 0x0301
-F 'F' '6' 'f' 'F' '6' 0x00A5
-G 'G' 'g' 'g' 'G' '/' '_'
-H 'H' 'h' 'h' 'H' ':' '{'
-I 'I' 'i' 'i' 'I' '-' 0x0302
-J 'J' 'j' 'j' 'J' ';' '}'
-K 'K' 'k' 'k' 'K' ''' '~'
-L 'L' 'l' 'l' 'L' '"' '`'
-M 'M' 'm' 'm' 'M' '.' 0x00
-N 'N' 'n' 'n' 'N' ',' 0x0303
-O 'O' 'o' 'o' 'O' '+' 0x00
-P 'P' 'p' 'p' 'P' '@' 0x00
-Q 'Q' 'q' 'q' 'Q' '#' 0x0300
-R 'R' '3' 'r' 'R' '3' 0x20AC
-S 'S' '4' 's' 'S' '4' 0x00DF
-T 'T' 't' 't' 'T' '(' 0x00A3
-U 'U' 'u' 'u' 'U' '_' 0x0308
-V 'V' 'v' 'v' 'V' '?' '^'
-W 'W' '1' 'w' 'W' '1' 0x00
-X 'X' '8' 'x' 'X' '8' 0xEF00
-Y 'Y' 'y' 'y' 'Y' ')' 0x00A1
-Z 'Z' '7' 'z' 'Z' '7' 0x00
-
-COMMA '$' '$' '$' 0x5b 0x5b '|'
-ENTER 0xa 0xa 0xa 0xa 0xa 0xa
-
-0 '0' '0' '0' '0' '0' '0'
-SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
diff --git a/device/qcom/msm7625_sku3/msm7625_sku3_keypad.kl b/device/qcom/msm7625_sku3/msm7625_sku3_keypad.kl
deleted file mode 100755
index 2ce38dfa8..000000000
--- a/device/qcom/msm7625_sku3/msm7625_sku3_keypad.kl
+++ /dev/null
@@ -1,53 +0,0 @@
-key 102 MENU WAKE_DROPPED
-key 231 SEARCH
-
-key 158 BACK WAKE_DROPPED
-key 107 HOME WAKE
-
-key 232 DPAD_CENTER WAKE_DROPPED
-key 108 DPAD_DOWN WAKE_DROPPED
-key 103 DPAD_UP WAKE_DROPPED
-key 105 DPAD_LEFT WAKE_DROPPED
-key 106 DPAD_RIGHT WAKE_DROPPED
-key 115 VOLUME_UP WAKE
-key 114 VOLUME_DOWN WAKE
-key 116 POWER WAKE
-
-key 16 Q
-key 17 W
-key 18 E
-key 19 R
-key 20 T
-key 21 Y
-key 22 U
-key 23 I
-key 24 O
-key 25 P
-
-key 30 A
-key 31 S
-key 32 D
-key 33 F
-key 34 G
-key 35 H
-key 36 J
-key 37 K
-key 38 L
-key 14 DEL
-
-key 167 ALT_LEFT
-key 44 Z
-key 45 X
-key 46 C
-key 47 V
-key 48 B
-key 49 N
-key 50 M
-key 51 COMMA
-key 28 ENTER
-
-key 42 SHIFT_LEFT
-key 215 0
-key 57 SPACE
-key 52 SYM
-key 155 SWITCH_INPUTMETHOD
diff --git a/device/qcom/msm7625_sku3/qcom_custom.mk b/device/qcom/msm7625_sku3/qcom_custom.mk
deleted file mode 100644
index 677f5d396..000000000
--- a/device/qcom/msm7625_sku3/qcom_custom.mk
+++ /dev/null
@@ -1,125 +0,0 @@
-ifeq ($(QCOM_CUSTOM),true)
-QCOM_CUSTOM_GEN_HEADER := true
-
-QCOM_CUSTOM_INCLUDE := device/qcom/$(TARGET_PRODUCT)/include
-QCOM_CUSTOM_KERNEL_INCLUDE := kernel/arch/arm/mach-msm/include/mach
-
-# debug level(0-2) for lk
-# define CRITICAL 0
-# define ALWAYS 0
-# define INFO 1
-# define SPEW 2
-QCOM_CUSTOM_LK_DEBUG_LEVEL := 2
-
-QCOM_CUSTOM_LCD := hx8352 rm68042 r61581 ili9481b
-# QCOM_CUSTOM_LCD_IF information should be mddi or lcdc or ebi2 or mipi
-QCOM_CUSTOM_LCD_IF := lcdc
-
-# QCOM_CUSTOM_FLASH information should be <nand/nor>_<size>_block_<block_size>
-QCOM_CUSTOM_FLASH := nand_block_128k_page_2048
-
-TARGET_BOARD_MACHTYPE := 1007006
-
-ifneq (, $(findstring block_128k, $(QCOM_CUSTOM_FLASH)))
-BOARD_FLASH_BLOCK_SIZE := 0x20000
-endif
-
-ifneq (, $(findstring block_16k, $(QCOM_CUSTOM_FLASH)))
-BOARD_FLASH_BLOCK_SIZE := 0x4000
-endif
-
-ifneq (, $(findstring block_256k, $(QCOM_CUSTOM_FLASH)))
-BOARD_FLASH_BLOCK_SIZE := 0x40000
-endif
-
-ifneq (, $(findstring page_512, $(QCOM_CUSTOM_FLASH)))
-BOARD_KERNEL_PAGESIZE := 512
-endif
-
-ifneq (, $(findstring page_2048, $(QCOM_CUSTOM_FLASH)))
-BOARD_KERNEL_PAGESIZE := 2048
-endif
-
-ifneq (, $(findstring page_4096, $(QCOM_CUSTOM_FLASH)))
-BOARD_KERNEL_PAGESIZE := 4096
-endif
-
-BOARD_SPLASH_PARTITION_SIZE := 1048576 #0x00100000 # 1 MB
-BOARD_BOOTIMAGE_PARTITION_SIZE := 5242880 #0x00500000 # 5 MB
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 125829120 #0x07800000 # 170 MB
-BOARD_CACHEIMAGE_PARTITION_SIZE := 67108864 #0x04000000 # 60 MB
-BOARD_MISC_PARTITION_SIZE := 1048576 #0x00100000 # 1 MB
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 536870912 #0x20000000 # 512 MB fake size and should be decided by LK
-BOARD_PERSISTIMAGE_PARTITION_SIZE := 2097152 #0x00200000 # 2 MB
-BOARD_RECOVERYIMAGE_PARTITION_SIZE := 5242880 #0x00500000 # 5 MB
-BOARD_TOMBSTONESIMAGE_PARTITION_SIZE := 4194304 #0x00400000 # not used on the board
-
-# include definitions makefile
-BOARD_DEFINITION_MK := device/qcom/$(TARGET_PRODUCT)/definitions.mk
-include $(BOARD_DEFINITION_MK)
-
-# board_partitions_h
-board_partitions_h := $(QCOM_CUSTOM_INCLUDE)/board_partitions.h
-ifeq ($(QCOM_CUSTOM_GEN_HEADER),true)
-$(shell rm -rf $(board_partitions_h))
-$(call add-head-comments,$(board_partitions_h))
-$(call add-define-check,$(board_partitions_h),board_partitions_h)
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_SPLASH_PARTITION_SIZE,\
- $(BOARD_SPLASH_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_BOOTIMAGE_PARTITION_SIZE,\
- $(BOARD_BOOTIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_SYSTEMIMAGE_PARTITION_SIZE,\
- $(BOARD_SYSTEMIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_CACHEIMAGE_PARTITION_SIZE,\
- $(BOARD_CACHEIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_MISC_PARTITION_SIZE,\
- $(BOARD_MISC_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_USERDATAIMAGE_PARTITION_SIZE,\
- $(BOARD_USERDATAIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_PERSISTIMAGE_PARTITION_SIZE,\
- $(BOARD_PERSISTIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_RECOVERYIMAGE_PARTITION_SIZE,\
- $(BOARD_RECOVERYIMAGE_PARTITION_SIZE))
-$(call convert-makefile-item-to-h,$(board_partitions_h),define,BOARD_TOMBSTONESIMAGE_PARTITION_SIZE,\
- $(BOARD_TOMBSTONESIMAGE_PARTITION_SIZE))
-$(call add-endif,$(board_partitions_h),board_partitions_h)
-endif
-
-# board_gpio_h
-
-# board_input_h
-
-# generate board_memory_h file
-board_memory_h := $(QCOM_CUSTOM_INCLUDE)/board_memory.h
-ifeq ($(QCOM_CUSTOM_GEN_HEADER),true)
-$(shell rm -rf $(board_memory_h))
-$(call add-head-comments,$(board_memory_h))
-$(call add-define-check,$(board_memory_h),board_memory_h)
-$(call convert-makefile-item-to-h,$(board_memory_h),define,BOARD_KERNEL_PAGESIZE,\
- $(BOARD_KERNEL_PAGESIZE))
-$(call convert-makefile-item-to-h,$(board_memory_h),define,BOARD_FLASH_BLOCK_SIZE,\
- $(BOARD_FLASH_BLOCK_SIZE))
-$(call add-endif,$(board_memory_h),board_memory_h)
-endif
-
-# generate board_common_h file
-board_common_h := $(QCOM_CUSTOM_INCLUDE)/board_common.h
-ifeq ($(QCOM_CUSTOM_GEN_HEADER),true)
-$(shell rm -rf $(board_common_h))
-$(call add-head-comments,$(board_common_h))
-$(call add-define-check,$(board_common_h),board_common_h)
-$(call convert-makefile-item-to-h,$(board_common_h),define,BOARD_KERNEL_BASE,\
- $(BOARD_KERNEL_BASE))
-$(call convert-makefile-item-to-h,$(board_common_h),define,TARGET_BOARD_MACHTYPE,\
- $(TARGET_BOARD_MACHTYPE))
-$(call convert-makefile-item-to-h,$(board_common_h),define,BOARD_KERNEL_PAGESIZE,\
- $(BOARD_KERNEL_PAGESIZE))
-$(call convert-makefile-item-to-h,$(board_common_h),define,BOARD_KERNEL_BASE,\
- $(BOARD_KERNEL_BASE))
-$(call add-endif,$(board_common_h),board_common_h)
-endif
-
-# copy custom include files to kernel
-$(shell cp -af $(QCOM_CUSTOM_INCLUDE)/board_*.h $(QCOM_CUSTOM_KERNEL_INCLUDE))
-
-endif
diff --git a/device/qcom/msm7625_sku3/recovery.fstab b/device/qcom/msm7625_sku3/recovery.fstab
deleted file mode 100644
index 034edcfa9..000000000
--- a/device/qcom/msm7625_sku3/recovery.fstab
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (c) 2011, Code Aurora Forum. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Code Aurora 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.
-
-# mount point fstype device [device2]
-
-/boot mtd boot
-/cache yaffs2 cache
-/data yaffs2 userdata
-/misc mtd misc
-/recovery mtd recovery
-/sdcard vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0
-/system yaffs2 system
diff --git a/device/qcom/msm7625_sku3/recovery_mmc.fstab b/device/qcom/msm7625_sku3/recovery_mmc.fstab
deleted file mode 100644
index 18066863b..000000000
--- a/device/qcom/msm7625_sku3/recovery_mmc.fstab
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (c) 2011, Code Aurora Forum. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Code Aurora 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.
-
-# mount point fstype device [device2]
-
-/boot emmc /dev/block/mmcblk0p8
-/cache ext4 /dev/block/mmcblk0p15
-/data ext4 /dev/block/mmcblk0p13
-/misc mtd misc
-/recovery emmc /dev/block/mmcblk0p16
-/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
-/system ext4 /dev/block/mmcblk0p12
diff --git a/device/qcom/msm7625_sku3/scripts/a11.cmm b/device/qcom/msm7625_sku3/scripts/a11.cmm
deleted file mode 100644
index c9841845d..000000000
--- a/device/qcom/msm7625_sku3/scripts/a11.cmm
+++ /dev/null
@@ -1,21 +0,0 @@
-; MSM7200 ARM11 in JTAG Direct Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm1136j
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 0.
-system.multicore drpost 0.
-sys.mode attach
-
-if state.run()
-(
- break
-)
-
diff --git a/device/qcom/msm7625_sku3/scripts/a9.cmm b/device/qcom/msm7625_sku3/scripts/a9.cmm
deleted file mode 100644
index 2cd7046fd..000000000
--- a/device/qcom/msm7625_sku3/scripts/a9.cmm
+++ /dev/null
@@ -1,15 +0,0 @@
-; MSM7200 ARM9 in JTAG Direct Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm926ej
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 0.
-system.multicore drpost 0.
-sys.mode attach
diff --git a/device/qcom/msm7625_sku3/scripts/boot.cmm b/device/qcom/msm7625_sku3/scripts/boot.cmm
deleted file mode 100644
index 36eb18e81..000000000
--- a/device/qcom/msm7625_sku3/scripts/boot.cmm
+++ /dev/null
@@ -1,22 +0,0 @@
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-sys.mode attach
-if state.run()
-(
- break
-)
-
-do setup
-
-data.load.elf "&(OUT)obj/EXECUTABLES/bootloader_intermediates/bootloader.elf" /relpath /path ../boot/
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-term
-
-go
diff --git a/device/qcom/msm7625_sku3/scripts/c11.cmm b/device/qcom/msm7625_sku3/scripts/c11.cmm
deleted file mode 100644
index ee83843d9..000000000
--- a/device/qcom/msm7625_sku3/scripts/c11.cmm
+++ /dev/null
@@ -1,15 +0,0 @@
-; MSM7200 ARM11 in JTAG Chained Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm1136j
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 4.
-system.multicore drpost 1.
-sys.mode attach
diff --git a/device/qcom/msm7625_sku3/scripts/c9.cmm b/device/qcom/msm7625_sku3/scripts/c9.cmm
deleted file mode 100644
index 65b8ecd2b..000000000
--- a/device/qcom/msm7625_sku3/scripts/c9.cmm
+++ /dev/null
@@ -1,15 +0,0 @@
-; MSM7200 ARM9 in JTAG Chained Mode
-
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-sys.cpu arm926ej
-system.multicore irpre 5.
-system.multicore drpre 1.
-system.multicore irpost 0.
-system.multicore drpost 0.
-sys.mode attach
diff --git a/device/qcom/msm7625_sku3/scripts/chain.cmm b/device/qcom/msm7625_sku3/scripts/chain.cmm
deleted file mode 100644
index 0a1dd99e6..000000000
--- a/device/qcom/msm7625_sku3/scripts/chain.cmm
+++ /dev/null
@@ -1,73 +0,0 @@
-;;
-;; Script to attach to the ARM9 on the MSM7200 Primary JTAG interface
-;; and reconfigure the Primary JTAG interface to ARM9+ARM11 w/ RTCK.
-;; chained mode. The MSM7200 'MODE' pins must be 0001 for this to work.
-;;
-;; TDI -> ARM9 (4 bit IR) -> ARM11 (5 bit IR) -> TDO
-;;
-
-; these are common to both the ARM9 and the ARM11
-system.option.TRST ON
-system.option.CFLUSH ON
-system.option.ResBreak ON
-system.option.EnReset ON
-system.option.WaitReset ON
-system.jtagclock RTCK
-
-print "ARM9: attaching"
-sys.cpu arm926ej
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 0.
-system.multicore drpost 0.
-
-sys.mode attach
-if state.run()
-(
- break
-)
-
-print "ARM9: selecting chained JTAG mode (expect bus error)"
-; we're probably going to error out after
-; we thwack the mode register
-on error gosub
-(
- return
-)
-
-; reconfigure primary jtag mode register for arm9+arm11 w/ RTCK
-; TLMM_INT_JTAG_CTL = 9
-;d.s 0xa860020c %long 0x1f
-;d.s 0xa860020c %long 0x0
-d.s 0xa900026c %long 9
-
-system.down
-
-on error
-
-sys.cpu arm926ej
-system.multicore irpre 5.
-system.multicore drpre 1.
-system.multicore irpost 0.
-system.multicore drpost 0.
-
-print "ARM9: resuming execution"
-sys.mode attach
-
-;confirm that this worked (it did)
-;local &reg
-;&reg=data.long(d:0xa900026c)
-;print "ARM9: TLMM_INT_JTAG_CTL = &reg"
-
-go
-system.down
-
-print "ARM11: attaching"
-sys.cpu arm1136j
-system.multicore irpre 0.
-system.multicore drpre 0.
-system.multicore irpost 4.
-system.multicore drpost 1.
-
-sys.mode attach
-print "ARM11: ready" \ No newline at end of file
diff --git a/device/qcom/msm7625_sku3/scripts/dcc.cmm b/device/qcom/msm7625_sku3/scripts/dcc.cmm
deleted file mode 100644
index 1a6264d0d..000000000
--- a/device/qcom/msm7625_sku3/scripts/dcc.cmm
+++ /dev/null
@@ -1,21 +0,0 @@
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-
-sys.mode attach
-
-if state.run()
-(
- break
-)
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-term
-
-go
-
diff --git a/device/qcom/msm7625_sku3/scripts/debug.cmm b/device/qcom/msm7625_sku3/scripts/debug.cmm
deleted file mode 100644
index a84353397..000000000
--- a/device/qcom/msm7625_sku3/scripts/debug.cmm
+++ /dev/null
@@ -1,74 +0,0 @@
-;; Copyright 2007, Google Inc.
-;;
-;; script to communicate with debug/utility programs using the jtag.c interface
-;;
-
-local &cmd
-local &arg0
-local &arg1
-local &arg2
-
-local &pc
-local &str
-local &n
-
-entry &cmd &arg0 &arg1 &arg2
-
-area
-
-print
-mainloop:
-
-b.reset
-b.set jtag_hook /onchip
-go
-wait !run()
-b.reset
-
-&pc=y.varname(A:register(pc))
-if ("&pc"!="jtag_hook")
-(
- print "ERROR: not stopped at jtag_hook()"
- enddo 1
-)
-
-;; if there's a message, process it
-;; and then keep waiting (if it's non-final)
-;;
-&n=data.long(_jtag_msg)
-if (&n==3)
-(
- print "> " data.string(_jtag_msg_buffer)
- d.s _jtag_msg %long 0
- goto mainloop
-)
-if (&n==1)
-(
- print
- print "OKAY: " data.string(_jtag_msg_buffer)
- d.s _jtag_msg %long 0
- enddo 0
-)
-if (&n==2)
-(
- print
- print "FAIL: " data.string(_jtag_msg_buffer)
- d.s _jtag_msg %long 0
- enddo 1
-)
-
-if ("&cmd"!="")
-(
- &n=data.long(_jtag_cmd)
- if (&n!=0)
- goto mainloop
-
- d.s _jtag_cmd_buffer "&cmd"
- d.s _jtag_arg0 %long &arg0
- d.s _jtag_arg1 %long &arg1
- d.s _jtag_arg2 %long &arg2
- d.s _jtag_cmd %long 1
- &cmd=""
-)
-
-goto mainloop
diff --git a/device/qcom/msm7625_sku3/scripts/debug_android.cmm b/device/qcom/msm7625_sku3/scripts/debug_android.cmm
deleted file mode 100644
index f27d76255..000000000
--- a/device/qcom/msm7625_sku3/scripts/debug_android.cmm
+++ /dev/null
@@ -1,178 +0,0 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Setup Android T32 debugging environment
-;; Sample script
-;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Declare local variables
-ENTRY &AndroidRoot
-
-local &kernelPath
-local &T32Path
-
-;; Break if already running
-if run()
-(
- break
-)
-
-;; Setup Windows
- winclear
- ; Display code listing
- WINPOS 0.0 0.0 68% 65% 12. 1. W000
- DATA.list
-
- ; Display register window
- WINPOS 68% 0. 32% 50% 0. 0. W002
- register /spotlight
-
- ; Display variables in HEX and with symbol names
- setup.var %open.on %hex
-
- ; Display stackframe with local variables
- WINPOS 68% 50% 32% 48% 0. 0. W003
- Var.Frame /Locals /Caller
-
-;; Setup window area to display messages when setting this up
-WINPOS 0% 65% 34% 35% 0. 0. W001
-Area.create MAIN
-Area.clear MAIN
-Area.view MAIN
-Area.select MAIN
-
-print " _ _ _ ___ ___ ___ ___ ___ "
-print " /_\ | \| | \| _ \/ _ \_ _| \ "
-print " / _ \| .` | |) | / (_) | || |) |"
-print "/_/ \_\_|\_|___/|_|_\\___/___|___/ "
-print " "
-print "ANDROID root directory: &AndroidRoot"
-
-&kernelPath="&AndroidRoot/kernel"
-&T32LinuxScriptPath="c:/T32/demo/arm/kernel/linux"
-
-; Generic start-up
-Break.Delete ; remove any breakpoints
-MAP.RESet ; reset debuggers memory mapping
-MMU.RESet ; reset debuggers MMU
-sYmbol.RESet ; remove any symbols
-
-; Linux start-up
-TrOnchip.Set DABORT OFF ; turn off breakpoint on data abort
-TrOnchip.Set PABORT OFF ; turn off breakpoint on program abort
-TrOnchip.Set UNDEF OFF ; turn off breakpoint on undefined instruction
-SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses
-
-print "Loading Linux kernel symbols..."
-data.load.elf "&AndroidRoot/out/target/product/msm7625_sku3/obj/KERNEL_OBJ/vmlinux" /nocode /gnu
-
-; Declare the MMU format to the debugger
- ; - table format is "LINUX"
- ; - table base address is at label "swapper_pg_dir"
- ; - kernel address translation
- ; Map the virtual kernel symbols to physical addresses to give
- ; the debugger access to it before CPU MMU is initialized
-
-MMU.RESET
-MMU.FORMAT LINUX swapper_pg_dir 0xC0000000--0xCfffffff 0x00200000
-MMU.COMMON 0xC00000000--0xCFFFFFFF
-MMU.AUTOSCAN ON
-MMU.TABLEWALK ON
-MMU.ON
-
-
-; Configure Trace32 for Linux debugging
-TASK.CONFIG "&T32LinuxScriptPath/linux.t32" ; Load Linux awareness
-MENU.ReProgram "&T32LinuxScriptPath/linux.men" ; Load Linux menu
-HELP.FILTER.Add rtoslinux ; Add linux awareness manual to help filter
-
-TASK.sYmbol.Option MMUSCAN OFF ; not necessary with table walk
-
-sYmbol.AutoLoad.CHECKLINUX "do &LinuxT32ScriptPath/autoload " ; Switch on symbol autoloader
-
-GROUP.Create "kernel" 0xC00000000--0xCFFFFFFFF /RED
-
-
-; Configure Autoloader to automatically load symbols for process debugging
-Task.SYMBOL.Option Autoload Process
-
-; Display Linux processes
-WINPOS 34% 65% 34% 35% 0. 0. W003
-task.dtask
-mode.hll
-
-;; Setup break points in linux kernel to ease debugging
-b.s \\vmlinux\panic\panic
-
-&symbolPath="&AndroidRoot/out/target/product/msm7625_sku3/symbols/system/lib"
-
-;; The following addresses are based on prelink library map defined in
-;; build/core/prelink-linux-arm.map. Addresses may need to be customized
-;; based on target
-&libopencore_commonAddr=0xa6000000
-&libopencore_playerAddr=0xa7000000
-&libopencore_authorAddr=0xa7800000
-&libhardware_legacyAddr=0xa9c00000
-&libhardwareAddr=0xa9c70000
-&libaudioflingerAddr=0xab000000
-&libmediaAddr=0xab200000
-&libmediaplayerserviceAddr=0xab280000
-&libvorbisidecAddr=0xab400000
-&libsonivoxAddr=0xab500000
-&libaudioAddr=0xab700000
-&libaudiopolicygenericAddr=0xab800000
-&libaudiopolicyAddr=0xab880000
-&libskiaAddr=0xac000000
-&libuiAddr=0xac400000
-&libEGLAddr=0xac700000
-&libGLESv1_CMAddr=0xacb00000
-&libpixelflingerAddr=0xacf00000
-&libdvmAddr=0xad000000
-&libandroid_runtimeAddr=0xad300000
-&liblogAddr=0xafbc0000
-&libcAddr=0xafe00000
-
-;; Get the application ID
-;&appsID=task.proc.spaceid("mediaserver");
-;if &appsID==0xffffffff
-;(
-; print "Error getting mediaserver ID.. exit"
-; enddo
-;)
-;print "ID"
-;print &appsID
-
-;; Load libraries
-print "Loading Android library symbols..."
-data.load.elf &symbolPath\libopencore_common.so &libopencore_commonAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libopencore_player.so &libopencore_playerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libopencore_author.so &libopencore_authorAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libhardware.so &libhardwareAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudioflinger.so &libaudioflingerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libmedia.so &libmediaAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libmediaplayerservice.so &libmediaplayerserviceAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libvorbisidec.so &libvorbisidecAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libsonivox.so &libsonivoxAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudio.so &libaudioAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudiopolicygeneric.so &libaudiopolicygenericAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudiopolicy.so &libaudiopolicyAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libskia.so &libskiaAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libui.so &libuiAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libEGL.so &libEGLAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libGLESv1_CM.so &libGLESv1_CMAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libpixelflinger.so &libpixelflingerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libdvm.so &libdvmAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libandroid_runtime.so &libandroid_runtimeAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\liblog.so &liblogAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libc.so &libcAddr /gnu /nocode /noclear
-
-
-;Source Paths for libraries
-print "Adding default source paths..."
-y.spath.srd "&AndroidRoot/kernel"
-y.spath.srd "&AndroidRoot/hardware/msm7k"
-y.spath.srd "&AndroidRoot/frameworks/base"
-y.spath.srd "&AndroidRoot/system/core"
-
-print "Done."
-ENDDO
diff --git a/device/qcom/msm7625_sku3/scripts/flash.cmm b/device/qcom/msm7625_sku3/scripts/flash.cmm
deleted file mode 100644
index 2cb03ac68..000000000
--- a/device/qcom/msm7625_sku3/scripts/flash.cmm
+++ /dev/null
@@ -1,70 +0,0 @@
-;; Copyright 2007, Google Inc.
-;; flash driver script
-;;
-
-local &arg_ptn
-local &arg_img
-local &arg_extra
-local &arg_size
-
-local &result
-global &img_size
-local &status
-
-ENTRY &arg_ptn &arg_img &arg_extra
-
-do setup.cmm
-
-if ("&arg_extra"!="again")
-(
- area
- area.clear
-)
-
-if ("&arg_ptn"=="")
-(
- print "USAGE: do flash <partition> <image>"
- enddo
-)
-
-if ("&arg_extra"!="again")
-(
- sys.down
- sys.cpu arm1136j
- sys.jtagclock rtck
- sys.mode attach
- if state.run()
- (
- break
- )
- data.load.elf "&(NANDWRITE)"
-)
-
-if ("&arg_img"=="MEMORY")
-(
- &img_size=&arg_extra
-)
-else
-(
- if ("&arg_img"!="")
- (
- if y.exist("\\flashimg")
- symbol.delete \\flashimg
- data.load.binary &arg_img &SYSTEM_HDR_ADDR /name flashimg /noclear
- &img_size=os.file.size(&arg_img)
- )
- else
- (
- &img_size=0
- )
-)
-
-&arg_ptn="flash:&arg_ptn"
-
-if ("&arg_extra"!="dont_flash")
-(
- do debug &arg_ptn &SYSTEM_HDR_ADDR &img_size
-)
-
-entry &result
-enddo &result
diff --git a/device/qcom/msm7625_sku3/scripts/flashall.cmm b/device/qcom/msm7625_sku3/scripts/flashall.cmm
deleted file mode 100644
index ad4a8419e..000000000
--- a/device/qcom/msm7625_sku3/scripts/flashall.cmm
+++ /dev/null
@@ -1,36 +0,0 @@
-
-local &status
-
-do setup.cmm
-
-do flash userdata
-entry &status
-if (&status!=0)
- enddo
-print
-
-if ("&KERNEL"!="")
-(
- do flash kernel &KERNEL again
- entry &status
- if (&status!=0)
- enddo
- print
-)
-
-if ("&RAMDISK"!="")
-(
- do flash ramdisk &RAMDISK again
- entry &status
- if (&status!=0)
- enddo
- print
-)
-
-if ("&SYSTEM_IMG"!="")
-(
- do flash system &SYSTEM_IMG again
- entry &status
- if (&status!=0)
- enddo
-)
diff --git a/device/qcom/msm7625_sku3/scripts/flashbootimg.cmm b/device/qcom/msm7625_sku3/scripts/flashbootimg.cmm
deleted file mode 100644
index 2197edab2..000000000
--- a/device/qcom/msm7625_sku3/scripts/flashbootimg.cmm
+++ /dev/null
@@ -1,139 +0,0 @@
-
-do setup.cmm
-
-local &addr
-local &size
-local &pagesize
-local &hdr
-
-sys.down
-sys.cpu arm1136j
-sys.jtagclock rtck
-sys.mode attach
-if state.run()
- break
-
-&pagesize=0x800
-&hdr=&SYSTEM_HDR_ADDR
-
-; 000 magic
-; 008 kernel_size
-; 00c kernel_addr
-; 010 ramdisk_size
-; 014 ramdisk_addr
-; 018 second_size
-; 01c second_addr
-; 020 tags_addr
-; 024 page_size
-; 028 unused0/1
-; 030 unused2/3/4/5
-; 040 cmdline
-
-; fill boot image header with 0s initially
-;
-d.s &hdr++&pagesize %byte 0
-;d.s &hdr++0x300000 %long 0
-
-d.s &hdr+0x000 "ANDROID!"
-d.s &hdr+0x00c %long &KERNEL_ADDR
-d.s &hdr+0x014 %long &RAMDISK_ADDR
-if ("&SECOND_STAGE"!="")
-(
- d.s &hdr+0x01c %long &SECOND_STAGE_ADDR
-)
-d.s &hdr+0x020 %long &TAGS_ADDR
-d.s &hdr+0x024 %long &pagesize
-d.s &hdr+0x040 "&CMDLINE"
-
-; advance to the kernel slot
-;
-&addr=&hdr+&pagesize
-
-; load the kernel image
-;
-if y.exist("\\flashimg")
- symbol.delete \\flashimg
-data.load.binary &KERNEL &addr /name flashimg /noclear
-&size=y.sizeof("\\flashimg")
-
-d.s &hdr+0x008 %long &size
-
-; advance addr to next page-aligned region > &size
-;
-&addr=&addr+((&size+(&pagesize-1))&(~(&pagesize-1)))
-
-; load the ramdisk image
-;
-if y.exist("\\flashimg")
- symbol.delete \\flashimg
-data.load.binary &RAMDISK &addr /name flashimg /noclear
-&size=y.sizeof("\\flashimg")
-
-d.s &hdr+0x010 %long &size
-
-&addr=&addr+((&size+(&pagesize-1))&(~(&pagesize-1)))
-
-if ("&SECOND_STAGE"!="")
-(
- if ("&SECOND_STAGE"=="wait")
- (
- d.s &addr %long 0xeafffffe
- &size= 4
- )
- else if ("&SECOND_STAGE"=="fixup")
- (
- local &ip
- &ip= &addr
- ;gosub emit b &addr
- gosub emit mov r1, #&MACHINE_ID
- gosub emit mov r4, #0
- gosub emit str r4, [r2, #0xd0] ; terminate tags
-
- ; change kernel commandline
- gosub emit mov r4, #0
- gosub emit strb r4, [r2, #0x28] ; no console
- ;gosub emit strb r4, [r2, #0x35] ; tty1 only
- ;gosub emit strb r4, [r2, #0x45] ; tty1 + ttyMSM0 only
-
- ;gosub emit b &ip
- gosub emit mov r4, #0x98000000 ; CPLD base
- gosub emit ldrb r5, [r4, #0x0a] ; INT2
- gosub emit tst r5, #0x10 ; NAVI_ACT#
- gosub emit beq &ip-8
- gosub emit tst r5, #2 ; NAVI_DOWN#
- gosub emit moveq r5, #0xab
- gosub emit streqb r5, [r4, #0x00] ; MISC1
- gosub emit beq &ip
- ;gosub emit b &ip
- gosub emit mov r4, #(&KERNEL_ADDR&0xff000000)
- gosub emit add r4, r4, #(&KERNEL_ADDR&0x00ff0000)
- gosub emit add r4, r4, #(&KERNEL_ADDR&0x0000ff00)
- gosub emit add pc, r4, #(&KERNEL_ADDR&0x000000ff)
- &size= &ip-&addr
- )
- else
- (
- ; load the second stage image
- ;
- if y.exist("\\flashimg")
- symbol.delete \\flashimg
- data.load.binary &SECOND_STAGE &addr /name flashimg /noclear
- &size=y.sizeof("\\flashimg")
- )
-
- d.s &hdr+0x018 %long &size
-
- &addr=&addr+((&size+(&pagesize-1))&(~(&pagesize-1)))
-)
-
-do flash boot MEMORY (&addr-&hdr)
-;do flash recovery MEMORY (&addr-&hdr)
-
-enddo
-
-emit:
- ENTRY &op1 &op2 &op3 &op4 &op5
- d.a &ip &op1 &op2 &op3 &op4 &op5
- &ip=&ip+4
- RETURN
-
diff --git a/device/qcom/msm7625_sku3/scripts/flashsystem.cmm b/device/qcom/msm7625_sku3/scripts/flashsystem.cmm
deleted file mode 100644
index 2080bdae4..000000000
--- a/device/qcom/msm7625_sku3/scripts/flashsystem.cmm
+++ /dev/null
@@ -1,7 +0,0 @@
-
-do setup.cmm
-
-if ("&SYSTEM_IMG"!="")
-(
- do flash system &SYSTEM_IMG
-)
diff --git a/device/qcom/msm7625_sku3/scripts/irqtest.cmm b/device/qcom/msm7625_sku3/scripts/irqtest.cmm
deleted file mode 100644
index 1f78749cd..000000000
--- a/device/qcom/msm7625_sku3/scripts/irqtest.cmm
+++ /dev/null
@@ -1,4 +0,0 @@
-sys.cpu arm1136j
-sys.jtagclock rtck
-data.load.elf ../boot/irqtest.elf
-go
diff --git a/device/qcom/msm7625_sku3/scripts/linux.cmm b/device/qcom/msm7625_sku3/scripts/linux.cmm
deleted file mode 100644
index 257dd535f..000000000
--- a/device/qcom/msm7625_sku3/scripts/linux.cmm
+++ /dev/null
@@ -1,82 +0,0 @@
-
-sys.down
-
-do setup.cmm
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-
-sys.mode attach
-
-if state.run()
-(
- break
-)
-
-data.load &KERNEL &KERNEL_ADDR /name kernel
-data.load.ELF &KERNEL_ELF /NOCODE /RELPATH /PATH &KERNEL_SRC
-
-if ("&RAMDISK"!="")
-(
- data.load &RAMDISK &RAMDISK_ADDR /name ramdisk /noclear
- &RAMDISK_SIZE=y.sizeof("\\ramdisk")
-)
-else
-(
- &RAMDISK_SIZE=0
-)
-
-local &tags
-&tags=&TAGS_ADDR
-
-d.s &tags+0x00 %long 2
-d.s &tags+0x04 %long 0x54410001
-&tags=&tags+0x08
-
-if (&RAMDISK_SIZE!=0)
-(
- d.s &tags+0x00 %long 4
- d.s &tags+0x04 %long 0x54420005
- d.s &tags+0x08 %long &RAMDISK_ADDR
- d.s &tags+0x0C %long &RAMDISK_SIZE
- &tags=&tags+0x10
-)
-
-if ("&CMDLINE"!="")
-(
- d.s &tags+0x00 %long 0x42
- d.s &tags+0x04 %long 0x54410009
- &tags=&tags+0x08
- d.s &tags++0x100 %byte 0
- d.s &tags "&CMDLINE"
- &tags=&tags+0x100
-)
-
-d.s &tags+0x00 %long 0
-d.s &tags+0x04 %long 0
-
-
-register.set pc &KERNEL_ADDR
-register.set r0 0
-register.set r1 &MACHINE_ID
-register.set r2 &TAGS_ADDR
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-term
-
-break.select program onchip
-break.delete
-;break.set __irq_usr
-;break.set __irq_svc
-;break.set pte_hack
-;break.set cpu_v6_set_pte
-;break.set panic
-;break.set do_DataAbort\10
-
-go
-
diff --git a/device/qcom/msm7625_sku3/scripts/setup.cmm b/device/qcom/msm7625_sku3/scripts/setup.cmm
deleted file mode 100644
index 54030c991..000000000
--- a/device/qcom/msm7625_sku3/scripts/setup.cmm
+++ /dev/null
@@ -1,85 +0,0 @@
-; Copyright 2007, Google Inc.
-
-; files
-;
-global &KERNEL
-global &KERNEL_ELF
-global &KERNEL_SRC
-global &RAMDISK
-global &SECOND_STAGE
-global &SYSTEM_IMG
-global &CMDLINE
-global &NANDWRITE_ELF
-
-; memory locations
-;
-global &TAGS_ADDR
-global &KERNEL_ADDR
-global &RAMDISK_ADDR
-global &RAMDISK_SIZE
-global &SECOND_STAGE_ADDR
-global &SYSTEM_IMG_ADDR
-global &SYSTEM_IMG_SIZE
-global &SYSTEM_PHY_BASE_ADDR
-global &SYSTEM_HDR_ADDR
-
-; misc
-global &MACHINE_ID
-
-global &TOP
-global &OUT
-global &NANDWRITE
-
-; relative path back up to the top of the device tree from here
-;
-&TOP="../../../../"
-
-; directory where the results of the device build live
-;
-&OUT="&(TOP)out/target/product/msm7625_sku3/"
-
-; ----------------------------------------------------------------------
-; configure your memory layout, binary images, and commandline below:
-; ----------------------------------------------------------------------
-
-&SYSTEM_PHY_BASE_ADDR= 0x00200000
-&SECOND_STAGE_ADDR= 0x00300000
-&KERNEL_ADDR= &SYSTEM_PHY_BASE_ADDR+0x00008000
-&RAMDISK_ADDR= &SYSTEM_PHY_BASE_ADDR+0x01000000
-&TAGS_ADDR= &SYSTEM_PHY_BASE_ADDR+0x00000100
-&SYSTEM_IMG_ADDR= &SYSTEM_PHY_BASE_ADDR+0x01000000
-&SYSTEM_HDR_ADDR= &SYSTEM_PHY_BASE_ADDR+0x04000000
-
-;&MACHINE_ID= 0x59f ; halibut
-;&MACHINE_ID= 0x5a0 ; trout
-;&MACHINE_ID= 0x0f5da6 ; MSM 7627 SURF
-&MACHINE_ID= 0x0f5d9c ; MSM 7625 SKU1
-;&MACHINE_ID= 0x0f5da7 ; MSM 7627 FFA
-
-;&KERNEL_SRC= "../../../git/kernel-msm/"
-&KERNEL_SRC= "&(TOP)../kernel/"
-;&KERNEL_SRC= "/scratch/linux-msm/"
-;&KERNEL_SRC= "/work/kernel/mergebox/"
-&KERNEL= "&(KERNEL_SRC)arch/arm/boot/zImage"
-&KERNEL_ELF= "&(KERNEL_SRC)vmlinux"
-
-&SECOND_STAGE=""
-;&SECOND_STAGE= "wait"
-;&SECOND_STAGE= "&(OUT)usbloader"
-
-&RAMDISK= "&(OUT)ramdisk.img"
-&SYSTEM_IMG= "&(OUT)system.img"
-&NANDWRITE= "&(OUT)nandwrite"
-
-;&CMDLINE= "mem=50M"
-;&CMDLINE= "mem=64M"
-&CMDLINE= "mem=83M"
-&CMDLINE= "&(CMDLINE) console=ttyMSM2"
-;&CMDLINE= "&(CMDLINE) board_halibut.ffa=1"
-;&CMDLINE= "&(CMDLINE) console=tty1"
-;&CMDLINE= "&(CMDLINE) androidboot.console=ttyMSM0"
-;&CMDLINE= "&(CMDLINE) console=ttyDCC0"
-;&CMDLINE= "&(CMDLINE) androidboot.console=ttyDCC0"
-;&CMDLINE= "&(CMDLINE) console=null"
-
-; ----------------------------------------------------------------------
diff --git a/device/qcom/msm7625_sku3/scripts/usb.cmm b/device/qcom/msm7625_sku3/scripts/usb.cmm
deleted file mode 100644
index 8a9963e2d..000000000
--- a/device/qcom/msm7625_sku3/scripts/usb.cmm
+++ /dev/null
@@ -1,22 +0,0 @@
-
-sys.cpu arm1136j
-sys.jtagclock rtck
-sys.mode attach
-if state.run()
-(
- break
-)
-
-do setup
-
-data.load.elf "&(OUT)obj/EXECUTABLES/usbloader_intermediates/usbloader.elf" /relpath /path ../boot/
-
-tronchip.set dabort off
-tronchip.set pabort off
-
-term.reset
-term.size 50 100
-term.scroll.on
-;term
-
-go
diff --git a/device/qcom/msm7625_sku3/system.prop b/device/qcom/msm7625_sku3/system.prop
deleted file mode 100644
index b60215563..000000000
--- a/device/qcom/msm7625_sku3/system.prop
+++ /dev/null
@@ -1,105 +0,0 @@
-#
-# system.prop for msm7625_sku3 board
-#
-ro.sf.lcd_density=120
-rild.libpath=/system/lib/libril-qc-1.so
-rild.libargs=-d /dev/smd0
-persist.rild.nitz_plmn=
-persist.rild.nitz_long_ons_0=
-persist.rild.nitz_long_ons_1=
-persist.rild.nitz_long_ons_2=
-persist.rild.nitz_long_ons_3=
-persist.rild.nitz_short_ons_0=
-persist.rild.nitz_short_ons_1=
-persist.rild.nitz_short_ons_2=
-persist.rild.nitz_short_ons_3=
-ril.subscription.types=NV,RUIM
-DEVICE_PROVISIONED=1
-debug.sf.hw=1
-debug.composition.type=mdp
-dalvik.vm.heapsize=24m
-
-#
-# system props for the cne module
-#
-persist.cne.UseCne=vendor
-persist.cne.bat.range.low.med=30
-persist.cne.bat.range.med.high=60
-persist.cne.loc.policy.op=/system/etc/OperatorPolicy.xml
-persist.cne.loc.policy.user=/system/etc/UserPolicy.xml
-persist.cne.bwbased.rat.sel=false
-persist.cne.snsr.based.rat.mgt=false
-persist.cne.bat.based.rat.mgt=false
-persist.cne.rat.acq.time.out=30000
-persist.cne.rat.acq.retry.tout=0
-persist.cne.fmc.mode=false
-persist.cne.fmc.init.time.out=30
-persist.cne.fmc.comm.time.out=130
-persist.cne.fmc.retry=false
-
-#
-# system props for the MM modules
-#
-media.stagefright.enable-player=true
-media.stagefright.enable-meta=false
-media.stagefright.enable-scan=false
-media.stagefright.enable-http=true
-
-#
-# system prop for opengles version
-#
-ro.opengles.version=131072
-
-#
-# system props for the data modules
-#
-ro.use_data_netmgrd=true
-persist.data.ds_fmc_app.mode=0
-
-#
-# system props for IMS module
-#
-persist.ims.regmanager.mode=0
-
-#
-# system prop for Bluetooth Auto connect for remote initated connections
-#
-ro.bluetooth.remote.autoconnect=true
-
-#
-# System prop to enable/disable OMH. Enabled by default
-#
-persist.omh.enabled=1
-
-#
-# system prop for Bluetooth FTP profile
-#
-ro.qualcomm.bluetooth.ftp=true
-#
-# system prop for Bluetooth Dialup Networking
-#
-ro.qualcomm.bluetooth.dun=true
-#
-# system prop for requesting Master role in incoming Bluetooth connection.
-#
-ro.bluetooth.request.master=true
-# system property for Bluetooth discoverability time out in seconds
-# 0: Always discoverable
-debug.bt.discoverable_time=0
-
-
-android.keylayout.msm7625_sku3_keypad=/system/usr/keylayout/msm7625_sku3_keypad.kl
-android.keychar.msm7625_sku3_keypad=/system/usr/keychars/msm7625_sku3_keypad.kcm
-
-# [WIFI] Enable Wi-Fi Support
-# Please reference [PROJECT]/vendor/$(OEM)/$(TARGET_DEVICE)/BoardConfig.mk
-wifi.interface=ath0
-
-# [BT] Initial bt firmware version (for factory test tool)
-net.bt.fw_ver=0xff
-
-# Fusion DSDS is enabled by default
-persist.dsds.enabled=true
-
-# to specify if the phone is qwerty
-ro.keypad.qwertytype=true
diff --git a/device/qcom/msm7625_sku3/vendorsetup.sh b/device/qcom/msm7625_sku3/vendorsetup.sh
deleted file mode 100644
index 926de89e1..000000000
--- a/device/qcom/msm7625_sku3/vendorsetup.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-# Prepare QCOM_CUSTOM stuff
-
-
-export MODEM_SEARCH_PATH_AND_ID=../images/MCNCJOLG
-
-if [ "$BUILD_NUMBER" == "" ]; then
- export BUILD_NUMBER=7225_SKU3_AG_$(date +'%Y%m%d')
-fi
-
-FILES="$MODEM_SEARCH_PATH_AND_ID/amss.mbn
-$MODEM_SEARCH_PATH_AND_ID/appsboot.mbn
-$MODEM_SEARCH_PATH_AND_ID/appsboothd.mbn
-$MODEM_SEARCH_PATH_AND_ID/oemsbl.mbn
-$MODEM_SEARCH_PATH_AND_ID/oemsblhd.mbn
-$MODEM_SEARCH_PATH_AND_ID/partition.mbn
-$MODEM_SEARCH_PATH_AND_ID/qcsbl.mbn
-$MODEM_SEARCH_PATH_AND_ID/qcsblhd_cfgdata.mbn
-$MODEM_SEARCH_PATH_AND_ID/amsshd.mbn"
-
-for f in $FILES
-do
- if [ ! -e "$f" ]
- then
- echo "WARNING:$f does not exist."
- continue
- fi
-done
-unset f
-
-
-if [ -d "custom/tools" ]; then
- if [ -f "custom/Android.mk" ]; then
- echo > /dev/null
- else
- cp -af custom/tools/Android.mk custom/Android.mk 2> /dev/null
- fi
-fi
diff --git a/device/qcom/msm7625_sku3/vold.fstab b/device/qcom/msm7625_sku3/vold.fstab
deleted file mode 100644
index 3b47c056e..000000000
--- a/device/qcom/msm7625_sku3/vold.fstab
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2010, 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.
-
-dev_mount sdcard /mnt/sdcard auto /devices/platform/msm_sdcc.1/mmc_host
diff --git a/device/qcom/msm7625_sku3/wpa_supplicant.conf b/device/qcom/msm7625_sku3/wpa_supplicant.conf
deleted file mode 100644
index bd5c09953..000000000
--- a/device/qcom/msm7625_sku3/wpa_supplicant.conf
+++ /dev/null
@@ -1,840 +0,0 @@
-##### Example wpa_supplicant configuration file ###############################
-#
-# This file describes configuration file format and lists all available option.
-# Please also take a look at simpler configuration examples in 'examples'
-# subdirectory.
-#
-# Empty lines and lines starting with # are ignored
-
-# NOTE! This file may contain password information and should probably be made
-# readable only by root user on multiuser systems.
-
-# Note: All file paths in this configuration file should use full (absolute,
-# not relative to working directory) path in order to allow working directory
-# to be changed. This can happen if wpa_supplicant is run in the background.
-
-# Whether to allow wpa_supplicant to update (overwrite) configuration
-#
-# This option can be used to allow wpa_supplicant to overwrite configuration
-# file whenever configuration is changed (e.g., new network block is added with
-# wpa_cli or wpa_gui, or a password is changed). This is required for
-# wpa_cli/wpa_gui to be able to store the configuration changes permanently.
-# Please note that overwriting configuration file will remove the comments from
-# it.
-update_config=1
-
-# global configuration (shared by all network blocks)
-#
-# Parameters for the control interface. If this is specified, wpa_supplicant
-# will open a control interface that is available for external programs to
-# manage wpa_supplicant. The meaning of this string depends on which control
-# interface mechanism is used. For all cases, the existance of this parameter
-# in configuration is used to determine whether the control interface is
-# enabled.
-#
-# For UNIX domain sockets (default on Linux and BSD): This is a directory that
-# will be created for UNIX domain sockets for listening to requests from
-# external programs (CLI/GUI, etc.) for status information and configuration.
-# The socket file will be named based on the interface name, so multiple
-# wpa_supplicant processes can be run at the same time if more than one
-# interface is used.
-# /var/run/wpa_supplicant is the recommended directory for sockets and by
-# default, wpa_cli will use it when trying to connect with wpa_supplicant.
-#
-# Access control for the control interface can be configured by setting the
-# directory to allow only members of a group to use sockets. This way, it is
-# possible to run wpa_supplicant as root (since it needs to change network
-# configuration and open raw sockets) and still allow GUI/CLI components to be
-# run as non-root users. However, since the control interface can be used to
-# change the network configuration, this access needs to be protected in many
-# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
-# want to allow non-root users to use the control interface, add a new group
-# and change this value to match with that group. Add users that should have
-# control interface access to this group. If this variable is commented out or
-# not included in the configuration file, group will not be changed from the
-# value it got by default when the directory or socket was created.
-#
-# When configuring both the directory and group, use following format:
-# DIR=/var/run/wpa_supplicant GROUP=wheel
-# DIR=/var/run/wpa_supplicant GROUP=0
-# (group can be either group name or gid)
-#
-# For UDP connections (default on Windows): The value will be ignored. This
-# variable is just used to select that the control interface is to be created.
-# The value can be set to, e.g., udp (ctrl_interface=udp)
-#
-# For Windows Named Pipe: This value can be used to set the security descriptor
-# for controlling access to the control interface. Security descriptor can be
-# set using Security Descriptor String Format (see http://msdn.microsoft.com/
-# library/default.asp?url=/library/en-us/secauthz/security/
-# security_descriptor_string_format.asp). The descriptor string needs to be
-# prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty
-# DACL (which will reject all connections). See README-Windows.txt for more
-# information about SDDL string format.
-#
-ctrl_interface=DIR=/data/misc/wifi/wpa_supplicant GROUP=wifi
-
-# IEEE 802.1X/EAPOL version
-# wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines
-# EAPOL version 2. However, there are many APs that do not handle the new
-# version number correctly (they seem to drop the frames completely). In order
-# to make wpa_supplicant interoperate with these APs, the version number is set
-# to 1 by default. This configuration value can be used to set it to the new
-# version (2).
-eapol_version=1
-
-# AP scanning/selection
-# By default, wpa_supplicant requests driver to perform AP scanning and then
-# uses the scan results to select a suitable AP. Another alternative is to
-# allow the driver to take care of AP scanning and selection and use
-# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
-# information from the driver.
-# 1: wpa_supplicant initiates scanning and AP selection
-# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
-# parameters (e.g., WPA IE generation); this mode can also be used with
-# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
-# APs (i.e., external program needs to control association). This mode must
-# also be used when using wired Ethernet drivers.
-# 2: like 0, but associate with APs using security policy and SSID (but not
-# BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to
-# enable operation with hidden SSIDs and optimized roaming; in this mode,
-# the network blocks in the configuration file are tried one by one until
-# the driver reports successful association; each network block should have
-# explicit security policy (i.e., only one option in the lists) for
-# key_mgmt, pairwise, group, proto variables
-ap_scan=1
-
-# EAP fast re-authentication
-# By default, fast re-authentication is enabled for all EAP methods that
-# support it. This variable can be used to disable fast re-authentication.
-# Normally, there is no need to disable this.
-fast_reauth=1
-
-# OpenSSL Engine support
-# These options can be used to load OpenSSL engines.
-# The two engines that are supported currently are shown below:
-# They are both from the opensc project (http://www.opensc.org/)
-# By default no engines are loaded.
-# make the opensc engine available
-#opensc_engine_path=/usr/lib/opensc/engine_opensc.so
-# make the pkcs11 engine available
-#pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
-# configure the path to the pkcs11 module required by the pkcs11 engine
-#pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
-
-# Dynamic EAP methods
-# If EAP methods were built dynamically as shared object files, they need to be
-# loaded here before being used in the network blocks. By default, EAP methods
-# are included statically in the build, so these lines are not needed
-#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
-#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
-
-# Driver interface parameters
-# This field can be used to configure arbitrary driver interace parameters. The
-# format is specific to the selected driver interface. This field is not used
-# in most cases.
-#driver_param="field=value"
-
-# Country code
-# The ISO/IEC alpha2 country code for the country in which this device is
-# currently operating.
-#country=US
-
-# Maximum lifetime for PMKSA in seconds; default 43200
-#dot11RSNAConfigPMKLifetime=43200
-# Threshold for reauthentication (percentage of PMK lifetime); default 70
-#dot11RSNAConfigPMKReauthThreshold=70
-# Timeout for security association negotiation in seconds; default 60
-#dot11RSNAConfigSATimeout=60
-
-# Wi-Fi Protected Setup (WPS) parameters
-
-# Universally Unique IDentifier (UUID; see RFC 4122) of the device
-# If not configured, UUID will be generated based on the local MAC address.
-#uuid=12345678-9abc-def0-1234-56789abcdef0
-
-# Device Name
-# User-friendly description of device; up to 32 octets encoded in UTF-8
-#device_name=Wireless Client
-
-# Manufacturer
-# The manufacturer of the device (up to 64 ASCII characters)
-#manufacturer=Company
-
-# Model Name
-# Model of the device (up to 32 ASCII characters)
-#model_name=cmodel
-
-# Model Number
-# Additional device description (up to 32 ASCII characters)
-#model_number=123
-
-# Serial Number
-# Serial number of the device (up to 32 characters)
-#serial_number=12345
-
-# Primary Device Type
-# Used format: <categ>-<OUI>-<subcateg>
-# categ = Category as an integer value
-# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
-# default WPS OUI
-# subcateg = OUI-specific Sub Category as an integer value
-# Examples:
-# 1-0050F204-1 (Computer / PC)
-# 1-0050F204-2 (Computer / Server)
-# 5-0050F204-1 (Storage / NAS)
-# 6-0050F204-1 (Network Infrastructure / AP)
-#device_type=1-0050F204-1
-
-# OS Version
-# 4-octet operating system version number (hex string)
-#os_version=01020300
-
-# Credential processing
-# 0 = process received credentials internally (default)
-# 1 = do not process received credentials; just pass them over ctrl_iface to
-# external program(s)
-# 2 = process received credentials internally and pass them over ctrl_iface
-# to external program(s)
-#wps_cred_processing=0
-
-# network block
-#
-# Each network (usually AP's sharing the same SSID) is configured as a separate
-# block in this configuration file. The network blocks are in preference order
-# (the first match is used).
-#
-# network block fields:
-#
-# disabled:
-# 0 = this network can be used (default)
-# 1 = this network block is disabled (can be enabled through ctrl_iface,
-# e.g., with wpa_cli or wpa_gui)
-#
-# id_str: Network identifier string for external scripts. This value is passed
-# to external action script through wpa_cli as WPA_ID_STR environment
-# variable to make it easier to do network specific configuration.
-#
-# ssid: SSID (mandatory); either as an ASCII string with double quotation or
-# as hex string; network name
-#
-# scan_ssid:
-# 0 = do not scan this SSID with specific Probe Request frames (default)
-# 1 = scan with SSID-specific Probe Request frames (this can be used to
-# find APs that do not accept broadcast SSID or use multiple SSIDs;
-# this will add latency to scanning, so enable this only when needed)
-#
-# bssid: BSSID (optional); if set, this network block is used only when
-# associating with the AP using the configured BSSID
-#
-# priority: priority group (integer)
-# By default, all networks will get same priority group (0). If some of the
-# networks are more desirable, this field can be used to change the order in
-# which wpa_supplicant goes through the networks when selecting a BSS. The
-# priority groups will be iterated in decreasing priority (i.e., the larger the
-# priority value, the sooner the network is matched against the scan results).
-# Within each priority group, networks will be selected based on security
-# policy, signal strength, etc.
-# Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not
-# using this priority to select the order for scanning. Instead, they try the
-# networks in the order that used in the configuration file.
-#
-# mode: IEEE 802.11 operation mode
-# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
-# 1 = IBSS (ad-hoc, peer-to-peer)
-# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
-# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
-# to be set to 2 for IBSS. WPA-None requires following network block options:
-# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
-# both), and psk must also be set.
-#
-# frequency: Channel frequency in megahertz (MHz) for IBSS, e.g.,
-# 2412 = IEEE 802.11b/g channel 1. This value is used to configure the initial
-# channel for IBSS (adhoc) networks. It is ignored in the infrastructure mode.
-# In addition, this value is only used by the station that creates the IBSS. If
-# an IBSS network with the configured SSID is already present, the frequency of
-# the network will be used instead of this configured value.
-#
-# proto: list of accepted protocols
-# WPA = WPA/IEEE 802.11i/D3.0
-# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
-# If not set, this defaults to: WPA RSN
-#
-# key_mgmt: list of accepted authenticated key management protocols
-# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
-# WPA-EAP = WPA using EAP authentication
-# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
-# generated WEP keys
-# NONE = WPA is not used; plaintext or static WEP could be used
-# WPA-PSK-SHA256 = Like WPA-PSK but using stronger SHA256-based algorithms
-# WPA-EAP-SHA256 = Like WPA-EAP but using stronger SHA256-based algorithms
-# If not set, this defaults to: WPA-PSK WPA-EAP
-#
-# auth_alg: list of allowed IEEE 802.11 authentication algorithms
-# OPEN = Open System authentication (required for WPA/WPA2)
-# SHARED = Shared Key authentication (requires static WEP keys)
-# LEAP = LEAP/Network EAP (only used with LEAP)
-# If not set, automatic selection is used (Open System with LEAP enabled if
-# LEAP is allowed as one of the EAP methods).
-#
-# pairwise: list of accepted pairwise (unicast) ciphers for WPA
-# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
-# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
-# NONE = Use only Group Keys (deprecated, should not be included if APs support
-# pairwise keys)
-# If not set, this defaults to: CCMP TKIP
-#
-# group: list of accepted group (broadcast/multicast) ciphers for WPA
-# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
-# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
-# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
-# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
-# If not set, this defaults to: CCMP TKIP WEP104 WEP40
-#
-# psk: WPA preshared key; 256-bit pre-shared key
-# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
-# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
-# generated using the passphrase and SSID). ASCII passphrase must be between
-# 8 and 63 characters (inclusive).
-# This field is not needed, if WPA-EAP is used.
-# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
-# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
-# startup and reconfiguration time can be optimized by generating the PSK only
-# only when the passphrase or SSID has actually changed.
-#
-# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
-# Dynamic WEP key required for non-WPA mode
-# bit0 (1): require dynamically generated unicast WEP key
-# bit1 (2): require dynamically generated broadcast WEP key
-# (3 = require both keys; default)
-# Note: When using wired authentication, eapol_flags must be set to 0 for the
-# authentication to be completed successfully.
-#
-# mixed_cell: This option can be used to configure whether so called mixed
-# cells, i.e., networks that use both plaintext and encryption in the same
-# SSID, are allowed when selecting a BSS form scan results.
-# 0 = disabled (default)
-# 1 = enabled
-#
-# proactive_key_caching:
-# Enable/disable opportunistic PMKSA caching for WPA2.
-# 0 = disabled (default)
-# 1 = enabled
-#
-# wep_key0..3: Static WEP key (ASCII in double quotation, e.g. "abcde" or
-# hex without quotation, e.g., 0102030405)
-# wep_tx_keyidx: Default WEP key index (TX) (0..3)
-#
-# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e DLS) is
-# allowed. This is only used with RSN/WPA2.
-# 0 = disabled (default)
-# 1 = enabled
-#peerkey=1
-#
-# wpa_ptk_rekey: Maximum lifetime for PTK in seconds. This can be used to
-# enforce rekeying of PTK to mitigate some attacks against TKIP deficiencies.
-#
-# Following fields are only used with internal EAP implementation.
-# eap: space-separated list of accepted EAP methods
-# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
-# cannot be used with WPA; to be used as a Phase 2 method
-# with EAP-PEAP or EAP-TTLS)
-# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
-# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
-# OTP = EAP-OTP (cannot be used separately with WPA; to be used
-# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
-# GTC = EAP-GTC (cannot be used separately with WPA; to be used
-# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
-# TLS = EAP-TLS (client and server certificate)
-# PEAP = EAP-PEAP (with tunnelled EAP authentication)
-# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
-# authentication)
-# If not set, all compiled in methods are allowed.
-#
-# identity: Identity string for EAP
-# This field is also used to configure user NAI for
-# EAP-PSK/PAX/SAKE/GPSK.
-# anonymous_identity: Anonymous identity string for EAP (to be used as the
-# unencrypted identity with EAP types that support different tunnelled
-# identity, e.g., EAP-TTLS)
-# password: Password string for EAP. This field can include either the
-# plaintext password (using ASCII or hex string) or a NtPasswordHash
-# (16-byte MD4 hash of password) in hash:<32 hex digits> format.
-# NtPasswordHash can only be used when the password is for MSCHAPv2 or
-# MSCHAP (EAP-MSCHAPv2, EAP-TTLS/MSCHAPv2, EAP-TTLS/MSCHAP, LEAP).
-# EAP-PSK (128-bit PSK), EAP-PAX (128-bit PSK), and EAP-SAKE (256-bit
-# PSK) is also configured using this field. For EAP-GPSK, this is a
-# variable length PSK.
-# ca_cert: File path to CA certificate file (PEM/DER). This file can have one
-# or more trusted CA certificates. If ca_cert and ca_path are not
-# included, server certificate will not be verified. This is insecure and
-# a trusted CA certificate should always be configured when using
-# EAP-TLS/TTLS/PEAP. Full path should be used since working directory may
-# change when wpa_supplicant is run in the background.
-# On Windows, trusted CA certificates can be loaded from the system
-# certificate store by setting this to cert_store://<name>, e.g.,
-# ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT".
-# Note that when running wpa_supplicant as an application, the user
-# certificate store (My user account) is used, whereas computer store
-# (Computer account) is used when running wpasvc as a service.
-# ca_path: Directory path for CA certificate files (PEM). This path may
-# contain multiple CA certificates in OpenSSL format. Common use for this
-# is to point to system trusted CA list which is often installed into
-# directory like /etc/ssl/certs. If configured, these certificates are
-# added to the list of trusted CAs. ca_cert may also be included in that
-# case, but it is not required.
-# client_cert: File path to client certificate file (PEM/DER)
-# Full path should be used since working directory may change when
-# wpa_supplicant is run in the background.
-# Alternatively, a named configuration blob can be used by setting this
-# to blob://<blob name>.
-# private_key: File path to client private key file (PEM/DER/PFX)
-# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
-# commented out. Both the private key and certificate will be read from
-# the PKCS#12 file in this case. Full path should be used since working
-# directory may change when wpa_supplicant is run in the background.
-# Windows certificate store can be used by leaving client_cert out and
-# configuring private_key in one of the following formats:
-# cert://substring_to_match
-# hash://certificate_thumbprint_in_hex
-# for example: private_key="hash://63093aa9c47f56ae88334c7b65a4"
-# Note that when running wpa_supplicant as an application, the user
-# certificate store (My user account) is used, whereas computer store
-# (Computer account) is used when running wpasvc as a service.
-# Alternatively, a named configuration blob can be used by setting this
-# to blob://<blob name>.
-# private_key_passwd: Password for private key file (if left out, this will be
-# asked through control interface)
-# dh_file: File path to DH/DSA parameters file (in PEM format)
-# This is an optional configuration file for setting parameters for an
-# ephemeral DH key exchange. In most cases, the default RSA
-# authentication does not use this configuration. However, it is possible
-# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
-# DSA keys always use ephemeral DH keys. This can be used to achieve
-# forward secrecy. If the file is in DSA parameters format, it will be
-# automatically converted into DH params.
-# subject_match: Substring to be matched against the subject of the
-# authentication server certificate. If this string is set, the server
-# sertificate is only accepted if it contains this string in the subject.
-# The subject string is in following format:
-# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
-# altsubject_match: Semicolon separated string of entries to be matched against
-# the alternative subject name of the authentication server certificate.
-# If this string is set, the server sertificate is only accepted if it
-# contains one of the entries in an alternative subject name extension.
-# altSubjectName string is in following format: TYPE:VALUE
-# Example: EMAIL:server@example.com
-# Example: DNS:server.example.com;DNS:server2.example.com
-# Following types are supported: EMAIL, DNS, URI
-# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
-# (string with field-value pairs, e.g., "peapver=0" or
-# "peapver=1 peaplabel=1")
-# 'peapver' can be used to force which PEAP version (0 or 1) is used.
-# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
-# to be used during key derivation when PEAPv1 or newer. Most existing
-# PEAPv1 implementation seem to be using the old label, "client EAP
-# encryption", and wpa_supplicant is now using that as the default value.
-# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
-# interoperate with PEAPv1; see eap_testing.txt for more details.
-# 'peap_outer_success=0' can be used to terminate PEAP authentication on
-# tunneled EAP-Success. This is required with some RADIUS servers that
-# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
-# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
-# include_tls_length=1 can be used to force wpa_supplicant to include
-# TLS Message Length field in all TLS messages even if they are not
-# fragmented.
-# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
-# challenges (by default, it accepts 2 or 3)
-# result_ind=1 can be used to enable EAP-SIM and EAP-AKA to use
-# protected result indication.
-# 'crypto_binding' option can be used to control PEAPv0 cryptobinding
-# behavior:
-# * 0 = do not use cryptobinding (default)
-# * 1 = use cryptobinding if server supports it
-# * 2 = require cryptobinding
-# EAP-WSC (WPS) uses following options: pin=<Device Password> or
-# pbc=1.
-# phase2: Phase2 (inner authentication with TLS tunnel) parameters
-# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
-# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
-# Following certificate/private key fields are used in inner Phase2
-# authentication when using EAP-TTLS or EAP-PEAP.
-# ca_cert2: File path to CA certificate file. This file can have one or more
-# trusted CA certificates. If ca_cert2 and ca_path2 are not included,
-# server certificate will not be verified. This is insecure and a trusted
-# CA certificate should always be configured.
-# ca_path2: Directory path for CA certificate files (PEM)
-# client_cert2: File path to client certificate file
-# private_key2: File path to client private key file
-# private_key2_passwd: Password for private key file
-# dh_file2: File path to DH/DSA parameters file (in PEM format)
-# subject_match2: Substring to be matched against the subject of the
-# authentication server certificate.
-# altsubject_match2: Substring to be matched against the alternative subject
-# name of the authentication server certificate.
-#
-# fragment_size: Maximum EAP fragment size in bytes (default 1398).
-# This value limits the fragment size for EAP methods that support
-# fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set
-# small enough to make the EAP messages fit in MTU of the network
-# interface used for EAPOL. The default value is suitable for most
-# cases.
-#
-# EAP-FAST variables:
-# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
-# to create this file and write updates to it when PAC is being
-# provisioned or refreshed. Full path to the file should be used since
-# working directory may change when wpa_supplicant is run in the
-# background. Alternatively, a named configuration blob can be used by
-# setting this to blob://<blob name>
-# phase1: fast_provisioning option can be used to enable in-line provisioning
-# of EAP-FAST credentials (PAC):
-# 0 = disabled,
-# 1 = allow unauthenticated provisioning,
-# 2 = allow authenticated provisioning,
-# 3 = allow both unauthenticated and authenticated provisioning
-# fast_max_pac_list_len=<num> option can be used to set the maximum
-# number of PAC entries to store in a PAC list (default: 10)
-# fast_pac_format=binary option can be used to select binary format for
-# storing PAC entries in order to save some space (the default
-# text format uses about 2.5 times the size of minimal binary
-# format)
-#
-# wpa_supplicant supports number of "EAP workarounds" to work around
-# interoperability issues with incorrectly behaving authentication servers.
-# These are enabled by default because some of the issues are present in large
-# number of authentication servers. Strict EAP conformance mode can be
-# configured by disabling workarounds with eap_workaround=0.
-
-# Example blocks:
-
-# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
-#network={
-# ssid="simple"
-# psk="very secret passphrase"
-# priority=5
-#}
-#
-## Same as previous, but request SSID-specific scanning (for APs that reject
-## broadcast SSID)
-#network={
-# ssid="second ssid"
-# scan_ssid=1
-# psk="very secret passphrase"
-# priority=2
-#}
-#
-## Only WPA-PSK is used. Any valid cipher combination is accepted.
-#network={
-# ssid="example"
-# proto=WPA
-# key_mgmt=WPA-PSK
-# pairwise=CCMP TKIP
-# group=CCMP TKIP WEP104 WEP40
-# psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
-# priority=2
-#}
-#
-## WPA-Personal(PSK) with TKIP and enforcement for frequent PTK rekeying
-#network={
-# ssid="example"
-# proto=WPA
-# key_mgmt=WPA-PSK
-# pairwise=TKIP
-# group=TKIP
-# psk="not so secure passphrase"
-# wpa_ptk_rekey=600
-#}
-#
-## Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
-## or WEP40 as the group cipher will not be accepted.
-#network={
-# ssid="example"
-# proto=RSN
-# key_mgmt=WPA-EAP
-# pairwise=CCMP TKIP
-# group=CCMP TKIP
-# eap=TLS
-# identity="user@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-# private_key="/etc/cert/user.prv"
-# private_key_passwd="password"
-# priority=1
-#}
-#
-## EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
-## (e.g., Radiator)
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=PEAP
-# identity="user@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# phase1="peaplabel=1"
-# phase2="auth=MSCHAPV2"
-# priority=10
-#}
-#
-## EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
-## unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# identity="user@example.com"
-# anonymous_identity="anonymous@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# priority=2
-#}
-#
-## EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
-## use. Real identity is sent only within an encrypted TLS tunnel.
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# identity="user@example.com"
-# anonymous_identity="anonymous@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# phase2="auth=MSCHAPV2"
-#}
-#
-## WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
-## authentication.
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# # Phase1 / outer authentication
-# anonymous_identity="anonymous@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# # Phase 2 / inner authentication
-# phase2="autheap=TLS"
-# ca_cert2="/etc/cert/ca2.pem"
-# client_cert2="/etc/cer/user.pem"
-# private_key2="/etc/cer/user.prv"
-# private_key2_passwd="password"
-# priority=2
-#}
-#
-## Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
-## group cipher.
-#network={
-# ssid="example"
-# bssid=00:11:22:33:44:55
-# proto=WPA RSN
-# key_mgmt=WPA-PSK WPA-EAP
-# pairwise=CCMP
-# group=CCMP
-# psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
-#}
-#
-## Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
-## and all valid ciphers.
-#network={
-# ssid=00010203
-# psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
-#}
-#
-#
-## EAP-SIM with a GSM SIM or USIM
-#network={
-# ssid="eap-sim-test"
-# key_mgmt=WPA-EAP
-# eap=SIM
-# pin="1234"
-# pcsc=""
-#}
-#
-#
-## EAP-PSK
-#network={
-# ssid="eap-psk-test"
-# key_mgmt=WPA-EAP
-# eap=PSK
-# anonymous_identity="eap_psk_user"
-# password=06b4be19da289f475aa46a33cb793029
-# identity="eap_psk_user@example.com"
-#}
-#
-#
-## IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
-## EAP-TLS for authentication and key generation; require both unicast and
-## broadcast WEP keys.
-#network={
-# ssid="1x-test"
-# key_mgmt=IEEE8021X
-# eap=TLS
-# identity="user@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-# private_key="/etc/cert/user.prv"
-# private_key_passwd="password"
-# eapol_flags=3
-#}
-#
-#
-## LEAP with dynamic WEP keys
-#network={
-# ssid="leap-example"
-# key_mgmt=IEEE8021X
-# eap=LEAP
-# identity="user"
-# password="foobar"
-#}
-#
-## EAP-IKEv2 using shared secrets for both server and peer authentication
-#network={
-# ssid="ikev2-example"
-# key_mgmt=WPA-EAP
-# eap=IKEV2
-# identity="user"
-# password="foobar"
-#}
-#
-## EAP-FAST with WPA (WPA or WPA2)
-#network={
-# ssid="eap-fast-test"
-# key_mgmt=WPA-EAP
-# eap=FAST
-# anonymous_identity="FAST-000102030405"
-# identity="username"
-# password="password"
-# phase1="fast_provisioning=1"
-# pac_file="/etc/wpa_supplicant.eap-fast-pac"
-#}
-#
-#network={
-# ssid="eap-fast-test"
-# key_mgmt=WPA-EAP
-# eap=FAST
-# anonymous_identity="FAST-000102030405"
-# identity="username"
-# password="password"
-# phase1="fast_provisioning=1"
-# pac_file="blob://eap-fast-pac"
-#}
-#
-## Plaintext connection (no WPA, no IEEE 802.1X)
-#network={
-# ssid="plaintext-test"
-# key_mgmt=NONE
-#}
-#
-#
-## Shared WEP key connection (no WPA, no IEEE 802.1X)
-#network={
-# ssid="static-wep-test"
-# key_mgmt=NONE
-# wep_key0="abcde"
-# wep_key1=0102030405
-# wep_key2="1234567890123"
-# wep_tx_keyidx=0
-# priority=5
-#}
-#
-#
-## Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
-## IEEE 802.11 authentication
-#network={
-# ssid="static-wep-test2"
-# key_mgmt=NONE
-# wep_key0="abcde"
-# wep_key1=0102030405
-# wep_key2="1234567890123"
-# wep_tx_keyidx=0
-# priority=5
-# auth_alg=SHARED
-#}
-#
-#
-## IBSS/ad-hoc network with WPA-None/TKIP.
-#network={
-# ssid="test adhoc"
-# mode=1
-# frequency=2412
-# proto=WPA
-# key_mgmt=WPA-NONE
-# pairwise=NONE
-# group=TKIP
-# psk="secret passphrase"
-#}
-#
-#
-## Catch all example that allows more or less all configuration modes
-#network={
-# ssid="example"
-# scan_ssid=1
-# key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
-# pairwise=CCMP TKIP
-# group=CCMP TKIP WEP104 WEP40
-# psk="very secret passphrase"
-# eap=TTLS PEAP TLS
-# identity="user@example.com"
-# password="foobar"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-# private_key="/etc/cert/user.prv"
-# private_key_passwd="password"
-# phase1="peaplabel=0"
-#}
-#
-## Example of EAP-TLS with smartcard (openssl engine)
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TLS
-# proto=RSN
-# pairwise=CCMP TKIP
-# group=CCMP TKIP
-# identity="user@example.com"
-# ca_cert="/etc/cert/ca.pem"
-# client_cert="/etc/cert/user.pem"
-#
-# engine=1
-#
-# # The engine configured here must be available. Look at
-# # OpenSSL engine support in the global section.
-# # The key available through the engine must be the private key
-# # matching the client certificate configured above.
-#
-# # use the opensc engine
-# #engine_id="opensc"
-# #key_id="45"
-#
-# # use the pkcs11 engine
-# engine_id="pkcs11"
-# key_id="id_45"
-#
-# # Optional PIN configuration; this can be left out and PIN will be
-# # asked through the control interface
-# pin="1234"
-#}
-#
-## Example configuration showing how to use an inlined blob as a CA certificate
-## data instead of using external file
-#network={
-# ssid="example"
-# key_mgmt=WPA-EAP
-# eap=TTLS
-# identity="user@example.com"
-# anonymous_identity="anonymous@example.com"
-# password="foobar"
-# ca_cert="blob://exampleblob"
-# priority=20
-#}
-#
-#blob-base64-exampleblob={
-#SGVsbG8gV29ybGQhCg==
-#}
-
-
-# Wildcard match for SSID (plaintext APs only). This example select any
-# open AP regardless of its SSID.
-#network={
-# key_mgmt=NONE
-#}
diff --git a/device/qcom/msm7627_sku2/BoardConfig.mk b/device/qcom/msm7627_sku2/BoardConfig.mk
index 24d52379b..e76f8796b 100644
--- a/device/qcom/msm7627_sku2/BoardConfig.mk
+++ b/device/qcom/msm7627_sku2/BoardConfig.mk
@@ -65,8 +65,9 @@ BOARD_NO_SPEAKER := false
BOARD_DEVEL_TOOLS := busybox oprofile
+BOARD_HAVE_CDROM :=true
#Atheros ++++
-BOARD_USES_ATH_WIFI := true
+BOARD_USES_ATH_WIFI ?= true
BOARD_USES_AR6002 := true
BOARD_USES_AR6003 := false
ifeq ($(BOARD_USES_ATH_WIFI),true)
diff --git a/device/qcom/msm7627_sku2/include/board_input.h b/device/qcom/msm7627_sku2/include/board_input.h
index f8791663a..015217cd3 100755
--- a/device/qcom/msm7627_sku2/include/board_input.h
+++ b/device/qcom/msm7627_sku2/include/board_input.h
@@ -58,17 +58,17 @@
/*******************************************
* TOUCH PANEL(CTP) MODULE
******************************************/
-#define VK_YHIGHT 30
+#define VK_YHIGHT 0
#define VKEY_MENU_X_POINT 40
#define VKEY_HOME_X_POINT 120
#define VKEY_SEARCH_X_POINT 200
#define VKEY_BACK_X_POINT 280
-#define VKEY_Y_POINT 510
+#define VKEY_Y_POINT 500
#define VKEY_WIDTH 70
#define VKEY_HIGHT 30
#define TS_DIS_MAXX 320
#define TS_DIS_MAXY 480
-#define TS_REPORT_REVERSE 1
+//#define TS_REPORT_REVERSE 1
#define TS_FIRMWARE_NAME "touch_ft5202_fm.bin"
#endif /* board_input_h */
diff --git a/device/qcom/msm7627_sku2/msm7627_sku2_keypad.kl b/device/qcom/msm7627_sku2/msm7627_sku2_keypad.kl
index c45ee63dd..c45ee63dd 100644..100755
--- a/device/qcom/msm7627_sku2/msm7627_sku2_keypad.kl
+++ b/device/qcom/msm7627_sku2/msm7627_sku2_keypad.kl
diff --git a/device/qcom/msm7627_sku2/scripts/debug_android.cmm b/device/qcom/msm7627_sku2/scripts/debug_android.cmm
index fdb724d7d..7ff725024 100644..100755
--- a/device/qcom/msm7627_sku2/scripts/debug_android.cmm
+++ b/device/qcom/msm7627_sku2/scripts/debug_android.cmm
@@ -1,178 +1,178 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;
-;; Setup Android T32 debugging environment
-;; Sample script
-;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;; Declare local variables
-ENTRY &AndroidRoot
-
-local &kernelPath
-local &T32Path
-
-;; Break if already running
-if run()
-(
- break
-)
-
-;; Setup Windows
- winclear
- ; Display code listing
- WINPOS 0.0 0.0 68% 65% 12. 1. W000
- DATA.list
-
- ; Display register window
- WINPOS 68% 0. 32% 50% 0. 0. W002
- register /spotlight
-
- ; Display variables in HEX and with symbol names
- setup.var %open.on %hex
-
- ; Display stackframe with local variables
- WINPOS 68% 50% 32% 48% 0. 0. W003
- Var.Frame /Locals /Caller
-
-;; Setup window area to display messages when setting this up
-WINPOS 0% 65% 34% 35% 0. 0. W001
-Area.create MAIN
-Area.clear MAIN
-Area.view MAIN
-Area.select MAIN
-
-print " _ _ _ ___ ___ ___ ___ ___ "
-print " /_\ | \| | \| _ \/ _ \_ _| \ "
-print " / _ \| .` | |) | / (_) | || |) |"
-print "/_/ \_\_|\_|___/|_|_\\___/___|___/ "
-print " "
-print "ANDROID root directory: &AndroidRoot"
-
-&kernelPath="&AndroidRoot/kernel"
-&T32LinuxScriptPath="c:/T32/demo/arm/kernel/linux"
-
-; Generic start-up
-Break.Delete ; remove any breakpoints
-MAP.RESet ; reset debuggers memory mapping
-MMU.RESet ; reset debuggers MMU
-sYmbol.RESet ; remove any symbols
-
-; Linux start-up
-TrOnchip.Set DABORT OFF ; turn off breakpoint on data abort
-TrOnchip.Set PABORT OFF ; turn off breakpoint on program abort
-TrOnchip.Set UNDEF OFF ; turn off breakpoint on undefined instruction
-SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses
-
-print "Loading Linux kernel symbols..."
-data.load.elf "&AndroidRoot/out/target/product/msm7627_sku2/obj/KERNEL_OBJ/vmlinux" /nocode /gnu
-
-; Declare the MMU format to the debugger
- ; - table format is "LINUX"
- ; - table base address is at label "swapper_pg_dir"
- ; - kernel address translation
- ; Map the virtual kernel symbols to physical addresses to give
- ; the debugger access to it before CPU MMU is initialized
-
-MMU.RESET
-MMU.FORMAT LINUX swapper_pg_dir 0xC0000000--0xCfffffff 0x00200000
-MMU.COMMON 0xC00000000--0xCFFFFFFF
-MMU.AUTOSCAN ON
-MMU.TABLEWALK ON
-MMU.ON
-
-
-; Configure Trace32 for Linux debugging
-TASK.CONFIG "&T32LinuxScriptPath/linux.t32" ; Load Linux awareness
-MENU.ReProgram "&T32LinuxScriptPath/linux.men" ; Load Linux menu
-HELP.FILTER.Add rtoslinux ; Add linux awareness manual to help filter
-
-TASK.sYmbol.Option MMUSCAN OFF ; not necessary with table walk
-
-sYmbol.AutoLoad.CHECKLINUX "do &LinuxT32ScriptPath/autoload " ; Switch on symbol autoloader
-
-GROUP.Create "kernel" 0xC00000000--0xCFFFFFFFF /RED
-
-
-; Configure Autoloader to automatically load symbols for process debugging
-Task.SYMBOL.Option Autoload Process
-
-; Display Linux processes
-WINPOS 34% 65% 34% 35% 0. 0. W003
-task.dtask
-mode.hll
-
-;; Setup break points in linux kernel to ease debugging
-b.s \\vmlinux\panic\panic
-
-&symbolPath="&AndroidRoot/out/target/product/msm7627_sku2/symbols/system/lib"
-
-;; The following addresses are based on prelink library map defined in
-;; build/core/prelink-linux-arm.map. Addresses may need to be customized
-;; based on target
-&libopencore_commonAddr=0xa6000000
-&libopencore_playerAddr=0xa7000000
-&libopencore_authorAddr=0xa7800000
-&libhardware_legacyAddr=0xa9c00000
-&libhardwareAddr=0xa9c70000
-&libaudioflingerAddr=0xab000000
-&libmediaAddr=0xab200000
-&libmediaplayerserviceAddr=0xab280000
-&libvorbisidecAddr=0xab400000
-&libsonivoxAddr=0xab500000
-&libaudioAddr=0xab700000
-&libaudiopolicygenericAddr=0xab800000
-&libaudiopolicyAddr=0xab880000
-&libskiaAddr=0xac000000
-&libuiAddr=0xac400000
-&libEGLAddr=0xac700000
-&libGLESv1_CMAddr=0xacb00000
-&libpixelflingerAddr=0xacf00000
-&libdvmAddr=0xad000000
-&libandroid_runtimeAddr=0xad300000
-&liblogAddr=0xafbc0000
-&libcAddr=0xafe00000
-
-;; Get the application ID
-;&appsID=task.proc.spaceid("mediaserver");
-;if &appsID==0xffffffff
-;(
-; print "Error getting mediaserver ID.. exit"
-; enddo
-;)
-;print "ID"
-;print &appsID
-
-;; Load libraries
-print "Loading Android library symbols..."
-data.load.elf &symbolPath\libopencore_common.so &libopencore_commonAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libopencore_player.so &libopencore_playerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libopencore_author.so &libopencore_authorAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libhardware.so &libhardwareAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudioflinger.so &libaudioflingerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libmedia.so &libmediaAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libmediaplayerservice.so &libmediaplayerserviceAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libvorbisidec.so &libvorbisidecAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libsonivox.so &libsonivoxAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudio.so &libaudioAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudiopolicygeneric.so &libaudiopolicygenericAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libaudiopolicy.so &libaudiopolicyAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libskia.so &libskiaAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libui.so &libuiAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libEGL.so &libEGLAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libGLESv1_CM.so &libGLESv1_CMAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libpixelflinger.so &libpixelflingerAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libdvm.so &libdvmAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libandroid_runtime.so &libandroid_runtimeAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\liblog.so &liblogAddr /gnu /nocode /noclear
-data.load.elf &symbolPath\libc.so &libcAddr /gnu /nocode /noclear
-
-
-;Source Paths for libraries
-print "Adding default source paths..."
-y.spath.srd "&AndroidRoot/kernel"
-y.spath.srd "&AndroidRoot/hardware/msm7k"
-y.spath.srd "&AndroidRoot/frameworks/base"
-y.spath.srd "&AndroidRoot/system/core"
-
-print "Done."
-ENDDO
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Setup Android T32 debugging environment
+;; Sample script
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;; Declare local variables
+ENTRY &AndroidRoot
+
+local &kernelPath
+local &T32Path
+
+;; Break if already running
+if run()
+(
+ break
+)
+
+;; Setup Windows
+ winclear
+ ; Display code listing
+ WINPOS 0.0 0.0 68% 65% 12. 1. W000
+ DATA.list
+
+ ; Display register window
+ WINPOS 68% 0. 32% 50% 0. 0. W002
+ register /spotlight
+
+ ; Display variables in HEX and with symbol names
+ setup.var %open.on %hex
+
+ ; Display stackframe with local variables
+ WINPOS 68% 50% 32% 48% 0. 0. W003
+ Var.Frame /Locals /Caller
+
+;; Setup window area to display messages when setting this up
+WINPOS 0% 65% 34% 35% 0. 0. W001
+Area.create MAIN
+Area.clear MAIN
+Area.view MAIN
+Area.select MAIN
+
+print " _ _ _ ___ ___ ___ ___ ___ "
+print " /_\ | \| | \| _ \/ _ \_ _| \ "
+print " / _ \| .` | |) | / (_) | || |) |"
+print "/_/ \_\_|\_|___/|_|_\\___/___|___/ "
+print " "
+print "ANDROID root directory: &AndroidRoot"
+
+&kernelPath="&AndroidRoot/kernel"
+&T32LinuxScriptPath="c:/T32/demo/arm/kernel/linux"
+
+; Generic start-up
+Break.Delete ; remove any breakpoints
+MAP.RESet ; reset debuggers memory mapping
+MMU.RESet ; reset debuggers MMU
+sYmbol.RESet ; remove any symbols
+
+; Linux start-up
+TrOnchip.Set DABORT OFF ; turn off breakpoint on data abort
+TrOnchip.Set PABORT OFF ; turn off breakpoint on program abort
+TrOnchip.Set UNDEF OFF ; turn off breakpoint on undefined instruction
+SYStem.Option MMUSPACES ON ; enable space ids to virtual addresses
+
+print "Loading Linux kernel symbols..."
+data.load.elf "&AndroidRoot/out/target/product/msm7627_sku2/obj/KERNEL_OBJ/vmlinux" /nocode /gnu
+
+; Declare the MMU format to the debugger
+ ; - table format is "LINUX"
+ ; - table base address is at label "swapper_pg_dir"
+ ; - kernel address translation
+ ; Map the virtual kernel symbols to physical addresses to give
+ ; the debugger access to it before CPU MMU is initialized
+
+MMU.RESET
+MMU.FORMAT LINUX swapper_pg_dir 0xC0000000--0xCfffffff 0x00200000
+MMU.COMMON 0xC00000000--0xCFFFFFFF
+MMU.AUTOSCAN ON
+MMU.TABLEWALK ON
+MMU.ON
+
+
+; Configure Trace32 for Linux debugging
+TASK.CONFIG "&T32LinuxScriptPath/linux.t32" ; Load Linux awareness
+MENU.ReProgram "&T32LinuxScriptPath/linux.men" ; Load Linux menu
+HELP.FILTER.Add rtoslinux ; Add linux awareness manual to help filter
+
+TASK.sYmbol.Option MMUSCAN OFF ; not necessary with table walk
+
+sYmbol.AutoLoad.CHECKLINUX "do &LinuxT32ScriptPath/autoload " ; Switch on symbol autoloader
+
+GROUP.Create "kernel" 0xC00000000--0xCFFFFFFFF /RED
+
+
+; Configure Autoloader to automatically load symbols for process debugging
+Task.SYMBOL.Option Autoload Process
+
+; Display Linux processes
+WINPOS 34% 65% 34% 35% 0. 0. W003
+task.dtask
+mode.hll
+
+;; Setup break points in linux kernel to ease debugging
+b.s \\vmlinux\panic\panic
+
+&symbolPath="&AndroidRoot/out/target/product/msm7627_sku2/symbols/system/lib"
+
+;; The following addresses are based on prelink library map defined in
+;; build/core/prelink-linux-arm.map. Addresses may need to be customized
+;; based on target
+&libopencore_commonAddr=0xa6000000
+&libopencore_playerAddr=0xa7000000
+&libopencore_authorAddr=0xa7800000
+&libhardware_legacyAddr=0xa9c00000
+&libhardwareAddr=0xa9c70000
+&libaudioflingerAddr=0xab000000
+&libmediaAddr=0xab200000
+&libmediaplayerserviceAddr=0xab280000
+&libvorbisidecAddr=0xab400000
+&libsonivoxAddr=0xab500000
+&libaudioAddr=0xab700000
+&libaudiopolicygenericAddr=0xab800000
+&libaudiopolicyAddr=0xab880000
+&libskiaAddr=0xac000000
+&libuiAddr=0xac400000
+&libEGLAddr=0xac700000
+&libGLESv1_CMAddr=0xacb00000
+&libpixelflingerAddr=0xacf00000
+&libdvmAddr=0xad000000
+&libandroid_runtimeAddr=0xad300000
+&liblogAddr=0xafbc0000
+&libcAddr=0xafe00000
+
+;; Get the application ID
+;&appsID=task.proc.spaceid("mediaserver");
+;if &appsID==0xffffffff
+;(
+; print "Error getting mediaserver ID.. exit"
+; enddo
+;)
+;print "ID"
+;print &appsID
+
+;; Load libraries
+print "Loading Android library symbols..."
+data.load.elf &symbolPath\libopencore_common.so &libopencore_commonAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libopencore_player.so &libopencore_playerAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libopencore_author.so &libopencore_authorAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libhardware.so &libhardwareAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libaudioflinger.so &libaudioflingerAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libmedia.so &libmediaAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libmediaplayerservice.so &libmediaplayerserviceAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libvorbisidec.so &libvorbisidecAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libsonivox.so &libsonivoxAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libaudio.so &libaudioAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libaudiopolicygeneric.so &libaudiopolicygenericAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libaudiopolicy.so &libaudiopolicyAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libskia.so &libskiaAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libui.so &libuiAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libEGL.so &libEGLAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libGLESv1_CM.so &libGLESv1_CMAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libpixelflinger.so &libpixelflingerAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libdvm.so &libdvmAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libandroid_runtime.so &libandroid_runtimeAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\liblog.so &liblogAddr /gnu /nocode /noclear
+data.load.elf &symbolPath\libc.so &libcAddr /gnu /nocode /noclear
+
+
+;Source Paths for libraries
+print "Adding default source paths..."
+y.spath.srd "&AndroidRoot/kernel"
+y.spath.srd "&AndroidRoot/hardware/msm7k"
+y.spath.srd "&AndroidRoot/frameworks/base"
+y.spath.srd "&AndroidRoot/system/core"
+
+print "Done."
+ENDDO
diff --git a/device/qcom/msm7627_sku2/sw_ver.txt b/device/qcom/msm7627_sku2/sw_ver.txt
index c31af2fb5..8bd3f7895 100755
--- a/device/qcom/msm7627_sku2/sw_ver.txt
+++ b/device/qcom/msm7627_sku2/sw_ver.txt
@@ -1,3 +1,3 @@
-BUILD_SW_MAINVER=0.39.0
+BUILD_SW_MAINVER=0.40.0
BUILD_SW_PROJ=STD
BUILD_SW_FEATURE_NUMBER=124
diff --git a/device/qcom/msm7627_sku2/system.prop b/device/qcom/msm7627_sku2/system.prop
index 820ad2749..1b8ef6fa4 100644
--- a/device/qcom/msm7627_sku2/system.prop
+++ b/device/qcom/msm7627_sku2/system.prop
@@ -89,5 +89,5 @@ debug.bt.discoverable_time=0
android.keylayout.msm7627_sku2_keypad=/system/usr/keylayout/msm7627_sku2_keypad.kl
android.keychar.msm7627_sku2_keypad=/system/usr/keychars/msm7627_sku2_keypad.kcm
-
+persist.service.cdrom.enable=1
persist.dsds.enabled=true
diff --git a/device/qcom/msm7627_sku2/vendorsetup.sh b/device/qcom/msm7627_sku2/vendorsetup.sh
index 9c93ced9c..41cb0eca7 100644
--- a/device/qcom/msm7627_sku2/vendorsetup.sh
+++ b/device/qcom/msm7627_sku2/vendorsetup.sh
@@ -1,5 +1,35 @@
#!/bin/sh
# Prepare QCOM_CUSTOM stuff
+
+
+export MODEM_SEARCH_PATH_AND_ID=../images/TCNCJOLG
+
+if [ "$BUILD_NUMBER" == "" ]; then
+ export BUILD_NUMBER=7X27_SKU2_AG_$(date +'%Y%m%d')
+fi
+echo $BUILD_NUMBER
+
+FILES="$MODEM_SEARCH_PATH_AND_ID/amss.mbn
+$MODEM_SEARCH_PATH_AND_ID/appsboot.mbn
+$MODEM_SEARCH_PATH_AND_ID/appsboothd.mbn
+$MODEM_SEARCH_PATH_AND_ID/oemsbl.mbn
+$MODEM_SEARCH_PATH_AND_ID/oemsblhd.mbn
+$MODEM_SEARCH_PATH_AND_ID/partition.mbn
+$MODEM_SEARCH_PATH_AND_ID/qcsbl.mbn
+$MODEM_SEARCH_PATH_AND_ID/qcsblhd_cfgdata.mbn
+$MODEM_SEARCH_PATH_AND_ID/amsshd.mbn"
+
+for f in $FILES
+do
+ if [ ! -e "$f" ]
+ then
+ echo "WARNING:$f does not exist."
+ continue
+ fi
+done
+unset f
+
+
if [ -d "custom/tools" ]; then
if [ -f "custom/Android.mk" ]; then
echo > /dev/null
diff --git a/device/qcom/msm7627_sku5/BoardConfig.mk b/device/qcom/msm7627_sku5/BoardConfig.mk
index 65235cf1e..e26ea0db8 100755
--- a/device/qcom/msm7627_sku5/BoardConfig.mk
+++ b/device/qcom/msm7627_sku5/BoardConfig.mk
@@ -63,7 +63,10 @@ BOARD_NO_SPEAKER := false
BOARD_DEVEL_TOOLS := busybox oprofile
+BOARD_HAVE_CDROM :=true
+
#Atheros ++++
+BOARD_HAS_WLAN := true
BOARD_USES_ATH_WIFI ?= true
BOARD_USES_AR6002 := false
BOARD_USES_AR6003 := true
diff --git a/device/qcom/msm7627_sku5/include/board_pm.h b/device/qcom/msm7627_sku5/include/board_pm.h
index 35fdfff38..bfeabe81e 100755
--- a/device/qcom/msm7627_sku5/include/board_pm.h
+++ b/device/qcom/msm7627_sku5/include/board_pm.h
@@ -13,7 +13,8 @@
#define LCD_VREG(x) \
((x == 0) ? (LCD_VREG0) : ((x == 1) ? (LCD_VREG1) : NULL))
-#define MMC_VREG "wlan"
+#define MMC_OLD_VREG "wlan"
+#define MMC_NEW_VREG "mmc"
/*******************************************
@@ -30,7 +31,7 @@
/*******************************************
* WLAN MODULE
******************************************/
-#define WLAN_VREG "msme2"
+#define WLAN_VREG "wlan"
/*******************************************
diff --git a/device/qcom/msm7627_sku5/sw_ver.txt b/device/qcom/msm7627_sku5/sw_ver.txt
index c31af2fb5..8bd3f7895 100755
--- a/device/qcom/msm7627_sku5/sw_ver.txt
+++ b/device/qcom/msm7627_sku5/sw_ver.txt
@@ -1,3 +1,3 @@
-BUILD_SW_MAINVER=0.39.0
+BUILD_SW_MAINVER=0.40.0
BUILD_SW_PROJ=STD
BUILD_SW_FEATURE_NUMBER=124
diff --git a/device/qcom/msm7627_sku5/system.prop b/device/qcom/msm7627_sku5/system.prop
index cab0c7ea2..3a3611021 100755
--- a/device/qcom/msm7627_sku5/system.prop
+++ b/device/qcom/msm7627_sku5/system.prop
@@ -65,6 +65,7 @@ persist.ims.regmanager.mode=0
# system prop for Bluetooth Auto connect for remote initated connections
#
ro.bluetooth.remote.autoconnect=true
+persist.service.cdrom.enable=0
#
# System prop to enable/disable OMH. Enabled by default
@@ -90,4 +91,5 @@ debug.bt.discoverable_time=0
android.keylayout.msm7627_sku5_keypad=/system/usr/keylayout/msm7627_sku5_keypad.kl
android.keychar.msm7627_sku5_keypad=/system/usr/keychars/msm7627_sku5_keypad.kcm
+persist.service.cdrom.enable=0
persist.dsds.enabled=true
diff --git a/frameworks/base/core/java/android/content/Intent.java b/frameworks/base/core/java/android/content/Intent.java
index b403060db..2da3d666e 100755
--- a/frameworks/base/core/java/android/content/Intent.java
+++ b/frameworks/base/core/java/android/content/Intent.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/core/java/android/hardware/fmradio/FmConfig.java b/frameworks/base/core/java/android/hardware/fmradio/FmConfig.java
index c385a08af..2c53821c1 100755
--- a/frameworks/base/core/java/android/hardware/fmradio/FmConfig.java
+++ b/frameworks/base/core/java/android/hardware/fmradio/FmConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2009,2011, Code Aurora Forum. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/frameworks/base/core/java/android/hardware/fmradio/FmRxControls.java b/frameworks/base/core/java/android/hardware/fmradio/FmRxControls.java
index 7cba43e75..0cebd526f 100755
--- a/frameworks/base/core/java/android/hardware/fmradio/FmRxControls.java
+++ b/frameworks/base/core/java/android/hardware/fmradio/FmRxControls.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2009,2011, Code Aurora Forum. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/frameworks/base/core/java/android/hardware/fmradio/FmRxEventListner.java b/frameworks/base/core/java/android/hardware/fmradio/FmRxEventListner.java
index c9de8b952..40c19fd0a 100755
--- a/frameworks/base/core/java/android/hardware/fmradio/FmRxEventListner.java
+++ b/frameworks/base/core/java/android/hardware/fmradio/FmRxEventListner.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2009,2011, Code Aurora Forum. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
diff --git a/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java b/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java
index e50c665dc..ab87fc346 100755
--- a/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java
+++ b/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007-2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
diff --git a/frameworks/base/core/java/android/provider/CallLog.java b/frameworks/base/core/java/android/provider/CallLog.java
index 19c67f89f..d87dd4034 100644
--- a/frameworks/base/core/java/android/provider/CallLog.java
+++ b/frameworks/base/core/java/android/provider/CallLog.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/core/java/android/provider/ContactsContract.java b/frameworks/base/core/java/android/provider/ContactsContract.java
index 9138da2f7..74514901c 100644
--- a/frameworks/base/core/java/android/provider/ContactsContract.java
+++ b/frameworks/base/core/java/android/provider/ContactsContract.java
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 The Android Open Source Project
+ * Copyright (c) 2010-2011, 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.
@@ -921,6 +922,9 @@ public final class ContactsContract {
* {@link #CONTENT_LOOKUP_URI} to attempt refreshing.
*/
public static Uri getLookupUri(ContentResolver resolver, Uri contactUri) {
+ if(null == contactUri){
+ return null;
+ }
final Cursor c = resolver.query(contactUri, new String[] {
Contacts.LOOKUP_KEY, Contacts._ID
}, null, null, null);
diff --git a/frameworks/base/core/java/android/view/IWindowManager.aidl b/frameworks/base/core/java/android/view/IWindowManager.aidl
index d4dd05c19..485ba1a9b 100644
--- a/frameworks/base/core/java/android/view/IWindowManager.aidl
+++ b/frameworks/base/core/java/android/view/IWindowManager.aidl
@@ -47,6 +47,8 @@ interface IWindowManager
boolean startViewServer(int port); // Transaction #1
boolean stopViewServer(); // Transaction #2
boolean isViewServerRunning(); // Transaction #3
+ void setBenchMarkFlag(boolean flag); // BenchMark print log debug flag
+
IWindowSession openSession(in IInputMethodClient client,
in IInputContext inputContext);
diff --git a/frameworks/base/core/java/android/view/WindowOrientationListener.java b/frameworks/base/core/java/android/view/WindowOrientationListener.java
index ba9f602e2..6858fbd17 100755
--- a/frameworks/base/core/java/android/view/WindowOrientationListener.java
+++ b/frameworks/base/core/java/android/view/WindowOrientationListener.java
@@ -52,7 +52,7 @@ public abstract class WindowOrientationListener {
* @param context for the WindowOrientationListener.
*/
public WindowOrientationListener(Context context) {
- this(context, SensorManager.SENSOR_DELAY_NORMAL);
+ this(context, SensorManager.SENSOR_DELAY_GAME);
}
/**
diff --git a/frameworks/base/core/java/android/webkit/WebViewCore.java b/frameworks/base/core/java/android/webkit/WebViewCore.java
index 0823d48cf..aba57f522 100644
--- a/frameworks/base/core/java/android/webkit/WebViewCore.java
+++ b/frameworks/base/core/java/android/webkit/WebViewCore.java
@@ -217,7 +217,7 @@ final class WebViewCore {
Log.v(LOGTAG,"WebViewCore Init complete");
}
- /* to pass CTS test:webviewtest#testFindAll
+ /* to pass CTS test:webviewtest#testFindAll
see the function findAll in WebView.java
*/
public int getNativeClass(){
diff --git a/frameworks/base/core/java/android/widget/AbsListView.java b/frameworks/base/core/java/android/widget/AbsListView.java
index 181300d00..f191a866c 100644..100755
--- a/frameworks/base/core/java/android/widget/AbsListView.java
+++ b/frameworks/base/core/java/android/widget/AbsListView.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -296,6 +297,12 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
int mLastY;
/**
+ * Check is scrolling or not
+ */
+
+ boolean mIsScroll_QMemOpt = false;
+
+ /**
* How far the finger moved before we started scrolling
*/
int mMotionCorrection;
@@ -2058,6 +2065,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
// Time to start stealing events! Once we've stolen them, don't let anyone
// steal from us
requestDisallowInterceptTouchEvent(true);
+
+ mIsScroll_QMemOpt = !overscroll;
+
return true;
}
@@ -2277,6 +2287,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
mMotionY = y;
invalidate();
}
+ mIsScroll_QMemOpt = !atEdge;
+
mLastY = y;
}
break;
@@ -2355,6 +2367,9 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
case MotionEvent.ACTION_UP: {
+
+ mIsScroll_QMemOpt = false;
+
switch (mTouchMode) {
case TOUCH_MODE_DOWN:
case TOUCH_MODE_TAP:
diff --git a/frameworks/base/core/java/android/widget/GridView.java b/frameworks/base/core/java/android/widget/GridView.java
index a7300c288..48a5f0c44 100644..100755
--- a/frameworks/base/core/java/android/widget/GridView.java
+++ b/frameworks/base/core/java/android/widget/GridView.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,6 +20,8 @@ package android.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Rect;
+import android.graphics.Canvas;
+import android.graphics.Bitmap;
import android.util.AttributeSet;
import android.view.Gravity;
import android.view.KeyEvent;
@@ -60,6 +63,12 @@ public class GridView extends AbsListView {
private final Rect mTempRect = new Rect();
+ private int mChildHeight_QMemOpt = 0;
+ private int mChildWidth_QMemOpt = 0;
+ private int mOldCount_QMemOpt = 0;
+ private int mNativeCode_QMemOpt = 0;
+ private boolean mNativeEnable_QMemOpt = false;
+
public GridView(Context context) {
super(context);
}
@@ -101,6 +110,8 @@ public class GridView extends AbsListView {
}
a.recycle();
+
+ mNativeEnable_QMemOpt = NativeEnable();
}
@Override
@@ -951,6 +962,9 @@ public class GridView extends AbsListView {
childHeight = child.getMeasuredHeight();
+ mChildHeight_QMemOpt = childHeight;
+ mChildWidth_QMemOpt = child.getMeasuredWidth();
+
if (mRecycler.shouldRecycleViewType(p.viewType)) {
mRecycler.addScrapView(child);
}
@@ -1883,5 +1897,64 @@ public class GridView extends AbsListView {
}
return result;
}
+
+ @Override
+ public void draw(Canvas canvas) {
+ if (!mIsScroll_QMemOpt || !mNativeEnable_QMemOpt) {
+ super.draw(canvas);
+ return;
+ }
+
+ final int WidthSize = getMeasuredWidth();
+ final int HeightSize = getMeasuredHeight();
+ final int ListPaddingTop = getListPaddingTop();
+ final int ListPaddingLeft = getListPaddingLeft();
+ final int Density = getContext().getResources().getDisplayMetrics().densityDpi;
+ final int Count = getCount();
+ final int firstPosition = getFirstVisiblePosition();
+ final int Toptop = getChildAt(0).getTop();
+ final boolean IsChanged = mOldCount_QMemOpt != Count;
+
+ mOldCount_QMemOpt = Count;
+
+ mNativeCode_QMemOpt = NativeOnDraw(canvas, mNativeCode_QMemOpt, mHorizontalSpacing, mVerticalSpacing,
+ mNumColumns, WidthSize, HeightSize, ListPaddingTop, ListPaddingLeft,
+ mChildWidth_QMemOpt, mChildHeight_QMemOpt, Density, Count, (Toptop<<8)|firstPosition, IsChanged);
+ }
+ @Override
+ public Bitmap getDrawingCache(boolean autoScale) {
+ if (!mIsScroll_QMemOpt || !mNativeEnable_QMemOpt) {
+ return super.getDrawingCache(autoScale);
+ }
+ return NativeOnGetdrawingCache();
+ }
+
+
+ /**
+ * @hide
+ */
+ protected View obtainView_QMemOpt(int index) {
+ return obtainView(index, mIsScrap);
+ }
+
+ private native boolean NativeEnable();
+
+ private native int NativeOnDraw(Canvas canvas,
+ int NativeCode,
+ int HorizontalSpacing,
+ int VerticalSpacing,
+ int numColumns,
+ int WidthSize,
+ int HeightSize,
+ int ListPaddingTop,
+ int ListPaddingLeft,
+ int ChildWidth,
+ int ChildHeight,
+ int Density,
+ int Count,
+ int Offset,
+ boolean IsChanged);
+
+ private native Bitmap NativeOnGetdrawingCache();
}
diff --git a/frameworks/base/core/jni/Android.mk b/frameworks/base/core/jni/Android.mk
index faa5a691e..b7e20b6e7 100644..100755
--- a/frameworks/base/core/jni/Android.mk
+++ b/frameworks/base/core/jni/Android.mk
@@ -213,7 +213,8 @@ LOCAL_SHARED_LIBRARIES := \
libmedia \
libwpa_client \
libjpeg \
- libnfc_ndef
+ libnfc_ndef \
+ libgridview_QMemOpt
ifeq ($(BOARD_HAVE_BLUETOOTH),true)
LOCAL_C_INCLUDES += \
diff --git a/frameworks/base/core/jni/AndroidRuntime.cpp b/frameworks/base/core/jni/AndroidRuntime.cpp
index cf0ee3d40..febfcfffc 100644..100755
--- a/frameworks/base/core/jni/AndroidRuntime.cpp
+++ b/frameworks/base/core/jni/AndroidRuntime.cpp
@@ -1,4 +1,6 @@
-/* //device/libs/android_runtime/AndroidRuntime.cpp
+/*
+** Copyright (c) 2011, Code Aurora Forum. All rights reserved.
+** //device/libs/android_runtime/AndroidRuntime.cpp
**
** Copyright 2006, The Android Open Source Project
**
@@ -173,6 +175,7 @@ extern int register_android_view_KeyEvent(JNIEnv* env);
extern int register_android_view_MotionEvent(JNIEnv* env);
extern int register_android_content_res_ObbScanner(JNIEnv* env);
extern int register_android_content_res_Configuration(JNIEnv* env);
+extern int register_android_widget_GridView(JNIEnv* env);
static AndroidRuntime* gCurRuntime = NULL;
@@ -1300,6 +1303,7 @@ static const RegJNIRec gRegJNI[] = {
REG_JNI(register_android_content_res_ObbScanner),
REG_JNI(register_android_content_res_Configuration),
REG_JNI(register_android_hardware_fm_fmradio),
+ REG_JNI(register_android_widget_GridView),
};
/*
diff --git a/frameworks/base/core/jni/android_net_wifi_Wifi.cpp b/frameworks/base/core/jni/android_net_wifi_Wifi.cpp
index 72cc496ae..4c26eec02 100644
--- a/frameworks/base/core/jni/android_net_wifi_Wifi.cpp
+++ b/frameworks/base/core/jni/android_net_wifi_Wifi.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright 2008, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/core/jni/libgridview_QMemOpt/Android.mk b/frameworks/base/core/jni/libgridview_QMemOpt/Android.mk
new file mode 100755
index 000000000..d79e572ae
--- /dev/null
+++ b/frameworks/base/core/jni/libgridview_QMemOpt/Android.mk
@@ -0,0 +1,51 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_CFLAGS += -DHAVE_CONFIG_H -DKHTML_NO_EXCEPTIONS -DGKWQ_NO_JAVA
+LOCAL_CFLAGS += -DNO_SUPPORT_JS_BINDING -DQT_NO_WHEELEVENT -DKHTML_NO_XBL
+LOCAL_CFLAGS += -U__APPLE__
+
+ifeq ($(TARGET_ARCH), arm)
+ LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))"
+else
+ LOCAL_CFLAGS += -DPACKED=""
+endif
+
+
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_SRC_FILES:= libgridview_QMemOpt.cpp
+
+LOCAL_C_INCLUDES += \
+ $(JNI_H_INCLUDE) \
+ $(LOCAL_PATH)/../../include/utils \
+
+LOCAL_SHARED_LIBRARIES := \
+ libnativehelper \
+ libcutils \
+ libutils
+
+
+ifneq ($(TARGET_SIMULATOR),true)
+LOCAL_SHARED_LIBRARIES += \
+ libdl
+ # we need to access the private Bionic header
+ # <bionic_tls.h> in com_google_android_gles_jni_GLImpl.cpp
+ LOCAL_CFLAGS += -I$(LOCAL_PATH)/../../../../bionic/libc/private
+endif
+
+LOCAL_LDLIBS += -lpthread -ldl
+
+ifeq ($(TARGET_SIMULATOR),true)
+ifeq ($(TARGET_OS)-$(TARGET_ARCH),linux-x86)
+LOCAL_LDLIBS += -lrt
+endif
+endif
+
+ifeq ($(WITH_MALLOC_LEAK_CHECK),true)
+ LOCAL_CFLAGS += -DMALLOC_LEAK_CHECK
+endif
+
+LOCAL_MODULE:= libgridview_QMemOpt
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/frameworks/base/core/jni/libgridview_QMemOpt/libgridview_QMemOpt.cpp b/frameworks/base/core/jni/libgridview_QMemOpt/libgridview_QMemOpt.cpp
new file mode 100755
index 000000000..65f05adee
--- /dev/null
+++ b/frameworks/base/core/jni/libgridview_QMemOpt/libgridview_QMemOpt.cpp
@@ -0,0 +1,298 @@
+/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of Code Aurora 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.
+ */
+
+#define LOG_TAG "Error code: QMemOptE"
+
+#include "JNIHelp.h"
+#include "jni.h"
+#include <utils/Log.h>
+#include <utils/misc.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+//#include <sys/socket.h>
+//#include <netinet/in.h>
+#include <stdlib.h>
+//#include <unistd.h>
+
+
+#define LOGE_QMemOpt(MOD_ID, ERR_ID) LOGE("%d%03d", MOD_ID, ERR_ID)
+
+/* module id */
+#define MOD_ID_GRIDVIEW 2
+
+/* error id for general errors*/
+#define ERR_ID_DLOPEN 100
+#define ERR_ID_DLSYM 101
+#define ERR_ID_WRONGMOD 102
+#define ERR_ID_CFVIEW 103
+#define ERR_ID_CFCANVAS 104
+#define ERR_ID_CFBMC 105
+#define ERR_ID_CFBM 106
+#define ERR_ID_CFRECT 107
+#define ERR_ID_CFACTIVITY 108
+#define ERR_ID_CFINTENT 109
+#define ERR_ID_CFGRIDVIEW 110
+
+namespace android {
+
+jobject getInstance(JNIEnv* env, jclass obj_class) ;
+
+typedef int (*FUNC_PTR) (void);
+
+static int contact_sys_init_QMemOpt() {
+ // do some platform related check here
+ return 0;
+}
+
+// return value is a native drawing cache
+static jint android_widget_GridView_OnDraw(JNIEnv* env,
+ jobject obj,
+ jobject objCanvas,
+ jint mBigCache_Code,
+ jint HorizontalSpacing,
+ jint VerticalSpacing,
+ jint numColumns,
+ jint WidthSize,
+ jint HeightSize,
+ jint ListPaddingTop,
+ jint ListPaddingLeft,
+ jint ChildWidth,
+ jint ChildHeight,
+ jint Density,
+ jint Count,
+ jint Offset,
+ jboolean IsChanged)
+{
+ int mBigHeight = 0;
+ int MaxLocalRefCount = 128;
+ env->EnsureLocalCapacity(MaxLocalRefCount);
+ env->PushLocalFrame(MaxLocalRefCount);
+
+ jobject mBigCache = (jobject)mBigCache_Code;
+ jclass GridView_class = env->GetObjectClass(obj);
+ jclass View_class = env->FindClass("android/view/View");
+ if (View_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFVIEW);
+ env->PopLocalFrame(NULL);
+ return 0;
+ }
+ jclass Canvas_class = env->FindClass("android/graphics/Canvas");
+ if (Canvas_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFCANVAS);
+ env->PopLocalFrame(NULL);
+ return 0;
+ }
+ if (IsChanged && mBigCache != NULL) {
+ jclass cache_class = env->FindClass("android/graphics/Bitmap");
+ if (cache_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFBM);
+ env->PopLocalFrame(NULL);
+ return 0;
+ }
+ jmethodID recycle_id = env->GetMethodID(cache_class, "recycle", "()V");
+ env->CallVoidMethod(mBigCache, recycle_id);
+ mBigCache = NULL;
+ }
+
+ if (mBigCache == NULL) {
+ int count = Count;
+ jobject mBigCache_tmp = NULL;
+
+ if (0 != contact_sys_init_QMemOpt()) {
+ return 0;
+ }
+
+ for (int i = 0; i < count; i += numColumns) {
+ mBigHeight += ChildHeight;
+ if (i + numColumns < count) {
+ mBigHeight += VerticalSpacing;
+ }
+ }
+
+ jclass Config_class = env->FindClass("android/graphics/Bitmap$Config");
+ if (Config_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFBMC);
+ env->PopLocalFrame(NULL);
+ return 0;
+ }
+ jmethodID nativeToConfig_id = env->GetStaticMethodID(Config_class, "nativeToConfig", "(I)Landroid/graphics/Bitmap$Config;");
+ jobject Configobj = env->CallStaticObjectMethod(Config_class, nativeToConfig_id, 4);
+
+ jclass Bitmap_class = env->FindClass("android/graphics/Bitmap");
+ if (Bitmap_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFBM);
+ env->PopLocalFrame(NULL);
+ return 0;
+ }
+
+ jmethodID CreateBitmap_method = env->GetStaticMethodID(Bitmap_class, "createBitmap", "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;");
+ mBigCache_tmp = env->CallStaticObjectMethod(Bitmap_class, CreateBitmap_method, WidthSize, mBigHeight, Configobj);
+
+ jmethodID setDensity_method = env->GetMethodID(Bitmap_class, "setDensity", "(I)V");
+ env->CallVoidMethod(mBigCache_tmp, setDensity_method, Density);
+
+ jobject tempCanvas = getInstance(env, Canvas_class);
+ jmethodID setBitmap_method = env->GetMethodID(Canvas_class, "setBitmap", "(Landroid/graphics/Bitmap;)V");
+ env->CallVoidMethod(tempCanvas, setBitmap_method, mBigCache_tmp);
+
+ int index = 0;
+ int xOffset, yOffset;
+
+ jmethodID layout_method = env->GetMethodID(View_class, "layout", "(IIII)V");
+ jmethodID obtainView_method = env->GetMethodID(GridView_class, "obtainView_QMemOpt", "(I)Landroid/view/View;");
+ jmethodID draw_method = env->GetMethodID(View_class, "draw", "(Landroid/graphics/Canvas;)V");
+ jmethodID translate_method = env->GetMethodID(Canvas_class, "translate", "(FF)V");
+
+ while(index < Count) {
+
+ jobject cur_view = env->CallObjectMethod(obj, obtainView_method, index);
+
+ env->CallVoidMethod(cur_view, layout_method, 0, 0, ChildWidth, ChildHeight);
+
+ // draw it
+ xOffset = (index % numColumns) * (ChildWidth + HorizontalSpacing) + ListPaddingLeft;
+ yOffset = (index / numColumns) * (ChildHeight + VerticalSpacing) + ListPaddingTop;
+
+ env->CallVoidMethod(tempCanvas, translate_method, (jfloat)xOffset, (jfloat)yOffset);
+ env->CallVoidMethod(cur_view, draw_method, tempCanvas);
+ env->CallVoidMethod(tempCanvas, translate_method, -(jfloat)xOffset, -(jfloat)yOffset);
+
+ index++;
+ }
+
+ mBigCache = env->NewGlobalRef(mBigCache_tmp);
+ }
+
+ // performance critical path
+
+ int firstPosition = Offset&0xFF;
+ int topTop = Offset>>8;
+
+ int YOffSet = (firstPosition / numColumns) * (ChildHeight + VerticalSpacing)
+ + ListPaddingTop - topTop;
+
+ jclass Rect_class = env->FindClass("android/graphics/Rect");
+ if (Rect_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFRECT);
+ env->PopLocalFrame(NULL);
+ return 0;
+ }
+ jmethodID Rect_construction_id = env->GetMethodID(Rect_class, "<init>", "(IIII)V");
+ jobject src_Rect = env->NewObject(Rect_class, Rect_construction_id, 0, YOffSet, WidthSize, YOffSet + HeightSize);
+ jobject dst_Rect = env->NewObject(Rect_class, Rect_construction_id, 0, 0, WidthSize, HeightSize);
+
+
+ jmethodID drawBitmap_method = env->GetMethodID(Canvas_class, "drawBitmap",
+ "(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V");
+
+ env->CallVoidMethod(objCanvas, drawBitmap_method, mBigCache, src_Rect, dst_Rect, NULL);
+
+ env->PopLocalFrame(NULL);
+
+ return (jint)mBigCache;
+}
+
+static jobject android_widget_GridView_GetDrawingCache(JNIEnv* env, jobject obj)
+{
+ return NULL;
+}
+
+static jboolean android_widget_GridView_NativeEnable(JNIEnv* env, jobject obj)
+{
+ if (0 != contact_sys_init_QMemOpt()) {
+ return false;
+ }
+
+ jclass GridView_class = env->GetObjectClass(obj);
+ jmethodID getContext_method = env->GetMethodID(GridView_class, "getContext", "()Landroid/content/Context;");
+ jobject context_obj = env->CallObjectMethod(obj, getContext_method);
+
+ jclass activity_class = env->FindClass("android/app/Activity");
+ if (activity_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFACTIVITY);
+ return false;
+ }
+
+ if (!env->IsInstanceOf(context_obj, activity_class)) {
+ return false;
+ }
+
+ jmethodID getIntent_method = env->GetMethodID(activity_class, "getIntent", "()Landroid/content/Intent;");
+ jobject Intent_obj = env->CallObjectMethod(context_obj, getIntent_method);
+
+ jclass Intent_class = env->FindClass("android/content/Intent");
+ if (Intent_class == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFINTENT);
+ return false;
+ }
+ jmethodID hasCategory_method = env->GetMethodID(Intent_class, "hasCategory", "(Ljava/lang/String;)Z");
+ jstring home_jstring = env->NewStringUTF("android.intent.category.HOME");
+
+ return env->CallBooleanMethod(Intent_obj, hasCategory_method, home_jstring);
+}
+
+static JNINativeMethod sMethods[] = {
+ /* name, signature, funcPtr */
+ {"NativeEnable", "()Z", (void*)android_widget_GridView_NativeEnable},
+ {"NativeOnDraw", "(Landroid/graphics/Canvas;IIIIIIIIIIIIIZ)I", (void*)android_widget_GridView_OnDraw},
+ {"NativeOnGetdrawingCache", "()Landroid/graphics/Bitmap;", (void*)android_widget_GridView_GetDrawingCache},
+};
+
+int register_android_widget_GridView(JNIEnv* env)
+{
+ jclass clazz = env->FindClass("android/widget/GridView");
+
+ if (clazz == NULL)
+ {
+ LOGE_QMemOpt(MOD_ID_GRIDVIEW, ERR_ID_CFGRIDVIEW);
+ return -1;
+ }
+
+ return jniRegisterNativeMethods(env, "android/widget/GridView",
+ sMethods, NELEM(sMethods));
+}
+
+jobject getInstance(JNIEnv* env, jclass obj_class)
+{
+ jmethodID construction_id = env->GetMethodID(obj_class, "<init>", "()V");
+ jobject obj = env->NewObject(obj_class, construction_id);
+ return obj;
+}
+
+} /* namespace android */
diff --git a/frameworks/base/core/res/res/layout/recent_apps_dialog.xml b/frameworks/base/core/res/res/layout/recent_apps_dialog.xml
index 8eaeea5c0..a9cff2f87 100644
--- a/frameworks/base/core/res/res/layout/recent_apps_dialog.xml
+++ b/frameworks/base/core/res/res/layout/recent_apps_dialog.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
+** Copyright (c) 2011, Code Aurora Forum. All rights reserved.
** Copyright 2008, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,7 +30,7 @@
<!-- Title -->
<TextView
android:layout_width="wrap_content"
- android:layout_height="40dip"
+ android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#80FFFFFF"
@@ -99,7 +100,7 @@
<!-- spacer to balance out the title above -->
<FrameLayout
- android:layout_height="30dip"
+ android:layout_height="15dip"
android:layout_width="match_parent"
/>
diff --git a/frameworks/base/core/res/res/values-zh-rCN/strings.xml b/frameworks/base/core/res/res/values-zh-rCN/strings.xml
index c0c152dc1..13bb2080d 100644
--- a/frameworks/base/core/res/res/values-zh-rCN/strings.xml
+++ b/frameworks/base/core/res/res/values-zh-rCN/strings.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
+<!--
/* //device/apps/common/assets/res/any/strings.xml
**
+** Copyright (c) 2011, Code Aurora Forum. All rights reserved.
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
@@ -855,14 +856,14 @@
<string name="ext_media_badremoval_notification_title" product="default" msgid="6872152882604407837">"SD 卡未正常移除"</string>
<string name="ext_media_badremoval_notification_message" product="nosdcard" msgid="4329848819865594241">"请先卸载 USB 存储设备,再将其移除,以防数据丢失。"</string>
<string name="ext_media_badremoval_notification_message" product="default" msgid="7260183293747448241">"请先卸载 SD 卡,再将其移除,以防数据丢失。"</string>
- <string name="ext_media_safe_unmount_notification_title" product="nosdcard" msgid="3967973893270360230">"USB 存储设备已安全移除"</string>
- <string name="ext_media_safe_unmount_notification_title" product="default" msgid="6729801130790616200">"SD 卡已安全移除"</string>
- <string name="ext_media_safe_unmount_notification_message" product="nosdcard" msgid="6142195361606493530">"您可以安全地移除 USB 存储设备。"</string>
- <string name="ext_media_safe_unmount_notification_message" product="default" msgid="568841278138377604">"您现在可以安全移除 SD 卡。"</string>
+ <string name="ext_media_safe_unmount_notification_title" product="nosdcard" msgid="3967973893270360230">"USB 存储设备已移除"</string>
+ <string name="ext_media_safe_unmount_notification_title" product="default" msgid="6729801130790616200">"SD 卡已移除"</string>
+ <string name="ext_media_safe_unmount_notification_message" product="nosdcard" msgid="6142195361606493530">"系统已将 USB 存储设备移除。"</string>
+ <string name="ext_media_safe_unmount_notification_message" product="default" msgid="568841278138377604">"系统已将 SD 卡移除。"</string>
<string name="ext_media_nomedia_notification_title" product="nosdcard" msgid="4486377230140227651">"USB 存储设备已移除"</string>
- <string name="ext_media_nomedia_notification_title" product="default" msgid="8902518030404381318">"已移除 SD 卡"</string>
- <string name="ext_media_nomedia_notification_message" product="nosdcard" msgid="6921126162580574143">"USB 存储设备已移除。请插入新媒体。"</string>
- <string name="ext_media_nomedia_notification_message" product="default" msgid="3870120652983659641">"SD 卡已移除。请插入新的 SD 卡。"</string>
+ <string name="ext_media_nomedia_notification_title" product="default" msgid="8902518030404381318">" SD 卡已移除"</string>
+ <string name="ext_media_nomedia_notification_message" product="nosdcard" msgid="6921126162580574143">"系统已将 USB 存储设备移除。"</string>
+ <string name="ext_media_nomedia_notification_message" product="default" msgid="3870120652983659641">"系统已将 SD 卡移除。"</string>
<string name="activity_list_empty" msgid="4168820609403385789">"找不到匹配的活动"</string>
<string name="permlab_pkgUsageStats" msgid="8787352074326748892">"更新组件使用情况统计"</string>
<string name="permdesc_pkgUsageStats" msgid="891553695716752835">"允许修改收集的组件使用情况统计。普通应用程序不能使用此权限。"</string>
diff --git a/frameworks/base/core/res/res/values/attrs.xml b/frameworks/base/core/res/res/values/attrs.xml
index 051e5dae1..e16aabaa1 100755
--- a/frameworks/base/core/res/res/values/attrs.xml
+++ b/frameworks/base/core/res/res/values/attrs.xml
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2006 The Android Open Source Project
+<!--
+ Copyright (c) 2011, Code Aurora Forum. All rights reserved.
+ Copyright (C) 2006 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.
diff --git a/frameworks/base/core/res/res/values/public.xml b/frameworks/base/core/res/res/values/public.xml
index 57fdf4c1e..03d17e989 100644
--- a/frameworks/base/core/res/res/values/public.xml
+++ b/frameworks/base/core/res/res/values/public.xml
@@ -1,3 +1,19 @@
+<!--
+ *
+ * Copyright (c) 2011, 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.
+ -->
<!-- This file defines the base public resources exported by the
platform, which must always exist. -->
diff --git a/frameworks/base/core/res/res/values/strings.xml b/frameworks/base/core/res/res/values/strings.xml
index 6c70bfeca..544fbc318 100644
--- a/frameworks/base/core/res/res/values/strings.xml
+++ b/frameworks/base/core/res/res/values/strings.xml
@@ -2307,20 +2307,20 @@
<string name="ext_media_badremoval_notification_message" product="default">Unmount SD card before removing to avoid data loss.</string>
<!-- Shown when external media has been safely removed [CHAR LIMIT=30] -->
- <string name="ext_media_safe_unmount_notification_title" product="nosdcard">USB storage safe to remove</string>
+ <string name="ext_media_safe_unmount_notification_title" product="nosdcard">USB storage is removed</string>
<!-- Shown when external media has been safely removed -->
- <string name="ext_media_safe_unmount_notification_title" product="default">SD card safe to remove</string>
+ <string name="ext_media_safe_unmount_notification_title" product="default">SD card is removed</string>
<!-- Shown when external media has been safely removed. [CHAR LIMIT=NONE] -->
- <string name="ext_media_safe_unmount_notification_message" product="nosdcard">You can safely remove USB storage.</string>
- <string name="ext_media_safe_unmount_notification_message" product="default">You can safely remove SD card.</string>
+ <string name="ext_media_safe_unmount_notification_message" product="nosdcard">Phone has already removed USB storage.</string>
+ <string name="ext_media_safe_unmount_notification_message" product="default">Phone has already removed SD card.</string>
<!-- Shown when external media is missing [CHAR LIMIT=30] -->
- <string name="ext_media_nomedia_notification_title" product="nosdcard">Removed USB storage</string>
+ <string name="ext_media_nomedia_notification_title" product="nosdcard">USB storage is removed</string>
<!-- Shown when external media is missing -->
- <string name="ext_media_nomedia_notification_title" product="default">Removed SD card</string>
+ <string name="ext_media_nomedia_notification_title" product="default">SD card is removed</string>
<!-- Shown when external media is missing. [CHAR LIMIT=NONE] -->
- <string name="ext_media_nomedia_notification_message" product="nosdcard">USB storage removed. Insert new media.</string>
- <string name="ext_media_nomedia_notification_message" product="default">SD card removed. Insert a new one.</string>
+ <string name="ext_media_nomedia_notification_message" product="nosdcard">Phone has already removed USB storage.</string>
+ <string name="ext_media_nomedia_notification_message" product="default">Phone has already removed SD card.</string>
<!-- Shown in LauncherActivity when the requested target Intent didn't return any matching Activities, leaving the list empty. -->
<string name="activity_list_empty">No matching activities found</string>
diff --git a/frameworks/base/core/res/res/xml/apns.xml b/frameworks/base/core/res/res/xml/apns.xml
index 7b36e52de..5e0072905 100644
--- a/frameworks/base/core/res/res/xml/apns.xml
+++ b/frameworks/base/core/res/res/xml/apns.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
+** Copyright (c) 2011, Code Aurora Forum. All rights reserved.
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/data/sounds/OriginalAudio.mk b/frameworks/base/data/sounds/OriginalAudio.mk
index 291f0b6b9..03a3ec92d 100644..100755
--- a/frameworks/base/data/sounds/OriginalAudio.mk
+++ b/frameworks/base/data/sounds/OriginalAudio.mk
@@ -67,4 +67,6 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/effects/VideoRecord.ogg:system/media/audio/ui/VideoRecord.ogg \
$(LOCAL_PATH)/effects/camera_click.ogg:system/media/audio/ui/camera_click.ogg \
$(LOCAL_PATH)/newwavelabs/CrazyDream.ogg:system/media/audio/ringtones/CrazyDream.ogg \
- $(LOCAL_PATH)/newwavelabs/DreamTheme.ogg:system/media/audio/ringtones/DreamTheme.ogg
+ $(LOCAL_PATH)/newwavelabs/DreamTheme.ogg:system/media/audio/ringtones/DreamTheme.ogg \
+ $(LOCAL_PATH)/effects/Lock.ogg:system/media/audio/ui/Lock.ogg \
+ $(LOCAL_PATH)/effects/Unlock.ogg:system/media/audio/ui/Unlock.ogg
diff --git a/frameworks/base/graphics/java/android/graphics/BitmapFactory.java b/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
index 3f1a5663c..04171a440 100644..100755
--- a/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
+++ b/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -73,7 +74,8 @@ public class BitmapFactory {
* Image are loaded with the {@link Bitmap.Config#ARGB_8888} config by
* default.
*/
- public Bitmap.Config inPreferredConfig = Bitmap.Config.ARGB_8888;
+ //public Bitmap.Config inPreferredConfig = Bitmap.Config.ARGB_8888;
+ public Bitmap.Config inPreferredConfig;
/**
* If dither is true, the decoder will attempt to dither the decoded
diff --git a/frameworks/base/include/media/stagefright/DataSource.h b/frameworks/base/include/media/stagefright/DataSource.h
index 4e5a20910..ba41c33d8 100644
--- a/frameworks/base/include/media/stagefright/DataSource.h
+++ b/frameworks/base/include/media/stagefright/DataSource.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 The Android Open Source Project
+ * Copyright (C) 2011, 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.
@@ -43,7 +44,7 @@ public:
const char *uri,
const KeyedVector<String8, String8> *headers = NULL);
- DataSource() {}
+ DataSource();// {}
virtual status_t initCheck() const = 0;
@@ -74,6 +75,7 @@ public:
static void RegisterDefaultSniffers();
protected:
+ bool isHttp;
virtual ~DataSource() {}
private:
diff --git a/frameworks/base/include/private/surfaceflinger/SharedBufferStack.h b/frameworks/base/include/private/surfaceflinger/SharedBufferStack.h
index f57b56ce9..8f911291e 100644
--- a/frameworks/base/include/private/surfaceflinger/SharedBufferStack.h
+++ b/frameworks/base/include/private/surfaceflinger/SharedBufferStack.h
@@ -181,12 +181,41 @@ protected:
status_t updateCondition(T update);
};
+/*
+ * During Monkey runs, sometimes, a process, holding SharedClient
+ * LOCK, dies while holding that lock. Since SharedClient lock is
+ * of type SHARED, SF and Binder threads cannot acquire it anymore
+ * causing a system hang. Since it seems like posix would not allow
+ * us to unlock a mutex not owned by the caller thread, we are out
+ * of luck and need to ignore that update.
+ * It is assumed to be safe since because if the client dies (process
+ * dies which was the client to SF), so it is safe to ignore all related
+ * pending updates and/or transactions.
+ * */
+class SharedClientTryLock {
+public:
+ SharedClientTryLock(Mutex& m);
+ ~SharedClientTryLock() {
+ if(LOCKED == _status) {
+ _m.unlock();
+ }
+ }
+ bool locked() const { return _status == LOCKED; }
+private:
+ enum Status { LOCKED, UNLOCKED } _status;
+ Mutex& _m;
+};
+
template <typename T>
status_t SharedBufferBase::updateCondition(T update) {
SharedClient& client( *mSharedClient );
- Mutex::Autolock _l(client.lock);
- ssize_t result = update();
- client.cv.broadcast();
+ SharedClientTryLock _l(client.lock);
+ ssize_t result = 0;
+ if(_l.locked()) {
+ // only update+broadcast if we acquired the lock
+ result = update();
+ client.cv.broadcast();
+ }
return result;
}
diff --git a/frameworks/base/libs/surfaceflinger_client/SharedBufferStack.cpp b/frameworks/base/libs/surfaceflinger_client/SharedBufferStack.cpp
index 5cacb60bc..e775603b9 100644
--- a/frameworks/base/libs/surfaceflinger_client/SharedBufferStack.cpp
+++ b/frameworks/base/libs/surfaceflinger_client/SharedBufferStack.cpp
@@ -28,6 +28,7 @@
#include <ui/Rect.h>
#include <ui/Region.h>
+#include <cutils/properties.h>
#define DEBUG_ATOMICS 0
@@ -50,6 +51,28 @@ status_t SharedClient::validate(size_t i) const {
return surfaces[i].status;
}
+SharedClientTryLock::SharedClientTryLock(Mutex& m) :
+ _status(UNLOCKED), _m(m)
+{
+ /* trylock with sleeps of 1ms for times. total of 0.5 sec*/
+ const uint32_t U_TIMEOUT = 1000;
+ enum { MAX_WAIT_COUNT = 500 };
+ for(uint32_t i=0; i < MAX_WAIT_COUNT; ++i){
+ if(0 == _m.tryLock()){
+ // we got the lock
+ _status = LOCKED;
+ break;
+ }
+ // sleep for U_TIMEOUT microsec
+ usleep(U_TIMEOUT);
+ }
+ // we could not get the lock, LOGE here.
+ if(!locked()) {
+ LOGD("SharedBufferBase::updateCondition could not acquire lock "
+ "within 1sec giving up");
+ }
+}
+
// ----------------------------------------------------------------------------
@@ -221,7 +244,6 @@ status_t SharedBufferBase::waitForCondition(const ConditionBase& condition)
(stack.status == NO_ERROR))
{
status_t err = client.cv.waitRelative(client.lock, TIMEOUT);
-
// handle errors and timeouts
if (CC_UNLIKELY(err != NO_ERROR)) {
if (err == TIMED_OUT) {
@@ -231,11 +253,16 @@ status_t SharedBufferBase::waitForCondition(const ConditionBase& condition)
"shouldn't happen." , condition.name(), stack.identity);
break;
} else {
- if(count % 11 == 10) {
- LOGE("waitForCondition(%s) timed out (identity=%d), count %d" , condition.name(), stack.identity, count);
- return err;
- }
- count++;
+ LOGW("waitForCondition(%s)(identity=%d), [ head=%2d, available=%2d, queued=%2d ] "
+ "reallocMask=%08x, status=%d",
+ condition.name(), stack.identity, stack.head, stack.available, stack.queued,
+ stack.reallocMask, stack.status);
+
+ if(count % 10 == 3) {
+ LOGW("waitForCondition(%s) timed out (identity=%d), count %d" , condition.name(), stack.identity, count);
+ property_set("ctl.start", "dump_to_flash");
+ }
+ count++;
LOGW("waitForCondition(%s) timed out "
"(identity=%d, status=%d). "
diff --git a/frameworks/base/libs/ui/EventHub.cpp b/frameworks/base/libs/ui/EventHub.cpp
index 91cf75331..c200ad14f 100644
--- a/frameworks/base/libs/ui/EventHub.cpp
+++ b/frameworks/base/libs/ui/EventHub.cpp
@@ -1,3 +1,19 @@
+/*
+ *
+ * Copyright (c) 2011, 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.
+ */
//
// Copyright 2005 The Android Open Source Project
//
diff --git a/frameworks/base/media/java/android/media/AudioManager.java b/frameworks/base/media/java/android/media/AudioManager.java
index cba44e8d2..06ab504c5 100644
--- a/frameworks/base/media/java/android/media/AudioManager.java
+++ b/frameworks/base/media/java/android/media/AudioManager.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/media/java/android/media/AudioSystem.java b/frameworks/base/media/java/android/media/AudioSystem.java
index 8bd1b07fa..55f2d2d8c 100755
--- a/frameworks/base/media/java/android/media/AudioSystem.java
+++ b/frameworks/base/media/java/android/media/AudioSystem.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/media/java/android/media/MediaScanner.java b/frameworks/base/media/java/android/media/MediaScanner.java
index feb072971..fe277ee9c 100644
--- a/frameworks/base/media/java/android/media/MediaScanner.java
+++ b/frameworks/base/media/java/android/media/MediaScanner.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/media/java/android/media/RingtoneManager.java b/frameworks/base/media/java/android/media/RingtoneManager.java
index 3ac0c0c44..fe55dcb1d 100644
--- a/frameworks/base/media/java/android/media/RingtoneManager.java
+++ b/frameworks/base/media/java/android/media/RingtoneManager.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/media/libmedia/AudioTrack.cpp b/frameworks/base/media/libmedia/AudioTrack.cpp
index dca8857a4..ad4c810de 100644
--- a/frameworks/base/media/libmedia/AudioTrack.cpp
+++ b/frameworks/base/media/libmedia/AudioTrack.cpp
@@ -506,7 +506,7 @@ void AudioTrack::stop()
flush();
}
if (t != 0) {
- t->requestExitAndWait();
+ t->requestExit();
} else {
setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_NORMAL);
}
diff --git a/frameworks/base/media/libstagefright/AudioPlayer.cpp b/frameworks/base/media/libstagefright/AudioPlayer.cpp
index ade4b25bb..5c015d441 100644..100755
--- a/frameworks/base/media/libstagefright/AudioPlayer.cpp
+++ b/frameworks/base/media/libstagefright/AudioPlayer.cpp
@@ -1,4 +1,5 @@
/*
+ *Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -321,10 +322,6 @@ size_t AudioPlayer::fillBuffer(void *data, size_t size) {
mInputBuffer = NULL;
}
- mSeeking = false;
- if (mObserver) {
- mObserver->postAudioSeekComplete();
- }
}
}
@@ -399,7 +396,13 @@ size_t AudioPlayer::fillBuffer(void *data, size_t size) {
mInputBuffer->range_length(),
mPositionTimeMediaUs / 1E6, mPositionTimeRealUs / 1E6);
}
-
+ if(mSeeking)
+ {
+ mSeeking = false;
+ if (mObserver) {
+ mObserver->postAudioSeekComplete();
+ }
+ }
if (mInputBuffer->range_length() == 0) {
mInputBuffer->release();
mInputBuffer = NULL;
diff --git a/frameworks/base/media/libstagefright/AwesomePlayer.cpp b/frameworks/base/media/libstagefright/AwesomePlayer.cpp
index b54f824cc..5c41ba9a2 100755
--- a/frameworks/base/media/libstagefright/AwesomePlayer.cpp
+++ b/frameworks/base/media/libstagefright/AwesomePlayer.cpp
@@ -1,6 +1,7 @@
/*
+ * Copyright (C) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2009 The Android Open Source Project
- * Copyright (C) 2010-2011 Code Aurora Forum
+ * Copyright (C) 2010-2011 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.
@@ -883,7 +884,7 @@ status_t AwesomePlayer::play_l() {
mTimeSource = mAudioPlayer;
- mWatchForAudioSeekComplete = false;
+ mWatchForAudioSeekComplete = mSeeking;
mWatchForAudioEOS = true;
}
} else {
@@ -1322,9 +1323,8 @@ void AwesomePlayer::onVideoEvent() {
MediaSource::ReadOptions options;
if (mSeeking) {
LOGV("seeking to %lld us (%.2f secs)", mSeekTimeUs, mSeekTimeUs / 1E6);
-
- options.setSeekTo(
- mSeekTimeUs, MediaSource::ReadOptions::SEEK_CLOSEST_SYNC);
+ options.setSeekTo(
+ mSeekTimeUs, MediaSource::ReadOptions::SEEK_PREVIOUS_SYNC);
}
for (;;) {
status_t err = mVideoSource->read(&mVideoBuffer[mVideoQueueBack], &options);
@@ -1694,6 +1694,7 @@ status_t AwesomePlayer::finishSetDataSource_l() {
mConnectingDataSource, 50 * 1024 /* bytes/sec */));
#else
mCachedSource = new NuCachedSource2(mConnectingDataSource);
+ mCachedSource->setIsHttp(true);
#endif
mConnectingDataSource.clear();
diff --git a/frameworks/base/media/libstagefright/DataSource.cpp b/frameworks/base/media/libstagefright/DataSource.cpp
index 111dc7ec4..7e0c4681e 100644
--- a/frameworks/base/media/libstagefright/DataSource.cpp
+++ b/frameworks/base/media/libstagefright/DataSource.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2009 The Android Open Source Project
- *
+ * Copyright (C) 2011, 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
@@ -33,6 +33,9 @@
#include <utils/String8.h>
namespace android {
+DataSource::DataSource(){
+ isHttp = false;
+}
bool DataSource::getUInt16(off64_t offset, uint16_t *x) {
*x = 0;
@@ -63,13 +66,14 @@ bool DataSource::sniff(
*mimeType = "";
*confidence = 0.0f;
meta->clear();
-
+ int sniffernum=0;
Mutex::Autolock autoLock(gSnifferMutex);
for (List<SnifferFunc>::iterator it = gSniffers.begin();
it != gSniffers.end(); ++it) {
String8 newMimeType;
float newConfidence;
sp<AMessage> newMeta;
+ sniffernum++;
if ((*it)(this, &newMimeType, &newConfidence, &newMeta)) {
if (newConfidence > *confidence) {
*mimeType = newMimeType;
@@ -81,6 +85,12 @@ bool DataSource::sniff(
}
}
}
+ if(sniffernum == 10){
+ if((isHttp == true)&&(*confidence > 0.0)){
+ LOGV("In http streamer:Ignore AAC sniffer due to long time - confidence = %f, mimeType = %s",*confidence,mimeType->string());
+ break;
+ }
+ }
}
return *confidence > 0.0;
diff --git a/frameworks/base/media/libstagefright/NuCachedSource2.cpp b/frameworks/base/media/libstagefright/NuCachedSource2.cpp
index 419ae1c4a..54e996e81 100644
--- a/frameworks/base/media/libstagefright/NuCachedSource2.cpp
+++ b/frameworks/base/media/libstagefright/NuCachedSource2.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2010 The Android Open Source Project
- *
+ * Copyright (C) 2011, 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
@@ -199,7 +199,9 @@ NuCachedSource2::~NuCachedSource2() {
delete mCache;
mCache = NULL;
}
-
+void NuCachedSource2::setIsHttp(bool symbol){
+ isHttp = symbol;
+}
status_t NuCachedSource2::initCheck() const {
return mSource->initCheck();
}
diff --git a/frameworks/base/media/libstagefright/include/NuCachedSource2.h b/frameworks/base/media/libstagefright/include/NuCachedSource2.h
index 0d2ddf5c4..fd8d4d39b 100644
--- a/frameworks/base/media/libstagefright/include/NuCachedSource2.h
+++ b/frameworks/base/media/libstagefright/include/NuCachedSource2.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2010 The Android Open Source Project
- *
+ * Copyright (C) 2011, 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
@@ -105,7 +105,7 @@ private:
public:
void setThresholds(size_t lowWaterThreshold, size_t highWaterThreshold);
void getThresholds(size_t& lowWaterThreshold, size_t& highWaterThreshold);
-
+ void setIsHttp(bool symbol);
private:
size_t mHighWaterThreshold;
size_t mLowWaterThreshold;
diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index 41119af4d..1be4586e1 100644
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/packages/SystemUI/AndroidManifest.xml b/frameworks/base/packages/SystemUI/AndroidManifest.xml
index a979d65fa..1b8d0bf15 100644
--- a/frameworks/base/packages/SystemUI/AndroidManifest.xml
+++ b/frameworks/base/packages/SystemUI/AndroidManifest.xml
@@ -1,3 +1,18 @@
+<!--
+ Copyright (C) 2010-2011, 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.
+ -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.systemui"
android:sharedUserId="android.uid.system"
@@ -61,5 +76,9 @@
android:finishOnCloseSystemDialogs="true"
android:excludeFromRecents="true">
</activity>
+
+ <activity android:name=".usb.StorageMountChoser"
+ android:theme="@android:style/Theme.NoDisplay">
+ </activity>
</application>
</manifest>
diff --git a/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml b/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
index 5a8c0cb57..7e5e87df4 100644
--- a/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
+++ b/frameworks/base/packages/SystemUI/res/layout/status_bar_expanded.xml
@@ -2,6 +2,7 @@
<!--
/* apps/common/assets/default/default/skins/StatusBar.xml
**
+** Copyright (c) 2011, Code Aurora Forum. All rights reserved.
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/packages/SystemUI/res/values-zh-rCN/array.xml b/frameworks/base/packages/SystemUI/res/values-zh-rCN/array.xml
new file mode 100644
index 000000000..d87f1ce32
--- /dev/null
+++ b/frameworks/base/packages/SystemUI/res/values-zh-rCN/array.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2010-2011, Code Aurora Forum. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Code Aurora 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.
+ -->
+<resources>
+ <string-array name="choose_mount">
+ <item>驱动盘读取</item>
+ <item>内存卡存取</item>
+ </string-array>
+</resources> \ No newline at end of file
diff --git a/frameworks/base/packages/SystemUI/res/values-zh-rCN/strings.xml b/frameworks/base/packages/SystemUI/res/values-zh-rCN/strings.xml
index 85eed513e..d59e2a4ae 100644
--- a/frameworks/base/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/frameworks/base/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
+ * Copyright (C) 2010-2011, Code Aurora Forum. All rights reserved.
+ *
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,7 +18,6 @@
* limitations under the License.
*/
-->
-
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="4489004083283879149">"状态栏"</string>
@@ -28,15 +29,20 @@
<string name="battery_low_subtitle" msgid="7388781709819722764">"电量所剩不多:"</string>
<string name="battery_low_percent_format" msgid="696154104579022959">"电量剩余 <xliff:g id="NUMBER">%d%%</xliff:g> 或更少。"</string>
<string name="battery_low_why" msgid="7279169609518386372">"电量使用情况"</string>
- <!-- no translation found for usb_accessory_permission_prompt (3969745913539898765) -->
+ <!-- no translation found for usb_accessory_permission_prompt (3969745913539898765)
+-->
<skip />
- <!-- no translation found for usb_device_confirm_prompt (2727793581411868504) -->
+ <!-- no translation found for usb_device_confirm_prompt (2727793581411868504)
+-->
<skip />
- <!-- no translation found for usb_accessory_confirm_prompt (3947430407252730383) -->
+ <!-- no translation found for usb_accessory_confirm_prompt (3947430407252730383)
+-->
<skip />
- <!-- no translation found for usb_accessory_uri_prompt (6332150684964235705) -->
+ <!-- no translation found for usb_accessory_uri_prompt (6332150684964235705)
+-->
<skip />
<string name="title_usb_accessory" msgid="4966265263465181372">"USB 配件"</string>
<string name="label_view" msgid="6304565553218192990">"查看"</string>
<string name="always_use_accessory" msgid="1210954576979621596">"默认情况下用于该 USB 配件"</string>
+ <string name="title_mount">设备连接</string>
</resources>
diff --git a/frameworks/base/packages/SystemUI/res/values/array.xml b/frameworks/base/packages/SystemUI/res/values/array.xml
new file mode 100644
index 000000000..d5123e601
--- /dev/null
+++ b/frameworks/base/packages/SystemUI/res/values/array.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2010-2011, Code Aurora Forum. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Code Aurora 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.
+ -->
+<resources>
+ <string-array name="choose_mount">
+ <item>Driver disk access</item>
+ <item>Memory card access</item>
+ </string-array>
+</resources> \ No newline at end of file
diff --git a/frameworks/base/packages/SystemUI/res/values/strings.xml b/frameworks/base/packages/SystemUI/res/values/strings.xml
index 6334b2a16..facc6db0a 100644
--- a/frameworks/base/packages/SystemUI/res/values/strings.xml
+++ b/frameworks/base/packages/SystemUI/res/values/strings.xml
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<!--
+<!--
/**
+ * Copyright (C) 2010-2011, Code Aurora Forum. All rights reserved.
+ *
* Copyright (c) 2009, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,7 +17,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
--->
+ -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Name of the status bar as seen in the applications info settings page. -->
<string name="app_label">Status Bar</string>
@@ -71,5 +73,6 @@
<!-- Checkbox label for USB accessory dialogs. [CHAR LIMIT=50] -->
<string name="always_use_accessory">Use by default for this USB accessory</string>
+ <string name="title_mount">Storage mount</string>
</resources>
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CarrierLabel.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CarrierLabel.java
index 2ac14fc69..ba997f4df 100644..100755
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CarrierLabel.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CarrierLabel.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,8 +22,11 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.TypedArray;
+import android.graphics.Canvas;
import android.provider.Telephony;
+import android.telephony.TelephonyManager;
import android.util.AttributeSet;
+import android.util.Log;
import android.util.Slog;
import android.view.View;
import android.widget.TextView;
@@ -44,6 +48,7 @@ import com.android.internal.R;
*/
public class CarrierLabel extends TextView {
private static String TAG = "CarrierLabel";
+ private static boolean DBG = false;
private boolean mAttached;
private int mSubscription;
private String CHINA_MOBILE = "China Mobile";
@@ -56,12 +61,17 @@ public class CarrierLabel extends TextView {
private String spn = null;
private boolean showSpn = false;
private boolean mAirplaneModeOn;
+ private static String INTENT_SIM_DISABLED = "com.android.sim.INTENT_SIM_DISABLED";
+
+ // to identify if this slot's SIM is absent or deactivated when system boot
+ private boolean checkDeactivated = false;
enum State {
Ready,
Absent,
Locked,
Error,
+ Deactivated,
Unknown;
}
public CarrierLabel(Context context) {
@@ -83,6 +93,26 @@ public class CarrierLabel extends TextView {
updateNetworkName();
}
+
+ // override this method is just to check this slot's SIM is absent or deactivated.
+ @Override
+ protected void onDraw(Canvas canvas) {
+ if (DBG) Log.d(TAG, "onDraw"+mSubscription);
+ super.onDraw(canvas);
+ if (simState==State.Absent && !checkDeactivated) {
+ if (TelephonyManager.getDefault().hasIccCard(mSubscription)) {
+ if (TelephonyManager.getSubscriptionState(mSubscription) ==
+ TelephonyManager.SUB_DEACTIVATED) {
+ simState = State.Deactivated;
+ setText(com.android.internal.R.string.subscription_disabled);
+ // since setText will cause onDraw invoked, use this var to avoid
+ // infinite loop
+ checkDeactivated = true;
+ }
+ }
+ }
+ }
+
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
@@ -93,6 +123,8 @@ public class CarrierLabel extends TextView {
filter.addAction(Telephony.Intents.SPN_STRINGS_UPDATED_ACTION);
filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+ filter.addAction(Intent.ACTION_LOCALE_CHANGED);
+ filter.addAction(INTENT_SIM_DISABLED);
getContext().registerReceiver(mIntentReceiver, filter, null, getHandler());
}
}
@@ -140,6 +172,13 @@ public class CarrierLabel extends TextView {
} else if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(action)) {
mAirplaneModeOn = intent.getBooleanExtra("state",false);
updateNetworkName();
+ } else if (Intent.ACTION_LOCALE_CHANGED.equals(action)) {
+ updateNetworkName();
+ } else if (INTENT_SIM_DISABLED.equals(action)) {
+ if (mSubscription != intent.getIntExtra("Subscription", -1))
+ return;
+ simState = State.Deactivated;
+ updateNetworkName();
}
}
};
@@ -198,6 +237,10 @@ public class CarrierLabel extends TextView {
setText(com.android.internal.R.string.lockscreen_sim_error_message_short);
break;
+ case Deactivated:
+ setText(com.android.internal.R.string.subscription_disabled);
+ break;
+
case Unknown:
setText(com.android.internal.R.string.lockscreen_missing_sim_message_short);
break;
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java
index 1ae7da462..34f77e7c1 100755
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java
@@ -659,7 +659,6 @@ public class StatusBarPolicy {
mSimIconId[i] = R.drawable.stat_sys_no_sim;
mService.setIcon(mSimIcon[i], mSimIconId[i], 0);
mService.setIconVisibility(mSimIcon[i], false);
-
// data_connection signal
mDataSignalIconId[i] = R.drawable.stat_sys_data_connected_g;
mService.setIcon(mDataIcon[i], R.drawable.stat_sys_data_connected_g, 0);
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
index 7a135427e..a4dd26f90 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarService.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageMountChoser.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageMountChoser.java
new file mode 100644
index 000000000..d97e302d1
--- /dev/null
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageMountChoser.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2010-2011, Code Aurora Forum. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of Code Aurora 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.
+ */
+package com.android.systemui.usb;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.content.DialogInterface.OnMultiChoiceClickListener;
+import android.os.Bundle;
+import android.os.Environment;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.SystemProperties;
+import android.os.storage.StorageManager;
+import android.util.Log;
+import com.android.systemui.R;
+
+public class StorageMountChoser extends Activity implements OnClickListener,
+ OnMultiChoiceClickListener {
+ private AlertDialog choseDialog;
+
+ private static final String TAG = "StorageMountChoser";
+
+ private boolean isMediaConnect = false;
+ private boolean isSDConnect = false;
+
+ private StorageManager mStorageManager = null;
+
+ private Handler mAsyncStorageHandler;
+
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ mStorageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE);
+
+ HandlerThread thr = new HandlerThread("SystemUI StorageMountChoser");
+ thr.start();
+ mAsyncStorageHandler = new Handler(thr.getLooper());
+ }
+
+ protected void onResume() {
+ super.onResume();
+ showChoseDialog();
+ }
+
+
+
+ private void updateConnectionToUI() {
+ isMediaConnect = "1".equals(SystemProperties
+ .get("persist.service.cdrom.enable"));
+ isSDConnect = mStorageManager.isUsbMassStorageEnabled();
+ }
+
+ private void updateUIToConnection() {
+ mStorageManager.setShared(isSDConnect);
+ switchUsbMassStorage(isSDConnect);
+ SystemProperties.set("persist.service.cdrom.enable",
+ isMediaConnect ? "1" : "0");
+ }
+
+ private void showChoseDialog() {
+ if(choseDialog != null && choseDialog.isShowing()){
+ return;
+ }
+ updateConnectionToUI();
+ choseDialog = new AlertDialog.Builder(this).setTitle(
+ R.string.title_mount).setMultiChoiceItems(R.array.choose_mount,
+ new boolean[] { isMediaConnect, isSDConnect }, this)
+ .setNegativeButton(android.R.string.cancel, this)
+ .setNeutralButton(android.R.string.ok, this).setCancelable(
+ false).create();
+ choseDialog.show();
+ }
+
+ public void onClick(DialogInterface dialog, int which) {
+ if (DialogInterface.BUTTON_NEUTRAL == which) {
+ updateUIToConnection();
+ }
+ dialog.dismiss();
+ finish();
+ }
+
+ public void onClick(DialogInterface dialog, int which, boolean isChecked) {
+ switch (which) {
+ case 1: {
+ isSDConnect = isChecked;
+ break;
+ }
+ case 0: {
+ isMediaConnect = isChecked;
+ break;
+ }
+ }
+ }
+
+ private void switchUsbMassStorage(final boolean on) {
+
+ if (SystemProperties.getBoolean("ro.monkey", false)) {
+ Log.d(TAG, "Monkey Running: Switching to UsbMassStorage disabled");
+ return;
+ }
+
+ mAsyncStorageHandler.post(new Runnable() {
+ public void run() {
+ if (on) {
+ mStorageManager.enableUsbMassStorage();
+ } else {
+ mStorageManager.disableUsbMassStorage();
+ }
+ }
+ });
+ }
+} \ No newline at end of file
diff --git a/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
index b4300179c..1b77e0189 100644
--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2010-2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2010 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package com.android.systemui.usb;
import android.app.Notification;
@@ -41,10 +41,10 @@ public class StorageNotification extends StorageEventListener {
* Binder context for this service
*/
private Context mContext;
-
+
/**
* The notification that is shown when a USB mass storage host
- * is connected.
+ * is connected.
* <p>
* This is lazily created, so use {@link #setUsbStorageNotification()}.
*/
@@ -64,24 +64,30 @@ public class StorageNotification extends StorageEventListener {
private boolean mUmsAvailable;
private StorageManager mStorageManager;
private MediaPlayer mMedia;
- private int mSoundId;
+ private static final int mSoundId = com.android.internal.R.raw.sd_card_prompt;;
private boolean mPlaySoundOnMountState = false;
+ private boolean mUsbCdromStorageEnabled = true;
+ private Class mUsbActivityClass = com.android.systemui.usb.UsbStorageActivity.class;
private Handler mAsyncEventHandler;
+ private boolean mBadRmovalState = false;
public StorageNotification(Context context) {
mContext = context;
+ if (mUsbCdromStorageEnabled) {
+ mUsbActivityClass = com.android.systemui.usb.StorageMountChoser.class;
+ }
+
mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
final boolean connected = mStorageManager.isUsbMassStorageConnected();
Slog.d(TAG, String.format( "Startup with UMS connection %s (media state %s)", mUmsAvailable,
Environment.getExternalStorageState()));
-
+
HandlerThread thr = new HandlerThread("SystemUI StorageNotification");
thr.start();
mAsyncEventHandler = new Handler(thr.getLooper());
mMedia = null;
- mSoundId = com.android.internal.R.raw.sd_card_prompt;
onUsbMassStorageConnectionChanged(connected);
}
@@ -141,7 +147,7 @@ public class StorageNotification extends StorageEventListener {
* for stopping UMS.
*/
Intent intent = new Intent();
- intent.setClass(mContext, com.android.systemui.usb.UsbStorageActivity.class);
+ intent.setClass(mContext, mUsbActivityClass);
PendingIntent pi = PendingIntent.getActivity(mContext, 0, intent, 0);
setUsbStorageNotification(
com.android.internal.R.string.usb_storage_stop_notification_title,
@@ -167,7 +173,7 @@ public class StorageNotification extends StorageEventListener {
mMedia.stop();
}
mMedia = MediaPlayer.create(mContext, mSoundId);
- mMedia.start();
+ if (mMedia != null) mMedia.start();
}
setMediaStorageNotification(0, 0, 0, false, false, null);
updateUsbMassStorageNotification(mUmsAvailable);
@@ -191,11 +197,13 @@ public class StorageNotification extends StorageEventListener {
* Show safe to unmount media notification, and enable UMS
* notification if connected.
*/
- if (Environment.isExternalStorageRemovable()) {
- setMediaStorageNotification(
+ if (Environment.isExternalStorageRemovable() ) {
+ if (oldState.equals(Environment.MEDIA_MOUNTED)) {
+ setMediaStorageNotification(
com.android.internal.R.string.ext_media_safe_unmount_notification_title,
com.android.internal.R.string.ext_media_safe_unmount_notification_message,
com.android.internal.R.drawable.stat_notify_sdcard, true, true, null);
+ }
} else {
// This device does not have removable storage, so
// don't tell the user they can remove it.
@@ -237,37 +245,42 @@ public class StorageNotification extends StorageEventListener {
setMediaStorageNotification(
com.android.internal.R.string.ext_media_unmountable_notification_title,
com.android.internal.R.string.ext_media_unmountable_notification_message,
- com.android.internal.R.drawable.stat_notify_sdcard_usb, true, false, pi);
+ com.android.internal.R.drawable.stat_notify_sdcard_usb, true, false, pi);
updateUsbMassStorageNotification(mUmsAvailable);
} else if (newState.equals(Environment.MEDIA_REMOVED)) {
/*
* Storage has been removed. Show nomedia media notification,
* and disable UMS notification regardless of connection state.
*/
-
- setMediaStorageNotification(
- com.android.internal.R.string.ext_media_nomedia_notification_title,
- com.android.internal.R.string.ext_media_nomedia_notification_message,
- com.android.internal.R.drawable.stat_notify_sdcard_usb,
- true, false, null);
- updateUsbMassStorageNotification(false);
+ if (!mBadRmovalState) {
+ setMediaStorageNotification(
+ com.android.internal.R.string.ext_media_nomedia_notification_title,
+ com.android.internal.R.string.ext_media_nomedia_notification_message,
+ com.android.internal.R.drawable.stat_notify_sdcard_usb,
+ true, false, null);
+ updateUsbMassStorageNotification(false);
+ } else {
+ mBadRmovalState = false;
+ setMediaStorageNotification(0, 0, 0, false, false, null);
+ }
} else if (newState.equals(Environment.MEDIA_BAD_REMOVAL)) {
/*
* Storage has been removed unsafely. Show bad removal media notification,
* and disable UMS notification regardless of connection state.
*/
+ mBadRmovalState = true;
if(null != mMedia) {
mMedia.stop();
}
mMedia = MediaPlayer.create(mContext, mSoundId);
- mMedia.start();
+ if (mMedia != null) mMedia.start();
setMediaStorageNotification(
com.android.internal.R.string.ext_media_badremoval_notification_title,
com.android.internal.R.string.ext_media_badremoval_notification_message,
com.android.internal.R.drawable.stat_sys_warning,
true, true, null);
- updateUsbMassStorageNotification(false);
+ updateUsbMassStorageNotification(false);
} else {
Slog.w(TAG, String.format("Ignoring unknown state {%s}", newState));
}
@@ -280,7 +293,7 @@ public class StorageNotification extends StorageEventListener {
if (available) {
Intent intent = new Intent();
- intent.setClass(mContext, com.android.systemui.usb.UsbStorageActivity.class);
+ intent.setClass(mContext, mUsbActivityClass);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(mContext, 0, intent, 0);
@@ -310,7 +323,7 @@ public class StorageNotification extends StorageEventListener {
if (notificationManager == null) {
return;
}
-
+
if (visible) {
Resources r = Resources.getSystem();
CharSequence title = r.getText(titleId);
@@ -327,7 +340,7 @@ public class StorageNotification extends StorageEventListener {
} else {
mUsbStorageNotification.defaults &= ~Notification.DEFAULT_SOUND;
}
-
+
mUsbStorageNotification.flags = Notification.FLAG_ONGOING_EVENT;
mUsbStorageNotification.tickerText = title;
@@ -355,7 +368,7 @@ public class StorageNotification extends StorageEventListener {
mUsbStorageNotification.fullScreenIntent = pi;
}
}
-
+
final int notificationId = mUsbStorageNotification.icon;
if (visible) {
notificationManager.notify(notificationId, mUsbStorageNotification);
@@ -398,7 +411,7 @@ public class StorageNotification extends StorageEventListener {
final int notificationId = mMediaStorageNotification.icon;
notificationManager.cancel(notificationId);
}
-
+
if (visible) {
Resources r = Resources.getSystem();
CharSequence title = r.getText(titleId);
@@ -426,7 +439,7 @@ public class StorageNotification extends StorageEventListener {
mMediaStorageNotification.icon = icon;
mMediaStorageNotification.setLatestEventInfo(mContext, title, message, pi);
}
-
+
final int notificationId = mMediaStorageNotification.icon;
if (visible) {
notificationManager.notify(notificationId, mMediaStorageNotification);
diff --git a/frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java b/frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java
index 39f5773c9..3b087de64 100644
--- a/frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java
+++ b/frameworks/base/policy/src/com/android/internal/policy/impl/LockScreen.java
@@ -666,19 +666,22 @@ class LockScreen extends LinearLayout implements KeyguardScreen, KeyguardUpdateM
break;
case SimMissing:
// text
- mCarrier[subscription].setText(R.string.lockscreen_missing_sim_message_short);
+ if (TelephonyManager.getDefault().hasIccCard(subscription)) {
+ if (TelephonyManager.getSubscriptionState(subscription) ==
+ TelephonyManager.SUB_DEACTIVATED)
+ mCarrier[subscription].setText(R.string.subscription_disabled);
+ } else {
+ mCarrier[subscription].setText(R.string.lockscreen_missing_sim_message_short);
+ }
mScreenLocked.setText(R.string.lockscreen_missing_sim_instructions);
// layout
mScreenLocked.setVisibility(View.VISIBLE);
mSelector.setVisibility(View.VISIBLE);
- if ((mStatus[1-subscription] == Status.SimMissing) ||
- (mStatus[1-subscription] == Status.SimMissingLocked) ||
/* GBC ,Louis.lin 2011/07/28 { */
/* Add support for PUK UI*/
- // (mStatus[1-subscription] == Status.SimPukLocked)) {
- (mStatus[1-subscription] == Status.SimPukLocked) && (!mUpdateMonitor.isDeviceProvisioned())) {
+ if ( !hasSimCard() && !mUpdateMonitor.isDeviceProvisioned()) {
//mSelector.setVisibility(View.GONE);
/* } GBC Louis.lin 2011/07/28 */
mEmergencyCallText.setVisibility(View.VISIBLE);
diff --git a/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 02c517d29..3e0c9f73e 100644
--- a/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -1,4 +1,19 @@
/*
+ * Copyright (c) 2010-2011, 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.
+ */
+/*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -1179,6 +1194,10 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
if (event.getRepeatCount()>0){
Log.i(TAG, "KEY Down KEYCODE_HEADSETHOOK TIMEOUT");
+ if(!event.isLongPress()) {
+ break;
+ }
+
/* Suppress PLAYPAUSE toggle when phone is ringing or in-call
* to avoid music playback */
if (mTelephonyManager == null) {
diff --git a/frameworks/base/policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java b/frameworks/base/policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java
index c536a8b5d..e54a1c868 100644
--- a/frameworks/base/policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java
+++ b/frameworks/base/policy/src/com/android/internal/policy/impl/RecentApplicationsDialog.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/services/audioflinger/AudioPolicyManagerBase.cpp b/frameworks/base/services/audioflinger/AudioPolicyManagerBase.cpp
index 750f70a4d..cb9b3ac57 100755
--- a/frameworks/base/services/audioflinger/AudioPolicyManagerBase.cpp
+++ b/frameworks/base/services/audioflinger/AudioPolicyManagerBase.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -1475,10 +1476,12 @@ void AudioPolicyManagerBase::checkOutputForStrategy(routing_strategy strategy, u
audio_io_handle_t srcOutput = 0;
audio_io_handle_t dstOutput = 0;
- if(curDevice == AudioSystem::DEVICE_OUT_WIRED_HEADSET || curDevice==AudioSystem::DEVICE_OUT_FM
- || curDevice==AudioSystem::DEVICE_OUT_FM_SPEAKER){
- newDevice = curDevice;
- }
+ /*
+ *if(curDevice == AudioSystem::DEVICE_OUT_WIRED_HEADSET || curDevice==AudioSystem::DEVICE_OUT_FM
+ * || curDevice==AudioSystem::DEVICE_OUT_FM_SPEAKER){
+ * newDevice = curDevice;
+ *}
+ */
if (a2dpWasUsed && !a2dpIsUsed) {
bool dupUsed = a2dpUsedForSonification() && a2dpWasUsed && (AudioSystem::popCount(prevDevice) == 2);
diff --git a/frameworks/base/services/camera/libcameraservice/CameraService.cpp b/frameworks/base/services/camera/libcameraservice/CameraService.cpp
index 80158daea..87bc49bcd 100644
--- a/frameworks/base/services/camera/libcameraservice/CameraService.cpp
+++ b/frameworks/base/services/camera/libcameraservice/CameraService.cpp
@@ -741,24 +741,24 @@ status_t CameraService::Client::takeLiveSnapshot()
status_t CameraService::Client::startCameraMode(camera_mode mode) {
LOG1("startCameraMode(%d)", mode);
- //startCameraMode() should be blocked, if Mutex will be held by HAL
+ //startCameraMode() should be blocked, if Mutex will be held by HAL
//$Mutex::Autolock lock(mLock);
- int sleepCount = 0;
+ int sleepCount = 0;
while(mHoldMutexInHAL || (mLock.tryLock() != NO_ERROR)){
- if(sleepCount ++ == 0){
- LOGI("startCameraMode() enters in sleep. mHoldMutexInHAL(%d)", mHoldMutexInHAL);
- }
- usleep(1000); //sleep
- }
-
+ if(sleepCount ++ == 0){
+ LOGI("startCameraMode() enters in sleep. mHoldMutexInHAL(%d)", mHoldMutexInHAL);
+ }
+ usleep(1000); //sleep
+ }
+
status_t result = checkPidAndHardware();
- if (result != NO_ERROR){
- mLock.unlock();
- return result;
- }
+ if (result != NO_ERROR){
+ mLock.unlock();
+ return result;
+ }
+
+ status_t result_HAL;
- status_t result_HAL;
-
switch(mode) {
case CAMERA_PREVIEW_MODE:
if (mSurface == 0) {
@@ -767,19 +767,20 @@ status_t CameraService::Client::startCameraMode(camera_mode mode) {
}
//$return startPreviewMode();
result_HAL = startPreviewMode();
- mLock.unlock();
- return result_HAL;
+ mLock.unlock();
+ return result_HAL;
case CAMERA_RECORDING_MODE:
if (mSurface == 0) {
LOGE("mSurface must be set before startRecordingMode.");
+ mLock.unlock();
return INVALID_OPERATION;
}
//$return startRecordingMode();
result_HAL = startRecordingMode();
- mLock.unlock();
- return result_HAL;
+ mLock.unlock();
+ return result_HAL;
default:
- mLock.unlock();
+ mLock.unlock();
return UNKNOWN_ERROR;
}
}
@@ -845,8 +846,21 @@ status_t CameraService::Client::startRecordingMode() {
// stop preview mode
void CameraService::Client::stopPreview() {
LOG1("stopPreview (pid %d)", getCallingPid());
- Mutex::Autolock lock(mLock);
- if (checkPidAndHardware() != NO_ERROR) return;
+
+ //stopPreview() should be blocked, if Mutex will be held by HAL
+ //$Mutex::Autolock lock(mLock);
+ int sleepCount = 0;
+ while(mHoldMutexInHAL || (mLock.tryLock() != NO_ERROR)){
+ if(sleepCount ++ == 0){
+ LOGI("stopPreview() enters in sleep. mHoldMutexInHAL(%d)", mHoldMutexInHAL);
+ }
+ usleep(1000); //sleep
+ }
+
+ if (checkPidAndHardware() != NO_ERROR){
+ mLock.unlock();
+ return;
+ }
LOGV("stopPreview :Destroying any previous overlay");
/*Force the destruction of any previous overlay
@@ -875,13 +889,29 @@ void CameraService::Client::stopPreview() {
}
mPreviewBuffer.clear();
+
+ //After finishing HAL process, release the Mutex
+ mLock.unlock();
}
// stop recording mode
void CameraService::Client::stopRecording() {
LOG1("stopRecording (pid %d)", getCallingPid());
- Mutex::Autolock lock(mLock);
- if (checkPidAndHardware() != NO_ERROR) return;
+
+ //stopRecording() should be blocked, if Mutex will be held by HAL
+ //$Mutex::Autolock lock(mLock);
+ int sleepCount = 0;
+ while(mHoldMutexInHAL || (mLock.tryLock() != NO_ERROR)){
+ if(sleepCount ++ == 0){
+ LOGI("stopRecording() enters in sleep. mHoldMutexInHAL(%d)", mHoldMutexInHAL);
+ }
+ usleep(1000); //sleep
+ }
+
+ if (checkPidAndHardware() != NO_ERROR){
+ mLock.unlock();
+ return;
+ }
disableMsgType(CAMERA_MSG_VIDEO_FRAME);
mHardware->stopRecording();
@@ -889,6 +919,9 @@ void CameraService::Client::stopRecording() {
mCameraService->playSound(SOUND_RECORDING);
mPreviewBuffer.clear();
+
+ //After finishing HAL process, release the Mutex
+ mLock.unlock();
}
// release a recording frame
@@ -938,21 +971,21 @@ status_t CameraService::Client::cancelAutoFocus() {
status_t CameraService::Client::takePicture() {
LOG1("takePicture (pid %d)", getCallingPid());
- //takePicture() should be blocked, if Mutex will be held by HAL
+ //takePicture() should be blocked, if Mutex will be held by HAL
//$Mutex::Autolock lock(mLock);
- int sleepCount = 0;
+ int sleepCount = 0;
while(mHoldMutexInHAL || (mLock.tryLock() != NO_ERROR)){
- if(sleepCount ++ == 0){
- LOGI("takePicure() enters in sleep. mHoldMutexInHAL(%d)", mHoldMutexInHAL);
- }
- usleep(1000); //sleep
- }
-
+ if(sleepCount ++ == 0){
+ LOGI("takePicure() enters in sleep. mHoldMutexInHAL(%d)", mHoldMutexInHAL);
+ }
+ usleep(1000); //sleep
+ }
+
status_t result = checkPidAndHardware();
if (result != NO_ERROR){
- mLock.unlock();
- return result;
- }
+ mLock.unlock();
+ return result;
+ }
enableMsgType(CAMERA_MSG_SHUTTER |
CAMERA_MSG_POSTVIEW_FRAME |
@@ -967,8 +1000,8 @@ status_t CameraService::Client::takePicture() {
//After finishing HAL process, release the Mutex
//$return mHardware->takePicture();
status_t result_HAL = mHardware->takePicture();
- mLock.unlock();
- return result_HAL;
+ mLock.unlock();
+ return result_HAL;
}
// set preview/capture parameters - key/value pairs
@@ -1179,12 +1212,12 @@ void CameraService::Client::dataCallback(int32_t msgType,
sp<Client> client = getClientFromCookie(user);
if (client == 0) return;
- //enable msg CAMERA_MSG_LOCK_MUTEX and CAMERA_MSG_UNLOCK_MUTEX
- if(msgType == CAMERA_MSG_LOCK_MUTEX)
- client->enableMsgType(CAMERA_MSG_LOCK_MUTEX);
- if(msgType == CAMERA_MSG_UNLOCK_MUTEX)
- client->enableMsgType(CAMERA_MSG_UNLOCK_MUTEX);
-
+ //enable msg CAMERA_MSG_LOCK_MUTEX and CAMERA_MSG_UNLOCK_MUTEX
+ if(msgType == CAMERA_MSG_LOCK_MUTEX)
+ client->enableMsgType(CAMERA_MSG_LOCK_MUTEX);
+ if(msgType == CAMERA_MSG_UNLOCK_MUTEX)
+ client->enableMsgType(CAMERA_MSG_UNLOCK_MUTEX);
+
if (!client->lockIfMessageWanted(msgType)) return;
//In case of CAMERA_MSG_COMPRESSED_IMAGE dataCallback,
//when native_get_picture fails at driver, we need to
@@ -1193,7 +1226,7 @@ void CameraService::Client::dataCallback(int32_t msgType,
//In case of CAMERA_MSG_LOCK_MUTEX and CAMERA_MSG_UNLOCK_MUTEX,
//we solve the deadlock problem caused by esd recovery process(service_thread) in HAL.
if ((dataPtr == 0) && (msgType != CAMERA_MSG_COMPRESSED_IMAGE)
- && (msgType != CAMERA_MSG_LOCK_MUTEX) && (msgType != CAMERA_MSG_UNLOCK_MUTEX)) {
+ && (msgType != CAMERA_MSG_LOCK_MUTEX) && (msgType != CAMERA_MSG_UNLOCK_MUTEX)) {
LOGE("Null data returned in data callback");
client->handleGenericNotify(CAMERA_MSG_ERROR, UNKNOWN_ERROR, 0);
return;
@@ -1215,13 +1248,13 @@ void CameraService::Client::dataCallback(int32_t msgType,
case MEDIA_RECORDER_MSG_COMPRESSED_IMAGE:
client->handleLiveShot(dataPtr);
break;
- //Hold or release Mutex holding flag.
- case CAMERA_MSG_LOCK_MUTEX:
- client->handleHoldMutex(true);
- break;
- case CAMERA_MSG_UNLOCK_MUTEX:
+ //Hold or release Mutex holding flag.
+ case CAMERA_MSG_LOCK_MUTEX:
+ client->handleHoldMutex(true);
+ break;
+ case CAMERA_MSG_UNLOCK_MUTEX:
client->handleHoldMutex(false);
- break;
+ break;
default:
client->handleGenericData(msgType, dataPtr);
break;
@@ -1229,19 +1262,19 @@ void CameraService::Client::dataCallback(int32_t msgType,
}
void CameraService::Client::handleHoldMutex(bool flag){
- if(flag){
- // need to hold Mutex, set mHoldMutexInHAL to true;
- mHoldMutexInHAL = true;
+ if(flag){
+ // need to hold Mutex, set mHoldMutexInHAL to true;
+ mHoldMutexInHAL = true;
// After mHoldMutexInHAL is true, we release the Mutex.
- mLock.unlock();
+ mLock.unlock();
LOGI("handleHoldMutex holds the Mutex");
- }
+ }
else{
- //should release Mutex. set mHoldMutexInHAL to false, and unlock Mutex.
- mHoldMutexInHAL = false;
+ //should release Mutex. set mHoldMutexInHAL to false, and unlock Mutex.
+ mHoldMutexInHAL = false;
mLock.unlock();
LOGI("handleHoldMutex releases the Mutex");
- }
+ }
}
diff --git a/frameworks/base/services/camera/libcameraservice/CameraService.h b/frameworks/base/services/camera/libcameraservice/CameraService.h
index 1901ceeef..14d3df125 100644
--- a/frameworks/base/services/camera/libcameraservice/CameraService.h
+++ b/frameworks/base/services/camera/libcameraservice/CameraService.h
@@ -210,9 +210,9 @@ private:
void handleLiveShot(const sp<IMemory>& mem);
int mNumSnapshots;
- //This function will hold or release the Mutex from HAL.
- void handleHoldMutex(bool flag);
- static bool mHoldMutexInHAL; // If the Mutex is held by HAL.
+ //This function will hold or release the Mutex from HAL.
+ void handleHoldMutex(bool flag);
+ static bool mHoldMutexInHAL; // If the Mutex is held by HAL.
};
};
diff --git a/frameworks/base/services/java/com/android/server/CNE.java b/frameworks/base/services/java/com/android/server/CNE.java
index 5dccece82..d838c3405 100755
--- a/frameworks/base/services/java/com/android/server/CNE.java
+++ b/frameworks/base/services/java/com/android/server/CNE.java
@@ -192,7 +192,7 @@ class CNERequest {
public final class CNE implements ILinkManager {
static final String LOG_TAG = "CNE"; // global logcat tag
static final String LOCAL_TAG = "CNE_DEBUG"; // local logcat tag
- private static final boolean DBG = false; // enable local logging?
+ private static final boolean DBG = true; // enable local logging?
// ***** Instance Variables
LocalSocket mSocket;
diff --git a/frameworks/base/services/java/com/android/server/ConnectivityService.java b/frameworks/base/services/java/com/android/server/ConnectivityService.java
index a5fd8cfff..0391d5e26 100755..100644
--- a/frameworks/base/services/java/com/android/server/ConnectivityService.java
+++ b/frameworks/base/services/java/com/android/server/ConnectivityService.java
@@ -1698,7 +1698,11 @@ public class ConnectivityService extends IConnectivityManager.Stub {
// differently, or not.
handleDisconnect(info);
} else if (state == NetworkInfo.State.CONNECTED) {
- handleConnect(info);
+ if (!getMobileDataEnabled() && (type == ConnectivityManager.TYPE_MOBILE)){
+ teardown(type);
+ }else{
+ handleConnect(info);
+ }
}
break;
diff --git a/frameworks/base/services/java/com/android/server/MasterClearReceiver.java b/frameworks/base/services/java/com/android/server/MasterClearReceiver.java
index ffa3777f4..bdb5a24f6 100755..100644
--- a/frameworks/base/services/java/com/android/server/MasterClearReceiver.java
+++ b/frameworks/base/services/java/com/android/server/MasterClearReceiver.java
@@ -16,9 +16,6 @@
package com.android.server;
-import java.io.File;
-import java.io.IOException;
-
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -26,6 +23,8 @@ import android.os.RecoverySystem;
import android.util.Log;
import android.util.Slog;
+import java.io.IOException;
+
public class MasterClearReceiver extends BroadcastReceiver {
private static final String TAG = "MasterClear";
@@ -44,17 +43,6 @@ public class MasterClearReceiver extends BroadcastReceiver {
@Override
public void run() {
try {
-
- // the broadcast hasExtra 'qrdupdate' is send by osupdate.apk for restart to install system updates
- if(intent.hasExtra("qrdupdate")){
- Log.d(TAG, "qrdupdate install start ...");
- File packagefile = (File) intent.getExtra("packagefile");
- if(packagefile != null){
- RecoverySystem.installPackage(context, packagefile);
- }
- return;
- }
-
if (intent.hasExtra("enableEFS")) {
RecoverySystem.rebootToggleEFS(context, intent.getBooleanExtra("enableEFS", false));
} else {
diff --git a/frameworks/base/services/java/com/android/server/MountService.java b/frameworks/base/services/java/com/android/server/MountService.java
index 2ada108c2..76d20f637 100644
--- a/frameworks/base/services/java/com/android/server/MountService.java
+++ b/frameworks/base/services/java/com/android/server/MountService.java
@@ -611,7 +611,7 @@ class MountService extends IMountService.Stub
Slog.w(TAG, "Failed to get share availability");
}
/*
- * Now that we've done our initialization, release
+ * Now that we've done our initialization, release
* the hounds!
*/
mReady = true;
@@ -705,9 +705,9 @@ class MountService extends IMountService.Stub
} else if (code == VoldResponseCode.VolumeBadRemoval) {
if (DEBUG_EVENTS) Slog.i(TAG, "Sending unmounted event first");
/* Send the media unmounted event first */
- updatePublicVolumeState(path, Environment.MEDIA_UNMOUNTED);
- in = new Intent(Intent.ACTION_MEDIA_UNMOUNTED, Uri.parse("file://" + path));
- mContext.sendBroadcast(in);
+ //updatePublicVolumeState(path, Environment.MEDIA_UNMOUNTED);
+ //in = new Intent(Intent.ACTION_MEDIA_UNMOUNTED, Uri.parse("file://" + path));
+ // mContext.sendBroadcast(in);
if (DEBUG_EVENTS) Slog.i(TAG, "Sending media bad removal");
updatePublicVolumeState(path, Environment.MEDIA_BAD_REMOVAL);
@@ -1241,7 +1241,7 @@ class MountService extends IMountService.Stub
waitForReady();
return doGetVolumeShared(Environment.getExternalStorageDirectory().getPath(), "ums");
}
-
+
/**
* @return state of the volume at the specified mount point
*/
@@ -1407,7 +1407,7 @@ class MountService extends IMountService.Stub
return rc;
}
-
+
public int mountSecureContainer(String id, String key, int ownerUid) {
validatePermission(android.Manifest.permission.ASEC_MOUNT_UNMOUNT);
waitForReady();
@@ -1495,7 +1495,7 @@ class MountService extends IMountService.Stub
synchronized (mAsecMountSet) {
/*
- * Because a mounted container has active internal state which cannot be
+ * Because a mounted container has active internal state which cannot be
* changed while active, we must ensure both ids are not currently mounted.
*/
if (mAsecMountSet.contains(oldId) || mAsecMountSet.contains(newId)) {
diff --git a/frameworks/base/services/java/com/android/server/WifiService.java b/frameworks/base/services/java/com/android/server/WifiService.java
index 0eb0f87e9..c8368a47d 100755
--- a/frameworks/base/services/java/com/android/server/WifiService.java
+++ b/frameworks/base/services/java/com/android/server/WifiService.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/services/java/com/android/server/WindowManagerService.java b/frameworks/base/services/java/com/android/server/WindowManagerService.java
index 19b212dee..b55e1bbe9 100644
--- a/frameworks/base/services/java/com/android/server/WindowManagerService.java
+++ b/frameworks/base/services/java/com/android/server/WindowManagerService.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -168,6 +169,8 @@ public class WindowManagerService extends IWindowManager.Stub
static final boolean BLUR = true;
static final boolean localLOGV = DEBUG;
+ static boolean BENCHMARK_FLAG = false;
+
/** How much to multiply the policy's type layer, to reserve room
* for multiple windows of the same type and Z-ordering adjustment
* with TYPE_LAYER_OFFSET. */
@@ -5535,6 +5538,11 @@ public class WindowManagerService extends IWindowManager.Stub
Binder.restoreCallingIdentity(ident);
return reportInjectionResult(result);
}
+
+ public void setBenchMarkFlag(boolean flag) {
+ BENCHMARK_FLAG = flag;
+ return;
+ }
private boolean reportInjectionResult(int result) {
switch (result) {
@@ -8006,6 +8014,9 @@ public class WindowManagerService extends IWindowManager.Stub
+ " visible=" + nowVisible
+ " gone=" + nowGone);
if (nowVisible) {
+ if (BENCHMARK_FLAG) {
+ Slog.v("DEBUG_BENCHMARK", "Activity Visible " + wtoken);
+ }
wtoken.appToken.windowsVisible();
} else {
wtoken.appToken.windowsGone();
diff --git a/frameworks/base/services/java/com/android/server/connectivity/Tethering.java b/frameworks/base/services/java/com/android/server/connectivity/Tethering.java
index 789bea22d..629f7647d 100644
--- a/frameworks/base/services/java/com/android/server/connectivity/Tethering.java
+++ b/frameworks/base/services/java/com/android/server/connectivity/Tethering.java
@@ -13,9 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-/*
- * [WIFI] Enable Wi-Fi Support
- */
package com.android.server.connectivity;
@@ -44,9 +41,9 @@ import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.Looper;
import android.os.Message;
-/* [WIFI] Enable Wi-Fi Support ++ */
+
import android.os.PowerManager;
-/* [WIFI] Enable Wi-Fi Support -- */
+
import android.os.RemoteException;
import android.os.ServiceManager;
import android.provider.Settings;
@@ -117,9 +114,7 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
private boolean mUsbMassStorageOff; // track the status of USB Mass Storage
private boolean mUsbConnected; // track the status of USB connection
-/* [WIFI] Enable Wi-Fi Support ++ */
private PowerManager.WakeLock mTetheringWakeLock;
-/* [WIFI] Enable Wi-Fi Support -- */
public Tethering(Context context, Looper looper) {
mContext = context;
@@ -181,11 +176,11 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
mDnsServers = new String[2];
mDnsServers[0] = DNS_DEFAULT_SERVER1;
mDnsServers[1] = DNS_DEFAULT_SERVER2;
-/* [WIFI] Enable Wi-Fi Support ++ */
- PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
+
+ PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
mTetheringWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tethering.mTetheringWakeLock");
mTetheringWakeLock.setReferenceCounted(true);
-/* [WIFI] Enable Wi-Fi Support -- */
+
}
public void interfaceLinkStatusChanged(String iface, boolean link) {
@@ -206,18 +201,17 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
if (sm == null) {
sm = new TetherInterfaceSM(iface, mLooper, usb);
mIfaces.put(iface, sm);
-/* [WIFI] Enable Wi-Fi Support ++ */
- mTetheringWakeLock.acquire();
-/* [WIFI] Enable Wi-Fi Support -- */
+
+ mTetheringWakeLock.acquire();
+
sm.start();
}
} else {
if (sm != null) {
sm.sendMessage(TetherInterfaceSM.CMD_INTERFACE_DOWN);
mIfaces.remove(iface);
-/* [WIFI] Enable Wi-Fi Support ++ */
- mTetheringWakeLock.release();
-/* [WIFI] Enable Wi-Fi Support -- */
+
+ mTetheringWakeLock.release();
}
}
}
@@ -262,9 +256,9 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
}
sm = new TetherInterfaceSM(iface, mLooper, usb);
mIfaces.put(iface, sm);
-/* [WIFI] Enable Wi-Fi Support ++ */
- mTetheringWakeLock.acquire();
-/* [WIFI] Enable Wi-Fi Support -- */
+
+ mTetheringWakeLock.acquire();
+
sm.start();
}
Log.d(TAG, "interfaceAdded :" + iface);
@@ -279,9 +273,8 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
}
sm.sendMessage(TetherInterfaceSM.CMD_INTERFACE_DOWN);
mIfaces.remove(iface);
-/* [WIFI] Enable Wi-Fi Support ++ */
- mTetheringWakeLock.release();
-/* [WIFI] Enable Wi-Fi Support -- */
+
+ mTetheringWakeLock.release();
}
}
diff --git a/frameworks/base/services/java/com/android/server/location/GpsLocationProvider.java b/frameworks/base/services/java/com/android/server/location/GpsLocationProvider.java
index 1d3b8f9fa..267e06281 100755
--- a/frameworks/base/services/java/com/android/server/location/GpsLocationProvider.java
+++ b/frameworks/base/services/java/com/android/server/location/GpsLocationProvider.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp b/frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp
index 18c2984d4..f564650ba 100755
--- a/frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp
+++ b/frameworks/base/services/jni/com_android_server_location_GpsLocationProvider.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/services/surfaceflinger/LayerBase.cpp b/frameworks/base/services/surfaceflinger/LayerBase.cpp
index ab3964172..29065abeb 100644
--- a/frameworks/base/services/surfaceflinger/LayerBase.cpp
+++ b/frameworks/base/services/surfaceflinger/LayerBase.cpp
@@ -546,6 +546,10 @@ LayerBaseClient::~LayerBaseClient()
}
}
+bool LayerBaseClient::isSurface() const {
+ return (mClientSurface.promote() != 0);
+}
+
sp<LayerBaseClient::Surface> LayerBaseClient::getSurface()
{
sp<Surface> s;
diff --git a/frameworks/base/services/surfaceflinger/LayerBase.h b/frameworks/base/services/surfaceflinger/LayerBase.h
index e4773559d..a8b4d25fa 100644
--- a/frameworks/base/services/surfaceflinger/LayerBase.h
+++ b/frameworks/base/services/surfaceflinger/LayerBase.h
@@ -319,6 +319,7 @@ public:
virtual ~LayerBaseClient();
sp<Surface> getSurface();
+ bool isSurface() const;
virtual sp<Surface> createSurface() const;
virtual sp<LayerBaseClient> getLayerBaseClient() const {
return const_cast<LayerBaseClient*>(this); }
diff --git a/frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp b/frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp
index bc3fe8f2a..aebb7ef36 100755..100644
--- a/frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp
@@ -491,6 +491,7 @@ bool SurfaceFlinger::threadLoop()
}
#endif
+ const DisplayHardware& hw(graphicPlane(0).displayHardware());
if (mHDMIOutput)
hw.videoOverlayStarted(false);
}
@@ -587,6 +588,7 @@ void SurfaceFlinger::postFramebuffer()
mLastSwapBufferTime = systemTime() - now;
mDebugInSwapBuffers = 0;
mInvalidRegion.clear();
+ debugShowFPS();
}
}
@@ -1325,6 +1327,7 @@ void SurfaceFlinger::debugShowFPS() const
static int mLastFrameCount = 0;
static nsecs_t mLastFpsTime = 0;
static float mFps = 0;
+ char value[PROPERTY_VALUE_MAX];
mFrameCount++;
nsecs_t now = systemTime();
nsecs_t diff = now - mLastFpsTime;
@@ -1332,8 +1335,12 @@ void SurfaceFlinger::debugShowFPS() const
mFps = ((mFrameCount - mLastFrameCount) * float(s2ns(1))) / diff;
mLastFpsTime = now;
mLastFrameCount = mFrameCount;
+ property_get("qdebug.flag.benchmark", value, "0");
+ if (value[0] == '1') {
+ LOGE("Fps: %f", mFps);
+ // XXX: mFPS has the value we want
+ }
}
- // XXX: mFPS has the value we want
}
status_t SurfaceFlinger::addLayer(const sp<LayerBase>& layer)
@@ -1376,10 +1383,18 @@ status_t SurfaceFlinger::removeLayer(const sp<LayerBase>& layer)
status_t SurfaceFlinger::removeLayer_l(const sp<LayerBase>& layerBase)
{
sp<LayerBaseClient> lbc(layerBase->getLayerBaseClient());
+
if (lbc != 0) {
- mLayerMap.removeItem( lbc->getSurface()->asBinder() );
+ if(!lbc->isSurface()) {
+ LOGV("LayerBaseClient does not hold a valid surface anymore. "
+ "Ignoring remove request lbc=%p layermap size=%d",
+ lbc.get(), mLayerMap.size());
+ }else {
+ mLayerMap.removeItem( lbc->getSurface()->asBinder() );
+ }
}
ssize_t index = mCurrentState.layersSortedByZ.remove(layerBase);
+
if (index >= 0) {
mLayersRemoved = true;
return NO_ERROR;
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecord.java b/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecord.java
index 696518afa..b5ea3ccac 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecord.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecord.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecordCache.java b/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecordCache.java
index 717b6465e..ebaecc018 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecordCache.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/AdnRecordCache.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/DataConnectionTracker.java b/frameworks/base/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
index 5f58be9ec..f5620d2a0 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/DataConnectionTracker.java
@@ -272,7 +272,9 @@ public abstract class DataConnectionTracker extends Handler {
if (mDpt.isServiceTypeEnabled(serviceType) == false
|| mDpt.isServiceTypeActive(serviceType) == false) {
// service type is already inactive or not enabled at all.
-
+ if (mDpt.isServiceTypeEnabled(serviceType)){
+ mDpt.setServiceTypeEnabled(serviceType, false);
+ }
/* send out disconnected notifications - no harm doing this */
notifyDataConnection(serviceType, IPVersion.INET, REASON_SERVICE_TYPE_DISABLED);
notifyDataConnection(serviceType, IPVersion.INET6, REASON_SERVICE_TYPE_DISABLED);
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/GsmAlphabet.java b/frameworks/base/telephony/java/com/android/internal/telephony/GsmAlphabet.java
index 5ad8f4a77..9076903bc 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/GsmAlphabet.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/GsmAlphabet.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/MMDataConnectionTracker.java b/frameworks/base/telephony/java/com/android/internal/telephony/MMDataConnectionTracker.java
index 60e3c328a..fd90f74c4 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/MMDataConnectionTracker.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/MMDataConnectionTracker.java
@@ -151,6 +151,10 @@ public class MMDataConnectionTracker extends DataConnectionTracker {
private boolean mIsPsRestricted = false;
private boolean mDesiredPowerState = true;
+ //is attached to network before
+ private boolean mIsAttachedToNetworkBefore = false;
+ private RadioTechnology mLastRadioTech = RadioTechnology.RADIO_TECH_UNKNOWN;
+
/* list of messages that are waiting to be posted, when data call disconnect
* is complete
*/
@@ -385,6 +389,8 @@ public class MMDataConnectionTracker extends DataConnectionTracker {
mCm.unregisterForOffOrNotAvailable(this);
mCm.unregisterForDataStateChanged(this);
mCm.unregisterForCdmaOtaProvision(this);
+ //reset attach flag
+ mIsAttachedToNetworkBefore = false;
// 4. Re-register for the events on new Commands Interface.
mCm = ci;
@@ -604,6 +610,8 @@ public class MMDataConnectionTracker extends DataConnectionTracker {
mDpt.resetAllProfilesAsWorking();
mDpt.resetAllServiceStates();
+ mIsAttachedToNetworkBefore = true;
+
/*
* send a data connection notification update, with latest states, it is
* possible data went out of service and came back in service without
@@ -1442,11 +1450,12 @@ public class MMDataConnectionTracker extends DataConnectionTracker {
isReadyForData = isReadyForData && (!roaming || getDataOnRoamingEnabled());
int dataRegState = this.mDsst.getDataServiceState().getState();
-
- isReadyForData = isReadyForData
- && ((dataRegState == ServiceState.STATE_IN_SERVICE
+ if (!mIsAttachedToNetworkBefore){
+ isReadyForData = isReadyForData
+ && ((dataRegState == ServiceState.STATE_IN_SERVICE
&& r != RadioTechnology.RADIO_TECH_UNKNOWN)
|| mNoAutoAttach);
+ }
}
if (mCheckForSubscription) {
@@ -1484,9 +1493,13 @@ public class MMDataConnectionTracker extends DataConnectionTracker {
}
private RadioTechnology getRadioTechnology() {
+ RadioTechnology rt = RadioTechnology.getRadioTechFromInt(mDsst.getDataServiceState().getRadioTechnology());
if (mCheckForConnectivity) {
- return RadioTechnology.getRadioTechFromInt(mDsst.getDataServiceState()
- .getRadioTechnology());
+ if (mIsAttachedToNetworkBefore && (rt == RadioTechnology.RADIO_TECH_UNKNOWN)){
+ return mLastRadioTech;
+ }else{
+ return rt;
+ }
} else {
// Workaround to choose a technology for SETUP_DATA_CALL when
// mCheckForConnectivity is set to false. We need a technology for
@@ -1613,6 +1626,9 @@ public class MMDataConnectionTracker extends DataConnectionTracker {
}
}
+ //save used radio technology
+ mLastRadioTech = getRadioTechnology();
+
DataConnection dc = getFreeDataConnection();
if (dc == null) {
// if this happens, it probably means that our data call list is not
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/ProxyManager.java b/frameworks/base/telephony/java/com/android/internal/telephony/ProxyManager.java
index 4077294ca..f11767673 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/ProxyManager.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/ProxyManager.java
@@ -41,6 +41,7 @@ import com.android.internal.telephony.UiccCard;
import com.android.internal.telephony.UiccConstants.AppType;
import com.android.internal.telephony.UiccConstants.CardState;
import com.android.internal.telephony.UiccManager;
+import com.android.internal.telephony.CallManager;
import java.util.regex.PatternSyntaxException;
import java.lang.Exception;
@@ -82,6 +83,7 @@ public class ProxyManager extends Handler {
static final int EVENT_SUBSCRIPTION_READY = 9;
static final int EVENT_SIM_REFRESH = 10;
static final int EVENT_CLEANUP_DATA_CONNECTION_DONE = 11;
+ static final int EVENT_DELAY_MAPPING = 12;
//***** Class Variables
private static ProxyManager sProxyManager;
@@ -93,6 +95,7 @@ public class ProxyManager extends Handler {
// User default subscriptions
private String[] mUserDefaultSubs = {"USIM", "USIM"};
private CommandsInterface[] mCi;
+ private CallManager mCallManager;
//MSimIccSmsInterfaceManager to use proper IccSmsInterfaceManager object
private MSimIccSmsInterfaceManager mMSimIccSmsInterfaceManager;
//MSimIccPhoneBookInterfaceManager Proxy to use proper IccPhoneBookInterfaceManagerProxy object
@@ -155,6 +158,7 @@ public class ProxyManager extends Handler {
mUiccManager = uiccManager;
mUiccManager.registerForIccChanged(this, EVENT_ICC_CHANGED, null);
mCi = ci;
+ mCallManager = CallManager.getInstance();
if (TelephonyManager.isMultiSimEnabled()) {
mUiccCards = new UiccCard[UiccConstants.RIL_MAX_CARDS];
@@ -401,6 +405,7 @@ public class ProxyManager extends Handler {
Log.d(LOG_TAG, "ProxyManager EVENT_RADIO_OFF_OR_NOT_AVAILABLE on slot = " + slot);
if (slot >= 0 && slot < mRadioOn.length) {
mRadioOn[slot] = false;
+ mSubscriptionReady[slot] = false;
// Unregister for card status indication when radio state becomes OFF or UNAVAILABLE.
mUiccManager.unregisterForIccChanged(sProxyManager);
// Reset the flag, which takes care of processing/Handling of card status
@@ -534,6 +539,12 @@ public class ProxyManager extends Handler {
}
break;
+ case EVENT_DELAY_MAPPING:
+ Log.d(LOG_TAG,"emergency call is over,can do mapping");
+ mCallManager.unregisterForDisconnect(this);
+ processCardStatus();
+ break;
+
case EVENT_SET_DATA_SUBSCRIPTION_DONE:
Log.d(LOG_TAG, "EVENT_SET_DATA_SUBSCRIPTION_DONE");
@@ -662,6 +673,14 @@ public class ProxyManager extends Handler {
return;
}
+ //Airplane mode emergency call, need to wait until call is over,
+ // when only insert card 2, this will cause crash
+ if (mCallManager.getState()!= Phone.State.IDLE){
+ Log.d(LOG_TAG,"has a call, likely an emergency call,wait until it is over");
+ mCallManager.registerForDisconnect(this,EVENT_DELAY_MAPPING,null);
+ return;
+ }
+
mCardSubData = new SubscriptionData[UiccConstants.RIL_MAX_CARDS];
// Loop through list of cards and list of applications and store it in the mCardSubData
@@ -749,81 +768,80 @@ public class ProxyManager extends Handler {
*/
private void matchSubscriptions() {
int cardIndex = 0;
- int num_cards = 0;
- SubscriptionData matchedSub = new SubscriptionData(NUM_SUBSCRIPTIONS);
+ boolean subDataNotMatch = false;
Log.d(LOG_TAG, "matchSubscriptions");
- // For each subscription in mUserPrefSubs
- for (int i = 0; i < NUM_SUBSCRIPTIONS; i++) {
+ for (int i = 0;i<NUM_SUBSCRIPTIONS; i++){
Subscription userSub = mUserPrefSubs.subscription[i];
- Log.d(LOG_TAG, "subId: " + i);
+ Log.d(LOG_TAG,"subId: "+i);
cardIndex = i;
-
- Log.d(LOG_TAG, "cardIndex: " + cardIndex + " userSub.m3gppIndex: "
- + userSub.m3gppIndex + " userSub.m3gpp2Index: "
- + userSub.m3gpp2Index +" userSub.subStatus "+userSub.subStatus);
-
- if (((userSub.m3gppIndex != SUBSCRIPTION_INDEX_INVALID)
- || (userSub.m3gpp2Index != SUBSCRIPTION_INDEX_INVALID))
- && (mCardSubData[cardIndex] != null)
- && (userSub.getAppIndex() < mCardSubData[cardIndex].getLength())) {
+ Log.d(LOG_TAG,"cardIndex: "+cardIndex+" userSub.m3gppIndex: "
+ +userSub.m3gppIndex+" userSub.m3gpp3Index: "
+ +userSub.m3gpp2Index+" userSub.subStatus "+userSub.subStatus);
+ if ((userSub.m3gppIndex != SUBSCRIPTION_INDEX_INVALID)|| (userSub.m3gpp2Index != SUBSCRIPTION_INDEX_INVALID)){
+ Log.d(LOG_TAG,"user sub data is valid");
+ if (mCardSubData[cardIndex]==null){
+ Log.d(LOG_TAG,"but card sub is null,not match");
+ subDataNotMatch = true;
+ break;
+ }else{
+ Log.d(LOG_TAG,"card sub present,matching.");
Subscription cardSub = mCardSubData[cardIndex].subscription[userSub.getAppIndex()];
-
- // Check for the iccid, app id, app name
if (((userSub.iccId == null && cardSub.iccId == null)
- || (userSub.iccId != null && userSub.iccId.equals(cardSub.iccId)))
- && ((userSub.appId == null && cardSub.appId == null)
- || (userSub.appId != null && userSub.appId.equals(cardSub.appId)))
- && ((userSub.appType == null && cardSub.appType == null)
- || (userSub.appType != null && userSub.appType.equals(cardSub.appType)))) {
-
- // Update the matched subscription
- matchedSub.subscription[i].copyFrom(userSub);
- // Set the activate state
- matchedSub.subscription[i].subStatus = SUB_ACTIVATE;
-
- if (mSetSubOnSimRefresh) {
- //In case of sim refresh, only affected subscriptions are activated wrt slotID.
- if (mSupplySubscription.prevSubscriptionData.subscription[i].subStatus
- == SUB_ACTIVATED) {
- matchedSub.subscription[i].subStatus = SUB_ACTIVATED;
- Log.d(LOG_TAG,"current subStatus is set to SUB_ACTIVATED");
- }
- }
- matchedSub.subscription[i].subId = i;
- // Set the slot id, sub index and appLabel from mCardSubData
- matchedSub.subscription[i].slotId = cardSub.slotId;
- matchedSub.subscription[i].m3gppIndex = cardSub.m3gppIndex;
- matchedSub.subscription[i].m3gpp2Index = cardSub.m3gpp2Index;
- if (cardSub.appLabel != null) {
- matchedSub.subscription[i].appLabel = new String(cardSub.appLabel);
- }
-
- Log.d(LOG_TAG, "Subscription is matched for UserPrefSub subId = " + i
- + " cardIndex = " + cardIndex + " 3gppIndex = "
- + userSub.m3gppIndex + " 3gpp2Index = " + userSub.m3gpp2Index);
+ || (userSub.iccId != null && userSub.iccId.equals(cardSub.iccId)))
+ && ((userSub.appId == null && cardSub.appId == null)
+ || (userSub.appId != null && userSub.appId.equals(cardSub.appId)))
+ && ((userSub.appType == null && cardSub.appType == null)
+ || (userSub.appType != null && userSub.appType.equals(cardSub.appType)))){
+ Log.d(LOG_TAG,"matched");
+ continue;
}else{
- Log.d(LOG_TAG,"both user and card subs data are VALID, but not matched,sub id "+i);
+ Log.d(LOG_TAG,"not match");
+ subDataNotMatch = true;
+ break;
}
+ }
+ }
+ if ((userSub.m3gppIndex == SUBSCRIPTION_INDEX_INVALID) && (userSub.m3gpp2Index == SUBSCRIPTION_INDEX_INVALID)){
+ if (mCardSubData[cardIndex] == null){
+ Log.d(LOG_TAG,"user data invalid,card data not present,this is a match");
}else{
- Log.d(LOG_TAG,"either user subs data or card subs data is invalid,sub id "+i);
+ Log.d(LOG_TAG,"user data invalid,card data present,");
+ if (userSub.subStatus == SUB_DEACTIVATED || userSub.subStatus == SUB_DEACTIVATE){
+ Log.d(LOG_TAG,"user data subStatus is deactivated,this is a match");
+ }else{
+ subDataNotMatch = true;
+ break;
+ }
}
-
- Log.d(LOG_TAG, "matchedSub.subscription[" + i + "] = " + matchedSub.subscription[i]);
+ }
+
}
- // If the user pref sub is not matched, then propmt the user to select the subs.
- if ((mUserPrefSubs.subscription[0].subStatus != SUB_DEACTIVATED
- && matchedSub.subscription[0].subId == SUBSCRIPTION_INDEX_INVALID)
- || (mUserPrefSubs.subscription[1].subStatus != SUB_DEACTIVATED
- && matchedSub.subscription[1].subId == SUBSCRIPTION_INDEX_INVALID)) {
- //Subscription settings do not match with the card applications
- mUiccSubSet = true; //card status is processed only the first time
+ if (subDataNotMatch){
+ Log.d(LOG_TAG,"sub data not match");
+ mUiccSubSet = true;
setSubscription(fillSubscriptionPreference(),null);
- // promptUserSubscription();
mNeedToShow = true;
- } else {
+ }else{
+ Log.d(LOG_TAG,"sub data matched");
+ SubscriptionData matchedSub = new SubscriptionData(NUM_SUBSCRIPTIONS);
+ for (int i=0;i<NUM_SUBSCRIPTIONS;i++){
+ Subscription userSub = mUserPrefSubs.subscription[i];
+ matchedSub.subscription[i].copyFrom(userSub);
+ if (userSub.subStatus == SUB_ACTIVATED){
+ matchedSub.subscription[i].subStatus = SUB_ACTIVATE;
+ }
+ matchedSub.subscription[i].subId = i;
+ matchedSub.subscription[i].slotId = i;
+ if (mSetSubOnSimRefresh) {
+ if (mSupplySubscription.prevSubscriptionData.subscription[i].subStatus == SUB_ACTIVATED) {
+ matchedSub.subscription[i].subStatus = SUB_ACTIVATED;
+ Log.d(LOG_TAG,"current subStatus is set to SUB_ACTIVATED");
+ }
+ }
+ }
setSubscription(matchedSub, null);
mUiccSubSet = true;
}
@@ -894,7 +912,6 @@ public class ProxyManager extends Handler {
}
}
-
SubscriptionData matchedSub = new SubscriptionData(NUM_SUBSCRIPTIONS);
for (int i = 0;i<NUM_SUBSCRIPTIONS;i++){
if (prefAppIndex[i] != -1){
@@ -905,7 +922,6 @@ public class ProxyManager extends Handler {
Log.d(LOG_TAG,"matched sub id: "+i+" {"+matchedSub.subscription[i].toString()+"}");
}
return matchedSub;
-
}
private void processSimRefresh(AsyncResult ar) {
@@ -940,6 +956,11 @@ public class ProxyManager extends Handler {
}
}
+ /*Is subscription ready*/
+ public boolean isSubscriptionReady(int subscription){
+ return mSubscriptionReady[subscription];
+ }
+
/** Sets the subscriptions */
public void setSubscription(SubscriptionData subData, Message onCompleteMsg) {
@@ -1065,7 +1086,8 @@ public class ProxyManager extends Handler {
sub.subId, sub.subStatus, msgSetUiccSubDone);
} else {
// This subscription is not in use. Mark as INVALID.
- subscriptionData.subscription[index].subStatus = SUB_INVALID;
+ //subscriptionData.subscription[index].subStatus = SUB_INVALID;
+ Log.d(LOG_TAG,"no need to reset subStatus to SUB_INVALID,need to keep this status");
}
}
break;
diff --git a/frameworks/base/telephony/java/com/android/internal/telephony/cat/ResponseData.java b/frameworks/base/telephony/java/com/android/internal/telephony/cat/ResponseData.java
index 13d6fce42..4add1c555 100644
--- a/frameworks/base/telephony/java/com/android/internal/telephony/cat/ResponseData.java
+++ b/frameworks/base/telephony/java/com/android/internal/telephony/cat/ResponseData.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2006-2007 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
diff --git a/frameworks/base/wifi/java/android/net/wifi/WifiNative.java b/frameworks/base/wifi/java/android/net/wifi/WifiNative.java
index dd901bce5..242a8d96b 100644
--- a/frameworks/base/wifi/java/android/net/wifi/WifiNative.java
+++ b/frameworks/base/wifi/java/android/net/wifi/WifiNative.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java b/frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java
index cfe71dcc6..72a6b5cbc 100644
--- a/frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java
+++ b/frameworks/base/wifi/java/android/net/wifi/WifiStateTracker.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/hardware/focaltech/touchpanel/ft5202/firmware/touch_ft5202_fm_25.bin b/hardware/focaltech/touchpanel/ft5202/firmware/touch_ft5202_fm_25.bin
index fdf9a7538..fdf9a7538 100644..100755
--- a/hardware/focaltech/touchpanel/ft5202/firmware/touch_ft5202_fm_25.bin
+++ b/hardware/focaltech/touchpanel/ft5202/firmware/touch_ft5202_fm_25.bin
Binary files differ
diff --git a/hardware/focaltech/touchpanel/ft5202/init.focaltech.sh b/hardware/focaltech/touchpanel/ft5202/init.focaltech.sh
index 6b9a0c8d9..6b9a0c8d9 100644..100755
--- a/hardware/focaltech/touchpanel/ft5202/init.focaltech.sh
+++ b/hardware/focaltech/touchpanel/ft5202/init.focaltech.sh
diff --git a/hardware/msm7k/libgralloc-qsd8k/Android.mk b/hardware/msm7k/libgralloc-qsd8k/Android.mk
index 29aa02ce4..32ee3dd54 100644..100755
--- a/hardware/msm7k/libgralloc-qsd8k/Android.mk
+++ b/hardware/msm7k/libgralloc-qsd8k/Android.mk
@@ -39,6 +39,10 @@ ifneq (, $(filter msm7627% msm7625_ffa msm7625_surf msm7627_ffa msm7627_surf msm
LOCAL_CFLAGS += -DTARGET_MSM7x27
endif
+ifneq (,$(filter msm7627_sku2, $(QCOM_TARGET_PRODUCT)))
+LOCAL_CFLAGS += -DLESS_PMEM
+endif
+
ifeq ($(TARGET_HAVE_HDMI_OUT),true)
LOCAL_CFLAGS += -DHDMI_DUAL_DISPLAY
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../liboverlay
diff --git a/hardware/msm7k/libgralloc-qsd8k/gralloc.cpp b/hardware/msm7k/libgralloc-qsd8k/gralloc.cpp
index 9ac7bd6f2..31fe0c702 100644..100755
--- a/hardware/msm7k/libgralloc-qsd8k/gralloc.cpp
+++ b/hardware/msm7k/libgralloc-qsd8k/gralloc.cpp
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -81,7 +82,11 @@ class PmemAllocatorDepsDeviceImpl : public PmemUserspaceAllocator::Deps,
else
return -ENOMEM;
#else
- *size = 23<<20; //23MB for 7x27
+#ifdef LESS_PMEM
+ *size = 9<<20; //9MB for 7x27 HVGA
+#else
+ *size = 23<<20; //23MB for 7x27 WVGA
+#endif
#endif
#endif
return err;
diff --git a/kernel/arch/arm/configs/msm7627_sku2-perf_defconfig b/kernel/arch/arm/configs/msm7627_sku2-perf_defconfig
index 4315a82ef..da1a8c48a 100644..100755
--- a/kernel/arch/arm/configs/msm7627_sku2-perf_defconfig
+++ b/kernel/arch/arm/configs/msm7627_sku2-perf_defconfig
@@ -44,7 +44,7 @@ CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
-# CONFIG_SWAP is not set
+CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
@@ -522,9 +522,8 @@ CONFIG_WAKELOCK=y
CONFIG_WAKELOCK_STAT=y
CONFIG_USER_WAKELOCK=y
CONFIG_EARLYSUSPEND=y
-# CONFIG_NO_USER_SPACE_SCREEN_ACCESS_CONTROL is not set
-CONFIG_CONSOLE_EARLYSUSPEND=y
-# CONFIG_FB_EARLYSUSPEND is not set
+# CONFIG_CONSOLE_EARLYSUSPEND is not set
+CONFIG_FB_EARLYSUSPEND=y
# CONFIG_APM_EMULATION is not set
# CONFIG_PM_RUNTIME is not set
CONFIG_PM_OPS=y
@@ -978,11 +977,12 @@ CONFIG_ANDROID_PMEM=y
# CONFIG_VP_A1026 is not set
# CONFIG_DS1682 is not set
# CONFIG_TI_DAC7512 is not set
-# CONFIG_UID_STAT is not set
+CONFIG_UID_STAT=y
# CONFIG_WL127X_RFKILL is not set
# CONFIG_APANIC is not set
# CONFIG_TSIF is not set
# CONFIG_HAPTIC_ISA1200 is not set
+# CONFIG_TZCOM is not set
# CONFIG_C2PORT is not set
#
@@ -1128,6 +1128,7 @@ CONFIG_INPUT_EVBUG=m
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSREEN_MIRROR_X is not set
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
@@ -1174,6 +1175,7 @@ CONFIG_INPUT_GPIO=y
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
# CONFIG_BOSCH_BMA150 is not set
+# CONFIG_BOSCH_BMA250 is not set
#
# Hardware I/O ports
@@ -1530,6 +1532,7 @@ CONFIG_I2C_SI470X=y
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_SAA7706H is not set
# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_RADIO_RDA5802 is not set
# CONFIG_DAB is not set
#
@@ -1665,16 +1668,11 @@ CONFIG_BACKLIGHT_GENERIC=y
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_LOGO_LINUX_CLUT224 is not set
CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y
@@ -2102,6 +2100,8 @@ CONFIG_ANDROID_LOW_MEMORY_KILLER=y
# RAR Register Driver
#
# CONFIG_IIO is not set
+CONFIG_RAMZSWAP=y
+CONFIG_RAMZSWAP_STATS=y
# CONFIG_BATMAN_ADV is not set
# CONFIG_FB_SM7XX is not set
@@ -2523,6 +2523,8 @@ CONFIG_CRC32=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
CONFIG_DECOMPRESS_GZIP=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_TEXTSEARCH=y
diff --git a/kernel/arch/arm/mach-msm/board-msm7x27-sku5.c b/kernel/arch/arm/mach-msm/board-msm7x27-sku5.c
index f5b81db21..244ce7153 100755
--- a/kernel/arch/arm/mach-msm/board-msm7x27-sku5.c
+++ b/kernel/arch/arm/mach-msm/board-msm7x27-sku5.c
@@ -63,6 +63,7 @@
#include "clock.h"
#include "msm-keypad-devices.h"
#include "pm.h"
+#include "proc_comm.h"
#ifdef CONFIG_ARCH_MSM7X27
#include <linux/msm_kgsl.h>
#endif
@@ -224,11 +225,12 @@ static struct android_usb_product usb_products[] = {
};
static struct usb_mass_storage_platform_data mass_storage_pdata = {
- .nluns = 1,
+ .nluns = 2,
.vendor = "Qualcomm Incorporated",
.product = "Mass storage",
.release = 0x0100,
.can_stall = 1,
+ .cdrom_num = 1,
};
static struct platform_device usb_mass_storage_device = {
@@ -754,6 +756,10 @@ static struct msm_tsif_platform_data tsif_platform_data = {
#define GPIO_OUT_102 102
#define GPIO_OUT_88 88
+/* GPIO pin level */
+#define GPIO_WLAN_HIGH 1
+#define GPIO_WLAN_LOW 0
+
static struct msm_rpc_endpoint *lcdc_ep;
static DEFINE_MUTEX(lcdc_mtx);
static int msm_fb_lcdc_config(int on)
@@ -1090,7 +1096,7 @@ extern char getWlanState(void);
#endif
-#ifdef BT_WLAN_POWER_SAME
+#if 0 //def BT_WLAN_POWER_SAME
#define GPIO_BT_PA 81
static int bluetooth_pa(int on)
{
@@ -1160,16 +1166,15 @@ static int bluetooth_power(int on)
goto err_rst;
}
-#ifdef BT_WLAN_POWER_SAME
+#if 0//def BT_WLAN_POWER_SAME
rc = bluetooth_pa(on);
if (rc) {
pr_err("%s: bluetooth_pa error, ret = %d\n", __func__, rc);
goto err_rst;
}
-
- return rc;
#endif
+ return rc;
err_rst:
for (pin = 0; pin < ARRAY_SIZE(bt_config_power_off); pin++)
@@ -2409,7 +2414,7 @@ void msm_serial_debug_init(unsigned int base, int irq,
|| defined(CONFIG_MMC_MSM_SDC4_SUPPORT))
static unsigned long vreg_sts, gpio_sts;
-static struct vreg *vreg_mmc;
+static struct vreg *vreg_mmc, *vreg_wlan;
static unsigned mpp_mmc = 2;
struct sdcc_gpio {
@@ -2620,13 +2625,23 @@ static struct mmc_platform_data msm7x2x_sdc4_data = {
#endif
};
#endif
+/* Unused code, but keep original.
#ifndef CONFIG_QCOM_CUSTOM
#define MMC_VREG "mmc"
#endif
+*/
+int get_hw_board_version(void);
+int get_wlan_power_supply(void);
+
static void __init msm7x2x_init_mmc(void)
{
if (!machine_is_msm7x25_ffa() && !machine_is_msm7x27_ffa()) {
- vreg_mmc = vreg_get(NULL, MMC_VREG);
+ /* Check BSP version is above (equal) DVT4 or not */
+ if(4 <= get_hw_board_version())
+ vreg_mmc = vreg_get(NULL, MMC_NEW_VREG);
+ else
+ vreg_mmc = vreg_get(NULL, MMC_OLD_VREG);
+
if (IS_ERR(vreg_mmc)) {
printk(KERN_ERR "%s: vreg get failed (%ld)\n",
__func__, PTR_ERR(vreg_mmc));
@@ -2807,27 +2822,124 @@ static int irled_power(void)
return 0;
}
#endif
-extern void wlan_power_ctrl_init(void);
+
static void msm7x27_wlan_init(void)
{
- int rc = 0;
+ printk(KERN_ERR "\n%s, 3.3V ON\n", __func__);
- wlan_power_ctrl_init();
+ if(get_wlan_power_supply() == 1){
+ gpio_set_value(GPIO_WLAN_CHIP_PWD_L, GPIO_WLAN_HIGH); /* let 3.3V high */
+ } else {
+ gpio_set_value(GPIO_WLAN_CHIP_PWD_L, GPIO_WLAN_LOW); /* let 3.3V low */
+ }
- /* TBD: if (machine_is_msm7x27_ffa_with_wcn1312()) */
- if (machine_is_msm7x27_ffa()) {
- rc = mpp_config_digital_out(3, MPP_CFG(MPP_DLOGIC_LVL_MSMP,
- MPP_DLOGIC_OUT_CTRL_LOW));
- if (rc)
- printk(KERN_ERR "%s: return val: %d \n",
- __func__, rc);
- }
+ /* 1.8V if new BSP */
+ if(4 <= get_hw_board_version()) {
+ vreg_wlan = vreg_get(NULL, "wlan");
+
+ if (IS_ERR(vreg_wlan)) {
+ printk(KERN_ERR "%s: vreg_get wlan failed\n", __func__);
+ return;
+ }
+
+ /* units of mV, steps of 50 mV */
+ if (vreg_set_level(vreg_wlan, 1800)) {
+ printk(KERN_ERR "%s: vreg_set wlan level failed\n", __func__);
+ return;
+ }
+
+ mdelay(1);
+ printk(KERN_ERR "\n%s, 1.8V ON\n", __func__);
+ if(get_wlan_power_supply() == 1){
+ vreg_enable(vreg_wlan);
+ } else {
+ vreg_disable(vreg_wlan);
+ }
+ }
+ printk(KERN_ERR "\n%s, CHIP_PWD=L\n", __func__);
+ gpio_set_value(GPIO_WLAN_RST_L, GPIO_WLAN_LOW);
}
+void msm7x27_wlan_shutdown(void)
+{
+ printk(KERN_ERR "\n%s, CHIP_PWD=L\n", __func__);
+ gpio_set_value(GPIO_WLAN_RST_L, GPIO_WLAN_LOW);
+
+ /* 1.8V if new BSP */
+ if(4 <= get_hw_board_version()) {
+ vreg_wlan = vreg_get(NULL, "wlan");
+
+ if (IS_ERR(vreg_wlan)) {
+ printk(KERN_ERR "%s: vreg_get wlan failed\n", __func__);
+ return;
+ }
+
+ mdelay(1);
+ printk(KERN_ERR "\n%s, 1.8V OFF\n", __func__);
+ vreg_disable(vreg_wlan);
+ }
+
+ printk(KERN_ERR "\n%s, 3.3V OFF\n", __func__);
+ mdelay(1);
+ gpio_set_value(GPIO_WLAN_CHIP_PWD_L, GPIO_WLAN_LOW); /* let 3.3V low */
+
+}
+EXPORT_SYMBOL(msm7x27_wlan_shutdown);
+
+
#ifdef CONFIG_MSM_PMIC_VIBRATOR
extern void msm_init_pmic_vibrator(void);
#endif
+static int hw_board_version;
+static int wlan_power_supply;
+
+int get_hw_board_version(void)
+{
+ return hw_board_version;
+}
+EXPORT_SYMBOL(get_hw_board_version);
+
+static void read_hw_board_version(void)
+{
+ uint32_t data1, data2;
+ int rc;
+
+ data1 = 1;
+ data2 = 4;
+
+ rc = msm_proc_comm(PCOM_OEM_READ_HW_BOARD_VERSION, &data1, &data2);
+ if (rc) {
+ hw_board_version = 4;
+ pr_err("read_hw_board_version error, rc=%d\n", rc);
+ } else {
+ hw_board_version = (int)data2;
+ }
+}
+
+int get_wlan_power_supply(void)
+{
+ return wlan_power_supply;
+}
+EXPORT_SYMBOL(get_wlan_power_supply);
+
+static void read_wlan_power_supply(void)
+{
+ uint32_t data1, data2;
+ int rc;
+
+ data1 = 2;
+ data2 = 0;
+
+ rc = msm_proc_comm(PCOM_OEM_READ_HW_BOARD_VERSION, &data1, &data2);
+ if (rc) {
+ wlan_power_supply = 0;
+ pr_err("read_wlan_power_supply error, rc=%d\n", rc);
+ } else {
+ wlan_power_supply = (int)data2;
+ }
+}
+
static void __init msm7x2x_init(void)
{
#ifdef CONFIG_ARCH_MSM7X25
@@ -2859,6 +2971,11 @@ static void __init msm7x2x_init(void)
msm_acpu_clock_init(&msm7x2x_clock_data);
+ read_hw_board_version();
+ get_hw_board_version();
+ read_wlan_power_supply();
+ get_wlan_power_supply();
+
#ifdef CONFIG_ARCH_MSM7X27
/* This value has been set to 160000 for power savings. */
/* OEMs may modify the value at their discretion for performance */
@@ -2961,7 +3078,7 @@ static void __init msm7x2x_init(void)
msm_pm_set_platform_data(msm7x25_pm_data,
ARRAY_SIZE(msm7x25_pm_data));
- msm7x27_wlan_init();
+ msm7x27_wlan_init();
#ifdef CONFIG_MSM_PMIC_VIBRATOR
msm_init_pmic_vibrator();
diff --git a/kernel/arch/arm/mach-msm/board-msm7x27.c b/kernel/arch/arm/mach-msm/board-msm7x27.c
index 34e27afd5..4a435d753 100755
--- a/kernel/arch/arm/mach-msm/board-msm7x27.c
+++ b/kernel/arch/arm/mach-msm/board-msm7x27.c
@@ -105,15 +105,23 @@ struct gpio_info {
#endif
#ifdef CONFIG_ARCH_MSM7X27
+#ifdef CONFIG_MACH_MSM7X27_SKU2
+#define MSM_PMEM_MDP_SIZE 0xD76000
+#else
#define MSM_PMEM_MDP_SIZE 0x1B76000
+#endif
#define MSM_PMEM_ADSP_SIZE 0xC8A000
#define MSM_PMEM_AUDIO_SIZE 0x5B000
#ifdef CONFIG_FB_MSM_TRIPLE_BUFFER
#define MSM_FB_SIZE 0x233000
#else
+#ifdef CONFIG_MACH_MSM7X27_SKU2
+#define MSM_FB_SIZE 0x96000
+#else
#define MSM_FB_SIZE 0x177000
#endif
+#endif
#define PMEM_KERNEL_EBI1_SIZE 0x1C000
#endif
@@ -223,11 +231,12 @@ static struct android_usb_product usb_products[] = {
};
static struct usb_mass_storage_platform_data mass_storage_pdata = {
- .nluns = 1,
+ .nluns = 2,
.vendor = "Qualcomm Incorporated",
.product = "Mass storage",
.release = 0x0100,
.can_stall = 1,
+ .cdrom_num = 1,
};
static struct platform_device usb_mass_storage_device = {
@@ -1980,16 +1989,39 @@ static struct msm_psy_batt_pdata msm_psy_batt_data = {
static u32 msm_calculate_batt_capacity(u32 current_voltage)
{
- u32 low_voltage = msm_psy_batt_data.voltage_min_design;
- u32 high_voltage = msm_psy_batt_data.voltage_max_design;
+ const static u32 voltage_to_capacity_table[][2] = {
+ {4180, 100},
+ {4022, 90},
+ {3945, 80},
+ {3882, 70},
+ {3811, 60},
+ {3765, 50},
+ {3748, 40},
+ {3743, 30},
+ {3692, 20},
+ {3608, 10},
+ {3300, 0},
+ { 0, 0},
+ };
+ int i, base, top, percent_diff;
- if (current_voltage <= low_voltage)
- current_voltage = low_voltage;
- else if (current_voltage >= high_voltage)
- current_voltage = high_voltage;
+ if (current_voltage >= voltage_to_capacity_table[0][0])
+ {
+ return 100;
+ }
+
+ for (i = 1; i < ARRAY_SIZE(voltage_to_capacity_table); i++) {
+ if (current_voltage >= voltage_to_capacity_table[i][0]) {
+ break;
+ }
+ }
- return (current_voltage - low_voltage) * 100
- / (high_voltage - low_voltage);
+ base = voltage_to_capacity_table[i][0];
+ top = voltage_to_capacity_table[i - 1][0];
+ percent_diff = voltage_to_capacity_table[i - 1][1] -
+ voltage_to_capacity_table[i][1];
+ return voltage_to_capacity_table[i][1] +
+ (current_voltage - base) * percent_diff / (top - base);
}
static struct platform_device msm_batt_device = {
diff --git a/kernel/arch/arm/mach-msm/include/mach/debug_mm.h b/kernel/arch/arm/mach-msm/include/mach/debug_mm.h
index c46efa06d..7f5b46a6c 100644
--- a/kernel/arch/arm/mach-msm/include/mach/debug_mm.h
+++ b/kernel/arch/arm/mach-msm/include/mach/debug_mm.h
@@ -36,8 +36,10 @@
#define __MM_FILE__ strrchr(__FILE__, '/') ? (strrchr(__FILE__, '/')+1) : \
__FILE__
-#define MM_DBG(fmt, args...) pr_debug("[%s] " fmt,\
- __func__, ##args)
+#define DEBUG
+
+#define MM_DBG(fmt, args...) pr_debug("[%s:%s] " fmt,\
+ __MM_FILE__, __func__, ##args)
#define MM_INFO(fmt, args...) pr_info("[%s:%s] " fmt,\
__MM_FILE__, __func__, ##args)
diff --git a/kernel/arch/arm/mach-msm/include/mach/oem_rapi_client.h b/kernel/arch/arm/mach-msm/include/mach/oem_rapi_client.h
index 943125224..72ac82b11 100644..100755
--- a/kernel/arch/arm/mach-msm/include/mach/oem_rapi_client.h
+++ b/kernel/arch/arm/mach-msm/include/mach/oem_rapi_client.h
@@ -40,6 +40,7 @@
enum {
OEM_RAPI_CLIENT_EVENT_NONE = 0,
+ OEM_RAPI_CLIENT_EVENT_TRI_COLOR_LED_WORK,
/*
* list of oem rapi client events
*/
diff --git a/kernel/arch/arm/mach-msm/msm_vibrator.c b/kernel/arch/arm/mach-msm/msm_vibrator.c
index 9fcc85f95..a6eb6b63c 100644
--- a/kernel/arch/arm/mach-msm/msm_vibrator.c
+++ b/kernel/arch/arm/mach-msm/msm_vibrator.c
@@ -1,5 +1,6 @@
/* include/asm/mach-msm/htc_pwrsink.h
*
+ * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
* Copyright (C) 2008 HTC Corporation.
* Copyright (C) 2007 Google, Inc.
*
@@ -40,10 +41,19 @@
#endif
#define PMIC_VIBRATOR_LEVEL (3000)
+#if 0
static struct work_struct work_vibrator_on;
static struct work_struct work_vibrator_off;
+#endif
+
+static struct work_struct work_vibrator;
+static int vibe_state;
+
static struct hrtimer vibe_timer;
+static DEFINE_MUTEX(vibe_mtx);
+static spinlock_t vibe_lock;
+
static void set_pmic_vibrator(int on)
{
static struct msm_rpc_endpoint *vib_endpoint;
@@ -51,12 +61,15 @@ static void set_pmic_vibrator(int on)
struct rpc_request_hdr hdr;
uint32_t data;
} req;
+ if(mutex_lock_interruptible(&vibe_mtx))
+ return;
if (!vib_endpoint) {
vib_endpoint = msm_rpc_connect(PM_LIBPROG, PM_LIBVERS, 0);
if (IS_ERR(vib_endpoint)) {
printk(KERN_ERR "init vib rpc failed!\n");
vib_endpoint = 0;
+ mutex_unlock(&vibe_mtx);
return;
}
}
@@ -69,14 +82,22 @@ static void set_pmic_vibrator(int on)
msm_rpc_call(vib_endpoint, HTC_PROCEDURE_SET_VIB_ON_OFF, &req,
sizeof(req), 5 * HZ);
+
+ mutex_unlock(&vibe_mtx);
}
-static void pmic_vibrator_on(struct work_struct *work)
+#if 0
+static void pmic_vibrator_on(struct timed_output_dev *sdev)
{
set_pmic_vibrator(1);
}
-static void pmic_vibrator_off(struct work_struct *work)
+static void pmic_vibrator_off(struct timed_output_dev *sdev)
+{
+ set_pmic_vibrator(0);
+}
+
+static void pmic_vibrator_expire_off(struct work_struct *work)
{
set_pmic_vibrator(0);
}
@@ -90,22 +111,37 @@ static void timed_vibrator_off(struct timed_output_dev *sdev)
{
schedule_work(&work_vibrator_off);
}
+#endif
+
+static void update_vibrator(struct work_struct *work)
+{
+ set_pmic_vibrator(vibe_state);
+}
+
static void vibrator_enable(struct timed_output_dev *dev, int value)
{
+ unsigned long flags;
+
+ spin_lock_irqsave(&vibe_lock, flags);
+
hrtimer_cancel(&vibe_timer);
if (value == 0)
- timed_vibrator_off(dev);
+ vibe_state = 0;
else {
value = (value > 15000 ? 15000 : value);
- timed_vibrator_on(dev);
+ vibe_state = 1;
hrtimer_start(&vibe_timer,
ktime_set(value / 1000, (value % 1000) * 1000000),
HRTIMER_MODE_REL);
}
+ spin_unlock_irqrestore(&vibe_lock, flags);
+
+ schedule_work(&work_vibrator);
+
}
static int vibrator_get_time(struct timed_output_dev *dev)
@@ -119,7 +155,8 @@ static int vibrator_get_time(struct timed_output_dev *dev)
static enum hrtimer_restart vibrator_timer_func(struct hrtimer *timer)
{
- timed_vibrator_off(NULL);
+ vibe_state = 0;
+ schedule_work(&work_vibrator);
return HRTIMER_NORESTART;
}
@@ -131,8 +168,10 @@ static struct timed_output_dev pmic_vibrator = {
void __init msm_init_pmic_vibrator(void)
{
- INIT_WORK(&work_vibrator_on, pmic_vibrator_on);
- INIT_WORK(&work_vibrator_off, pmic_vibrator_off);
+ INIT_WORK(&work_vibrator, update_vibrator);
+
+ spin_lock_init(&vibe_lock);
+ vibe_state = 0;
hrtimer_init(&vibe_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
vibe_timer.function = vibrator_timer_func;
diff --git a/kernel/arch/arm/mach-msm/oem_rapi_client.c b/kernel/arch/arm/mach-msm/oem_rapi_client.c
index eefa785ad..0e4c8f19f 100644..100755
--- a/kernel/arch/arm/mach-msm/oem_rapi_client.c
+++ b/kernel/arch/arm/mach-msm/oem_rapi_client.c
@@ -32,7 +32,7 @@
#include <mach/oem_rapi_client.h>
#define OEM_RAPI_PROG 0x3000006B
-#define OEM_RAPI_VERS 0x00010001
+#define OEM_RAPI_VERS 0x843e7e75 //0x00010001
#define OEM_RAPI_NULL_PROC 0
#define OEM_RAPI_RPC_GLUE_CODE_INFO_REMOTE_PROC 1