diff --git a/AndroidBoard.mk b/AndroidBoard.mk new file mode 100644 index 00000000..d528d396 --- /dev/null +++ b/AndroidBoard.mk @@ -0,0 +1 @@ +include device/qcom/msm7627a/AndroidBoard.mk diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 00000000..1837cd9e --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1 @@ +PRODUCT_MAKEFILES := $(LOCAL_DIR)/full_otoro.mk diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 00000000..20141dd3 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,33 @@ +include device/qcom/msm7627a/BoardConfig.mk + +TARGET_NO_BOOTLOADER := true +TARGET_NO_KERNEL := true + +TARGET_USERIMAGES_USE_EXT4 := false + +BOARD_EGL_CFG := device/qcom/msm7627a/egl.cfg + +BOARD_BOOTIMAGE_PARTITION_SIZE := 8388608 +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 245366784 +BOARD_USERDATAIMAGE_PARTITION_SIZE := 159907840 +BOARD_PERSISTIMAGE_PARTITION_SIZE := 1572864 +BOARD_CACHEIMAGE_PARTITION_SIZE := 60293120 +BOARD_FLASH_BLOCK_SIZE := 131072 + +# hack to prevent llvm from building +BOARD_USE_QCOM_LLVM_CLANG_RS := true + +BOARD_HAS_ATH_WLAN := true + +BOARD_WPA_SUPPLICANT_DRIVER := WEXT +CONFIG_DRIVER_WEXT := y +WPA_SUPPLICANT_VERSION := VER_0_8_X +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_wext +WIFI_DRIVER_MODULE_PATH := "/system/wifi/ar6000.ko" +WIFI_MODULE_NAME := "ar6000" + +WIFI_TEST_INTERFACE := "sta" +WIFI_DRIVER_FW_PATH_STA := "sta" +WIFI_DRIVER_FW_PATH_AP := "ap" +WIFI_DRIVER_FW_PATH_P2P := "p2p" + diff --git a/Fts-touchscreen.idc b/Fts-touchscreen.idc new file mode 100644 index 00000000..2df37aee --- /dev/null +++ b/Fts-touchscreen.idc @@ -0,0 +1 @@ +touch.deviceType = touchScreen diff --git a/extract-files.sh b/extract-files.sh new file mode 100755 index 00000000..e88437bf --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,249 @@ +#!/bin/bash + +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DEVICE=otoro +COMMON=common +MANUFACTURER=qcom + +if [[ -z "${ANDROIDFS_DIR}" ]]; then + DEVICE_BUILD_ID=`adb shell cat /system/build.prop | grep ro.build.display.id | sed -e 's/ro.build.display.id=//' | tr -d '\n\r'` +else + DEVICE_BUILD_ID=`cat ${ANDROIDFS_DIR}/system/build.prop | grep ro.build.display.id | sed -e 's/ro.build.display.id=//' | tr -d '\n\r'` +fi + +case "$DEVICE_BUILD_ID" in +*) + echo Found firmware with build ID $DEVICE_BUILD_ID >&2 + ;; +esac + +BASE_PROPRIETARY_COMMON_DIR=vendor/$MANUFACTURER/$COMMON/proprietary +PROPRIETARY_DEVICE_DIR=../../../vendor/$MANUFACTURER/$DEVICE/proprietary +PROPRIETARY_COMMON_DIR=../../../$BASE_PROPRIETARY_COMMON_DIR + +mkdir -p $PROPRIETARY_DEVICE_DIR + +for NAME in audio hw wifi etc +do + mkdir -p $PROPRIETARY_COMMON_DIR/$NAME +done + + +COMMON_BLOBS_LIST=../../../vendor/$MANUFACTURER/$COMMON/vendor-blobs.mk + +(cat << EOF) | sed s/__COMMON__/$COMMON/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > $COMMON_BLOBS_LIST +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Prebuilt libraries that are needed to build open-source libraries +PRODUCT_COPY_FILES := device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml + +# All the blobs +PRODUCT_COPY_FILES += \\ +EOF + +# copy_file +# pull file from the device and adds the file to the list of blobs +# +# $1 = src name +# $2 = dst name +# $3 = directory path on device +# $4 = directory name in $PROPRIETARY_COMMON_DIR +copy_file() +{ + echo Pulling \"$1\" + if [[ -z "${ANDROIDFS_DIR}" ]]; then + adb pull /$3/$1 $PROPRIETARY_COMMON_DIR/$4/$2 + else + # Hint: Uncomment the next line to populate a fresh ANDROIDFS_DIR + # (TODO: Make this a command-line option or something.) + # adb pull /$3/$1 ${ANDROIDFS_DIR}/$3/$1 + cp ${ANDROIDFS_DIR}/$3/$1 $PROPRIETARY_COMMON_DIR/$4/$2 + fi + + if [[ -f $PROPRIETARY_COMMON_DIR/$4/$2 ]]; then + echo $BASE_PROPRIETARY_COMMON_DIR/$4/$2:$3/$2 \\ >> $COMMON_BLOBS_LIST + else + echo Failed to pull $1. Giving up. + exit -1 + fi +} + +# copy_files +# pulls a list of files from the device and adds the files to the list of blobs +# +# $1 = list of files +# $2 = directory path on device +# $3 = directory name in $PROPRIETARY_COMMON_DIR +copy_files() +{ + for NAME in $1 + do + copy_file "$NAME" "$NAME" "$2" "$3" + done +} + +# copy_local_files +# puts files in this directory on the list of blobs to install +# +# $1 = list of files +# $2 = directory path on device +# $3 = local directory path +copy_local_files() +{ + for NAME in $1 + do + echo Adding \"$NAME\" + echo device/$MANUFACTURER/$DEVICE/$3/$NAME:$2/$NAME \\ >> $COMMON_BLOBS_LIST + done +} + +COMMON_LIBS=" + libauth.so + libcm.so + libdiag.so + libdsi_netctrl.so + libdsm.so + libdss.so + libdsutils.so + libgsdi_exp.so + libgstk_exp.so + libidl.so + libmmgsdilib.so + libnetmgr.so + libnv.so + liboncrpc.so + libpbmlib.so + libqdp.so + libqmi.so + libqmiservices.so + libqueue.so + libril-qc-1.so + libril-qc-qmi-1.so + libril-qcril-hook-oem.so + libSimCardAuth.so + libwms.so + libwmsts.so + " + +copy_files "$COMMON_LIBS" "system/lib" "" + +COMMON_BINS=" + ATFWD-daemon + akmd8962 + amploader + bridgemgrd + dhcpcd + fm_qsoc_patches + fmconfig + hci_qcomm_init + netd + netmgrd + port-bridge + proximity.init + qmiproxy + qmuxd + " +copy_files "$COMMON_BINS" "system/bin" "" + +COMMON_HW=" + sensors.default.so + " +copy_files "$COMMON_HW" "system/lib/hw" "hw" + +COMMON_WIFI=" + ar6000.ko + kineto_gan.ko + " +copy_files "$COMMON_WIFI" "system/wifi" "wifi" + +COMMON_ATH6K=" + athtcmd_ram.bin + athwlan.bin + athwlan_mobile.bin + athwlan_router.bin + athwlan_tablet.bin + bdata.SD31.bin + data.patch.hw3_0.bin + device.bin + otp.bin + " +copy_files "$COMMON_ATH6K" "system/wifi/ath6k/AR6003/hw2.1.1" "wifi" + +COMMON_ETC="init.qcom.bt.sh" +copy_files "$COMMON_ETC" "system/etc" "etc" + +COMMON_AUDIO=" + " +#copy_files "$COMMON_AUDIO" "system/lib" "audio" + +if [ ! -f "Adreno200-AU_LINUX_ANDROID_ICS_CHOCO_CS.04.00.03.06.001.zip" ]; then + echo Adreno driver not found. Please download the ARMv7 adreno driver from + echo https://developer.qualcomm.com/mobile-development/mobile-technologies/gaming-graphics-optimization-adreno/tools-and-resources + echo and put it in $PWD +fi + +unzip -o -d ../../../vendor/$MANUFACTURER/$DEVICE Adreno200-AU_LINUX_ANDROID_ICS_CHOCO_CS.04.00.03.06.001.zip +(cat << EOF) | sed s/__DEVICE__/$DEVICE/g | sed s/__MANUFACTURER__/$MANUFACTURER/g > ../../../vendor/$MANUFACTURER/$DEVICE/$DEVICE-vendor-blobs.mk +# Copyright (C) 2010 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := vendor/$MANUFACTURER/$DEVICE + +PRODUCT_COPY_FILES := \ + \$(LOCAL_PATH)/system/etc/firmware/a300_pm4.fw:system/etc/firmware/a300_pm4.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/a225_pm4.fw:system/etc/firmware/a225_pm4.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/a300_pfp.fw:system/etc/firmware/a300_pfp.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/a225p5_pm4.fw:system/etc/firmware/a225p5_pm4.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/leia_pfp_470.fw:system/etc/firmware/leia_pfp_470.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/a225_pfp.fw:system/etc/firmware/a225_pfp.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/leia_pm4_470.fw:system/etc/firmware/leia_pm4_470.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/yamato_pfp.fw:system/etc/firmware/yamato_pfp.fw \\ + \$(LOCAL_PATH)/system/etc/firmware/yamato_pm4.fw:system/etc/firmware/yamato_pm4.fw \\ + \$(LOCAL_PATH)/system/lib/libC2D2.so:system/lib/libC2D2.so \\ + \$(LOCAL_PATH)/system/lib/libsc-a2xx.so:system/lib/libsc-a2xx.so \\ + \$(LOCAL_PATH)/system/lib/libgsl.so:system/lib/libgsl.so \\ + \$(LOCAL_PATH)/system/lib/libOpenVG.so:system/lib/libOpenVG.so \\ + \$(LOCAL_PATH)/system/lib/egl/egl.cfg:system/lib/egl.cfg \\ + \$(LOCAL_PATH)/system/lib/egl/libGLESv1_CM_adreno200.so:system/lib/egl/libGLESv1_CM_adreno200.so \\ + \$(LOCAL_PATH)/system/lib/egl/libEGL_adreno200.so:system/lib/egl/libEGL_adreno200.so \\ + \$(LOCAL_PATH)/system/lib/egl/eglsubAndroid.so:system/lib/egl/eglsubAndroid.so \\ + \$(LOCAL_PATH)/system/lib/egl/libGLESv2_adreno200.so:system/lib/egl/libGLESv2_adreno200.so \\ + \$(LOCAL_PATH)/system/lib/egl/libq3dtools_adreno200.so:system/lib/egl/libq3dtools_adreno200.so \\ + \$(LOCAL_PATH)/system/lib/egl/libGLES_android.so:system/lib/egl/libGLES_android.so +EOF diff --git a/full_otoro.mk b/full_otoro.mk new file mode 100644 index 00000000..0aac56a7 --- /dev/null +++ b/full_otoro.mk @@ -0,0 +1,19 @@ +$(call inherit-product, device/qcom/common/common.mk) +PRODUCT_COPY_FILES := \ + device/qcom/otoro/Fts-touchscreen.idc:system/usr/idc/Fts-touchscreen.idc + +$(call inherit-product-if-exists, vendor/qcom/otoro/device-otoro.mk) +$(call inherit-product-if-exists, vendor/qcom/common/vendor-blobs.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full.mk) + +PRODUCT_PROPERTY_OVERRIDES += \ + rild.libpath=/system/lib/libril-qc-1.so \ + rild.libargs=-d/dev/smd0 + +# Discard inherited values and use our own instead. +PRODUCT_NAME := full_otoro +PRODUCT_DEVICE := otoro +PRODUCT_BRAND := toro +PRODUCT_MANUFACTURER := toro +PRODUCT_MODEL := otoro1 +