summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRashed Abdel-Tawab <rashed@linux.com>2016-10-05 02:38:52 -0400
committerRashed Abdel-Tawab <rashed@linux.com>2016-10-05 03:12:15 -0400
commitd953db51f62b88e2fe97c256047e8513929f97e4 (patch)
treec057513d7af9ebd183a75a4ccc72aee5997fd922
parent0c5ba3cacdf33b44fdefeb87b4ea37034a4f6e1c (diff)
common: Add extraction scripts for common qcom blobs
Change-Id: I35d1816447b3f2bf34883e60fb1e8128e2107c12
-rw-r--r--extractors/README.md16
-rw-r--r--extractors/audio-msm8996.txt2
-rwxr-xr-xextractors/extract-files.sh47
-rw-r--r--extractors/graphics-msm8916-32.txt28
-rw-r--r--extractors/graphics-msm8916-64.txt28
-rw-r--r--extractors/graphics-msm8974.txt20
-rw-r--r--extractors/graphics-msm8992.txt40
-rw-r--r--extractors/graphics-msm8994.txt42
-rw-r--r--extractors/graphics-msm8996.txt56
-rwxr-xr-xextractors/setup-makefiles.sh178
10 files changed, 457 insertions, 0 deletions
diff --git a/extractors/README.md b/extractors/README.md
new file mode 100644
index 0000000..77064bd
--- /dev/null
+++ b/extractors/README.md
@@ -0,0 +1,16 @@
+# Qualcomm Binaries
+Binary makefile generation scripts
+
+## Graphics:
+### Origins:
+msm8916: 6.0.1 blobs from kipper/crackling
+msm8974: 6.0.1 blobs from bacon
+msm8992: 7.0 blobs from bullhead nrd90s
+msm8994: 7.0 blobs from angler nrd90u
+msm8996: 7.0 blobs from g5 (f700) v18g nrd90m
+### Min kernel patch level required:
+msm8916: Any 5.0+ kernel
+msm8974: Any 5.1+ kernel
+msm8992: Any 6.0+ kernel
+msm8994: Any 6.0+ kernel
+msm8996: Patched mdss/kgsl up to LA.UM.5.5.r1-00100-8x96.0
diff --git a/extractors/audio-msm8996.txt b/extractors/audio-msm8996.txt
new file mode 100644
index 0000000..a8dc3e8
--- /dev/null
+++ b/extractors/audio-msm8996.txt
@@ -0,0 +1,2 @@
+# Listen
+vendor/lib/hw/sound_trigger.primary.msm8996.so
diff --git a/extractors/extract-files.sh b/extractors/extract-files.sh
new file mode 100755
index 0000000..16a96e4
--- /dev/null
+++ b/extractors/extract-files.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+#
+# Copyright (C) 2016 The CyanogenMod 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.
+#
+
+set -e
+
+# Required!
+DEVICE=binaries
+DEVICE_COMMON=binaries
+VENDOR=qcom
+
+# Load extract_utils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
+
+CM_ROOT="$MY_DIR"/../../..
+
+HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh
+if [ ! -f "$HELPER" ]; then
+ echo "Unable to find helper script at $HELPER"
+ exit 1
+fi
+. "$HELPER"
+
+SRC=$1
+PLATFORM=$2
+SUBSYSTEM=$3
+
+# Initialize the helper for common device
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+extract "$MY_DIR"/"$SUBSYSTEM"-"$PLATFORM".txt "$SRC"
+
+"$MY_DIR"/setup-makefiles.sh
diff --git a/extractors/graphics-msm8916-32.txt b/extractors/graphics-msm8916-32.txt
new file mode 100644
index 0000000..6ac4e08
--- /dev/null
+++ b/extractors/graphics-msm8916-32.txt
@@ -0,0 +1,28 @@
+# Graphics
+vendor/lib/egl/eglsubAndroid.so
+vendor/lib/egl/eglSubDriverAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libESXEGL_adreno.so
+vendor/lib/egl/libESXGLESv1_CM_adreno.so
+vendor/lib/egl/libESXGLESv2_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/egl/libQTapGLES.so
+vendor/lib/egl/libRBEGL_adreno.so
+vendor/lib/egl/libRBGLESv1_CM_adreno.so
+vendor/lib/egl/libRBGLESv2_adreno.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libc2d30-a3xx.so
+vendor/lib/libc2d30-a4xx.so
+vendor/lib/libC2D2.so
+vendor/lib/libCB.so
+vendor/lib/libgsl.so
+vendor/lib/libllvm-glnext.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libOpenCL.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/librs_adreno.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/libsc-a3xx.so
+vendor/lib/libscale.so
diff --git a/extractors/graphics-msm8916-64.txt b/extractors/graphics-msm8916-64.txt
new file mode 100644
index 0000000..a95719b
--- /dev/null
+++ b/extractors/graphics-msm8916-64.txt
@@ -0,0 +1,28 @@
+# Graphics
+vendor/lib64/egl/eglsubAndroid.so
+vendor/lib64/egl/eglSubDriverAndroid.so
+vendor/lib64/egl/libEGL_adreno.so
+vendor/lib64/egl/libESXEGL_adreno.so
+vendor/lib64/egl/libESXGLESv1_CM_adreno.so
+vendor/lib64/egl/libESXGLESv2_adreno.so
+vendor/lib64/egl/libGLESv1_CM_adreno.so
+vendor/lib64/egl/libGLESv2_adreno.so
+vendor/lib64/egl/libq3dtools_adreno.so
+vendor/lib64/egl/libQTapGLES.so
+vendor/lib64/egl/libRBEGL_adreno.so
+vendor/lib64/egl/libRBGLESv1_CM_adreno.so
+vendor/lib64/egl/libRBGLESv2_adreno.so
+vendor/lib64/libadreno_utils.so
+vendor/lib64/libc2d30-a3xx.so
+vendor/lib64/libc2d30-a4xx.so
+vendor/lib64/libC2D2.so
+vendor/lib64/libCB.so
+vendor/lib64/libgsl.so
+vendor/lib64/libllvm-glnext.so
+vendor/lib64/libllvm-qcom.so
+vendor/lib64/libOpenCL.so
+vendor/lib64/libRSDriver_adreno.so
+vendor/lib64/librs_adreno.so
+vendor/lib64/librs_adreno_sha1.so
+vendor/lib64/libsc-a3xx.so
+vendor/lib64/libscale.so
diff --git a/extractors/graphics-msm8974.txt b/extractors/graphics-msm8974.txt
new file mode 100644
index 0000000..23797c0
--- /dev/null
+++ b/extractors/graphics-msm8974.txt
@@ -0,0 +1,20 @@
+# Graphics
+vendor/lib/egl/eglsubAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libbccQTI.so
+vendor/lib/libC2D2.so
+vendor/lib/libCB.so
+vendor/lib/libc2d30-a3xx.so
+vendor/lib/libgsl.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libOpenCL.so
+vendor/lib/libsc-a3xx.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/librs_adreno.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/libscale.so
+vendor/lib/libuiblur.so
diff --git a/extractors/graphics-msm8992.txt b/extractors/graphics-msm8992.txt
new file mode 100644
index 0000000..5395de3
--- /dev/null
+++ b/extractors/graphics-msm8992.txt
@@ -0,0 +1,40 @@
+# Graphics
+vendor/lib/hw/vulkan.msm8992.so
+vendor/lib/egl/eglSubDriverAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/libC2D2.so
+vendor/lib/libCB.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libbccQTI.so
+vendor/lib/libc2d30-a4xx.so
+vendor/lib/libgsl.so
+vendor/lib/libllvm-glnext.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libllvm-qgl.so
+vendor/lib/librs_adreno.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/libscale.so
+vendor/lib64/hw/vulkan.msm8992.so
+vendor/lib64/egl/eglSubDriverAndroid.so
+vendor/lib64/egl/libEGL_adreno.so
+vendor/lib64/egl/libGLESv1_CM_adreno.so
+vendor/lib64/egl/libGLESv2_adreno.so
+vendor/lib64/egl/libq3dtools_adreno.so
+vendor/lib64/libC2D2.so
+vendor/lib64/libCB.so
+vendor/lib64/libRSDriver_adreno.so
+vendor/lib64/libadreno_utils.so
+vendor/lib64/libbccQTI.so
+vendor/lib64/libc2d30-a4xx.so
+vendor/lib64/libgsl.so
+vendor/lib64/libllvm-glnext.so
+vendor/lib64/libllvm-qcom.so
+vendor/lib64/libllvm-qgl.so
+vendor/lib64/librs_adreno.so
+vendor/lib64/librs_adreno_sha1.so
+vendor/lib64/libscale.so
+vendor/lib64/libuiblur.so
diff --git a/extractors/graphics-msm8994.txt b/extractors/graphics-msm8994.txt
new file mode 100644
index 0000000..e956d80
--- /dev/null
+++ b/extractors/graphics-msm8994.txt
@@ -0,0 +1,42 @@
+# Graphics
+vendor/lib/hw/vulkan.msm8994.so
+vendor/lib/egl/eglSubDriverAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/libC2D2.so
+vendor/lib/libCB.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libbccQTI.so
+vendor/lib/libc2d30-a4xx.so
+vendor/lib/libgsl.so
+vendor/lib/libllvm-glnext.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libllvm-qgl.so
+vendor/lib/librs_adreno.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/libscale.so
+vendor/lib64/hw/vulkan.msm8994.so
+vendor/lib64/egl/eglSubDriverAndroid.so
+vendor/lib64/egl/libEGL_adreno.so
+vendor/lib64/egl/libGLESv1_CM_adreno.so
+vendor/lib64/egl/libGLESv2_adreno.so
+vendor/lib64/egl/libq3dtools_adreno.so
+vendor/lib64/libC2D2.so
+vendor/lib64/libCB.so
+vendor/lib64/libRSDriver_adreno.so
+vendor/lib64/libadreno_utils.so
+vendor/lib64/libbccQTI.so
+vendor/lib64/libc2d30-a4xx.so
+vendor/lib64/libgsl.so
+vendor/lib64/libllvm-glnext.so
+vendor/lib64/libllvm-qcom.so
+vendor/lib64/libllvm-qgl.so
+vendor/lib64/libmm-disp-apis.so
+vendor/lib64/libmm-qdcm.so
+vendor/lib64/librs_adreno.so
+vendor/lib64/librs_adreno_sha1.so
+vendor/lib64/libscale.so
+vendor/lib64/libuiblur.so
diff --git a/extractors/graphics-msm8996.txt b/extractors/graphics-msm8996.txt
new file mode 100644
index 0000000..66234f5
--- /dev/null
+++ b/extractors/graphics-msm8996.txt
@@ -0,0 +1,56 @@
+# Graphics
+vendor/lib/hw/vulkan.msm8996.so
+vendor/lib/egl/eglSubDriverAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libQTapGLES.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/libC2D2.so
+vendor/lib/libCB.so
+vendor/lib/libOpenCL.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libbccQTI.so
+vendor/lib/libc2d30-a5xx.so
+vendor/lib/libc2d30_bltlib.so
+vendor/lib/libgsl.so
+vendor/lib/libllvm-glnext.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libllvm-qgl.so
+vendor/lib/libmmQSM.so
+vendor/lib/librs_adreno.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/libsd_sdk_display.so
+-vendor/lib/libsdm-disp-apis.so
+vendor/lib64/hw/vulkan.msm8996.so
+vendor/lib64/egl/eglSubDriverAndroid.so
+vendor/lib64/egl/libEGL_adreno.so
+vendor/lib64/egl/libGLESv1_CM_adreno.so
+vendor/lib64/egl/libGLESv2_adreno.so
+vendor/lib64/egl/libQTapGLES.so
+vendor/lib64/egl/libq3dtools_adreno.so
+vendor/lib64/libC2D2.so
+vendor/lib64/libCB.so
+vendor/lib64/libOpenCL.so
+vendor/lib64/libRSDriver_adreno.so
+vendor/lib64/libadreno_utils.so
+vendor/lib64/libbccQTI.so
+vendor/lib64/libc2d30-a5xx.so
+vendor/lib64/libc2d30_bltlib.so
+vendor/lib64/libgsl.so
+vendor/lib64/libllvm-glnext.so
+vendor/lib64/libllvm-qcom.so
+vendor/lib64/libllvm-qgl.so
+vendor/lib64/libmm-disp-apis.so
+vendor/lib64/libmm-qdcm.so
+vendor/lib64/libmmQSM.so
+vendor/lib64/librs_adreno.so
+vendor/lib64/librs_adreno_sha1.so
+vendor/lib64/libscalar.so
+vendor/lib64/libsd_sdk_display.so
+vendor/lib64/libsdm-color.so
+vendor/lib64/libsdm-diag.so
+-vendor/lib64/libsdm-disp-apis.so
+vendor/lib64/libsdmextension.so
+vendor/lib64/libuiblur.so
diff --git a/extractors/setup-makefiles.sh b/extractors/setup-makefiles.sh
new file mode 100755
index 0000000..0161cb5
--- /dev/null
+++ b/extractors/setup-makefiles.sh
@@ -0,0 +1,178 @@
+#!/bin/bash
+#
+# Copyright (C) 2016 The CyanogenMod 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.
+#
+
+set -e
+
+# Required!
+DEVICE=binaries
+DEVICE_COMMON="common/extractors"
+VENDOR=qcom
+
+# Load extractutils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
+
+CM_ROOT="$MY_DIR"/../../../..
+
+HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh
+if [ ! -f "$HELPER" ]; then
+ echo "Unable to find helper script at $HELPER"
+ exit 1
+fi
+. "$HELPER"
+
+PLATFORM=msm8916
+SUBSYSTEM=graphics
+
+# Initialize the helper
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+# Copyright headers and guards
+write_headers $PLATFORM TARGET_BOARD_PLATFORM
+
+# Qualcomm BSP blobs - we put a conditional around here
+# in case the BSP is actually being built
+echo "ifeq (\$(QCPATH),)" >> "$PRODUCTMK"
+
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM"-32.txt
+
+printf '\n%s\n' "ifneq (\$(TARGET_ARCH), arm)" >> "$PRODUCTMK"
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM"-64.txt
+echo "endif" >> "$PRODUCTMK"
+
+printf '\n%s\n' "endif" >> "$PRODUCTMK"
+
+# We are done!
+write_footers
+
+
+PLATFORM=msm8974
+SUBSYSTEM=graphics
+
+# Initialize the helper
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+# Copyright headers and guards
+write_headers $PLATFORM TARGET_BOARD_PLATFORM
+
+# Qualcomm BSP blobs - we put a conditional around here
+# in case the BSP is actually being built
+printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK"
+
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt
+
+echo "endif" >> "$PRODUCTMK"
+
+# We are done!
+write_footers
+
+PLATFORM=msm8992
+SUBSYSTEM=graphics
+
+# Initialize the helper
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+# Copyright headers and guards
+write_headers $PLATFORM TARGET_BOARD_PLATFORM
+
+# Qualcomm BSP blobs - we put a conditional around here
+# in case the BSP is actually being built
+printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK"
+
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt
+
+echo "endif" >> "$PRODUCTMK"
+
+cat << EOF >> "$ANDROIDMK"
+\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null)
+\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib64/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null)
+EOF
+
+# We are done!
+write_footers
+
+PLATFORM=msm8994
+SUBSYSTEM=graphics
+
+# Initialize the helper
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+# Copyright headers and guards
+write_headers $PLATFORM TARGET_BOARD_PLATFORM
+
+# Qualcomm BSP blobs - we put a conditional around here
+# in case the BSP is actually being built
+printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK"
+
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt
+
+echo "endif" >> "$PRODUCTMK"
+
+cat << EOF >> "$ANDROIDMK"
+\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null)
+\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib64/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null)
+EOF
+
+# We are done!
+write_footers
+
+PLATFORM=msm8996
+SUBSYSTEM=graphics
+
+# Initialize the helper
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+# Copyright headers and guards
+write_headers $PLATFORM TARGET_BOARD_PLATFORM
+
+# Qualcomm BSP blobs - we put a conditional around here
+# in case the BSP is actually being built
+printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK"
+printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$ANDROIDMK"
+
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt
+
+echo "endif" >> "$PRODUCTMK"
+
+cat << EOF >> "$ANDROIDMK"
+endif
+
+\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null)
+\$(shell mkdir -p \$(PRODUCT_OUT)/system/vendor/lib64/egl && pushd \$(PRODUCT_OUT)/system/vendor/lib64 > /dev/null && ln -s egl/libEGL_adreno.so libEGL_adreno.so && popd > /dev/null)
+EOF
+
+# We are done!
+write_footers
+
+SUBSYSTEM=audio
+
+# Initialize the helper
+setup_vendor "$DEVICE/$PLATFORM/$SUBSYSTEM" "$VENDOR" "$CM_ROOT" true true $SUBSYSTEM
+
+# Copyright headers and guards
+write_headers $PLATFORM TARGET_BOARD_PLATFORM
+
+# Qualcomm BSP blobs - we put a conditional around here
+# in case the BSP is actually being built
+printf '\n%s\n' "ifeq (\$(QCPATH),)" >> "$PRODUCTMK"
+
+write_makefiles "$MY_DIR"/"$SUBSYSTEM-$PLATFORM".txt
+
+echo "endif" >> "$PRODUCTMK"
+
+# We are done!
+write_footers