diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index 42fc949..a55114e 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -14,4 +14,6 @@
# limitations under the License.
#
-PRODUCT_MAKEFILES := $(LOCAL_DIR)/aosp_deb.mk
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/aosp_deb.mk \
+ $(LOCAL_DIR)/full_deb.mk
diff --git a/aosp_deb.mk b/aosp_deb.mk
index 6845af7..2d04509 100644
--- a/aosp_deb.mk
+++ b/aosp_deb.mk
@@ -17,8 +17,6 @@
# Sample: This is where we'd set a backup provider if we had one
# $(call inherit-product, device/sample/products/backup_overlay.mk)
-# Inherit from hardware-specific part of the product configuration
-$(call inherit-product, device/asus/deb/device.mk)
# Inherit from the common Open Source product configuration
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
@@ -26,6 +24,11 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
PRODUCT_NAME := aosp_deb
PRODUCT_DEVICE := deb
PRODUCT_BRAND := Android
-PRODUCT_MODEL := AOSP on Deb
+PRODUCT_MODEL := Nexus 7
PRODUCT_MANUFACTURER := ASUS
-PRODUCT_RESTRICT_VENDOR_FILES := true
+PRODUCT_RESTRICT_VENDOR_FILES := false
+
+# Inherit from hardware-specific part of the product configuration
+$(call inherit-product, device/asus/deb/device.mk)
+$(call inherit-product-if-exists, vendor/asus/deb/device-vendor.mk)
+#$(call inherit-product-if-exists, vendor/qcom/proprietary/common/config/device-vendor.mk)
diff --git a/cm.dependencies b/cm.dependencies
new file mode 100644
index 0000000..f1da8d6
--- /dev/null
+++ b/cm.dependencies
@@ -0,0 +1,10 @@
+[
+ {
+ "repository": "android_kernel_google_msm",
+ "target_path": "kernel/google/msm"
+ },
+ {
+ "repository": "android_device_asus_flo",
+ "target_path": "device/asus/flo"
+ }
+]
diff --git a/cm.mk b/cm.mk
new file mode 100644
index 0000000..8aa0e03
--- /dev/null
+++ b/cm.mk
@@ -0,0 +1,26 @@
+
+# Boot animation
+TARGET_SCREEN_HEIGHT := 1920
+TARGET_SCREEN_WIDTH := 1080
+
+# Inherit some common CM stuff.
+$(call inherit-product, vendor/cm/config/common_full_tablet_wifionly.mk)
+
+# Inherit GSM stuff
+$(call inherit-product, vendor/cm/config/gsm.mk)
+
+# Enhanced NFC
+$(call inherit-product, vendor/cm/config/nfc_enhanced.mk)
+
+# Inherit device configuration
+$(call inherit-product, device/asus/deb/full_deb.mk)
+
+## Device identifier. This must come after all inclusions
+PRODUCT_DEVICE := deb
+PRODUCT_NAME := cm_deb
+PRODUCT_BRAND := google
+PRODUCT_MODEL := Nexus 7
+PRODUCT_MANUFACTURER := asus
+
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=razorg BUILD_FINGERPRINT=google/razorg/deb:4.3.1/JLS36I/841738:user/release-keys PRIVATE_BUILD_DESC="razorg-user 4.3.1 JLS36I 841738 release-keys"
+
diff --git a/extract-files.sh b/extract-files.sh
new file mode 100755
index 0000000..8de30b7
--- /dev/null
+++ b/extract-files.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+set -e
+
+VENDOR=asus
+DEVICE=deb
+
+if [ $# -eq 0 ]; then
+ SRC=adb
+else
+ if [ $# -eq 1 ]; then
+ SRC=$1
+ else
+ echo "$0: bad number of arguments"
+ echo ""
+ echo "usage: $0 [PATH_TO_EXPANDED_ROM]"
+ echo ""
+ echo "If PATH_TO_EXPANDED_ROM is not specified, blobs will be extracted from"
+ echo "the device using adb pull."
+ exit 1
+ fi
+fi
+
+BASE=../../../vendor/$VENDOR/$DEVICE/proprietary
+rm -rf $BASE/*
+
+for FILE in `cat proprietary-blobs.txt | grep -v ^# | grep -v ^$ | sed -e 's#^/system/##g'`; do
+ DIR=`dirname $FILE`
+ if [ ! -d $BASE/$DIR ]; then
+ mkdir -p $BASE/$DIR
+ fi
+ if [ "$SRC" = "adb" ]; then
+ adb pull /system/$FILE $BASE/$FILE
+ else
+ cp $SRC/system/$FILE $BASE/$FILE
+ fi
+
+done
+
+./setup-makefiles.sh
diff --git a/fstab.deb b/fstab.deb
index 84cc7d0..35a4283 100644
--- a/fstab.deb
+++ b/fstab.deb
@@ -3,11 +3,13 @@
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
-/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
-/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check
-/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/metadata
-/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc wait
+/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
+/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check
+/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/metadata
+/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc wait
/dev/block/platform/msm_sdcc.1/by-name/radio /firmware vfat ro,uid=1000,gid=1000,fmask=0337,dmask=0227,iocharset=iso8859-1,shortname=mixed,errors=remount-ro wait
-/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
-/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
-/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
+/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
+/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
+/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
+
+/devices/platform/msm_hsusb_host/usb /storage/usbdisk0 auto default voldmanaged=sda:auto
diff --git a/full_deb.mk b/full_deb.mk
new file mode 100644
index 0000000..f3ba942
--- /dev/null
+++ b/full_deb.mk
@@ -0,0 +1,20 @@
+#
+# Copyright 2013 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.
+#
+$(call inherit-product, device/asus/deb/aosp_deb.mk)
+
+PRODUCT_NAME := full_deb
+
+$(call inherit-product-if-exists, vendor/asus/deb/deb-vendor.mk)
diff --git a/init.deb.rc b/init.deb.rc
index b1494ee..684d6c5 100644
--- a/init.deb.rc
+++ b/init.deb.rc
@@ -24,16 +24,22 @@ on init
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage/emulated 0555 root root
- mkdir /storage/emulated/legacy 0555 root root
+
+ # USB storage
+ mkdir /storage/usbdisk0 0000 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
+ export SECONDARY_STORAGE /storage/usbdisk0
# Support legacy paths
symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
+ symlink /mnt/shell/emulated/0 /storage/emulated/legacy
+ symlink /storage/usbdisk0 /usbdisk0
+ symlink /storage/usbdisk0 /mnt/usbdisk0
on init
# Set permissions for persist partition
@@ -122,8 +128,11 @@ on boot
# Assign TCP buffer thresholds to be ceiling value of technology maximums
# Increased technology maximums should be reflected here.
- write /proc/sys/net/core/rmem_max 1220608
- write /proc/sys/net/core/wmem_max 1220608
+ write /proc/sys/net/core/rmem_max 2097152
+ write /proc/sys/net/core/wmem_max 2097152
+
+# Tune buffersize for higher Miracast throughput
+ setprop net.tcp.buffersize.wifi 524288,1048576,2560000,524288,1048576,2560000
# msm specific files that need to be created on /data
on post-fs-data
@@ -185,6 +194,12 @@ on post-fs-data
# Modify from 777 (for camera calibration) to 775
chmod 775 /persist/camera_calibration
+ # Modify from 777 (for lightsensor) to 775
+ chmod 775 /persist/lightsensor
+
+ # Modify from 777 (for lightsensor calibration data) to 664
+ chmod 664 /persist/lightsensor/AL3010_Config.ini
+
chmod 664 /persist/ssn
chmod 664 /persist/60isn
@@ -222,10 +237,22 @@ on post-fs-data
write /sys/module/rpm_resources/enable_low_power/pxo 1
write /sys/module/rpm_resources/enable_low_power/vdd_dig 1
write /sys/module/rpm_resources/enable_low_power/vdd_mem 1
+ write /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled 1
write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
write /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled 1
write /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled 1
write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "ondemand"
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "ondemand"
@@ -304,11 +331,17 @@ service bridgemgrd /system/bin/bridgemgrd
user radio
group radio
+service qcom-c_main-sh /system/bin/sh /init.qcom.class_main.sh
+ class main
+ user root
+ oneshot
+
# QMUX must be in multiple groups to support external process connections
service qmuxd /system/bin/qmuxd
class main
user radio
group radio audio bluetooth gps net_bt_stack
+ disabled
service ks_checker /system/bin/sh /system/etc/kickstart_checker.sh
class core
@@ -337,6 +370,7 @@ on property:ril.asus_debugger_running=1
service netmgrd /system/bin/netmgrd
class main
+ disabled
service sensors /system/bin/sensors.qcom
class late_start
@@ -401,6 +435,16 @@ service iprenew_bt-pan /system/bin/dhcpcd -n
disabled
oneshot
+service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_eth0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
on property:ro.data.large_tcp_window_size=true
# Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
write /proc/sys/net/ipv4/tcp_adv_win_scale 1
@@ -412,11 +456,6 @@ service charger /charger
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
class late_start
-# Binding fuse mount point to /storage/emulated/legacy
-on property:init.svc.sdcard=running
- wait /mnt/shell/emulated/0
- mount none /mnt/shell/emulated/0 /storage/emulated/legacy bind
-
service thermald /system/bin/thermald
class main
@@ -464,6 +503,22 @@ service diag_mdlog /system/bin/logwrapper /system/bin/diag_mdlog -s 100
class late_start
disabled
+service qrngd /system/bin/qrngd -f
+ class main
+ user root
+ group root
+
+# on property:gsm.sim.state=READY
+# start diag_mdlog
+
+on property:ro.boot.baseband=mdm
+ start qmuxd
+ start netmgrd
+
+on property:ro.boot.baseband=apq
+ setprop ro.radio.noril yes
+ stop ril-daemon
+
on property:init.svc.surfaceflinger=running
start ppd
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 55c30fa..07e180a 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -183,6 +183,7 @@
- "mobile_ims,11,0,2,60000,true"
- "mobile_cbs,12,0,2,60000,true"
- "bluetooth,7,7,2,-1,true"
+ - "ethernet,9,9,9,-1,true"
@@ -200,6 +201,7 @@
- "1,1"
- "0,1"
- "7,1"
+ - "9,1"
@@ -263,4 +265,16 @@
The default is false. -->
true
+
+ 0
+
diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/overlay/frameworks/base/core/res/res/xml/storage_list.xml
index 344fe1e..66d7953 100644
--- a/overlay/frameworks/base/core/res/res/xml/storage_list.xml
+++ b/overlay/frameworks/base/core/res/res/xml/storage_list.xml
@@ -24,5 +24,12 @@
+
+
+
diff --git a/overlay/packages/apps/Trebuchet/res/values/config.xml b/overlay/packages/apps/Trebuchet/res/values/config.xml
new file mode 100644
index 0000000..3b82809
--- /dev/null
+++ b/overlay/packages/apps/Trebuchet/res/values/config.xml
@@ -0,0 +1,3 @@
+
+ true
+
diff --git a/proprietary-blobs.txt b/proprietary-blobs.txt
index 24b30a1..4350d73 100644
--- a/proprietary-blobs.txt
+++ b/proprietary-blobs.txt
@@ -42,13 +42,7 @@
/system/bin/thermald
/system/bin/usbhub
/system/bin/usbhub_init
-/system/etc/apns-conf.xml
/system/etc/DxHDCP.cfg
-/system/etc/firmware/tzapps.b00
-/system/etc/firmware/tzapps.b01
-/system/etc/firmware/tzapps.b02
-/system/etc/firmware/tzapps.b03
-/system/etc/firmware/tzapps.mdt
/system/etc/firmware/vidc.b00
/system/etc/firmware/vidc.b01
/system/etc/firmware/vidc.b02
@@ -129,6 +123,7 @@
/system/lib/libsensor_reg.so
/system/lib/libsensor_user_cal.so
/system/lib/libstagefright_hdcp.so
+/system/lib/libWVphoneAPI.so
/system/lib/libxml.so
/system/vendor/firmware/a300_pfp.fw
/system/vendor/firmware/a300_pm4.fw
@@ -177,6 +172,7 @@
/system/vendor/firmware/wcnss.b04
/system/vendor/firmware/wcnss.b05
/system/vendor/firmware/wcnss.mdt
+/system/vendor/lib/drm/libdrmwvmplugin.so
/system/vendor/lib/libdrmdecrypt.so
/system/vendor/lib/libgemini.so
/system/vendor/lib/libimage-jpeg-enc-omx-comp.so
@@ -199,3 +195,7 @@
/system/vendor/lib/libmmstillomx.so
/system/vendor/lib/liboemcamera.so
/system/vendor/lib/libqomx_jpegenc.so
+/system/vendor/lib/libwvdrm_L1.so
+/system/vendor/lib/libwvm.so
+/system/vendor/lib/libWVStreamControlAPI_L1.so
+/system/vendor/lib/mediadrm/libwvdrmengine.so
diff --git a/releasetools.py b/releasetools.py
index ffb1baf..6f485c1 100644
--- a/releasetools.py
+++ b/releasetools.py
@@ -22,6 +22,12 @@ def FullOTA_InstallEnd(info):
else:
print "no radio.img in target_files; skipping install"
+ DDR_img = FindDDR(info.input_zip)
+ if DDR_img:
+ WriteDDR(info, DDR_img)
+ else:
+ print "no DDR.bin in target_files; skipping install"
+
def IncrementalOTA_VerifyEnd(info):
target_radio_img = FindRadio(info.target_zip)
@@ -51,6 +57,13 @@ def IncrementalOTA_InstallEnd(info):
except KeyError:
print "no bootloader.img in target target_files; skipping install"
+ df = FindDDR(info.target_zip)
+ if not df:
+ print "no DDR.bin in target target_files; skipping install"
+ else:
+ df = common.File("DDR.bin", df)
+ WriteDDR(info, df.data)
+
tf = FindRadio(info.target_zip)
if not tf:
# failed to read TARGET radio image: don't include any radio in update.
@@ -94,6 +107,18 @@ def WriteRadio(info, radio_img):
info.script.AppendExtra(
'package_extract_file("radio.img", "%s");' % (device,))
+def FindDDR(zipfile):
+ try:
+ return zipfile.read("RADIO/DDR.bin")
+ except KeyError:
+ return None
+
+
+def WriteDDR(info, DDR_img):
+ info.script.Print("Writing DDR...")
+ common.ZipWriteStr(info.output_zip, "DDR.bin", DDR_img)
+ info.script.AppendExtra(
+ 'package_extract_file("DDR.bin", "/dev/block/platform/msm_sdcc.1/by-name/DDR");' )
# /* msm8960 bootloader.img format */
#
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
new file mode 100755
index 0000000..607f076
--- /dev/null
+++ b/setup-makefiles.sh
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+VENDOR=asus
+DEVICE=deb
+OUTDIR=vendor/$VENDOR/$DEVICE
+MAKEFILE=../../../$OUTDIR/$DEVICE-vendor-blobs.mk
+
+(cat << EOF) > $MAKEFILE
+# Copyright (C) 2012 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+PRODUCT_COPY_FILES += \\
+EOF
+
+LINEEND=" \\"
+COUNT=`cat proprietary-blobs.txt | grep -v ^# | grep -v ^$ | wc -l | awk {'print $1'}`
+for FILE in `cat proprietary-blobs.txt | grep -v ^# | grep -v ^$ | sed -e 's#^/system/##g'`; do
+ COUNT=`expr $COUNT - 1`
+ if [ $COUNT = "0" ]; then
+ LINEEND=""
+ fi
+ echo " $OUTDIR/proprietary/$FILE:system/$FILE$LINEEND" >> $MAKEFILE
+done
+
+(cat << EOF) > ../../../$OUTDIR/$DEVICE-vendor.mk
+# Copyright (C) 2012 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+# Live wallpaper packages
+PRODUCT_PACKAGES := \\
+ LiveWallpapers \\
+ LiveWallpapersPicker \\
+ MagicSmokeWallpapers \\
+ VisualizationWallpapers \\
+ librs_jni
+
+# Publish that we support the live wallpaper feature.
+PRODUCT_COPY_FILES := \\
+ packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:/system/etc/permissions/android.software.live_wallpaper.xml
+
+# Pick up overlay for features that depend on non-open-source files
+DEVICE_PACKAGE_OVERLAYS := vendor/$VENDOR/$DEVICE/overlay
+
+\$(call inherit-product, vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk)
+EOF
+
+(cat << EOF) > ../../../$OUTDIR/BoardConfigVendor.mk
+# Copyright (C) 2012 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.
+
+# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh
+
+USE_CAMERA_STUB := false
+EOF