summaryrefslogtreecommitdiff
authorXindong Xu <xindong.xu@amlogic.com>2020-11-17 10:35:18 (GMT)
committer Xindong Xu <xindong.xu@amlogic.com>2020-11-19 06:55:34 (GMT)
commite7f3563e57c26d0f22891778028bd13d6ec29eed (patch)
tree8e738c0060ff65fe47d39339e29caeb1159cd536
parentb7b1032e4c298537bfea8a64fa55195971b262c9 (diff)
downloadcommon-e7f3563e57c26d0f22891778028bd13d6ec29eed.zip
common-e7f3563e57c26d0f22891778028bd13d6ec29eed.tar.gz
common-e7f3563e57c26d0f22891778028bd13d6ec29eed.tar.bz2
device: bringup anning in P [5/5]
PD#SWPL-36434 Problem: need to bringup anning in P Solution: sync code from openlinux Verify: anning Change-Id: Ic8f79db54973798eb83aa5f9889356d324255cb6
Diffstat
-rw-r--r--[-rwxr-xr-x]Android.mk2
-rwxr-xr-xamazon/prime.xml4
-rw-r--r--android.software.google_atv.xml1
-rw-r--r--android.software.google_atv_netflix_only.xml4
-rwxr-xr-xarm_isp_modules.mk31
-rw-r--r--[-rwxr-xr-x]audio.mk4
-rw-r--r--bluetooth.mk17
-rw-r--r--core_amlogic.mk41
-rw-r--r--ddr/ddr_window_64.ko263
-rw-r--r--ddrtest.sh7
-rw-r--r--factory.mk187
-rwxr-xr-xflash-all-ab.bat1
-rwxr-xr-xflash-all-ab.sh1
-rwxr-xr-xflash-all.bat1
-rwxr-xr-xflash-all.sh95
-rwxr-xr-xgenerate_aml_upgrade_package.sh125
-rwxr-xr-xget_bootloader_version.sh29
-rwxr-xr-xgpu/mali450-user-arm64.mk2
-rw-r--r--keyboards/Vendor_7545_Product_0180.kl59
-rw-r--r--media.mk26
-rw-r--r--netflix/netflix.xml4
-rw-r--r--netflix/nrdp.xml4
-rwxr-xr-xnpu_modules.mk125
-rwxr-xr-xnts/Android.mk17
-rwxr-xr-xnts/etc/netflix.xml4
-rwxr-xr-xnts/etc/nrdp_audio_platform_capabilities.json18
-rwxr-xr-xnts/etc/nrdp_platform_capabilities.json5
-rwxr-xr-xnts/nts.mk15
-rwxr-xr-xoptimization/config2
-rwxr-xr-xproducts/mbox/Vendor_1915_Product_0001.idc1
-rwxr-xr-xproducts/mbox/Vendor_7545_Product_0180.idc1
-rw-r--r--[-rwxr-xr-x]products/mbox/init.amlogic.system.rc76
-rw-r--r--products/mbox/product_mbox.mk20
-rw-r--r--[-rwxr-xr-x]products/mbox/ueventd.amlogic.rc5
-rwxr-xr-xproducts/mbox/upgrade_4.9/aml_upgrade_package_AB_enc_avb.conf32
-rwxr-xr-xproducts/tv/Vendor_1915_Product_0001.idc1
-rwxr-xr-xproducts/tv/Vendor_7545_Product_0180.idc1
-rwxr-xr-xproducts/tv/bootanimation.zip629
-rw-r--r--[-rwxr-xr-x]products/tv/init.amlogic.system.rc49
-rw-r--r--[-rwxr-xr-x]products/tv/product_tv.mk10
-rw-r--r--[-rwxr-xr-x]products/tv/ueventd.amlogic.rc2
-rwxr-xr-xproducts/tv/upgrade_4.9/aml_emmc_logic_table.xml21
-rwxr-xr-xproducts/tv/upgrade_4.9/aml_upgrade_package_enc_avb.conf4
-rw-r--r--public.libraries.txt1
-rwxr-xr-x[-rw-r--r--]quick_build_kernel.sh0
-rwxr-xr-xquick_compile.sh219
-rwxr-xr-xreleasetools.py106
-rw-r--r--rtk_bt_driver.mk11
-rwxr-xr-x[-rw-r--r--]scripts/check_patch.py0
-rw-r--r--sepolicy.mk7
-rwxr-xr-x[-rw-r--r--]sepolicy/aml_core/aml_core_service.te2
-rwxr-xr-x[-rw-r--r--]sepolicy/bootanim.te1
-rwxr-xr-xsepolicy/device.te4
-rw-r--r--sepolicy/dumpstate.te3
-rwxr-xr-xsepolicy/e2fs.te1
-rwxr-xr-xsepolicy/ephemeral_app.te3
-rwxr-xr-x[-rw-r--r--]sepolicy/file.te8
-rwxr-xr-x[-rw-r--r--]sepolicy/file_contexts45
-rwxr-xr-xsepolicy/fsck.te4
-rwxr-xr-x[-rw-r--r--]sepolicy/genfs_contexts1
-rwxr-xr-xsepolicy/hal_audio_default.te1
-rwxr-xr-xsepolicy/hal_camera_default.te2
-rwxr-xr-x[-rw-r--r--]sepolicy/hal_dumpstate_impl.te1
-rwxr-xr-x[-rw-r--r--]sepolicy/hal_graphics_composer_default.te0
-rwxr-xr-xsepolicy/hal_keymaster_default.te1
-rwxr-xr-x[-rw-r--r--]sepolicy/hal_memtrack_default.te87
-rwxr-xr-x[-rw-r--r--]sepolicy/hal_power_default.te3
-rwxr-xr-xsepolicy/hal_wifi_default.te8
-rwxr-xr-xsepolicy/hal_wifi_supplicant_default.te1
-rwxr-xr-xsepolicy/hwservice.te1
-rwxr-xr-xsepolicy/hwservice_contexts1
-rwxr-xr-xsepolicy/hwservicemanager.te5
-rwxr-xr-x[-rw-r--r--]sepolicy/init.te3
-rw-r--r--sepolicy/ioctl_defines1
-rwxr-xr-x[-rw-r--r--]sepolicy/mediaprovider.te2
-rwxr-xr-x[-rw-r--r--]sepolicy/mediaserver.te24
-rwxr-xr-xsepolicy/miracast_hdcp2.te31
-rwxr-xr-xsepolicy/netd.te4
-rwxr-xr-x[-rw-r--r--]sepolicy/platform_app.te3
-rwxr-xr-x[-rw-r--r--]sepolicy/priv_app.te4
-rwxr-xr-xsepolicy/property.te3
-rwxr-xr-xsepolicy/property_contexts9
-rwxr-xr-xsepolicy/service.te2
-rwxr-xr-xsepolicy/service_contexts1
-rwxr-xr-xsepolicy/shell.te1
-rwxr-xr-x[-rw-r--r--]sepolicy/surfaceflinger.te2
-rwxr-xr-x[-rw-r--r--]sepolicy/system_app.te12
-rwxr-xr-x[-rw-r--r--]sepolicy/system_control.te21
-rwxr-xr-x[-rw-r--r--]sepolicy/tee.te19
-rwxr-xr-x[-rw-r--r--]sepolicy/untrusted_app.te1
-rwxr-xr-x[-rw-r--r--]sepolicy/untrusted_app_25.te3
-rw-r--r--sepolicy/untrusted_app_27.te6
-rwxr-xr-xsepolicy/vendor_init.te4
-rwxr-xr-xsepolicy/wificond.te3
-rw-r--r--[-rwxr-xr-x]software.mk8
-rw-r--r--tb_detect.mk28
-rw-r--r--tb_detect/tb_detect.ko266
-rw-r--r--[-rwxr-xr-x]tb_modules.mk31
-rwxr-xr-x[-rw-r--r--]tuner/32/avl6762_fe_32.ko0
-rwxr-xr-x[-rw-r--r--]tuner/64/avl6762_fe_64.ko0
-rwxr-xr-x[-rw-r--r--]tuner/tuner.mk0
-rwxr-xr-x[-rw-r--r--]tuner/tuner_modules.mk0
-rwxr-xr-xvideo_algorithm/dnlp/dnlp_alg_32.ko850
-rwxr-xr-xvideo_algorithm/dnlp/dnlp_alg_64.ko876
-rw-r--r--wifi.mk17
-rw-r--r--wifi_driver.mk4
-rw-r--r--wifi_modules.mk1
107 files changed, 796 insertions, 3917 deletions
diff --git a/Android.mk b/Android.mk
index 302a76c..0a8cc95 100755..100644
--- a/Android.mk
+++ b/Android.mk
@@ -14,6 +14,6 @@
# limitations under the License.
# "Beast" to be removed later after s/Beast/beast/ gets done.
-ifneq ($(filter adt2 ampere braun curie darwin atom beast Beast galilei franklin faraday fermi deadpool sabrina,$(TARGET_DEVICE)),)
+ifneq ($(filter ampere braun curie darwin atom beast Beast galilei franklin,$(TARGET_DEVICE)),)
include $(all-subdir-makefiles)
endif
diff --git a/amazon/prime.xml b/amazon/prime.xml
deleted file mode 100755
index 4871ad3..0000000
--- a/amazon/prime.xml
+++ b/dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<permissions>
- <feature name="com.amazon.amazonvideo.livingroom.feature.AV_TARGET" />
-</permissions>
diff --git a/android.software.google_atv.xml b/android.software.google_atv.xml
index 38add8a..1a370cf 100644
--- a/android.software.google_atv.xml
+++ b/android.software.google_atv.xml
@@ -7,5 +7,6 @@
<feature name="android.software.leanback_only" />
<feature name="android.software.cant_save_state" />
<!-- for google play store -->
+ <feature name="nrdp.modelgroup" />
<feature name="com.google.android.tv.installed" />
</permissions>
diff --git a/android.software.google_atv_netflix_only.xml b/android.software.google_atv_netflix_only.xml
deleted file mode 100644
index 94430fc..0000000
--- a/android.software.google_atv_netflix_only.xml
+++ b/dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<permissions>
- <feature name="nrdp.modelgroup" />
-</permissions>
diff --git a/arm_isp_modules.mk b/arm_isp_modules.mk
deleted file mode 100755
index d04c034..0000000
--- a/arm_isp_modules.mk
+++ b/dev/null
@@ -1,31 +0,0 @@
-MODS_OUT := $(shell pwd)/$(PRODUCT_OUT)/obj/lib_vendor
-ARM_ISP_MODULES := $(shell pwd)/$(PRODUCT_OUT)/obj/arm_isp_modules
-
-
-$(shell rm $(ARM_ISP_MODULES) -rf)
-$(shell mkdir $(ARM_ISP_MODULES) -p)
-ARM_ISP_DRIVERS := $(TOP)/vendor/amlogic/common/arm_isp/driver/linux/kernel
-$(shell cp $(ARM_ISP_DRIVERS)/* $(ARM_ISP_MODULES) -rfa)
-
-BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp.ko
-BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp_iq.ko
-BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp_lens.ko
-BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp_sensor.ko
-
-KDIR := $(shell pwd)/$(PRODUCT_OUT)/obj/KERNEL_OBJ
-
-define arm_isp-modules
- $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/v4l2_dev \
- ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
-
- $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/subdev/iq \
- ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
-
- $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/subdev/lens \
- ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
-
- $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/subdev/sensor \
- ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
-
- find $(ARM_ISP_MODULES) -name *.ko | xargs -i cp {} ${MODS_OUT}
-endef
diff --git a/audio.mk b/audio.mk
index 211c994..c7614ef 100755..100644
--- a/audio.mk
+++ b/audio.mk
@@ -42,9 +42,7 @@ PRODUCT_PACKAGES += \
#soft_adec_libs := $(shell ls hardware/amlogic/LibAudio/amadec/acodec_lib_android_n)
#PRODUCT_COPY_FILES += $(foreach file, $(soft_adec_libs), \
# hardware/amlogic/LibAudio/amadec/acodec_lib_android_n/$(file):$(TARGET_COPY_OUT_VENDOR)/lib/$(file))
-#audio dra decoder lib, now put libstagefrighthw dir for develop omx dra verion in future.
-PRODUCT_COPY_FILES += \
- vendor/amlogic/common/prebuilt/libstagefrighthw/lib/libdra.so:$(TARGET_COPY_OUT_VENDOR)/lib/libdra.so
+
#configurable audio policy
USE_XML_AUDIO_POLICY_CONF := 1
diff --git a/bluetooth.mk b/bluetooth.mk
new file mode 100644
index 0000000..d7c4d12
--- a/dev/null
+++ b/bluetooth.mk
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2012 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 hardware/amlogic/wifi/configs/bluetooth.mk
diff --git a/core_amlogic.mk b/core_amlogic.mk
index 3631f4f..4003195 100644
--- a/core_amlogic.mk
+++ b/core_amlogic.mk
@@ -4,7 +4,6 @@ PRODUCT_USE_PREBUILT_GTVS := yes
endif
include vendor/amlogic/common/gms/google/gms.mk
-
# Inherit from those products. Most specific first.
# Get some sounds
$(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)
@@ -15,6 +14,8 @@ $(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk)
# Get a list of languages.
#$(call inherit-product, build/target/product/locales_full.mk)
+AMLOGIC_PRODUCT := true
+
# Define the host tools and libs that are parts of the SDK.
ifneq ($(filter sdk win_sdk sdk_addon,$(MAKECMDGOALS)),)
-include sdk/build/product_sdk.mk
@@ -26,6 +27,7 @@ endif
# Additional settings used in all AOSP builds
PRODUCT_PROPERTY_OVERRIDES += \
+ ro.com.android.dateformat=MM-dd-yyyy \
ro.config.ringtone=Ring_Synth_04.ogg \
ro.config.notification_sound=pixiedust.ogg
@@ -105,9 +107,6 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
frameworks/av/media/libeffects/data/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf
-PRODUCT_COPY_FILES += \
- device/amlogic/common/ddr/ddr_window_64.ko:$(PRODUCT_OUT)/obj/lib_vendor/ddr_window_64.ko
-
PRODUCT_PROPERTY_OVERRIDES += \
ro.carrier=unknown \
debug.sf.disable_backpressure=1 \
@@ -160,12 +159,11 @@ WITH_SOFT_AM_EXTRACTOR_DECODER := true
PRODUCT_PROPERTY_OVERRIDES += \
camera.disable_zsl_mode=1
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.statsd.enable=false
-
# USB camera default face
PRODUCT_PROPERTY_OVERRIDES += \
ro.media.camera_usb.faceback=false
+#add camera app
+PRODUCT_PACKAGES += Camera2
ifneq ($(TARGET_BUILD_GOOGLE_ATV), true)
PRODUCT_PACKAGES += \
@@ -176,18 +174,19 @@ PRODUCT_PACKAGES += \
MusicFX \
Browser2 \
LatinIME \
- Camera2 \
Music
endif
ifeq ($(TARGET_BUILD_LIVETV), true)
PRODUCT_PACKAGES += \
libjnidtvepgscanner \
+ LiveTv \
libtunertvinput_jni
endif
PRODUCT_PACKAGES += \
droidlogic \
+ droidlogic-tv \
droidlogic-res \
droidlogic.software.core.xml \
systemcontrol \
@@ -196,12 +195,6 @@ PRODUCT_PACKAGES += \
libsystemcontrol_jni \
vendor.amlogic.hardware.systemcontrol@1.0_vendor
-#add tv library
-PRODUCT_PACKAGES += \
- droidlogic-tv \
- droidlogic.tv.software.core.xml \
- libtv_jni
-
PRODUCT_PACKAGES += \
VideoPlayer \
SubTitle \
@@ -263,7 +256,6 @@ PRODUCT_PACKAGES += libomx_av_core_alt \
libOmxAudio \
libHwAudio_dcvdec \
libHwAudio_dtshd \
- libdra \
libthreadworker_alt \
libdatachunkqueue_alt \
libOmxBase \
@@ -363,6 +355,14 @@ endif
#########################################################################
#
+# OTA PROPERTY
+#
+#########################################################################
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.product.firmware=00502001 \
+ ro.product.otaupdateurl=http://10.28.11.53:8080/otaupdate/update
+#########################################################################
+#
# hardware interfaces
#
#########################################################################
@@ -489,6 +489,13 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.vndk.version=26.1.0
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.treble.enabled=true
+
+#for cts test disable quota
+PRODUCT_PROPERTY_OVERRIDES += \
+ fw.disable_quota=true
+
# Override heap growth limit due to high display density on device
PRODUCT_PROPERTY_OVERRIDES += \
dalvik.vm.heapgrowthlimit=256m
@@ -497,6 +504,10 @@ PRODUCT_PROPERTY_OVERRIDES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.boot.fake_battery=42
+#Set PQ enable
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.sys.PQ.enable=true
+
#set audioflinger heapsize,for lowramdevice
#the default af heap size is 1M,it is not enough
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/ddr/ddr_window_64.ko b/ddr/ddr_window_64.ko
deleted file mode 100644
index 4569fa5..0000000
--- a/ddr/ddr_window_64.ko
+++ b/dev/null
@@ -1,263 +0,0 @@
-ELF
-@`
-
-@
-
-@
-@
-
-@
-
-@
-@W@
-@
-
-
-
-
-
-
-
-
-
-
-
-
-
-h
-
-
-s
- 
-#<
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-M
- 
-!
-.
-
-
-
--+
-
-
-=
-=
-s=
-.
-@
-E
-I
-N
-N
-
-/T
-V
-Z
-N[
-.^
-f
-
-
-\
-5:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!
-_
-
-
-
--
-
-
-
-?)
-2
-
-:
-;
--
-+C
-F
-J
-K
-O
-'
-
-
-'
- `J=&.<?/Y~JJ%33I!/;!/~. !/jI!sJ=.J%33I!/;!/.
- !/jI!sJ=.XBz (!##!!#K Jv<
- "Yg /$a0qJ
-.S~..!fXBz (!##!!#K Jv<
- "Yg /$a0qJ
-.S~..!fXA'!##!!#K Jv<
- "Yg /$a0qJ
-.S.
-AA 
-AA 
-AA 
-AA 
-AA 
-AA 
-AA 
-AA 
- o
-AAA 
- o
-AAA 
- o
-AAA 
-A 
-
-v
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-9
-!
-
-%
-!
-
-
-
-
-C
-
-
-
-
-A
-2
-
-$
-
-
-=
-
-
-
-e
-
-
-
-
-
-
-w
-{
-j
-
-
-q
-g
-e
-
-r
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ddrtest.sh b/ddrtest.sh
deleted file mode 100644
index 9d0b148..0000000
--- a/ddrtest.sh
+++ b/dev/null
@@ -1,7 +0,0 @@
-#! /system/bin/sh
-
-echo "Hello Jten!!!" > /dev/console
-echo "Hello Jten!!!" > /dev/console
-echo "Hello Jten!!!" > /dev/console
-insmod /system/lib/ddr_window_64.ko
-ddr_window & > /data/ddr_window_log.txt
diff --git a/factory.mk b/factory.mk
index e145650..54637dd 100644
--- a/factory.mk
+++ b/factory.mk
@@ -4,16 +4,12 @@ AML_EMMC_BIN_GENERATOR := $(BOARD_AML_VENDOR_PATH)/tools/aml_upgrade/amlogic_emm
PRODUCT_COMMON_DIR := device/amlogic/common/products/$(PRODUCT_TYPE)
ifeq ($(TARGET_NO_RECOVERY),true)
-BUILT_IMAGES := boot.img dt.img
+BUILT_IMAGES := boot.img bootloader.img dt.img
else
-BUILT_IMAGES := boot.img recovery.img dt.img
+BUILT_IMAGES := boot.img recovery.img bootloader.img dt.img
endif
-ifneq ($(PRODUCT_GOOGLEREF_SECURE_BOOT),true)
-BUILT_IMAGES += bootloader.img
-endif
-
-VB_CHECK_IMAGES := vendor.img system.img vbmeta.img boot.img product.img dtbo.img recovery.img
+VB_CHECK_IMAGES := vendor.img system.img vbmeta.img boot.img
ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
BUILT_IMAGES := $(addsuffix .encrypt, $(BUILT_IMAGES))
@@ -59,12 +55,7 @@ else
FILE_NAME := $(file <$(BUILD_NUMBER_FILE))
endif
-name_aml := $(TARGET_PRODUCT)
-ifeq ($(TARGET_BUILD_TYPE),debug)
- name_aml := $(name_aml)_debug
-endif
-
-AML_TARGET := $(PRODUCT_OUT)/obj/PACKAGING/target_files_intermediates/$(name_aml)-target_files-$(FILE_NAME)
+AML_TARGET := $(PRODUCT_OUT)/obj/PACKAGING/target_files_intermediates/$(TARGET_PRODUCT)-target_files-$(FILE_NAME)
# -----------------------------------------------------------------
# odm partition image
@@ -139,7 +130,7 @@ vbmetaimage: $(INSTALLED_BOARDDTB_TARGET)
endif
-$(INSTALLED_BOARDDTB_TARGET) : $(KERNEL_DEVICETREE_SRC) $(DTCTOOL) $(DTIMGTOOL) | $(MINIGZIP)
+$(INSTALLED_BOARDDTB_TARGET) : $(KERNEL_DEVICETREE_SRC) $(DTCTOOL) $(DTIMGTOOL)
$(foreach aDts, $(KERNEL_DEVICETREE), \
sed -i 's/^#include \"partition_.*/#include \"$(TARGET_PARTITION_DTSI)\"/' $(KERNEL_ROOTDIR)/$(KERNEL_DEVICETREE_DIR)/$(strip $(aDts)).dts; \
sed -i 's/^#include \"firmware_.*/#include \"$(TARGET_FIRMWARE_DTSI)\"/' $(KERNEL_ROOTDIR)/$(KERNEL_DEVICETREE_DIR)/$(TARGET_PARTITION_DTSI); \
@@ -153,10 +144,6 @@ ifneq ($(strip $(word 2, $(KERNEL_DEVICETREE)) ),)
else# elif dts num == 1
cp -f $(KERNEL_DEVICETREE_BIN) $@
endif
- if [ -n "$(shell find $@ -size +200k)" ]; then \
- echo "$@ > 200k will be gziped"; \
- mv $@ $@.orig && $(MINIGZIP) -c $@.orig > $@; \
- fi;
$(hide) $(call aml-secureboot-sign-bin, $@)
@echo "Instaled $@"
ifeq ($(BOARD_AVB_ENABLE),true)
@@ -186,26 +173,18 @@ INSTALLED_AML_ENC_RADIOIMAGE_TARGET = $(addprefix $(PRODUCT_OUT)/,$(filter %.img
BOARD_PACK_RADIOIMAGES += $(basename $(filter %.img.encrypt,$(BUILT_IMAGES)))
$(warning echo "radio add $(filter %.img.encrypt,$(BUILT_IMAGES))")
else
-ifeq ($(PRODUCT_GOOGLEREF_SECURE_BOOT),true)
-INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/dt.img
-INSTALLED_RADIOIMAGE_TARGET += $(PRODUCT_OUT)/bootloader.img
-BOARD_PACK_RADIOIMAGES += dt.img bootloader.img
-else
INSTALLED_RADIOIMAGE_TARGET += $(addprefix $(PRODUCT_OUT)/,$(filter dt.img bootloader.img,$(BUILT_IMAGES)))
BOARD_PACK_RADIOIMAGES += $(filter dt.img bootloader.img,$(BUILT_IMAGES))
$(warning echo "radio add dt and bootloader")
-endif
endif#ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
-# BOARD_PACK_RADIOIMAGES += $(filter system.img vendor.img,$(BUILT_IMAGES))
+BOARD_PACK_RADIOIMAGES += $(filter system.img vendor.img,$(BUILT_IMAGES))
UPGRADE_FILES := \
aml_sdc_burn.ini \
ddr_init.bin \
u-boot.bin.sd.bin u-boot.bin.usb.bl2 u-boot.bin.usb.tpl \
u-boot-comp.bin
-TOOL_ITEMS := usb_flow.aml keys.conf
-UPGRADE_FILES += $(TOOL_ITEMS)
ifneq ($(TARGET_USE_SECURITY_MODE),true)
UPGRADE_FILES += \
@@ -231,10 +210,6 @@ ifeq ($(BUILD_WITH_AVB),true)
endif
PACKAGE_CONFIG_FILE := $(TARGET_DEVICE_DIR)/upgrade/$(PACKAGE_CONFIG_FILE).conf
-ifeq ($(PRODUCT_GOOGLEREF_SECURE_BOOT),true)
-PACKAGE_CONFIG_FILE := $(TARGET_DEVICE_DIR)/upgrade/aml_upgrade_package_enc_avb.conf
-endif
-
ifeq ($(wildcard $(PACKAGE_CONFIG_FILE)),)
PACKAGE_CONFIG_FILE := $(PRODUCT_COMMON_DIR)/upgrade_4.9/$(notdir $(PACKAGE_CONFIG_FILE))
endif ## ifeq ($(wildcard $(TARGET_DEVICE_DIR)/upgrade/$(PACKAGE_CONFIG_FILE)))
@@ -242,17 +217,11 @@ UPGRADE_FILES += $(PACKAGE_CONFIG_FILE)
ifneq ($(TARGET_AMLOGIC_RES_PACKAGE),)
INSTALLED_AML_LOGO := $(PRODUCT_UPGRADE_OUT)/logo.img
-$(INSTALLED_AML_LOGO): $(wildcard $(TARGET_AMLOGIC_RES_PACKAGE)/*) | $(IMGPACK) $(MINIGZIP)
+$(INSTALLED_AML_LOGO): $(IMGPACK) $(wildcard $(TARGET_AMLOGIC_RES_PACKAGE)/*)
@echo "generate $(INSTALLED_AML_LOGO)"
$(hide) mkdir -p $(PRODUCT_UPGRADE_OUT)/logo
$(hide) rm -rf $(PRODUCT_UPGRADE_OUT)/logo/*
@cp -rf $(TARGET_AMLOGIC_RES_PACKAGE)/* $(PRODUCT_UPGRADE_OUT)/logo
- $(foreach bmpf, $(filter %.bmp,$^), \
- if [ -n "$(shell find $(bmpf) -type f -size +256k)" ]; then \
- echo "logo pic $(bmpf) >256k gziped"; \
- $(MINIGZIP) -c $(bmpf) > $(PRODUCT_UPGRADE_OUT)/logo/$(notdir $(bmpf)); \
- else cp $(bmpf) $(PRODUCT_UPGRADE_OUT)/logo; \
- fi;)
$(hide) $(IMGPACK) -r $(PRODUCT_UPGRADE_OUT)/logo $@
@echo "Installed $@"
# Adds to <product name>-img-<build number>.zip so can be flashed. b/110831381
@@ -317,73 +286,16 @@ endif# ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
.PHONY: aml_bootloader
aml_bootloader : $(INSTALLED_AMLOGIC_BOOTLOADER_TARGET)
-.PHONY: build_always
-build_always:
-
-ifeq ($(TARGET_DEVICE)-$(TARGET_BUILD_VARIANT),deadpool-user)
-BOOTLOADER_INPUT := $(TARGET_DEVICE_DIR)/signed/bootloader.img
-else
BOOTLOADER_INPUT := $(TARGET_DEVICE_DIR)/bootloader.img
-endif
-
ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
ifeq ($(PRODUCT_AML_SECURE_BOOT_VERSION3),true)
BOOTLOADER_INPUT := $(BOOTLOADER_INPUT).zip
endif #ifeq ($(PRODUCT_AML_SECURE_BOOT_VERSION3),true)
endif # ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
-
-
-ANDROID_HOME_DIR = $(shell pwd)
-ifneq ($(wildcard bootloader/uboot-repo/*),)
-BOOTLOADER_DIR := $(ANDROID_HOME_DIR)/bootloader/uboot-repo
-else
-ifneq ($(wildcard ~/bootloader/.*),)
-BOOTLOADER_DIR := ~/bootloader/uboot-repo
-endif
-endif
-
-ifeq ($(PRODUCT_GOOGLEREF_SECURE_BOOT),true)
-$(INSTALLED_AMLOGIC_BOOTLOADER_TARGET): build_always
-# Google internal tree might not have the bootloader source
-ifeq ($(PRODUCT_BUILD_AML_BOOTLOADER),true)
-ifneq ($(wildcard ~/bootloader/.* bootloader/uboot-repo/*),)
-ifeq ($(TARGET_DEVICE),sabrina)
- cd $(BOOTLOADER_DIR) && \
- ./mk sm1_sabrina_v1 --bl32 $(BOOTLOADER_DIR)/bl32/bin/g12a/bl32.img --systemroot --avb2
-else
-ifeq ($(TARGET_DEVICE),deadpool)
- cd $(BOOTLOADER_DIR) && \
- ./mk g12a_deadpool_v1 --bl32 $(ANDROID_HOME_DIR)/vendor/amlogic/common/tdk/secureos/g12a/bl32.img --systemroot --avb2
-endif
-endif
- cp $(ANDROID_HOME_DIR)/bootloader/uboot-repo/fip/_tmp/bl2_new.bin $(TARGET_DEVICE_DIR)/prebuilt/bootloader/
- cp $(ANDROID_HOME_DIR)/bootloader/uboot-repo/fip/_tmp/bl30_new.bin $(TARGET_DEVICE_DIR)/prebuilt/bootloader/
- cp $(ANDROID_HOME_DIR)/bootloader/uboot-repo/fip/_tmp/bl31.img $(TARGET_DEVICE_DIR)/prebuilt/bootloader/
- cp $(ANDROID_HOME_DIR)/bootloader/uboot-repo/fip/_tmp/bl32.img $(TARGET_DEVICE_DIR)/prebuilt/bootloader/
- cp $(ANDROID_HOME_DIR)/bootloader/uboot-repo/fip/_tmp/bl33.bin $(TARGET_DEVICE_DIR)/prebuilt/bootloader/
-endif
-endif
-
- bash $(ANDROID_HOME_DIR)/$(PRODUCT_GOOGLEREF_SECURE_BOOT_TOOL)
- mkdir -p $(PRODUCT_OUT)/upgrade/
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.signed $(PRODUCT_OUT)/bootloader.img
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.signed $(PRODUCT_OUT)/upgrade/bootloader.img.encrypt
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.usb.bl2.signed $(PRODUCT_OUT)/upgrade/
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.usb.tpl.signed $(PRODUCT_OUT)/upgrade/
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.sd.signed $(PRODUCT_OUT)/upgrade/
-
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin $(PRODUCT_OUT)/upgrade/bootloader.img
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.usb.bl2 $(PRODUCT_OUT)/upgrade/
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.usb.tpl $(PRODUCT_OUT)/upgrade/
- cp $(TARGET_DEVICE_DIR)/prebuilt/bootloader/u-boot.bin.sd $(PRODUCT_OUT)/upgrade/
-
- @echo "make secure bootloader.img: bootloader installed end"
-else
$(INSTALLED_AMLOGIC_BOOTLOADER_TARGET) : $(BOOTLOADER_INPUT)
$(hide) cp $< $(PRODUCT_OUT)/$(notdir $<)
$(hide) $(call aml-secureboot-sign-bootloader, $@,$(PRODUCT_OUT)/$(notdir $<))
@echo "make $@: bootloader installed end"
-endif
$(call dist-for-goals, droidcore, $(INSTALLED_AMLOGIC_BOOTLOADER_TARGET))
@@ -408,22 +320,8 @@ ifeq ($(TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL),true)
endef #define security_dm_verity_conf
endif # ifeq ($(TARGET_USE_SECURITY_DM_VERITY_MODE_WITH_TOOL),true)
-define update-aml_upgrade-conf
- $(foreach f, $(TOOL_ITEMS), \
- if [ -f $(PRODUCT_UPGRADE_OUT)/$(f) ]; then \
- echo exist item $(f); \
- awk -v file="$(f)" \
- -v main="$(lastword $(subst ., ,$(f)))" \
- -v subtype="$(basename $(f))" \
- 'BEGIN{printf("file=\"%s\"\t\tmain_type=\"%s\"\t\tsub_type=\"%s\"\n", file, main, subtype)}' >> $(PACKAGE_CONFIG_FILE) ; \
- sed -i '$$!H;$$!d;$$G' $(PACKAGE_CONFIG_FILE); \
- sed -i '1H;1d;/\[LIST_NORMAL\]/G' $(PACKAGE_CONFIG_FILE); \
- fi;)
-endef #define update-aml_upgrade-conf
-
ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
ifeq ($(PRODUCT_AML_SECURE_BOOT_VERSION3),true)
-PRODUCT_AML_FIRMWARE_ANTIROLLBACK_CONFIG := ./device/amlogic/$(PRODUCT_DIR)/fw_arb.txt
define aml-secureboot-sign-bootloader
@echo -----aml-secureboot-sign-bootloader ------
rm $(PRODUCT_OUT)/bl_tmp -rf
@@ -431,7 +329,7 @@ define aml-secureboot-sign-bootloader
mkdir -p $(PRODUCT_UPGRADE_OUT)
bash $(PRODUCT_SBV3_SIGBL_TOOL) -p $(PRODUCT_OUT)/bl_tmp \
-r $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR) -a $(PRODUCT_AML_SECUREBOOT_AESKEY_DIR) \
- -b $(PRODUCT_AML_FIRMWARE_ANTIROLLBACK_CONFIG) -o $(PRODUCT_OUT)
+ -o $(PRODUCT_OUT)
mv $(PRODUCT_OUT)/u-boot.bin.unsigned $(basename $(1))
mv $(PRODUCT_OUT)/u-boot.bin.signed.encrypted $(1)
mv $(PRODUCT_OUT)/u-boot.bin.signed.encrypted.sd.bin $(1).sd.bin
@@ -443,19 +341,13 @@ endef #define aml-secureboot-sign-bootloader
define aml-secureboot-sign-kernel
@echo -----aml-secureboot-sign-kernel V3------
$(hide) mv -f $(1) $(basename $(1))
- bash $(PRODUCT_SBV3_SIGIMG_TOOL) -i $(basename $(1)) \
- -k $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR)/kernelkey.pem \
- -a $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR)/kernelaeskey \
- --iv $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR)/kernelaesiv -o $(1)
+ bash $(PRODUCT_SBV3_SIGIMG_TOOL) $(basename $(1)) $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR) $(1)
@echo ----- Made aml secure-boot singed kernel v3: $(1) --------
endef #define aml-secureboot-sign-kernel
define aml-secureboot-sign-bin
@echo -----aml-secureboot-sign-bin v3------
$(hide) mv -f $(1) $(basename $(1))
- bash $(PRODUCT_SBV3_SIGIMG_TOOL) -i $(basename $(1)) \
- -k $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR)/kernelkey.pem \
- -a $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR)/kernelaeskey \
- --iv $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR)/kernelaesiv -o $(1)
+ bash $(PRODUCT_SBV3_SIGIMG_TOOL) $(basename $(1)) $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR) $(1)
@echo ----- Made aml secure-boot singed bin v3: $(1) --------
endef #define aml-secureboot-sign-bin
else #follows secureboot v2
@@ -486,10 +378,10 @@ aml_upgrade:$(INSTALLED_AML_UPGRADE_PACKAGE_TARGET)
$(INSTALLED_AML_UPGRADE_PACKAGE_TARGET): \
$(addprefix $(PRODUCT_OUT)/,$(BUILT_IMAGES)) \
$(UPGRADE_FILES) \
+ $(AML_TARGET).zip \
$(INSTALLED_AML_USER_IMAGES) \
$(INSTALLED_AML_LOGO) \
$(INSTALLED_MANIFEST_XML) \
- $(INSTALLED_AMLOGIC_BOOTLOADER_TARGET) \
$(TARGET_USB_BURNING_V2_DEPEND_MODULES)
mkdir -p $(PRODUCT_UPGRADE_OUT)
$(hide) $(foreach file,$(UPGRADE_FILES), \
@@ -504,7 +396,6 @@ $(INSTALLED_AML_UPGRADE_PACKAGE_TARGET): \
$(hide) $(foreach file,$(VB_CHECK_IMAGES), \
rm $(PRODUCT_UPGRADE_OUT)/$(file);\
ln -sf $(shell readlink -f $(AML_TARGET)/IMAGES/$(file)) $(PRODUCT_UPGRADE_OUT)/$(file); \
- cp -f $(AML_TARGET)/IMAGES/$(file) $(PRODUCT_OUT)/$(file); \
)
ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
$(hide) rm -f $(PRODUCT_UPGRADE_OUT)/bootloader.img.encrypt.*
@@ -529,7 +420,7 @@ else
INSTALLED_AML_UPGRADE_PACKAGE_TARGET :=
endif
-INSTALLED_AML_FASTBOOT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-fastboot-flashall-$(FILE_NAME).zip
+INSTALLED_AML_FASTBOOT_ZIP := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-fastboot-flashall-$(BUILD_NUMBER).zip
$(warning will keep $(INSTALLED_AML_FASTBOOT_ZIP))
$(call dist-for-goals, droidcore, $(INSTALLED_AML_FASTBOOT_ZIP))
@@ -537,9 +428,6 @@ FASTBOOT_IMAGES := boot.img dt.img
ifneq ($(TARGET_NO_RECOVERY),true)
FASTBOOT_IMAGES += recovery.img
endif
-
-FASTBOOT_IMAGES += bootloader.img
-
ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
FASTBOOT_IMAGES := $(addsuffix .encrypt, $(FASTBOOT_IMAGES))
endif#ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true)
@@ -566,16 +454,10 @@ endif
.PHONY:aml_fastboot_zip
aml_fastboot_zip:$(INSTALLED_AML_FASTBOOT_ZIP)
-$(INSTALLED_AML_FASTBOOT_ZIP): $(addprefix $(PRODUCT_OUT)/,$(FASTBOOT_IMAGES)) \
- $(INSTALLED_AML_LOGO) \
- $(BUILT_ODMIMAGE_TARGET) \
- $(TARGET_USB_BURNING_V2_DEPEND_MODULES)
+$(INSTALLED_AML_FASTBOOT_ZIP): $(addprefix $(PRODUCT_OUT)/,$(FASTBOOT_IMAGES)) $(BUILT_ODMIMAGE_TARGET) $(INSTALLED_AML_UPGRADE_PACKAGE_TARGET)
echo "install $@"
rm -rf $(PRODUCT_OUT)/fastboot
mkdir -p $(PRODUCT_OUT)/fastboot
- $(hide) $(foreach file,$(VB_CHECK_IMAGES), \
- cp -f $(AML_TARGET)/IMAGES/$(file) $(PRODUCT_OUT)/$(file); \
- )
cd $(PRODUCT_OUT); cp $(FASTBOOT_IMAGES) fastboot/;
ifeq ($(TARGET_PRODUCT),ampere)
echo "board=p212" > $(PRODUCT_OUT)/fastboot/android-info.txt
@@ -601,7 +483,7 @@ endif
ifeq ($(TARGET_PRODUCT),atom)
echo "board=atom" > $(PRODUCT_OUT)/fastboot/android-info.txt
endif
- cd $(PRODUCT_OUT)/fastboot; zip -r ../$(TARGET_PRODUCT)-fastboot-image-$(FILE_NAME).zip $(FASTBOOT_IMAGES)
+ cd $(PRODUCT_OUT)/fastboot; zip -r ../$(TARGET_PRODUCT)-fastboot-image-$(BUILD_NUMBER).zip $(FASTBOOT_IMAGES)
rm -rf $(PRODUCT_OUT)/fastboot_auto
mkdir -p $(PRODUCT_OUT)/fastboot_auto
cd $(PRODUCT_OUT); cp $(FASTBOOT_IMAGES) fastboot_auto/
@@ -621,9 +503,9 @@ else
cp device/amlogic/common/flash-all.sh $(PRODUCT_OUT)/fastboot_auto/
cp device/amlogic/common/flash-all.bat $(PRODUCT_OUT)/fastboot_auto/
endif
- sed -i 's/fastboot update fastboot.zip/fastboot update $(TARGET_PRODUCT)-fastboot-image-$(FILE_NAME).zip/' $(PRODUCT_OUT)/fastboot_auto/flash-all.sh
- sed -i 's/fastboot update fastboot.zip/fastboot update $(TARGET_PRODUCT)-fastboot-image-$(FILE_NAME).zip/' $(PRODUCT_OUT)/fastboot_auto/flash-all.bat
- cd $(PRODUCT_OUT)/fastboot_auto; zip -r ../$(TARGET_PRODUCT)-fastboot-flashall-$(FILE_NAME).zip *
+ sed -i 's/fastboot update fastboot.zip/fastboot update $(TARGET_PRODUCT)-fastboot-image-$(BUILD_NUMBER).zip/' $(PRODUCT_OUT)/fastboot_auto/flash-all.sh
+ sed -i 's/fastboot update fastboot.zip/fastboot update $(TARGET_PRODUCT)-fastboot-image-$(BUILD_NUMBER).zip/' $(PRODUCT_OUT)/fastboot_auto/flash-all.bat
+ cd $(PRODUCT_OUT)/fastboot_auto; zip -r ../$(TARGET_PRODUCT)-fastboot-flashall-$(BUILD_NUMBER).zip *
zipnote $@ | sed 's/@ \([a-z]*.img\).encrypt/&\n@=\1\n/' | zipnote -w $@
@@ -631,7 +513,7 @@ name := $(TARGET_PRODUCT)
ifeq ($(TARGET_BUILD_TYPE),debug)
name := $(name)_debug
endif
-name := $(name)-ota-amlogic-$(FILE_NAME)
+name := $(name)-ota-amlogic-$(BUILD_NUMBER)
AMLOGIC_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(name).zip
@@ -666,9 +548,6 @@ ifneq ($(INSTALLED_AMLOGIC_BOOTLOADER_TARGET),)
mkdir -p $(AML_TARGET)/IMAGES
cp $(INSTALLED_AMLOGIC_BOOTLOADER_TARGET) $(AML_TARGET)/IMAGES/bootloader.img
endif
-ifeq ($(PRODUCT_GOOGLEREF_SECURE_BOOT),true)
- cp $(PRODUCT_OUT)/bootloader.img $(AML_TARGET)/IMAGES/bootloader.img
-endif
ifneq ($(INSTALLED_AML_LOGO),)
@echo "copy $(INSTALLED_AML_LOGO)"
mkdir -p $(AML_TARGET)/IMAGES
@@ -699,36 +578,6 @@ endif
.PHONY: ota_amlogic
ota_amlogic: $(AMLOGIC_OTA_PACKAGE_TARGET)
-ifeq ($(TARGET_SUPPORT_USB_BURNING_V2),true)
-INSTALLED_AML_EMMC_BIN := $(PRODUCT_OUT)/aml_emmc_mirror.bin.gz
-PRODUCT_CFG_EMMC_LGC_TABLE := $(TARGET_DEVICE_DIR)/upgrade/aml_emmc_logic_table.xml
-ifeq ($(wildcard $(PRODUCT_CFG_EMMC_LGC_TABLE)),)
- PRODUCT_CFG_EMMC_LGC_TABLE := \
- $(PRODUCT_COMMON_DIR)/upgrade_4.9/$(notdir $(PRODUCT_CFG_EMMC_LGC_TABLE))
-endif#ifeq ($(wildcard $(PRODUCT_CFG_EMMC_LGC_TABLE)),)
-PRODUCT_CFG_EMMC_CAP := bootloader/uboot-repo/bl33/include/emmc_partitions.h
-
-$(INSTALLED_AML_EMMC_BIN): $(INSTALLED_AML_UPGRADE_PACKAGE_TARGET) $(PRODUCT_CFG_EMMC_CAP) \
- $(PRODUCT_CFG_EMMC_LGC_TABLE) | $(SIMG2IMG) $(MINIGZIP)
- @echo "Packaging $(INSTALLED_AML_EMMC_BIN)"
- @echo $(AML_EMMC_BIN_GENERATOR) $(PRODUCT_CFG_EMMC_CAP) $(PRODUCT_CFG_EMMC_LGC_TABLE) $< $(basename $@) $(SIMG2IMG)
- $(AML_EMMC_BIN_GENERATOR) $(PRODUCT_CFG_EMMC_CAP) $(PRODUCT_CFG_EMMC_LGC_TABLE) $< $(basename $@) $(SIMG2IMG)
- $(MINIGZIP) $(basename $@)
- @echo "installed $@"
-
-.PHONY: aml_emmc_bin
-aml_emmc_bin :$(INSTALLED_AML_EMMC_BIN)
-endif # ifeq ($(TARGET_SUPPORT_USB_BURNING_V2),true)
-
-#define the OTA package for cipackage build.
-ota_name := $(TARGET_PRODUCT)
-ifeq ($(TARGET_BUILD_TYPE),debug)
- ota_name := $(ota_name)_debug
-endif
-ota_name := $(ota_name)-ota-$(FILE_NAME_TAG)
-INTERNAL_OTA_PACKAGE_TARGET := $(PRODUCT_OUT)/$(ota_name).zip
-
droidcore: $(INSTALLED_AML_UPGRADE_PACKAGE_TARGET) $(INSTALLED_MANIFEST_XML) $(INSTALLED_AML_FASTBOOT_ZIP)
otapackage: $(INSTALLED_AML_UPGRADE_PACKAGE_TARGET) $(INSTALLED_MANIFEST_XML) $(INSTALLED_AML_FASTBOOT_ZIP)
ota_amlogic: $(INSTALLED_AML_UPGRADE_PACKAGE_TARGET) $(INSTALLED_MANIFEST_XML) $(INSTALLED_AML_FASTBOOT_ZIP) otapackage
-cipackage: $(INTERNAL_OTA_PACKAGE_TARGET) $(INSTALLED_MANIFEST_XML) $(INSTALLED_AML_FASTBOOT_ZIP)
diff --git a/flash-all-ab.bat b/flash-all-ab.bat
index b564b32..ba0afac 100755
--- a/flash-all-ab.bat
+++ b/flash-all-ab.bat
@@ -32,7 +32,6 @@ fastboot erase metadata
fastboot format metadata
fastboot erase param
fastboot erase tee
-fastboot erase misc
fastboot flash vbmeta vbmeta.img
fastboot flash odm odm.img
fastboot flash logo logo.img
diff --git a/flash-all-ab.sh b/flash-all-ab.sh
index 9ae6db4..ec2685c 100755
--- a/flash-all-ab.sh
+++ b/flash-all-ab.sh
@@ -32,7 +32,6 @@ fastboot erase metadata
fastboot format metadata
fastboot erase param
fastboot erase tee
-fastboot erase misc
fastboot flash vbmeta vbmeta.img
fastboot flash odm odm.img
fastboot flash logo logo.img
diff --git a/flash-all.bat b/flash-all.bat
index 9a11afe..a52d9d9 100755
--- a/flash-all.bat
+++ b/flash-all.bat
@@ -30,7 +30,6 @@ fastboot flash dtbo dtbo.img
fastboot -w
fastboot erase param
fastboot erase tee
-fastboot erase misc
fastboot flash vbmeta vbmeta.img
fastboot flash odm odm.img
fastboot flash logo logo.img
diff --git a/flash-all.sh b/flash-all.sh
index 7bfbaed..ff9b829 100755
--- a/flash-all.sh
+++ b/flash-all.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Copyright 2012 The Android Open Source Project
#
@@ -14,71 +14,30 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-set -e
-cd $(dirname $0)
-
-lflag="unlock"
-if [[ $# -gt 0 ]]; then
- lflag="$1"
-fi
-
-sern=""
-if [[ $# -gt 1 ]]; then
- sern="-s $2"
-fi
-
-skipreboot=""
-if [[ $# -gt 2 ]]; then
- skipreboot="$3"
-fi
-
-if [ "$skipreboot" != "skip" ]
-then
- # Ignore failure, in case we are already in fastboot.
- adb $sern reboot fastboot || true
-fi
-
-function flash_with_retry() {
- local partition=${1};
- local img=${2};
- msg=$(fastboot ${sern} flash ${partition} ${img} 2>&1)
- echo "${msg}"
- if [[ ${msg} =~ 'FAILED' ]]; then
- echo "\nFlashing ${img} is not done properly. Do it again."
- fastboot ${sern} reboot-bootloader
- fastboot ${sern} flash ${partition} ${img}
- fi
-}
-
-fastboot $sern flashing unlock_critical
-fastboot $sern flashing unlock
-fastboot $sern flash bootloader bootloader.img
-fastboot $sern flash bootloader-boot0 bootloader.img
-fastboot $sern flash bootloader-boot1 bootloader.img
-fastboot $sern erase env
-fastboot $sern reboot-bootloader
+adb reboot fastboot
+fastboot flashing unlock_critical
+fastboot flashing unlock
+fastboot flash bootloader bootloader.img
+fastboot flash bootloader-boot0 bootloader.img
+fastboot flash bootloader-boot1 bootloader.img
+fastboot erase env
+fastboot reboot-bootloader
sleep 5
-fastboot $sern flashing unlock_critical
-fastboot $sern flashing unlock
-flash_with_retry dts dt.img
-flash_with_retry dtbo dtbo.img
-fastboot $sern -w
-fastboot $sern erase param
-fastboot $sern erase tee
-fastboot $sern erase misc
-
-flash_with_retry vbmeta vbmeta.img
-flash_with_retry odm odm.img
-flash_with_retry logo logo.img
-flash_with_retry boot boot.img
-flash_with_retry system system.img
-flash_with_retry vendor vendor.img
-flash_with_retry recovery recovery.img
-flash_with_retry product product.img
-
-if [ "$lflag" = "lock" ]
-then
- fastboot flashing lock_critical
- fastboot flashing lock
-fi
-fastboot $sern reboot
+fastboot flashing unlock_critical
+fastboot flashing unlock
+fastboot flash dts dt.img
+fastboot flash dtbo dtbo.img
+fastboot -w
+fastboot erase param
+fastboot erase tee
+fastboot flash vbmeta vbmeta.img
+fastboot flash odm odm.img
+fastboot flash logo logo.img
+fastboot flash boot boot.img
+fastboot flash system system.img
+fastboot flash vendor vendor.img
+fastboot flash recovery recovery.img
+fastboot flash product product.img
+fastboot flashing lock_critical
+fastboot flashing lock
+fastboot reboot
diff --git a/generate_aml_upgrade_package.sh b/generate_aml_upgrade_package.sh
deleted file mode 100755
index e32959a..0000000
--- a/generate_aml_upgrade_package.sh
+++ b/dev/null
@@ -1,125 +0,0 @@
-#!/bin/bash
-
-# Copyright 2018 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.
-
-usage () {
- echo
- echo "Generate aml_upgrade_package.img with aml_image_v2_packer tool."
- echo
- echo "Usage: $0 image_dir target_name output"
- echo
- echo "image_dir is the path to the unpacked images, which could be $OUT, "
- echo " or manually unzipped from <target>-img*.zip. bootloader.img "
- echo " should be also available in the dir."
- echo "target_name is the target, e.g. \"atom\"."
- echo "output is the output filename, e.g. \"aml_upgrade_package.img\"."
- echo
- echo "For example:"
- echo " $0 images atom aml_upgrade_package.img"
- echo
- echo "Note that the script should be run in the top-level dir of the "
- echo "Android tree."
-}
-
-exit_badparam () {
- echo "ERROR: $1" >&2
- usage
- exit 1
-}
-
-cleanup_and_exit () {
- readonly result="$?"
- rm -rf "$TEMP_DIR"
- exit "$result"
-}
-
-if [[ $# -lt 3 ]]; then
- exit_badparam "Unexpected number of arguments"
-fi
-
-readonly IMAGES_DIR="$1"
-readonly TARGET_NAME="$2"
-readonly OUTPUT="$3"
-if [[ $# -gt 3 ]]; then
- readonly TARGET_SIGNED="$4"
-fi
-
-# Map the target name to device dir.
-if [ "$TARGET_NAME" = "atom" ]
-then
- DEVICE_DIR=device/harman/atom/upgrade
-else
- exit_badparam "Unsupported target name $TARGET_NAME"
-fi
-
-readonly AMLOGIC_COMMON_DIR=device/amlogic/common
-readonly AMLOGIC_IMAGE_PACKER=vendor/amlogic/common/tools/aml_upgrade/aml_image_v2_packer
-readonly TEMP_DIR="$(mktemp -d --tmpdir "$(basename $0)"_XXXXXXXX)"
-
-# Copy all the source files to the temp dir.
-cp "$DEVICE_DIR"/aml_sdc_burn.ini \
- "$DEVICE_DIR"/u-boot.bin.sd.bin \
- "$DEVICE_DIR"/u-boot.bin.usb.bl2 \
- "$DEVICE_DIR"/u-boot.bin.usb.tpl \
- "$DEVICE_DIR"/platform.conf \
- "$TEMP_DIR"
-
-# Copy all images to be packed.
-cp "$IMAGES_DIR"/boot.img \
- "$IMAGES_DIR"/bootloader.img \
- "$IMAGES_DIR"/dt.img \
- "$IMAGES_DIR"/dtbo.img \
- "$IMAGES_DIR"/logo.img \
- "$IMAGES_DIR"/odm.img \
- "$IMAGES_DIR"/product.img \
- "$IMAGES_DIR"/recovery.img \
- "$IMAGES_DIR"/system.img \
- "$IMAGES_DIR"/vbmeta.img \
- "$IMAGES_DIR"/vendor.img \
- "$TEMP_DIR"
-
-if [ "$TARGET_SIGNED" = "signed" ]
-then
- cp "$DEVICE_DIR"/u-boot.bin.encrypt.usb.bl2 \
- "$TEMP_DIR"/u-boot.bin.encrypt.usb.bl2
- cp "$DEVICE_DIR"/u-boot.bin.encrypt.usb.tpl \
- "$TEMP_DIR"/u-boot.bin.encrypt.usb.tpl
- cp "$DEVICE_DIR"/u-boot.bin.encrypt.sd.bin \
- "$TEMP_DIR"/u-boot.bin.encrypt.sd.bin
- cp "$TEMP_DIR"/dt.img \
- "$TEMP_DIR"/dt.img.encrypt
-
- mv "$TEMP_DIR"/boot.img \
- "$TEMP_DIR"/boot.img.encrypt
- mv "$TEMP_DIR"/recovery.img \
- "$TEMP_DIR"/recovery.img.encrypt
- mv "$TEMP_DIR"/bootloader.img \
- "$TEMP_DIR"/bootloader.img.encrypt
-
- cp "$AMLOGIC_COMMON_DIR"/products/tv/upgrade_4.9/aml_upgrade_package_avb_enc.conf "$TEMP_DIR"
-
- # Trigger the packer.
- "$AMLOGIC_IMAGE_PACKER" \
- -r "$TEMP_DIR"/aml_upgrade_package_avb_enc.conf \
- "$TEMP_DIR" \
- "$OUTPUT"
-else
- cp "$AMLOGIC_COMMON_DIR"/products/tv/upgrade_4.9/aml_upgrade_package_avb.conf "$TEMP_DIR"
- # Trigger the packer.
- "$AMLOGIC_IMAGE_PACKER" \
- -r "$TEMP_DIR"/aml_upgrade_package_avb.conf \
- "$TEMP_DIR" \
- "$OUTPUT"
-fi
diff --git a/get_bootloader_version.sh b/get_bootloader_version.sh
new file mode 100755
index 0000000..afcec0f
--- a/dev/null
+++ b/get_bootloader_version.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+BOOTLOARED_VERSION_FILE=$1/build/include/generated/timestamp_autogenerated.h
+BOOTLOARED_VERSION=$(cat ${BOOTLOARED_VERSION_FILE} | tail -n 1 | cut -f 2 -d '"')
+
+echo "**********************BOOTLOARED_VERSION: ${BOOTLOARED_VERSION}"
+
+if [ -f $2/board-info.txt ]
+then
+ sed -i "s/require version-bootloader=.*/require version-bootloader=01.01.${BOOTLOARED_VERSION}/g" $2/board-info.txt
+fi
+
+if [ -f $2/prebuilt/bootloader/board-info.txt ]
+then
+ sed -i "s/require version-bootloader=.*/require version-bootloader=01.01.${BOOTLOARED_VERSION}/g" $2/prebuilt/bootloader/board-info.txt
+fi
+
+if [ -f $2/bootloader.img ]
+then
+ BOOTLOADER_SHA1_SIGN=$(sha1sum --tag $2/bootloader.img | cut -f 4 -d ' ')
+ echo "${BOOTLOADER_SHA1_SIGN} 01.01.${BOOTLOARED_VERSION}" >> $2/bootloader.img.sha1
+fi
+
+if [ -f $2/bootloader_unsign.img ]
+then
+ BOOTLOADER_SHA1_UNSIGN=$(sha1sum --tag $2/bootloader_unsign.img | cut -f 4 -d ' ')
+ echo "${BOOTLOADER_SHA1_UNSIGN} 01.01.${BOOTLOARED_VERSION}" >> $2/bootloader_unsign.img.sha1
+fi
+
diff --git a/gpu/mali450-user-arm64.mk b/gpu/mali450-user-arm64.mk
index 8ab7d13..837f6ad 100755
--- a/gpu/mali450-user-arm64.mk
+++ b/gpu/mali450-user-arm64.mk
@@ -30,4 +30,4 @@ endif
# The OpenGL ES API level that is natively supported by this device.
PRODUCT_PROPERTY_OVERRIDES += \
ro.opengles.version=131072 \
- debug.hwui.use_buffer_age=false
+ debug.hwui.use_buffer_age=false
diff --git a/keyboards/Vendor_7545_Product_0180.kl b/keyboards/Vendor_7545_Product_0180.kl
new file mode 100644
index 0000000..1dff88a
--- a/dev/null
+++ b/keyboards/Vendor_7545_Product_0180.kl
@@ -0,0 +1,59 @@
+# bt remote map
+key 1 BACK
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 217 ASSIST
+key 158 BACK
+key 353 DPAD_CENTER
+key 108 DPAD_DOWN
+key 103 DPAD_UP
+key 172 HOME
+key 105 DPAD_LEFT
+key 106 DPAD_RIGHT
+key 115 VOLUME_UP
+key 114 VOLUME_DOWN
+key 116 POWER
+#key 139 MENU
+key 113 VOLUME_MUTE
+key 362 GUIDE
+key 167 MEDIA_RECORD
+key 402 CHANNEL_UP
+key 403 CHANNEL_DOWN
+
+key 208 MEDIA_FAST_FORWARD
+key 164 MEDIA_PLAY_PAUSE
+key 168 MEDIA_REWIND
+
+key usage 0x0c000f 0
+key usage 0x0c0037 1
+key usage 0x0c0038 2
+key usage 0x0c0039 3
+key usage 0x0c003a 4
+key usage 0x0c003b 5
+key usage 0x0c003c 6
+key usage 0x0c003d 7
+key usage 0x0c003e 8
+key usage 0x0c003f 9
+
+#key usage 0x0c000d YOUTUBE
+#key usage 0x0c0007 SETTINGS
+#key usage 0x0c000e STEM_1
+key usage 0x0c0009 PROG_RED
+key usage 0x0c000a PROG_GREEN
+key usage 0x0c000b PROG_YELLOW
+key usage 0x0c000c PROG_BLUE
+key usage 0x0c0008 MENU
+
+#key 194 GOOGLE_PLAY_MUSIC
+#key 134 GOOGLE_PLAY
+#key 138 GOOGLE_PLAY_MOVIES
+
+
diff --git a/media.mk b/media.mk
index b0adfbd..4cad7f3 100644
--- a/media.mk
+++ b/media.mk
@@ -54,10 +54,6 @@ ifeq ($(TARGET_WITH_MEDIA_EXT_LEVEL), 4)
TARGET_WITH_SWCODEC_EXT := true
TARGET_WITH_CODEC_EXT := true
TARGET_WITH_PLAYERS_EXT := true
-#add our private retriever extension
-#only can open for customer do no use cts
-#defult do not open it
- #TARGET_WITH_RETRIEVER_EXT := true
endif
endif
endif
@@ -107,10 +103,7 @@ TARGET_WITH_AMNUPLAYER :=true
endif
-ifeq ($(TARGET_WITH_RETRIEVER_EXT), true)
-PRODUCT_PACKAGES += \
- libmetadataretriever_ext
-endif
+
#########################################################################
#
@@ -198,7 +191,7 @@ PRODUCT_PACKAGES += \
ifeq ($(TARGET_BUILD_NETFLIX_MGKID),true)
PRODUCT_PACKAGES += libnetflixplugin \
- af1ae3a4-888b-4e11-b4ab1c2b972d1c11
+ 00d1ca22-1764-4e35-90aa-5b8c12630764
endif
@@ -289,21 +282,6 @@ PRODUCT_PACKAGES += \
tee_preload_fw \
526fc4fc-7ee6-4a12-96e3-83da9565bce8
endif
-
-ifeq ($(BOARD_BUILD_VMX_DRM),true)
-#for drmplayer vmx
-PRODUCT_PACKAGES += libam_adp_adec \
- libamadec_system \
- libamavutils_sys \
- libfaad_sys \
- libmad_sys \
- libDrmPlayer\
- libdrmp\
- libdec_ca\
- 41fe9859-71e4-4bf4-bbaad71435b127ae\
- libdec_ca_vmx_iptv\
- libdec_ca_vmx_web
-endif
#BOARD_SECCOMP_POLICY := device/amlogic/common/seccomp
PRODUCT_COPY_FILES += \
device/amlogic/common/seccomp/mediaextractor.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy \
diff --git a/netflix/netflix.xml b/netflix/netflix.xml
deleted file mode 100644
index cd0b7e0..0000000
--- a/netflix/netflix.xml
+++ b/dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<config>
- <allow-in-power-save package="com.netflix.ninja" />
-</config>
diff --git a/netflix/nrdp.xml b/netflix/nrdp.xml
deleted file mode 100644
index b99ada7..0000000
--- a/netflix/nrdp.xml
+++ b/dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<permissions>
- <feature name="nrdp.modelgroup" />
-</permissions>
diff --git a/npu_modules.mk b/npu_modules.mk
deleted file mode 100755
index 14a112d..0000000
--- a/npu_modules.mk
+++ b/dev/null
@@ -1,125 +0,0 @@
-ifeq ($(KERNEL_A32_SUPPORT), true)
-KERNEL_ARCH := arm
-else
-KERNEL_ARCH := arm64
-endif
-
-MODS_OUT := $(shell pwd)/$(PRODUCT_OUT)/obj/lib_vendor
-KDIR := $(shell pwd)/$(PRODUCT_OUT)/obj/KERNEL_OBJ/
-NPU_MODULES := $(shell pwd)/$(PRODUCT_OUT)/obj/npu_modules
-
-VIVANTE_ENABLE_3D ?= 1
-VIVANTE_ENABLE_2D ?= 0
-VIVANTE_ENABLE_VG ?= 0
-VIVANTE_ENABLE_DRM ?= 0
-NO_DMA_COHERENT ?= 0
-CACHE_FUNCTION_UNIMPLEMENTED ?= 0
-USE_BANK_ALIGNMENT ?= 0
-BANK_BIT_START ?= 0
-BANK_BIT_END ?= 0
-BANK_CHANNEL_BIT ?= 0
-SECURITY ?= 0
-USE_OPENCL ?= 1
-USE_OPENVX ?= 1
-USE_VXC_BINARY ?=1
-GPU_CONFIG ?=vipnanoqi_pid0x7d
-VIVANTE_ENABLE_3D ?=1
-VIVANTE_ENABLE_2D ?=0
-VIVANTE_ENABLE_VG ?=0
-VIVANTE_ENABLE_DRM ?=0
-SOC_PLATFORM ?= amlogic
-
-EXTRA_CFLAGS1 += -DLINUX -DDRIVER
-
-ifeq ($(FLAREON),1)
-EXTRA_CFLAGS1 += -DFLAREON
-endif
-
-EXTRA_CFLAGS1 += -DDBG=0
-
-
-ifeq ($(NO_DMA_COHERENT),1)
-EXTRA_CFLAGS1 += -DNO_DMA_COHERENT
-endif
-
-ifeq ($(CONFIG_DOVE_GPU),1)
-EXTRA_CFLAGS1 += -D CONFIG_DOVE_GPU=1
-endif
-
-ifneq ($(USE_PLATFORM_DRIVER),0)
-EXTRA_CFLAGS1 += -D USE_PLATFORM_DRIVER=1
-else
-EXTRA_CFLAGS1 += -D USE_PLATFORM_DRIVER=0
-endif
-
-EXTRA_CFLAGS1 += -D VIVANTE_PROFILER=1
-EXTRA_CFLAGS1 += -D VIVANTE_PROFILER_CONTEXT=1
-
-ifeq ($(ENABLE_GPU_CLOCK_BY_DRIVER),1)
-EXTRA_CFLAGS1 += -D ENABLE_GPU_CLOCK_BY_DRIVER=1
-else
-EXTRA_CFLAGS1 += -D ENABLE_GPU_CLOCK_BY_DRIVER=0
-endif
-
-ifeq ($(USE_NEW_LINUX_SIGNAL),1)
-EXTRA_CFLAGS1 += -D USE_NEW_LINUX_SIGNAL=1
-else
-EXTRA_CFLAGS1 += -D USE_NEW_LINUX_SIGNAL=0
-endif
-
-ifeq ($(USE_LINUX_PCIE),1)
-EXTRA_CFLAGS1 += -D USE_LINUX_PCIE=1
-else
-EXTRA_CFLAGS1 += -D USE_LINUX_PCIE=0
-endif
-
-ifeq ($(CACHE_FUNCTION_UNIMPLEMENTED),1)
-EXTRA_CFLAGS1 += -D gcdCACHE_FUNCTION_UNIMPLEMENTED=1
-else
-EXTRA_CFLAGS1 += -D gcdCACHE_FUNCTION_UNIMPLEMENTED=0
-endif
-
-EXTRA_CFLAGS1 += -D gcdENABLE_3D=1
-EXTRA_CFLAGS1 += -D gcdENABLE_2D=0
-EXTRA_CFLAGS1 += -D gcdENABLE_VG=0
-
-ifeq ($(USE_BANK_ALIGNMENT),1)
- EXTRA_CFLAGS += -DgcdENABLE_BANK_ALIGNMENT=1
- ifneq ($(BANK_BIT_START),0)
- ifneq ($(BANK_BIT_END),0)
- EXTRA_CFLAGS1 += -D gcdBANK_BIT_START=$(BANK_BIT_START)
- EXTRA_CFLAGS1 += -D gcdBANK_BIT_END=$(BANK_BIT_END)
- endif
- endif
-
- ifneq ($(BANK_CHANNEL_BIT),0)
- EXTRA_CFLAGS1 += -D gcdBANK_CHANNEL_BIT=$(BANK_CHANNEL_BIT)
- endif
-endif
-
-ifeq ($(FPGA_BUILD),1)
-EXTRA_CFLAGS1 += -D gcdFPGA_BUILD=1
-else
-EXTRA_CFLAGS1 += -D gcdFPGA_BUILD=0
-endif
-
-ifeq ($(SECURITY),1)
-EXTRA_CFLAGS1 += -D gcdSECURITY=1
-endif
-
-ifeq ($(VIVANTE_ENABLE_DRM),1)
-EXTRA_CFLAGS1 += -D gcdENABLE_DRM=1
-else
-EXTRA_CFLAGS1 += -D gcdENABLE_DRM=0
-endif
-EXTRA_CFLAGS1 += -D gcdLINUX_SYNC_FILE=1
-
-$(shell mkdir $(NPU_MODULES) -p)
-NPU_DRIVERS := $(TOP)/vendor/amlogic/common/npu/hal
-$(shell cp $(NPU_DRIVERS)/* $(NPU_MODULES) -rfa)
-
-define npu-modules
- @$(MAKE) -C $(KDIR) M=$(NPU_MODULES) ARCH=$(KERNEL_ARCH) \
- CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules; \
- find $(NPU_MODULES) -name "*.ko" | xargs -i cp {} $(MODS_OUT)
-endef \ No newline at end of file
diff --git a/nts/Android.mk b/nts/Android.mk
deleted file mode 100755
index 87d1f15..0000000
--- a/nts/Android.mk
+++ b/dev/null
@@ -1,17 +0,0 @@
-#LOCAL_PATH := $(call my-dir)
-
-#include $(CLEAR_VARS)
-#LOCAL_MODULE_TAGS := optional
-#LOCAL_MODULE := Netflix
-#LOCAL_DEX_PREOPT := false
-#LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
-#LOCAL_MODULE_CLASS := APPS
-#LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
-#LOCAL_CERTIFICATE := PRESIGNED
-#LOCAL_REPLACE_PREBUILT_APK_INSTALLED := $(LOCAL_PATH)/$(LOCAL_SRC_FILES)
-#LOCAL_MODULE_PATH := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_PRODUCT)/app
-
-#ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo OK),OK)
- # LOCAL_PRODUCT_MODULE := true
-#endif
-#include $(BUILD_PREBUILT)
diff --git a/nts/etc/netflix.xml b/nts/etc/netflix.xml
deleted file mode 100755
index f33649a..0000000
--- a/nts/etc/netflix.xml
+++ b/dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<config>
- <allow-in-power-save package="com.netflix.ninja" />
-</config>
diff --git a/nts/etc/nrdp_audio_platform_capabilities.json b/nts/etc/nrdp_audio_platform_capabilities.json
deleted file mode 100755
index c688b5b..0000000
--- a/nts/etc/nrdp_audio_platform_capabilities.json
+++ b/dev/null
@@ -1,18 +0,0 @@
-{
- "audiocaps": {
- "continuousAudio": false,
- "pcm": {
- "mixing": true,
- "transition": ease
- },
- "ddplus": {
- "mixing": false,
- "transition": mute
- },
- "atmos": {
- "enabled": false,
- "mixing": false,
- "transition": mute
- }
- }
-}
diff --git a/nts/etc/nrdp_platform_capabilities.json b/nts/etc/nrdp_platform_capabilities.json
deleted file mode 100755
index 9d61800..0000000
--- a/nts/etc/nrdp_platform_capabilities.json
+++ b/dev/null
@@ -1,5 +0,0 @@
-{
- "vp9Disabled": "true",
- "hdrOutputType": "always",
- "tunnelModeWithBTSetting": "disable"
-}
diff --git a/nts/nts.mk b/nts/nts.mk
deleted file mode 100755
index eb4e68b..0000000
--- a/nts/nts.mk
+++ b/dev/null
@@ -1,15 +0,0 @@
-# For NTS certification
-PRODUCT_PROPERTY_OVERRIDES += \
- audio.passthrough.volume.route2cec = true \
- ro.vendor.nrdp.validation=ninja_6 \
- ro.vendor.nrdp.audio.mixer.buffersize=1024 \
- ro.vendor.build.version.nts_patch=2019-04-19
-
-#PRODUCT_PACKAGES += \
- # Netflix
-
-PRODUCT_COPY_FILES += \
- device/amlogic/common/nts/etc/netflix.xml:system/etc/sysconfig/netflix.xml \
- device/amlogic/common/nts/etc/nrdp_platform_capabilities.json:vendor/etc/nrdp_platform_capabilities.json \
- device/amlogic/common/nts/etc/nrdp_audio_platform_capabilities.json:vendor/etc/nrdp_audio_platform_capabilities.json
-
diff --git a/optimization/config b/optimization/config
index b3608ed..c9d67c9 100755
--- a/optimization/config
+++ b/optimization/config
@@ -1 +1 @@
-NPEF;IjhiQspgjmf EBUB; 0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe 0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0dqvjogp`nby`gsfr 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0inq`cpptu;2 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`njo`gsfr;911111 0tzt0dmbtt0nqhqv0tdbmf`npef;4 0tzt0efwjdft0tztufn0dmpdltpvsdf0dmpdltpvsdf10dvssfou`dmpdltpvsdf;Ujnfs.L tzt/pqujnj{bujpo/vj/ix;usvf tzt/ibsexbsf/wtzod;usvf QLH; dpn/bouvuv dpn/sjhiuxbsf/uenn3w21kojgsff tpguxfh/ix/qfsgpsnbodf dpn/hmcfodinbsl db/qsjnbufmbct/hfflcfodi3 dpn/fmmjtnbslpw/hqvcfodi qfsgpsnbodf/uftu dpn/hsffofdpnqvujoh/mjoqbdl dpn/espmf{/ocfodi tf/ofob dpn/rvbmdpnn/ry/ofpdpsf dpn/bvspsbtpguxpslt/rvbesbou dpn/tnbsucfodi/fmfwfo dpn/qbttnbsl/qu`npcjmf dpn/fecvsofuuf/gqt3e dpn/Cgjfme/DqvJefoujgjfs fv/dibjogjsf/dgcfodi dpn/gvuvsfnbsl/enboespje/bqqmjdbujpo dpn/rvjdjod/wfmmbnp dpn/IPUJDF/NpcjmfUftu dpn/qduwuw/boespje/uuty dpn/ffncd/dpsfnbsl dpn/boespje/dn4 dpn/qsjnbufmbct dpn/bsn/of21/efnp dpn/boespje/dut/pqfohm0/qsjnjujwf/HMQsjnjujwfBdujwjuz dpn/ubdufm/fmfdupqjb dpn/rrgsjfoet dpn/topxdpme/cfodinbsl dpn/ofugmjy/ojokb  NPEF;DqvMjnjufsGsfr EBUB; 0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe 0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;711111 QLH; dpn/bouvuv/uftufs  NPEF;HqvGpsdfSfoefs EBUB; tzt/pqujnj{bujpo/vj/ix;usvf QLH; dpn/ufodfou/hbnf/sizuinnbtufs  NPEF;DUT EBUB; tzt/wtzod/uzqf;ibsexbsf nfejb/pny/ws;usvf nfejb/bgcd/mjnju;2 QLH; boespje/nfejb/dut0/EfdpefBddvsbdzUftuBdujwjuz boespje/wjfx/dut0/QjyfmDpqzWjefpTpvsdfBdujwjuz boespje/wjfx/dut0/tvsgbdfwbmjebups/DbquvsfeBdujwjuz dpn/hpphmf/boespje/fypqmbzfs/hut0/vujm/IptuBdujwjuz dpn/boespje/dut/wfsjgjfs dpn/esbxfmfnfout/efrq  NPEF;FodpefsDUT EBUB; nfejb/pny/ejtqmbz`npef;1 nfejb/pny/jotubodf/uftu;2 QLH; boespje/nfejb/dut0/NfejbTuvcBdujwjuz  NPEF;HqvIjhiQspgjmf EBUB; 0tzt0dmbtt0nqhqv0tdbmf`npef;4 QLH; dpn/esbxfmfnfout/efrq boespje/mfbocbdlkbol/dut boespje/mfbocbdlkbol/bqq dpn/boespje/tfswfs/dut/efwjdf/hsbqijdttubut boespje/wjfx/dut0/EjtqmbzSfgsftiSbufDutBdujwjuz boespje/pqfohmqfsg/dut0/HmQmbofutBdujwjuz dpn/ofugmjy/ojokb0/NbjoBdujwjuz  NPEF;FodpefsHutUftu EBUB; nfejb/fodpefs/cjusbuf/uftu;2 nfejb/pny/ejtqmbz`npef;2 0tzt0npevmf0ej0qbsbnfufst0czqbtt`bmm;2 QLH; dpn/hpphmf/boespje/nfejb/hut \ No newline at end of file
+NPEF;IjhiQspgjmf EBUB; 0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe 0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0dqvjogp`nby`gsfr 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0inq`cpptu;2 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`njo`gsfr;911111 0tzt0dmbtt0nqhqv0tdbmf`npef;4 0tzt0efwjdft0tztufn0dmpdltpvsdf0dmpdltpvsdf10dvssfou`dmpdltpvsdf;Ujnfs.L tzt/pqujnj{bujpo/vj/ix;usvf tzt/ibsexbsf/wtzod;usvf nfejb/tg/pnywjefp.pqunj{f;2 QLH; dpn/bouvuv dpn/sjhiuxbsf/uenn3w21kojgsff tpguxfh/ix/qfsgpsnbodf dpn/hmcfodinbsl db/qsjnbufmbct/hfflcfodi3 dpn/fmmjtnbslpw/hqvcfodi qfsgpsnbodf/uftu dpn/hsffofdpnqvujoh/mjoqbdl dpn/espmf{/ocfodi tf/ofob dpn/rvbmdpnn/ry/ofpdpsf dpn/bvspsbtpguxpslt/rvbesbou dpn/tnbsucfodi/fmfwfo dpn/qbttnbsl/qu`npcjmf dpn/fecvsofuuf/gqt3e dpn/Cgjfme/DqvJefoujgjfs fv/dibjogjsf/dgcfodi dpn/gvuvsfnbsl/enboespje/bqqmjdbujpo dpn/rvjdjod/wfmmbnp dpn/IPUJDF/NpcjmfUftu dpn/qduwuw/boespje/uuty dpn/ffncd/dpsfnbsl dpn/boespje/dn4 dpn/qsjnbufmbct dpn/bsn/of21/efnp dpn/boespje/dut/pqfohm0/qsjnjujwf/HMQsjnjujwfBdujwjuz dpn/ubdufm/fmfdupqjb dpn/rrgsjfoet dpn/topxdpme/cfodinbsl dpn/ofugmjy/ojokb  NPEF;DqvMjnjufsGsfr EBUB; 0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe 0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe 0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;711111 QLH; dpn/bouvuv/uftufs  NPEF;HqvGpsdfSfoefs EBUB; tzt/pqujnj{bujpo/vj/ix;usvf QLH; dpn/ufodfou/hbnf/sizuinnbtufs  NPEF;DUT EBUB; tzt/wtzod/uzqf;ibsexbsf nfejb/pny/ws;usvf nfejb/bgcd/mjnju;2 QLH; boespje/nfejb/dut0/EfdpefBddvsbdzUftuBdujwjuz boespje/wjfx/dut0/QjyfmDpqzWjefpTpvsdfBdujwjuz boespje/wjfx/dut0/tvsgbdfwbmjebups/DbquvsfeBdujwjuz dpn/hpphmf/boespje/fypqmbzfs/hut0/vujm/IptuBdujwjuz dpn/boespje/dut/wfsjgjfs dpn/esbxfmfnfout/efrq  NPEF;FodpefsDUT EBUB; nfejb/pny/ejtqmbz`npef;1 nfejb/pny/jotubodf/uftu;2 QLH; boespje/nfejb/dut0/NfejbTuvcBdujwjuz  NPEF;HqvIjhiQspgjmf EBUB; 0tzt0dmbtt0nqhqv0tdbmf`npef;4 QLH; dpn/esbxfmfnfout/efrq boespje/mfbocbdlkbol/dut boespje/mfbocbdlkbol/bqq dpn/boespje/tfswfs/dut/efwjdf/hsbqijdttubut boespje/wjfx/dut0/EjtqmbzSfgsftiSbufDutBdujwjuz boespje/pqfohmqfsg/dut0/HmQmbofutBdujwjuz dpn/ofugmjy/ojokb0/NbjoBdujwjuz  NPEF;FodpefsHutUftu EBUB; nfejb/fodpefs/cjusbuf/uftu;2 nfejb/pny/ejtqmbz`npef;2 0tzt0npevmf0ej0qbsbnfufst0czqbtt`bmm;2 QLH; dpn/hpphmf/boespje/nfejb/hut \ No newline at end of file
diff --git a/products/mbox/Vendor_1915_Product_0001.idc b/products/mbox/Vendor_1915_Product_0001.idc
new file mode 100755
index 0000000..2d44e9a
--- a/dev/null
+++ b/products/mbox/Vendor_1915_Product_0001.idc
@@ -0,0 +1 @@
+audio.mic = 1
diff --git a/products/mbox/Vendor_7545_Product_0180.idc b/products/mbox/Vendor_7545_Product_0180.idc
new file mode 100755
index 0000000..2d44e9a
--- a/dev/null
+++ b/products/mbox/Vendor_7545_Product_0180.idc
@@ -0,0 +1 @@
+audio.mic = 1
diff --git a/products/mbox/init.amlogic.system.rc b/products/mbox/init.amlogic.system.rc
index 17143d3..6699090 100755..100644
--- a/products/mbox/init.amlogic.system.rc
+++ b/products/mbox/init.amlogic.system.rc
@@ -2,6 +2,7 @@ import /vendor/etc/init/hw/init.amlogic.usb.rc
import /vendor/etc/init/hw/init.amlogic.board.rc
import /vendor/etc/init/hw/init.amlogic.wifi.rc
import /vendor/etc/init/hw/init.amlogic.media.rc
+import /vendor/etc/init/hw/init.mtk.rc
import /vendor/etc/init/hw/init.amlogic.wifi_buildin.rc
import /vendor/etc/init/cppreopts_amlogic.rc
@@ -23,8 +24,6 @@ on init
chmod 666 /sys/class/video/video_inuse
chmod 666 /sys/class/video/axis
chmod 666 /sys/class/video/disable_video
- chmod 666 /sys/class/video/axis_pip
- chmod 666 /sys/class/video/disable_videopip
chmod 666 /sys/class/tsync/enable
chmod 666 /sys/class/tsync/apts_lookup
chmod 666 /sys/class/tsync/pts_pcrscr
@@ -33,7 +32,6 @@ on init
chmod 666 /sys/class/tsync/event
chmod 666 /sys/class/tsync/av_threshold_min
chmod 666 /sys/class/video/screen_mode
- chmod 666 /sys/class/video/screen_mode_pip
chmod 666 /sys/class/vdec/poweron_clock_level
chmod 666 /sys/module/ionvideo/parameters/freerun_mode
chown system system /sys/class/graphics/fb0/osd_afbcd
@@ -48,11 +46,16 @@ on init
# for zram
mkdir /swap_zram0 0700 root root
+ # for tee
+ mkdir /tee 0700 system system
+
on fs
mkdir /mnt/vendor/factory 0755 root root
mkdir /mnt/vendor/swap_zram0 0700 root root
+ mkdir /mnt/vendor/tee 0700 system system
mount_all /vendor/etc/fstab.amlogic
setprop ro.crypto.fuse_sdcard true
+ swapon_all /vendor/etc/fstab.amlogic
restorecon_recursive /mnt/vendor/param
on post-fs-data
@@ -84,12 +87,15 @@ on boot
chown bluetooth bluetooth /proc/bluetooth/sleep/lpm
chmod 0660 /proc/bluetooth/sleep/btwrite
chmod 0660 /proc/bluetooth/sleep/lpm
+ # change back to bluetooth from system
+ chown bluetooth bluetooth /data/misc/bluetooth
+ insmod /vendor/lib/modules/btusb.ko
+ #mknod btusb0 c 180 194 can not use it from P,fixed in btusb driver
chown system mediadrm /sys/class/amhdmitx/amhdmitx0/aud_ch
chmod 0664 /sys/class/amhdmitx/amhdmitx0/aud_ch
insmod /vendor/lib/modules/aml_thermal.ko
- #insmod /vendor/lib/modules/ddr_window_64.ko
chown media system /sys/class/tsync/pts_video
chown mediadrm audio /sys/class/tsync/pts_audio
@@ -118,11 +124,8 @@ on boot
chown media system /sys/class/video/blackout_policy
chown media system /sys/class/video/screen_mode
- chown media system /sys/class/video/screen_mode_pip
chown media system /sys/class/video/axis
chown media system /sys/class/video/disable_video
- chown media system /sys/class/video/axis_pip
- chown media system /sys/class/video/disable_videopip
chown media system /sys/class/video/zoom
chown media system /sys/class/video/free_keep_buffer
chown media system /sys/class/video/free_cma_buffer
@@ -133,25 +136,11 @@ on boot
chown media system /sys/class/ppmgr/ppscaler_rect
chown media system /sys/class/ppmgr/vtarget
- chmod 666 /sys/module/decoder_common/parameters/force_nosecure_even_drm
- chown media system /sys/module/decoder_common/parameters/force_nosecure_even_drm
chown media system /sys/class/amaudio/audio_channels_mask
chown media system /sys/class/amaudio/enable_resample
chown media system /sys/class/amaudio/resample_type
chown system mediadrm /sys/class/amaudio/debug
- chmod 666 /sys/class/astream/format
- chown media audio /sys/class/astream/format
- chmod 666 /sys/class/astream/addr_offset
- chown media audio /sys/class/astream/addr_offset
- chmod 666 /sys/class/astream/astream-dev/uio0/maps/map0/addr
- chown media audio /sys/class/astream/astream-dev/uio0/maps/map0/addr
- chmod 666 /sys/class/astream/astream-dev/uio0/maps/map0/size
- chown media audio /sys/class/astream/astream-dev/uio0/maps/map0/size
- chmod 666 /sys/class/astream/astream-dev/uio0/maps/map0/offset
- chown media audio /sys/class/astream/astream-dev/uio0/maps/map0/offset
- chmod 666 /sys/class/dmx/demux0_scramble
- chown media system /sys/class/dmx/demux0_scramble
chown system system /sys/class/audiodsp/digital_raw
chown system system /sys/class/audiodsp/ac3_drc_control
chown media system /sys/class/audiodsp/dts_dec_control
@@ -165,10 +154,7 @@ on boot
# default support XBMC
chmod 666 /sys/class/video/axis
chmod 666 /sys/class/video/screen_mode
- chmod 666 /sys/class/video/screen_mode_pip
chmod 666 /sys/class/video/disable_video
- chmod 666 /sys/class/video/axis_pip
- chmod 666 /sys/class/video/disable_videopip
chmod 666 /sys/class/tsync/pts_pcrscr
chmod 666 /dev/amstream_abuf
chmod 666 /dev/amstream_hevc
@@ -187,7 +173,6 @@ on boot
chmod 666 /dev/amstream_dves_avc
chmod 666 /dev/amstream_dves_hevc
chmod 666 /dev/ionvideo
- chmod 666 /dev/videosync
#add for XBMC BlueRay 3d and audio Passthrough
chmod 666 /sys/class/audiodsp/digital_raw
chmod 666 /sys/class/audiodsp/digital_codec
@@ -225,8 +210,6 @@ on boot
chmod 0666 /dev/dvb0.dvr0
chmod 0666 /dev/dvb0.dvr1
chmod 0666 /dev/dvb0.dvr2
- chmod 0666 /dev/dvb0.ca0
- chmod 0666 /dev/dvb0.ca1
write /sys/module/stream_input/parameters/def_vstreambuf_sizeM 10
write /sys/module/stream_input/parameters/def_4k_vstreambuf_sizeM 15
@@ -237,17 +220,11 @@ on boot
chown media system /dev/dvb0.demux2
chown media system /dev/dvb0.dvr0
chown media system /dev/dvb0.dvr1
- chown media system /dev/dvb0.dvr2
- chown media system /dev/dvb0.ca0
- chown media system /dev/dvb0.ca1
+ chmod media system /dev/dvb0.dvr2
chown media system /sys/class/stb/demux0_source
chown media system /sys/class/stb/demux1_source
chown media system /sys/class/stb/demux2_source
- chown media system /sys/class/stb/dsc0_source
- chown media system /sys/class/stb/dsc0_free_dscs
- chown media system /sys/class/stb/dsc1_source
- chown media system /sys/class/stb/dsc1_free_dscs
chown media system /sys/class/stb/source
chown media system /sys/class/stb/asyncfifo0_source
chown media system /sys/class/stb/asyncfifo1_source
@@ -428,13 +405,6 @@ service watchdogd /sbin/watchdogd 10 20
disabled
seclabel u:r:watchdogd:s0
-#wifi firmware_path
-#on property:wlan.driver.status=ok
-# chown system wifi /sys/module/dhd/parameters/firmware_path
-# chmod 0660 /sys/module/dhd/parameters/firmware_path
-# chown system wifi /sys/module/bcmdhd/parameters/firmware_path
-# chmod 0660 /sys/module/bcmdhd/parameters/firmware_path
-# setprop wifi.direct.interface p2p-dev-wlan0
# on userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
@@ -444,11 +414,21 @@ on property:ro.debuggable=1
on property:vendor.sys.mtkbtdriver=true
insmod /vendor/lib/modules/btmtksdio.ko
+on property:vendor.sys.mtkbtdriver=false
+ rmmod btmtksdio
+
service remotecfg /vendor/bin/remotecfg /vendor/etc/remote.conf
class main
oneshot
seclabel u:r:remotecfg:s0
+service bootvideo /vendor/bin/bootplayer /vendor/etc/bootvideo
+ class main
+ user root
+ group system
+ disabled
+ oneshot
+
service hdcp_tx22 /vendor/bin/hdcp_tx22 \
-f /vendor/etc/firmware/firmware.le
class main
@@ -462,27 +442,17 @@ service hdcp_rx22 /vendor/bin/hdcp_rx22 \
oneshot
seclabel u:r:hdcp_rx22:s0
-#service ddrtest /vendor/bin/ddrtest.sh
-# class main
-# user root
-# group root
-# oneshot
-
service factoryreset /vendor/bin/factoryreset.sh
class main
user root
group root
- disabled
oneshot
seclabel u:r:install_recovery:s0
+
+
service bugreport /system/bin/dumpstate -d -p -B -P -z \
-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
-
-on property:sys.boot_completed=1
- # Enable ZRAM on boot_complete
- swapon_all /vendor/etc/fstab.amlogic
- start factoryreset
diff --git a/products/mbox/product_mbox.mk b/products/mbox/product_mbox.mk
index 911664d..17245c3 100644
--- a/products/mbox/product_mbox.mk
+++ b/products/mbox/product_mbox.mk
@@ -13,7 +13,6 @@ PRODUCT_PACKAGES += \
libtv \
libtv_linker \
libtvbinder \
- libtv_jni \
tvserver \
libtvplay \
libvendorfont \
@@ -47,6 +46,7 @@ PRODUCT_PACKAGES += \
endif
PRODUCT_PACKAGES += \
+ libtv_jni \
remotecfg
ifneq ($(TARGET_BUILD_GOOGLE_ATV), true)
@@ -93,8 +93,7 @@ PRODUCT_COPY_FILES += \
ifeq ($(TARGET_BUILD_LIVETV),true)
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.software.live_tv.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.live_tv.xml \
- device/amlogic/common/android.software.leanback.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.leanback.xml
+ frameworks/native/data/etc/android.software.live_tv.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.live_tv.xml
endif
#copy lowmemorykiller.txt
@@ -105,10 +104,6 @@ PRODUCT_COPY_FILES += \
device/amlogic/common/config/lowmemorykiller_512M.txt:$(TARGET_COPY_OUT_VENDOR)/etc/lowmemorykiller_512M.txt
endif
-#DDR LOG
-PRODUCT_COPY_FILES += \
- device/amlogic/common/ddrtest.sh:$(TARGET_COPY_OUT_VENDOR)/bin/ddrtest.sh
-
# USB
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml
@@ -119,7 +114,10 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
endif
-
+# Bluetooth idc config file
+PRODUCT_COPY_FILES += \
+ device/amlogic/common/products/mbox/Vendor_1915_Product_0001.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/Vendor_1915_Product_0001.idc \
+ device/amlogic/common/products/mbox/Vendor_7545_Product_0180.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/Vendor_7545_Product_0180.idc
custom_keylayouts := $(wildcard device/amlogic/common/keyboards/*.kl)
PRODUCT_COPY_FILES += $(foreach file,$(custom_keylayouts),\
@@ -150,9 +148,3 @@ $(call inherit-product, $(VERSION_ID))
endif
DISPLAY_BUILD_NUMBER := true
-
-#BOX project,set omx to video layer
-PRODUCT_PROPERTY_OVERRIDES += \
- media.omx.display_mode=1
-
-BOARD_HAVE_CEC_HIDL_SERVICE := true
diff --git a/products/mbox/ueventd.amlogic.rc b/products/mbox/ueventd.amlogic.rc
index a7b76e2..b7b409c 100755..100644
--- a/products/mbox/ueventd.amlogic.rc
+++ b/products/mbox/ueventd.amlogic.rc
@@ -33,17 +33,12 @@
/dev/video19 0660 system mediadrm
/dev/video20 0660 system mediadrm
/dev/video21 0660 system mediadrm
-/dev/video23 0660 system mediadrm
/dev/amaudio_utils 0660 media system
/dev/amaudio_ctl 0660 media system
/dev/amvenc_avc 0660 mediacodec system
/dev/HevcEnc 0660 mediacodec system
/dev/amsubtitle 0660 media system
/dev/jpegenc 0660 media system
-/dev/videosync 0660 media system
-/dev/ac_sbuf0 0660 system camera
-/dev/ac_isp4uf 0660 system camera
-
#audio data
/dev/audio_data_debug 0660 mediacodec audio
diff --git a/products/mbox/upgrade_4.9/aml_upgrade_package_AB_enc_avb.conf b/products/mbox/upgrade_4.9/aml_upgrade_package_AB_enc_avb.conf
deleted file mode 100755
index c8a4290..0000000
--- a/products/mbox/upgrade_4.9/aml_upgrade_package_AB_enc_avb.conf
+++ b/dev/null
@@ -1,32 +0,0 @@
-#This file define how pack aml_upgrade_package image
-
-[LIST_NORMAL]
-#partition images, don't need verfiy
-file="u-boot.bin.usb.bl2" main_type= "USB" sub_type="DDR"
-file="u-boot.bin.usb.tpl" main_type= "USB" sub_type="UBOOT"
-file="u-boot.bin.sd.bin" main_type="UBOOT" sub_type="aml_sdc_burn"
-file="bootloader.img.encrypt.usb.bl2" main_type= "USB" sub_type="DDR_ENC"
-file="bootloader.img.encrypt.usb.tpl" main_type= "USB" sub_type="UBOOT_ENC"
-file="bootloader.img.encrypt.sd.bin" main_type= "UBOOT.ENC" sub_type="aml_sdc_burn"
-file="platform.conf" main_type= "conf" sub_type="platform"
-file="aml_sdc_burn.ini" main_type="ini" sub_type="aml_sdc_burn"
-file="dt.img" main_type="dtb" sub_type="meson1"
-file="dt.img.encrypt" main_type="dtb" sub_type="meson1_ENC"
-
-[LIST_VERIFY]
-#partition images needed verify
-
-#if you want download userdata image, uncomment below line
-#file="userdata.img" main_type="PARTITION" sub_type="data"
-
-file="logo.img" main_type="PARTITION" sub_type="logo"
-file="boot.img.encrypt" main_type="PARTITION" sub_type="boot_a"
-file="system.img" main_type="PARTITION" sub_type="system_a"
-file="system_other.img" main_type="PARTITION" sub_type="system_b"
-file="vendor.img" main_type="PARTITION" sub_type="vendor_a"
-file="odm.img" main_type="PARTITION" sub_type="odm_a"
-file="product.img" main_type="PARTITION" sub_type="product_a"
-file="bootloader.img.encrypt" main_type="PARTITION" sub_type="bootloader"
-file="dt.img.encrypt" main_type="PARTITION" sub_type="_aml_dtb"
-file="dtbo.img" main_type="PARTITION" sub_type="dtbo_a"
-
diff --git a/products/tv/Vendor_1915_Product_0001.idc b/products/tv/Vendor_1915_Product_0001.idc
new file mode 100755
index 0000000..2d44e9a
--- a/dev/null
+++ b/products/tv/Vendor_1915_Product_0001.idc
@@ -0,0 +1 @@
+audio.mic = 1
diff --git a/products/tv/Vendor_7545_Product_0180.idc b/products/tv/Vendor_7545_Product_0180.idc
new file mode 100755
index 0000000..2d44e9a
--- a/dev/null
+++ b/products/tv/Vendor_7545_Product_0180.idc
@@ -0,0 +1 @@
+audio.mic = 1
diff --git a/products/tv/bootanimation.zip b/products/tv/bootanimation.zip
index 6b66348..f39fffe 100755
--- a/products/tv/bootanimation.zip
+++ b/products/tv/bootanimation.zip
@@ -1,48 +1,47 @@
-PK
-
-
+PK
+

-
+

-
+

lBJai/!B)jA 7sP4?@wefXfϲg
-
+

Ќ"(+4bNVԁ֠Lsin=o9n\y<4
de K+og[op_t+]%ˮG=&g;bx쵊)>\q
-
+

W<t߮xxص9:ڻt=vĪOu#rf1åQ٠@y]Qܫ[ ߵuMvyQߐhcsm6 t5
qʟ3}O_Z}eU?ƕ3aj-@>lqǜ㍓˙0JcJ
-
+


IDATx}\غjsetY)[2ÊkzV,Xk0 b#X4b\
hfQk0+Jv{Pjw_=~W꽾^G~_Ρ{
-
+

vz 931 jn3$o"isw=;i9CN@<"͍___y~fNT9@5}EwguvtzN9'@_7~=9aΙkWc6isf@rէ;͜99@>6Z:NΜm<g~4?p+M^p?oE7~U>[öݴ:^^W3zVgży[|jO%JpX(V͏?{%v%tފ-/X~?,Ρ6gĒٱ}ᆕ^L#x u-'_[AwŌb^q^~ oQ ӧ|7-h?pS+jˡxxϧb_X:'/>t^EAZh<`{AXS;F|GYeCqQEpr6B-:8Vl^'ǂy<~%.%z6%~J6*~yJن]]i@jز>xQ*VyJ%oTþw-팵r\+W,Y!v ˟r\<i*{:{\:XSťy}W-Wu[0{-{<vmo@ΉU뚥s\ǦeڕNG ix WhqM*[ťP31wJf@r{'V1rV_ihV9Ի 3
_9CN2tvgśTjw\ΐċߟ/?g@*ٰ&9ߟ7kj@k2ɚqXti[@;ެazsyŏҹ-طVf)&i q?s߈y#{?ziqϚAh?PpkD1I=W7ݫ㒛h?PyKZ&')W 3M*sn3G>Sg
{ N隸bj?FN,~hl7ηǟ>~8N^xm,h?p{wGoU8T߁q֥1808Juq`o'OďnWl_oQ.ڲow|M%oߟ>%WwxԞg/S?L46w8θ!y+
67~h~@xvq=;9sNϲcƭ[}N3{>~LψSw.͙ʷxص sNoTYqxcmN.Tͪoh6@xiuLuykDNT9@IL\Wr'nGOOi1{B _̛ ~Sdt}!}6uҺ{vW^]!qMq?ھ9̎g+@ϼ=swcicw~`ob,K֍l~fdW<0ddLi`ֽR<ny+?[x;>8p?(NΏ!>̓9z6DxG¦Q߫x~[/E?/ fM_%
-
+

AzwS5UUCMjӤĶ梧Gkcj{)j [(5^"BW ,eW85\vݙGw3[
ljjsGm?z;&'|ĨC~ϢK6?h?|!~sU[xy]㾯gwzs@D{[~&qQ?J̻wCF̠@)yEl~1h?PJV.7+6J[/q{ AE\60h?PbZVq@Y\ąGCOrm5bhiwvzTI{j~Rs/͢ۺ>6or@Yƫ]TgQS?h?P0)6fܙ}<$N8&NArȺ}h?wd' %
O_h?T3o])g^Rv?ƫ/&Ł'<h?[rU]p>R;#Z&;8'|.2в:Zglo_st^4~ Ϯbi@KS ~**@*d(z-
EkT CGQ ~{D~1x;;u6ZVe?
-
+

Ӏ8ZK㟪
@@ -55,7 +54,7 @@ g62}-vY/T[U[a=to 2;nW>OӀ8ЏڿԟԫԷ$@C
yP]K/׸xyZ NTd?PUK{}3ӝWWFИFw?V1e? qm\زv? xG˸ڗ~ۿMSj0`wWזѓcP~hp۷7ǒ;ʦh~(Mkwţv
x
ccͲ=>@C<(rn6{P4d
-
+

^(誋.*zC(@HBsB  0IuwUuzz]ֿ_j
@@ -71,7 +70,7 @@ m*~=bӺ.W}L<"qw3'Mt- Ъ۸3cݛb".A7g7>wv
d?:O:js%~z{bx잘;+#>+Ěѽg;lĨq%e˾sVR}5O
ѻe?gsNaX8AzkVfS{>IZoJ˿
=p]vN?s@}YS(a;Ͻ%Sw;ʯdKVT~d<xC<>ɖtQ]?xgHMm%]|<ut[NZ7$b9dN,WWiBݴmXmuW/K>Z+"
-
+

;6$_K3]iB,(~ғ:j > Ik2-5ܟfc:
@@ -83,7 +82,7 @@ _ƦY^O?9!H~E~5wVm(H8ΘIkT>vo NO7H
QҪe
kdjUXFƩ*/ (V Oy*o}/8
~v gb_VR@CoE'.%.YU'_5Ύؽu?!JqI?2;E(k{d?˄M6gZƍ* ~蓑jS+mgMd?jMU:ʸ
-
+

[EE F;cO-`1o?jnтюdkaOd?k1O_}R*hhMuGk?+]6K"1Z3ڔ -}\v )L_Gf):bAZ| |/hSG3㔿H*ۛ:ڢm04m:*hhY4dOd?r mz3]uETNѲѾdeii<A#߲.}*̢}M#F)'g|vxJ,7Z,{} 1qӥ|/Z9ښL,]n~d7g>oR>mM&9%͘c7~K|WhhqZ7dAS,'YBţiQOO: Ai+ۛ[Rbs땮뫜hhwZw]?A~2 >v%Z<пuǞz' ٟyyc5o(JQk}ZԷ8yЍ&%.O;_Q?-|Yi&+I|wr}׏u~?ezZpR_d?%N`ƺ/j+ZokҪ;?ܴ1n益㘿q?/4W]J֏E~9Dflwgj5sВ'^Ǐe?36df3s?m~j5K솖Yf tx8쿔 5W]b6Ge?3yZ,on>]V߬Z=д4DAӖ!~E?7u7:fZ=Њ'ս*$ k[q@װqH[7z_xqojՍi/D=DUw藐h/5oЯv#ziG̯K~->^L|4،9<d 2}#n6hz@Y-y-b|w[\[ [+*"F(}_'%d?y&=?i1>)]Sq]#EUDmJ'Dx
@@ -97,7 +96,7 @@ Bm_Bsh[Wu~'>؎:*6H'߱{3Qǥ%VDUц'e=c|m{eJ#L
;`ovAWqק'7=_:|nmM7+VJ维/ E_}nyzܟ4<~.zweONw׌cu1&踿-ٿ_ΔtΛ 3OB~jM㈴1oY^̗lRG/짭mH+~- 5ggݐBn+nx_Թ~m;geZ,?Vq[o@_D'nhw'cw^o<uivP9j}gD< 4fq/kˊÍ__R7e(zto8cUixѡޛfQVem-;מhkσ'O凾ʿ#=5=ʪlMeJ9 ;KW1k=ɿ~)`ө稬֌6%j'e?csZӮe+ Sҋ>lRXID;Fk[cωO':;mZUq 䱧_eAmso.k]7;MfӖoxA xғ^[`#ي~OmN)$%mʖq߫gBz⽋EE M9~:lhpCp}qJ
y^if>jv&m!zst®ߞ~islҋu]&jvd.mZO^'g_k'+Ϯy~&zd?Q|oʣuz_ʺ'ϵ3uߪ?]~jq<{'~<r*\D YquS_o?ۍ
_JzVJh_4.G,EjMٌ}8}V\[׷*K7ܕv̬0
-
+

2ELX#M"#?COgޑ|"^1HkOXPk4Pd&:i0b7~o|Ib+jvOШ[.>C#iͬ[`/CS5|fw>^$Q~Lȵ~49x]} ݽ@y~Z0KRTwrb!7d4mpyu)޻Y"k,K}m,,M $(^wdTzqAlfNٟ\i_9Y-ELIG| &ĺwo,ho,QK٨K<Ths:x_;߯~b_g,YH
@@ -114,7 +113,7 @@ f6m޽wKmo=#S$Ldӗ<l'D{ʩHs&Չ{&-Q>w~菮e
@~߽ʠDGc͛^.K.'C/I ;!K
bJ ":kk+j.[DPNG{R9"Z*dGPfqvٿelo>& nKMLJ-3e<+dֺ~MuٲOrwu~٪ri.]k oo
Kii^K5ķcOv7BW+_O_돱wU 7nr&Hc1f~!MfkO-~HYȁ~p|r)D{LКMk>Ӈ7k;Һ뱍~K"+jg3_B&hMxK9Osg;NDdz~v<p|acd:?d,uLkk4:=m{#+šuձQfYpM:5 掳+"/y]C.,鱗th` e|Z-]$rĎfٲ6uY7eSHUA+K/Ⲉ4XNA0B.$mog|5_h*ʦUJNiPGԯxaXyVNΖMÅiջvu߼ZZ cذֺ^@TZ%
-
+

jJFA-lv-=M}-3̙~<vgλ3;9=K
@@ -147,7 +146,7 @@ cnHٿ"yM7]w-Xbf렣yhأ^<wơ$RY؍0j2FcA
Y6;Eμ ;GkCCS=zwNx_g0rn@mCWyXw<Y+_
pR_U,ݝ:WtkД6tM.
-
+

m<C(eT,Mi:;Ke'?}@vE6;o$edD9'W8v&>((rq
@@ -171,7 +170,7 @@ v&h ^˱kٴA-E>KVwճ1w'?(`~Cf]?
I7ٿ]Dgeɐ}iǎg%~hçO8^.C:^ӰI?O}YdΟG5bscz{v }fy{ːd."Yy=wS Zި,\.ӚGh_[%f Gس?4?=@}FyTDS8<!٢"/)>h +<䍜<?n?y+=S֗{+ji82r <nC@Qy6cXm)5dge,oQԀz_HE$䅬uL=MgѡuNT{naZ~y힨Nw==:{hs|7;YۦOecH:GkZ#ٯ^<xWMQsreAEQcʧ'{0%Zr-~(a99t^ +%M9sU)mbˍߓ1<2kɵh9k}gݯ^}~SKg}ch,0]V^%rjiZrD6#KmrϩRWǕTS-ee^fe$D2zw
fW\o5NmWʭG%BelLq`yXC7[Y&Kfag0?i= ~OVxfٺAμۛ=o+( >/'W&Ag" 5?]I2`6٬޾S*3dYk@M#o?;~f_<a*0k!O_/O_(%<ӝpJ#'OV<Ae83\7]%;'UUȻ+?͋eL~i~3L.|s)hw[cf*l6? ^vCWSKQ7%i}sg];z&_7mMfʩwVExT˳7ۤn{οr3U7H1l4?I FFLPyhg'~2]{ER.E}yyPou\
~:b|u
-
+

\ZΌ~'ڠEՎ#K v>ZاUe.ϔWHcȄ 㴛jW!1ϡT6Uwo1\g>J78zT޿| 7:nk|5ve c~z?mR^[YZ%%Mٶn1wQUko%[Wu Y>,)\r8gn֧!y̚k<tܽH ,>KPx{k/jpRmZ"%t䇙A /}K֤1YZ|ժTM\
@@ -190,7 +189,7 @@ o3QPKt`NtIy PCYN۔![e~E-?[g -|]6/t
;ߗĩq$-C)iu.mHmQAfvO 4/g5z~wٝо
;kOAz !8mJ~m&gծ,ŻõC
ɟ~⩿C9g@|hS]|ʌK}?2dص3_Ȏ]9nyʇO:Qs̾C<=6H+>PvlqL,|~erpk䮣eSߗ
-
+

P^Y+&fOui*Z]j{P??aF6oZ1&ξ(X,<N-v;8vjQ
@@ -213,7 +212,7 @@ m Oހg?C?S}{nm{{
<fPү;Z~MU/$q}ߎrd?u:5Gi7"Oh_lwK珺mޯEWW_ٿ4_Rs<R:"Xx{|ǘZo%AC뭎=!x'd#2(}gGivv(}{➛xu:T"T?EgRz/qyGY
t $'*-֥Op#u䞛5N~/XEmp)OE o˖4~ho;zlYsQߴ<.P8|9hD ytSܾ1mnQ<h]{Y4'1@vZ~(n̹y_1vI;q%xX`6snؔMQ~N3?o`
ݓ+PPs35d93=;cÒlǚǣϡ^44f̋Ng sG _֢܃BOgߌ?6o11bLSHNVHumlې۲g7xώ9{RjQ ~8393:h<jlՋ:O_{ȈWeclY%;mx:n³?o=j3olUTοȦҥ O~J Ԋ@Cit~*vHjt?{{~R+eϿ<oE&T9Ew{%gu|h߸M>7Ԣ oD[2tvT;Z+-|
-
+

#h?-i#sUy >sys|ѳS >O.FG~
@@ -222,7 +221,7 @@ aŅ)] GGm!_˸kVh?pޕ)n=?CEh?GU8 *1
zkÕL6^٨Ol]gO*>i3JfʨOly&-꼿sF._&KϪ4&^}juvɉY4Ȏ֚9ͱ_'[4ȾsC++./h? 22_e
-
+

e)Z]wQ^~MapgQF<ٟcM喷6Osp 3q 0=Bwc?R4q[r쯸m{577m1+aCeKM <<؃coR(q۶W3jMk׮vW=͆/|$<YcopS(qċҚ.<pc 98\†lk [Y7c=d9siYƗ4Ue4,ǽ8!+jUaö+úek޾0ۓ&F?|8\Re4l_
@@ -239,7 +238,7 @@ du5~"SK‰%SXEke?]*Jֆu)jkҚ?MmY~j
N?Y;uvz^s|_X%Z'e? O}Or7 tj|С~kO=w:ǿCJvxfMjY l򟹐?St,ꭿVk⎇@™e9Xd[xohB8 }Xo?3mrOHCd%or]kEѼߚ?:őS|dU\< .Lɱnfc;ϐ8_L=N:CvϞPq,ë E ̏|N/{߮,~Jlgk,?t
9hit5Z'=>z 9:4__1k+>~ \i ;X#nLzg3я
)M{@97Qy&K F{|:ϷƏTz`.۴#m+p~q_7 /=+LE]BS)&HdnYd+2{K3G}sxK}+س>n|xۚASwޟvžF^A4Z(N  ٟ-}\y{xG^>-@Q`d?|iœ'?mW7cR(ާ d?N,mgs=%ɰ;㵧Rco>8.M/i6Obbf?1?
-
+

UjM^.$XXjdMz~7,o.hpje"uBKӹJ{PL'&ȴ!},Sw|/lFo)5H_/4EI2*[oqNeE:Cϥվ^LҪІ Kr_NxgAe |bʴ4^\*IUF&ehJ{yrj ݬMOIUHY;GA[;e.K߫<Y$2R˙i ,MKbir=2١wg`uKs)h>U<LO])_t|Y ȿSTi}J],}?1Lq2;_7dooN18_?"~ap~XLݟ_hjE|{ us[I9h!cZ)_Hi=nr򇲡8YQyiKuOkyɵ_YƍBٯ'ժ8lh>ʇ!}n0'o/v0PڹOiE6T>GReX͖߭~_M7?o~B[
@@ -254,7 +253,7 @@ I=o34yML)ω@l cȟ@Y^O3~VWted56e^ٻ}
gFiZ! \
~ٶ^Z^=^lz֛
Q8(
-
+

凴in8iu5}P8RXw7a|9ہ S]%?P.]rylX:Ac*
@@ -275,7 +274,7 @@ jg{/7~}2V kd'SB

>|U^oY)|]dJEWG_s!{A@{Q(P-gx\܃j6!,w'/1w|/q?/?xܕ
}
-
+

"EE5&nc9ZNY먉GƘ1tqbb4nwqFQ^޻9v,m^;˽)*nܳ
@@ -285,7 +284,7 @@ jg{/7~}2V kd'SB
7#,O+8냻O13ƵYr_zJYĝuzeG>jmZBZL,e L5a?R\n*)k=ұk@xoZB L8DTo$Wڬߞ+˨]FF
t? ٯW!ϥvz<y1V_ikϕ_:Ȯvyznw
ћjѰI
-
+

9)wsh4Ocψ+_8=1
@@ -297,22 +296,22 @@ jg{/7~}2V kd'SB
oqCroyV\1gI<.JM&
T#p_|'
>2 f
-
+

-
+

-
+

-
+

|oh?
o
-
+

@@ -325,7 +324,7 @@ o
^_O
F@x"+{DNȅ၊NNȅɉheH)
zΧG$>WŊECn?]Ҽ+`_|w?w>5{i>Pc:wxifyM;.`&QKqyM~ii&@Nd)S4'MK3kxў>7SC +fy?7?̾6MHs©(s1>kZgx݁kGHAf=q@5>ꚢT==+
-
+

iIDATxuϽ˽^2QRilT6љJ7r+T.lV8]bfi3Ŗ6#Sq
@@ -334,7 +333,7 @@ iIDATxuϽ˽^2QRilT6љJ7r+T.lV8]bfi3Ŗ6#Sq
@~ [h? 
n!qؖߊWOh6>gܧUxϱxfg-{G</VynշDz{c6h?P1gǰ8s{<qwc}Q߀zOjqKk=дqb8
@IZy{Gnrm|<O&h?}[Vt9gN|{-|{bϞ!-{`ؐ܊4^77ŘIu\kOr+r[
-
+

a(tvĩ5ߓco[bɞQ1q}_7ǙV~Ȅ8~h|W=3xϟ%81>[Y`C);߽;ƿx5K)S[\?7񾿲CV:hvQ.ڥ)NNrh?do\߂|f .+ h?d{}M"8i-V~ȄӱO6n. !W<A8~Ȋ<AH'^[oM퇬طiY?XXk
@@ -343,7 +342,7 @@ h?dEgGl~L2j lHoGTǸŷ^uf2dۚh3Ÿۿ7ʼnʭ&!
ҹp,bH(99Ŋm^F\|>ߍ͏19g~n,`qXh%r7KuEx@X>/Oڲ0sEȂ3X}_l^@
0
-
+

=jk=ֺԶcmOݪₕ*aA(!-{&2L&/23ܙ9s8?7{}5
@@ -352,7 +351,7 @@ d?H7 [u&󄗼/N|A*
Jw_˯LLi#cz{Ʒkj7.޳4HE{ |>KP=`W<Ӂ3/dji{**Ɯ?ӽ%v 3fWK\h?dj)U~(vwYeosid j۸hWt@gwt ~|%lx_]S-q~ˎO?j;:3支ケ b&fŒg5R-p
.'?ӓ|߄+;Ljc8쇢ذ~erN'˵ZC|f۶1gZZE!ԻioKbڬ~(Xmej]C=ϸ,ufi!UQ%P[^C>'Ź*kJ4OU6`ӗ*y$<ǥωCG:Squ03J<q칏~ey&s/\**2OEWE92դd?-]; q&G`2꧰`u/{#RҥY"S*]{(mۤd^;#\1rS#pύoOiBv'Id?C-f.NT? dv]LʸԿIk q~A*d?؊>f~k\K5*d?uX=m~j&U~(۾=0L5Ŷ K"UKPbǝQn_YjI5֯Ǟ=|n+T'Z@C-.֍&?)T'Z@Cl_|s}J!IP?J>:~s*$ ~;g<O`J[̘
-UHP~W/TB@C/LYßFѢ h};?8*NzQ7/~V! jQ1g~wb~Mb/kto ~Ь g트*ٟ̀AĘHKu5Ϯ..w _ ~hT]\GCiBٗ5dwa~=~hlگ8nr 1i[w>`ο): {4dx?Y3 c.;z7;{9u}~h8c4 qxKZ_yw>%@S{dic,=R~b2-],{?L0`vcO^
-
+

lNb`c64&UiitD1UuRZ.MtIJN\q4o9ןq<y}\
@@ -366,7 +365,7 @@ g?i(Mf5}g
X}O]5#*4?@SC;bS匨L
8q<60QfFߎ>nvEO%<Fޯ4cT巶esf@9ĵNeMSuM_THwy}qGxůMϟa=S1 O%'7U*EY.(@S?7+?=+\M
6=[v }bx(x~Ⱦ4\? }e9y^_T:ٷ:3AG~bpK<@? ~'j}e췴 Vs?XWb\ GgV_ _TŞ ߮k?ATRv- +NJ~ͺ kKs]2*ڑ=<l}jy v+sJydg_o_v8z$hk7~"7T̃wpeh98~Vd?ɽ-$EF=)׸
-
+

AfFGRGGFe)rʱFE(qA-I4$tN{wz90!yns~*E޽sR,
@@ -386,7 +385,7 @@ l{w?8(۟wB˿:6NFš[1S•_cUW]{򲷹p7f8
~gԗMv6k ŌpPWy4C'`vFGe=Oc_hz/ҺCjd#M$g#eK ݮV`z{Z`WKQTՒ80E_ G~I,SV>VO2+kHSG#?}]в#6~3qs9 \GͺJkS~%b_bG,gޟwHol&7c+e٪vCi\kdJ*7pGd
{U%m鍴vËug6tn[O *hO而G\ic{>zN*py\3F =_%#?!ÑW.f1p>V]tO gh|-3'ǣv0uv\6v2TmsUIOSuGf7Dvήs0Fz.PD.gm
l3iVJ`N,+˲X3_Z-\w?}ˀ[tgb,o`hYDY=;F=EoIL;x){nGw?d!TWD'mS&"L36!nBD2P
-
+

d$5AFIa /*}}IoK$ۥ
@@ -402,7 +401,7 @@ B8Gu-g?^!eի}]EejAzӱdo'O{fD)8PnzK
fspGpdGya7S'F#)l0OoOг[O/8uA[ dX^ai:ٿC?_|:g{4uKæ <sݻh5 $`'_CR=k?|凿%ӹ=Lc'rtw!~m͚kbnnҰY;=*Oܻ9nGz[%#+Z;ȿΒ̊=X^w=ܯZz{dw
?G<U ܯە3jfpL Jw_S7+^" ~22u*  %Kv,~Zx!L.5I_<sw$ [ZO1DG9g`3ˇyoɛmu|۱;F I~ P{Zeښ 姧Z7]\?Gݠ@wI9ofQ?jKv,_U`ՏKOnrTyv %^sjJ^f~6lMκ}ֿv
\5E2jjښWOG.KbVHsEQxd10w>=m9x)]bݿSKd"l./y Svwɔ9i=JGo)ВJ]Gu-$y ۭw֛8Z߂mҮXS4ZVgyIټ2#aq‘*;SfʻT8ji
-
+

d$5AFIa /*}}IoK$ۥ
@@ -418,7 +417,7 @@ B8Gu-g?^!eի}]EejAzӱdo'O{fD)8PnzK
fspGpdGya7S'F#)l0OoOг[O/8uA[ dX^ai:ٿC?_|:g{4uKæ <sݻh5 $`'_CR=k?|凿%ӹ=Lc'rtw!~m͚kbnnҰY;=*Oܻ9nGz[%#+Z;ȿΒ̊=X^w=ܯZz{dw
?G<U ܯە3jfpL Jw_S7+^" ~22u*  %Kv,~Zx!L.5I_<sw$ [ZO1DG9g`3ˇyoɛmu|۱;F I~ P{Zeښ 姧Z7]\?Gݠ@wI9ofQ?jKv,_U`ՏKOnrTyv %^sjJ^f~6lMκ}ֿv
\5E2jjښWOG.KbVHsEQxd10w>=m9x)]bݿSKd"l./y Svwɔ9i=JGo)ВJ]Gu-$y ۭw֛8Z߂mҮXS4ZVgyIټ2#aq‘*;SfʻT8ji
-
+

`B1$l &@R֤ni
@@ -449,7 +448,7 @@ B8Gu-g?^!eի}]EejAzӱdo'O{fD)8PnzK
g?yyA5MoOl0'+ZyU/֏<j߯w8OBRA\{aں@_<q^p ~-k~0~K?_"=?O=z:qk:w]Tn>d:0:- e_sod=nI\;YK;YC6d-17X7D_4֨~Gz"{?Hodde_cUXYYGS?S.5TK<w<yNȝ'.ؓfe9|F3|_&p/x宯H{W 3v
=ļ~|gu췼~|&Wd_E ӻmd kz"#FO30\~ˆ6\XyfO{#鿅g$~Xp?V]©RG<pTAtS?7(>wRkYϺ$z:y=uL].׹>X!8_~$R+x@!.n]u[&_ݟũg`'ѩ7~*L/rty Thz<rYzESM- $P%\|)߿{ioӖ)/-,8END.mO%o?v
_o=R#'T*g]G 6Z2QQf'I-m²rܹit5G>x[-*:>Eau?뛇5yؙ2Dx^~G{WZ
-
+

uz(cKvd|I˴--gwk4{F}82&L׷a`&5ESdbr'es,GR|*{>eٿ(77d5k02zeȂO1J?'ǯKK=g0{$;wnyyݻ?
@@ -479,7 +478,7 @@ Y yޖe] 3N&qp+n7=7<sN3t=W7?H~E;;W
Ƭ{Qݐ!c'R8mTy R[<V[N8Ce~8++f`}Rѫ2{3]4ogw;^yЇ-\[+a9R('ηh_|]6x.%hx_4Eʍ+*1Ak]';+dDC/A 4oD[56*|p3ׂ~_Ƶ%ac1|z _ҡJ0G{=O~7Yäqrs?J6ҳ80Rߪ
Ū[w=_82oR,b^6sfӋ9{ J<=`4SMVe#gٖq;_Z;.dJY+]+n\#zOi"J}!8Qݿѭ<qB(I۩+l`0( ʓuM]YLi_ ~:c
ٴZv|
-
+

?
@@ -509,7 +508,7 @@ _^OեoO].LָGڛ<kҜTX e(gpBE:}
_ǏJ^Q1zjOjڻb\%]Аy4
jfct芗d*ϼLS;'ZL0Omo}}[K/8#~-k~0~CPB]?c{4uKݎ4<uݻh1 $`'_BRk?zgWO0 J-xCd 5VG`=RS}[>.٫'Һw6JZV5vdK8K"+hjg?`xepۤGK[^C{pGrj]LZ>/CٗG/xʗoJkW 3v
=ļ~#oW7ќ;OHRsɿmzMOSu_|u&3| o8[o;ndI-d|7I ce_Պ.+ ],:øy]/9 읔z.~^O_1oW)5neO_#yc閿>$NP.ԺSPOS30YgkT[RU_Jy4Tikv<vEzESM-%X/Jt SZo7,' /]^["w{x^E/ޑ|)|dJE׶);JGo!qj]k[ڤes Rk )|:ҷ`kWVgoy ٹ:-O`q;8GflwiuoۻX
-
+

@@ -544,7 +543,7 @@ rpOU-Kuh;Ҽe^j o& B=O< 0Z|/NWٟdVPy^^
~W_Y궍z:کԓozN3^~|N)* £ڿ ݺ75N1Β А5<O)O?,[Wu+je ,x}QgDfvh^b
=ļ~%s+`p]wj~ORLoˏ5&Ngк_> Lfp,de?#0\Ty[{!鿄Μ}I|~ PgKr%s9>"\ƾAq[_Ϣ~)1Osu ̞ߙң/k7X*u+%0S0.I*W'{rll8It*]?F^Z?m\Tr*ruE:ESM-˪L/Jv S_{Sn?_9lyerz{ xR̽jMړ)=r\͛o>P:x1V6:aR'_Sn7!PC:җ`}Mꛇ֭yWy=vy| {WOZ
9ikm7O
-
+

NB=^[gω+5@TsޢoaZاz}4O?OAρ~f/k}^X e 6O[a_wkx~ V1_JfЩWﰠ׶Ol?}AmݻDMA_3P;3\hmi? еOE7oI:L>T,sL9G iTUdz~~_dَɬu;YO?DQ= noߴtxgp.Lsn
@@ -575,7 +574,7 @@ uθ )Y9\]syb_-;mٵ3G
~•.xD3-ȣJcWϿ 3v
=ļ~y$o WW7/לLRtv?n(ٟ~C~|i'~.der4YF.o>'S(O7ʾ
W`s.y#{W[-
-
+

_=#z@jj_•3QA)0њG()BwNGN=u=ItI%{rVRT{x(dʏΓhkm;x c;ϲGvD.3Ԁ}ev·2b/0C"k㳿xl~14fh}=vA\pF6NkwvjUake߿Uc(-:6_>g\ͷ?ެXe8=EyO殥],@JZOu}"SMS0L}IbGh[CO>y"mgy߯A_۽o9ٟ6*U(3BMxFu"{޼SZ7u5*|rp;wzj=umz}W8C߫rQ>oAaYg1 
@@ -605,7 +604,7 @@ i:+0WG獎/uo;tR?bzd…eӻ˹ns 7YäcM
V2믿NSǼU%m 섫Lg4۳cX o-Bbڵ;v3✺_Q'w~N
?զ^XGQ:^(443
\w=ſ&Q磗{X*uG;S0.룉(WGzr5It*]?7mw}8Tik yVou[IFt S_{imc.,R+( ˶h-OaOT#*_ӫ tT 6; txUGu"[ڡ㍥%pO{)|:P`k% worD*7i,g1˼3.yM{WD4
-
+

GǤG:8)TUO=n_~5OXT&׽`ַgGr8ZC?28 =Gz'=~E3n8urVWhv*)tl#w߲o:kc'|PxoMr~O,>WtL>Fn̒cO|n\Tz;;Znز|FsҕM7CCnXn[4H6i&>ueeE+Hܞya4*O&b/O:[GSc$_TN=NNrwknU.S{Kcp_cX&{ud_'?|Q!6k8*b]X4nXF<UgRoO7Y7KN; `sn9CNBWn6@xݟ'@~L/.aٿ-_zxq;ڎg$qWd\SL|WV!p;rNvG=RUUU\\
@@ -635,7 +634,7 @@ _;fDj_j~wxa} WDuOLDkos"9F;8nIS*ٯߪ;
g ;_^wm#35U@ϑ/>u}qӺm{WiS~gp}_gVW
߲-(y7F˷(O{A$АZ/̾
~
-
+

lKA
@@ -678,7 +677,7 @@ H
iz9pOvh.|naee 4M쯨p
;v+~zn
eee/^n
-
+

'c
@@ -731,7 +730,7 @@ T999˗/Kh;NGʥ{jH~=3NMeOc\bF1uqcF^UyٓG0·

3rv/fees~̙GӠ
!
-
+

b<9yODQQ)$BH!;CmyW>~`ٙ}fv<!P]v _r傂
@@ -770,7 +769,7 @@ I^Y?k#[
5-As-`2*b?Ƚ^9s… tn{?7|1@hX рOeee…I>?c]K.vnf#j"
~0B=ÒN<ytRɔYx뭷T ֭[1涿t˗K^0aLB#xI .<sL?> H~\!ر?G+RSS8 YSO! C{0믿^[[+YwOKi*PXXhtyyyʕ+_y<XbN_2uTy?_ݻ苿/m64]rEڋ qwwǏ#7*(ŋ˻[ᣏ>sNLFu]իO$+ɒ={"+]}}W_}v
NMM} _=
-
+

@@ -826,7 +825,7 @@ m8rdT֝ʳrr|3-u6h9s=ӱa;w}1B KOP\p֭[Q
V% KD[L
\jj?,/HKK{w.^h>ӌKaL2zߢrrr|}ٳ
*,,ܽ{͕~
-
+

⁨T"z
@@ -865,7 +864,7 @@ enaܮJ)]G{0\:݊A^ܚ9obT _!$
ojjXɓe 0---'Nr`˖-?`
!22R}e6OA O4ݺu7|o>ϊ5k b?&ujذaJܶmivڴi?0w\ٖt ONN5?{?|vmo`<~@0OhRW/\Ri~MƏW6?c+osN>bȑ#M'/^'O4ظ8jPPСCkƿ*,,/io߾e|&
,..>rȖ-[˞WUUq˷CJk!kkkr" Aݳg͕~
-
+

ibE
@@ -906,7 +905,7 @@ pڵwu 0:uΝ;Ӷmor2d}ʤ~;Yf…-Z /ݿ
},!Y4QllNc߳g6}ٲeF2\zԩv풍q6m ݆L<СCƽ%3'Nh2
݈h%|~}wJV>wܐ!C6oތ+
-
+

yo<ղg(keY~R
@@ -964,7 +963,7 @@ J""" + 0@p'.YdժUFUR9y$EEE_c=mO>'_ӓjܒ
̙~`` xك&d?JhhD]weY/^lXx^u???AaMMX ~sm޼0l/ST.[L$77w߾}~NZlP(>y :
ǎ+Nsaٛug}VӠe۷O_h[Jqegg(r=#+nN
-
+

@@ -1017,7 +1016,7 @@ b?
6m͛3*Ox Ƨ~}V΄x ݛbbbN*]kԩS+Wt<qhu#͡) U4ꫯ.Z(%%EZļ|kGAҹi~if 6lM-Zz
sKeIG@[ pan T]]mo6g%waDǏWr͛gggڨl%]G:#\t))O$QZGEAFv ޥKoooSEso8#= / 8tP=[n%{/φ MmkotÇgff*?) <lfPZZ:f +v=yd$
UUUرc8
-
+

[JHqnd\L9HLjV}@83c f{g?zu0́[Ț,ʤH\W;_7 +{YWxG (2%Ӊm$
@@ -1067,7 +1066,7 @@ qCXAdddbb}צM%ѣG_rM
!=ׯߓO>)͘ßԧ.֚<y VM0xzzJ]],|]wCv&R9|hKӦMyG1gΜo
I^us*Kӷ D ҿR4SNcǎ}뭷1/oy_EIF0v.\PEY)C{Ŋ<h+WJKO$Օ]:*!HJJŎh! sKm3fl֊z?#L*/fR
ԇwmJv>ww?ʕ+#GFBj&gΜի^i֭[7`
-
+

9=IFF
@@ -1129,7 +1128,7 @@ Rʿp .:n^_Bׯ<S:x222dW[hjSՔPeiybbY|ֲU'Ԝ
>:21g-ayyybO
СC,Pw^j:yy}Gvcƌ̙3Pה*
lf]Di(;Z'A꼸iO?U9jHc޽{^Z`|'NԞ̘>ؖ-[~79۷ϿV.*盪pzM}嗪A3ӟӢE:t  fԨQL|] & M֭yM;tnV+ۡ5CG! czHjݲEwٯ3fإK6mԩS|IIIӏׯ222*^#KTTsZ\T)4ib*gݻ,֩Q}Zӑ4ћRէMب5֭[dd$a7Ϟ
-
+

TUeXxL%v1i>s=βӬ
@@ -1184,7 +1183,7 @@ J_b.l~ЏͪH~"K'@e\n%E,x'a [E
*F6,o$N$^@}+ONt ?37ѧO|޳>]R\n?u*'uAd).W^<4Wzgb-|Yfz5|lj:)3cbbh`gf[o#uq9ׯm6nܸyLۥ_?l07oc4w0=z=WU ƚ/űc5qҁ ~܁iӦN4i=Wi}n:w\ad#YfT|ff]cǎ5\H;C  fRẆf*6~2dF T]6m:{,YK.sիu#W3Duc_jfQ>B][5siꁟw7YSL\nyCW M@,r㘃7yQ39}L4X慤k׮t\w&u|=KjD#
0|>:HqGU;2dƍ
`Kbb_$%%ٓoǎ2
-
+

Hr+X\;\A\&
@@ -1244,7 +1243,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*U KJJ J gΜ4ω
^J:G
*o~С{̘1CžI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U :'?O޶m_wf3Г;jsG
*M322ر÷v
-
+

Hr+X\;\A\&
@@ -1304,7 +1303,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*U KJJ J gΜ4ω
^J:G
*o~С{̘1CžI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U :'?O޶m_wf3Г;jsG
*M322ر÷v
-
+

Hr+X\;\A\&
@@ -1364,7 +1363,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*U KJJ J gΜ4ω
^J:G
*o~С{̘1CžI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U :'?O޶m_wf3Г;jsG
*M322ر÷v
-
+

Hr+X\;\A\&
@@ -1424,7 +1423,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*U KJJ J gΜ4ω
^J:G
*o~С{̘1CžI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U :'?O޶m_wf3Г;jsG
*M322ر÷v
-
+

@@ -1485,12 +1484,11 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*U KJJ J gΜ4ω
^J:G
*o~С{̘1CžI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U :'?O޶m_wf3Г;jsG
*M322ر÷v
-
+
p 1 0 android
-p 0 0 loading
-PK
-
-
+p 0 10 loading
+PK
+

Q䏊(ʃt BB B*il6sgvggs{ι
@@ -1544,7 +1542,7 @@ $3O嬧֦vM
+WaLe%5HqtM^__
re&L5(lhzEQZZZBBuIvd+5iD2O}nvhA4Z֭ I'I"]-mҠJNgH+/kwhܶi&(۷o_PP@8eHIQ:¼ HDFKڸqU]ӰaCzhܠAҼ<j{=4@O%= t4t@Pu
}5+ 8(otFDCG眒BUvv ģ@z%zl
-
+

r
@@ -1586,7 +1584,7 @@ TXVzp'|=wsI9ϊ}7ׯm)RײA(|c)
u]7pe֭&Lpb4(liN>d2RSSKڲe Ժukn8 hRΝ;NDθZ4]vAogēI\+/kwhܶn:߽{b-sg6rEjvNO'u]-ݻwڵVQԦEp5###11>mjGO+SI>C]ęgIhW޽~R茉9335kG$rfl
-
+

bH{4HOv7lf-3;~dvfvs9
@@ -1653,7 +1651,7 @@ zW
8H&Ѿ p82iBvgzᇙ_|1x˩eE%4Ԡ+m(ÇnjVI&I̘1CMr&U!4zW*W]{wNnM2jM7ݴd.`|tP}GJ9p
@lI^^z饒iP}뭷zMP'2;=Y&[n<
-
+

nWDTTT
@@ -1719,7 +1717,7 @@ W`ںz4\QFFƄ Aµ|p |m޽{3y s1h jo{K <ì
ݙ8 -i6'jwŊ~HqReeIWm6*Hj,^QUf3<Cӧ QuϞ=1~$JYzc5j*x{<y?>=7޸rJ5mty~AxWo꫅_y啞#Ae-ͱKͣt%[Vjٲ%3Oq5oߞ!|IR3Mǎ頊_}3⩩T<+/ߡ˗]%Eڹs紴r:?7n3EꚈvN/׉'HEsqhi֭˖- 6-Z7&''---MwÆ Uw+@Jz/У_0CO>WGS}͛7/j69xҥQ 3{6
-
+

SPraCrwٰ`DE?TR,e{]$͒;If2|?[d2Lf<<"
@@ -1772,7 +1770,7 @@ $Q&*(̠,iixן~;~kСC`3g
JFImv' h|{N h?eee q~YTTTYYdH!aok9߀AG餮?O[̟?ƍwuF{G峴8BMpC~"/wd勔B! bJ/.RW 4#Ofsc'T^UM c|_]֒<39hOyz˗/k,^xڴi_};ό;J~JW_\NQ ꄗj- TZ3%(Ml*hLjO416 o4s/rX @A?,!~,M? bson sX)+WL/ѣGOѢ=TN4-o޼yR@؟
7R\\, ̯^%H<Dbtwƌ֯_oCÑ4"̨ܹʉzAALlMJRN-5
-
+

RQJjHH`I!G9r(41"c.'
@@ -1842,7 +1840,7 @@ iBXtXB)p䰉rC6o5 &E724t(l+{
0 '9=`KYPPPtBnO?'2d?w :#gԤ
Au9_? +ٹs'$zŮ_^ke˖Q}袋Uf?Nӹsj mVu~1%JYzmj]~T8c #E!xbiӦ^Z߂^y饗Z 3p7_qVƍ'M,=nP6 <G۷oѢ}$mذq+jՊv uܙ!ARM׮]i^{d*B{ܡ+W%EƎ۽{Bڀ_YzL4뜞c9hҎ;VXaE}RSSE[tݴivn?zл tkۧ<wq#bѴBwM6ʷm?j?xMG9++>/_l;~8d
-
+

6+" +w-+յdւb_ETT@wRHH!ԙ?I&w9;w&On&wnܹy>
@@ -1902,7 +1900,7 @@ d׍CG94SR*
j|rH?;
-
+

2n n3n㾍:訸 :aPt\P]Ae-@ٺ:UުN4Nu{=^
@@ -1960,7 +1958,7 @@ W2Bee% ~Gwsa7Cg?)5i`#
oo޽{7*+S8q@jLCCu FC|V?VAAzN<Ya^
}2'Th>re˖E!};ƌCmjjjO>|p"*H_h"sNQ{:k,-uCy:>C1~$JY1Ժ 6lƌFB?2e˵#??ϗ^zpԲf͚ /0zAdW3bdff[իR.]9~zqg
-
+

vY?䂇IQzLN|
@@ -2008,7 +2006,7 @@ ZF+HM8&o߾Qh?Gg kjjTQTc0=6u߀Ug磡*
=rvFM*D]
\o7 e`S6mڐ!ChCjL}}=w& c!spg+ic+776=O>dny&:thCCw}тv?ڕW^ɽtki@IM?wv0&Zv4lM;3>L5RdV0fGXOCa@guW_}F=9,ͪz^gÆ 즂ƍWQAՅM)2>}N}M:5VG:hHEh&j>TR/$;KkHHŧ0b*$''' 5h?=ŋm5g ǏT أ#7߬ZxI'|4qQqMAҶ2رSNiE֬YPzL흚UcB3бW,_뮋q4N_~9H5K.O,… ({-Xl۶6܁~X";mr;in蛯1c?Z? Tc==SgG}}UW]E7bL~,6$j~G.Z[n=ciݻ=\6Lmч/p1ϟ<y5k̬O>=sz\{s5c^>zU ;0s`4/B?8mš{w:(/ /<|G'|re
5W(߲e?:/=lڽ{e@MTY?|
-
+

-U G(a4PV.J%2 $!,8ێ;򵯥st%]IWτkYd{
@@ -2070,7 +2068,7 @@ _| }#7)EECZ~dۤn%Ӊ 6n$ٞT^UM {|ﮌzI =ύB
~rf`S;wnnn.mQihhd=a,w.l?#mleggӦ+0/$GnllΒ@nWx]r%«IF Mj 0 cr.ڌ7Kڄ"5?%R=#p:S?ﴟ7+69φ MB7GI٠§@ >#̙ e+# چz;2}a^4x-lP'0 ?99J** IA5N2n+Lj𺘁6
{III=GXl#a9ԩS#TSP馮Zf1O_iD%4 ڃ4zm#e?,eZQ?쳅0s;555U{BN2W|7W^yev\\tEB!՘?߷t
3ؤT:hɒ%fV޶maF<uvudjhC|ɖ-[f͚f3+[G}t&+.\hƼ^]]}iL 榛n2s`49=mš{>`?O?S{le
-
+

@@ -2115,7 +2113,7 @@ i>A_y煳0M8R} W_}ekmml4׋?d m@_?԰:>ꨣn&ym
԰; @<l"0,` <A{je̙XsJVWWR;HZHNNYmxGٲxb_| !r#}Va;wfm~e]tO0K.a#}e@۽Ho^Ogdd3z'tMR]]G#,o?ywƻyWB;r 5o+:06-[G۶mTqavl7is=OTcf BMyw:>}*Ÿ8\s{oq* u~M9 >\Ϟ=[@%lI)n/mAJ&` 6n$^T^XUC {|ﮌ{) J=ύF
qӧk6tI?Z5?3|nF3׿&}UP__IBPGwǏO zIaGίB p~Qx J{L?~M
.Q߾}Nʂe&h\.?vX",4i ˯8;0۝5>q ,ꫯEo?͛444Qſ ƑG9|p6Pc"|_憉ܵ|OlU\\̆süpF1bUWZſv &{O(RH~ &af~,l`Cn?PRtU0ov ϟӟ"vN9O?TӍ~wϞY›U6… ]Ehkkg _RdF
-
+

;e9@EGrP;L?RV`˕e59<^wGVޥr9y9qj/ urRk3uSNjߥ,iN;Bq8f^GIgжr?h<[nY :+KQouЉeq4|4t4bٟA{-xVEG<nOKK#R]Rw]?uG(";ӧ_%K+dDKpRK;eR~hV^ v_Vt]:kB^Hԥ!:A#t4mTjhr,pA<wHfN>t$3w[}ri^n&at*Í}Q/U%y/ 7;x޺6qґBZ_U j%h묠$M
@@ -2173,7 +2171,7 @@ G÷0ᄊ#9=L vBq~A*\PGuԍ7Y0=CC
@݀Ja^4>'Nda({&j޽bYg nرW_}5K/4~G}Alg;3$P ?V2k'z챨LX>eʔŋn}ݗɓ'CTTT0AbW?… r)*3;dtܹzšU{c|KYvm]~L&Mt=X)
i?mK.o-Z~z$v~ߞ{Vˊ+<p Nɞf=dQqqq^^{$-_\V0`f=k\,fVZZI~x'9WfĈQ^xa#999L3/m_,)z7cƌQFձ;egej ˯sv~1 ZZnW_}gEcn.BӧКv\2vne?v lk <wu#dL_Y|͚5Z:}>vӱ}.,,dϫM6-ZH
dw
-
+

|-_G[AkшG
@@ -2226,7 +2224,7 @@ hD/8ӤΝ;w֬Yg}v;ύ'IqMWf_\# ދA(,u"JM&֘
S.KՌ:̙zgmtj222Ąsw:NX2׿tͬ,ְ3%=dF=g3g<fϞ$AY:E^hrkR3MA>$83hJp)X)Ǐ@ybwe;s{Kaϝp~YY}ǭpw[[[E3*Ohi׮]K,yY #!<sO/}ktp R! Ԟx .=5ĹLn>}H} rTҘO>[r9H'J`k…;v`Q{.Ԙs\͛ǵ\HkˌK -;#sNJԘgcA7›Ew}7믿fzqmxyAY^+)6($ӦMƒ#+#Y={jwGqԽ{I&ywyg s̋+܃K{fl#pKB>L_|EqΕ^ziӦM7$ʔ)St5prзo_\;It bkdg(vΜ9?ԫ&zJ|׿q"v:=\sYcQ:Njw~'?;ϥ AS؞3jP!
eaԩSY6pZ,!v,je楳0Kf۳>[[[+PSS#vS[>?|ᬡ4Q6 !sHg+Yc5=<Hiy61bDSStv_wuڵk}]qk^xlCY}#:!lÚѻv7ք³hqKJTYH ?O,a'OOn~̒^\>˖-7 /_nf{RdG}>裏}>}z PX0fX@`A&/ܣOjT}mnGluA~!)#D| 7Cc6_z^FLPs̛7/!!9aILS9P=Od-<#{ GqQIMҶ2_*ӊ g!m پ};gU0A=L"|_X<vv_R!Әs9ދj̙#f
-
+

@@ -2293,7 +2291,7 @@ kvr6l/ZH@KsERZ4Ԟ/mALNAm]HY=4&/l;]
GqK9D p}W;v`Q;.T9.Z qP$ʵ}eƥƌ9cEqGfw-\p!k'ԋzn;:^a/>pb0ao,=Rˁ,ٞ=Ż裏8ѣǤI<o"/Ҟ01=CܒPf%7^s^شipƍ2uT/ &2-r)O3x`_}38GbΝ-<~j2'ľK'b9as?5
넠nz'0a\Z;8& lp #Hgu39iB3G{={6 bո"h\: .@?vXnP
lBapN<)imm5裏܎hڟ%N%`cC2n&_z^z Ps̟??.!9aILS9P'Mq=}-mETRӠ=X@W6\ϘuQ2qP;LFΪ=azq+D.,evv_R!Әs9wޱsSmdYv-k%|嗱7
-
+
wLkW

@@ -2350,7 +2348,7 @@ M!saػ  5}}>uk'kikilX Cm $J+3`
k/p?Yri/^ld7x=]$]vٳN:$~^ւb3<.<^} s<O<:oG{(
ϼ޳k}׺ތ3233Y9Ȋ2uϯsv~_0 ZZzW_}cEmZ `Z__.˗[jVc
dw
-
+

WJ@$AWWi+xر5]>#7ߝwbH?E|COZ"'Xc ]_7MSO?4\KFEz5׋me?i= ;Vlsx nMdqܥAƏIF^|Ϻ2LX. :;O7o6's_"Eطen&&:z SE%/Jhp@r_eQƴ?gDr w| WJtx#I<Fx ooVmNf_4)ovn^$
@@ -2403,7 +2401,7 @@ nyk_ppc} GZ1nЛRUURYB{gta|8+Kۄ'
|YszrNMBBpLlj{`K&uQ5iNaKzfΜygΟ?7ޠ2Io,_Μ9W;{&;ӄ؏>c5bٳgPە`_[PSƎ e,gx
er QgSl;0VHNƒ#UQ7033-FxޥrJQ^&Nxw}&gy>E3f<'xB$Y݇ιkڵK VW&O̝AST 9k'<x0oFF-R,<3}QjRؾE_;ND/rÊNK.\X*JE'Ǐvs:{=ggԤ
P'MV,<{8AsЀFm̟6;v8 eZQ={61S{AaUPA=5,+Vk"\le]R?#C;h"6;TqoCm۶&Z3yS@m6fs駟WUU͜9T,מW*Gasx S+P|>n&?}~ґj~a-^X[n=iNiifɡ 5e{&7o:u5kΘ1#sz\}c^?zE [nѳc4/>(m{뭷?p7s=|'tRe
-
+

]
@@ -2469,7 +2467,7 @@ f.!Ӑ@iCO駟kݨ<%X|֬Yo* ]ޢZU~H
zAIWfJzbƵz;AhjEEEtvsh @U̷K,gddP
ͼL_m}7QgIڽ)S 4(336) ;~?S.~_hҦM-[cE}wNo.B֭в2z]ZU;z
-
+

d̓6Ymڵջrr 2SW{VO SjQއŞ7~%on>h<?'$ﮭ]S|Ǟli{}Z[Qpi7 5g\SgoPk=lHž&'y"'LAzs/ښw
@@ -2525,7 +2523,7 @@ dCG94SR* A?.vgbѣG'b+++Kn@|$-$;;Ƭ6<C a
|e4eƾ2cJGF ÇȜ|ɼjx8ZKxc6.\ryC-E]e]vxj?_bsAB2qD>7LoL={؞޵o'qԩS1cƜ{s5y̙g*uL=%ZYɬC_\yW~f-[7ue_:T8 ͥZԬS[Dg4tVp6bΝl<S~ajRg 3ы0ľ EBf(//g$w<Qsa7Co)t5i`#
嫯o=󕕕***nOc%%%tF5Q& !kW+`O>ty '; `4$/7nܸ{ǿڥ^*<݀~C鐚~"s5 \ˇaBr-~JHUL5?%R?w#p :?So7i?g /V~mr-UV/
V^MZ .|I}?mҤI`Psѡmh@F:I'"---:||I:gggKIbTc)=_ZSBP¤ ϋ\7ڟaԠ;"4{ njK*RMelBw/uu1?x~/F^FTBӠ=h@6OM6M2Rs9G8r}SWWX:&TPO9{ŋ8ߗ▒{q Tc.̝;NU믿ޒ槟~Cp!o#~} !|MC=
-
+

-! DCڪRRT%
@@ -2574,7 +2572,7 @@ Z1 47M$ެەK Ү}7?crNš;÷̾&&}^wզu}^z>O[>
;ִźiӦs=rIx5?~>GO=#?/2u fgA'-GqĢEe˖;yرc|6P_><5ٴi׬Ycd7|sɱgӋ+={zuuYgŏ3-oȎ(n:k< k0k^;ꨣ07SO=Ojo|ɱ~7e~.}#P<SiP}ᇇ BPLd޽-c߿5\ï/8Gn6N>쳶ja@g*BW &ǢfS}a#V\Az:ƎKm[UUUs6l_֭[ +oU[gҥT_<LQ97oЦ<mU4[ۄnS򫩩7tйs)
i>nv̙VR뷠$mq}ٖ/z?_jY~3¥Gp8 &{Ç[n999n:ƭԡCf>k\C4V\\LJ~x'9WW^Q|/xVV5}vۗ_~;KM8O>GOYL-uNבGIE4|phk~XbEUi߾=h ]vCKKK饻akUJw%٧<wq#裏T_i|_|Z<AGo:υycǎ˗+[Ndn>
.]ہl
-
+

!)"E)ZE-j(QzUoV "ox
@@ -2640,7 +2638,7 @@ eeeBo7iק1zݻӆ՘皬7#`մUXXHgq¼pFY ~
E]$l 9s;c
s9G^|n!ϥvz_\uUB!՘.>sSm@[odټy3mk%|W7
hQq/Ru7炂ھ}eԭ@z'27l
-
+

/nr߁*>I
@@ -2701,7 +2699,7 @@ nn7 G`S5jT=hGjLMM w& !spg+Xjlk׎v=O<Dny&ٳ$o
B֎t/G'5dT}'MnSIbTc^/!!n_aR UH45h?|c8#p賆:҄">v{U njN3|j[8IVih?}6o<vXKVT'N E1c;{Q*'TPO;4
%K\}q▜⋹Tc.>̙3NUnRƍi\+x}eҥw
-
+

vŽj=b~fDhרE oΗܣ3ⲇQ"6j'9{f M
@@ -2759,7 +2757,7 @@ T/O;4tTtx≞={0>wj#XvzkݻwꩧJKK*//v/b0
b/_μy󨾞}*3GtzBU}Gc|KYzm]~׫WiӦY)
i/nv„ ?^ is<A|G/_,l?>\z7lP6ӇGZˣ+V0nF1cYZΠ4Uv=I*rjtЁ6_};ɡ"yn[h,)z7lذN:斔=egg2UԐ9=\煮m-_~…1VQ4~-͛׫W~iQQtW\鬪[i^
-
+

t'z'$;ccuР4̺ڟ\2؉c+F:YG#CƓ 8zdYK" ^ < Oi?ӺTNbQ_KZٯx+ٱF޶*,Cn-;tɔH=i@
@@ -2812,7 +2810,7 @@ U&xĈ]wV?|Ysfr.MFFpLlj{K&x≪kfggӆo %۷9
V^MڴM38C¼&֭ÇUgIcmٲ_ᣏ>6i$իIF MjT0`r.ڌ7Kڄ뮻O5?ڥz4$P=4¡/n~RYɹ|֮]o* [>555ZU>Ȍ|>=g6|@ [9_64 ڑN lZj?4~*)C҂j՝5$ -Lju1mkvF333?z|C ڏ>ױ`tGP5w  T؄"}6H7u-0 GO7iDj hJFuѣG[ʴ6"L6L}1V
瞫cYd 7~i,n>W^yje][:3g٩6{뭷Zl޼6>G@,]4 6fU;1c<#rIxu̿q>go=3?@ O&S͏;yYyӦM't t)**7nM6˗O8OO6l0lذ+WY9rd&NjƼ^YYyL ;4s`4;&N(O<A&fϞ}ǻan^z__?<3/NmT@RNO?ݫW/w"k:mp0nݺtMov=}={n6A+ ?ժ7|cX
]N9ZlO4Lׯ߲e 7H/iUEEŴiWe*H駟Yp!??Qe?Θ1CK]hS9~to+KMo߾}Tz=}t3E!_^}˗/균7$mq?/^zjeڵ&L"Mv5}Q6m+i͚5[iӦ?}8Vo3h
-
+

09 !)',̭}7GYjW,\06TkH
@@ -2846,7 +2844,7 @@ Tо5zhO{[nI뮻N?˗/77N' ڶm{/[?y'|CMZ'
RܛoQͪU7Jt7o^ Y݊w[͗ >,7gAc9DO?4=ꪫh#)<ԑHD76զqӦMʕ+=XrL)**9r$M 5z pB;+Æ K>.kvv=\~^c~vvn /LU?N&ͬw}#</ /`|)$
@u@zyNASOՋPz&j޽])֭ 7[ogٶm***l|S~uoQZ?FMDnz߾}ϟoA:$kǎ&Lӧ_իI_֙5k9眓6s$> I& dUr!oҙۄitܹw'N>3f̠͎3~0[IzBG/_k,YdԨQ#ADɾC%M6 6Gŋ5JM4ьӳƳ~;dgM֡CCNȉEөS'24/w="O"y^syYΒb{C ҥKAAAYYptpXӔ,p VZ5w$(ӠABmٲeCKJJ]tvtG
MG\XXHϫ9s樭@5^>
-
+

H XXpa0;=3U~ ===WA
@@ -2903,7 +2901,7 @@ G}u׾}ȘXb<3w}G۝w޹~zݻv}Pby̙t>-d|y鶼nd
-
+

+ O7g'gA"T(U@
@@ -2954,7 +2952,7 @@ hD?_`W\a̝;wW]uU#!D~P&k <?y~NxR)Du
II"'MVhP]w]3$B{whܶ|򰫤]ހZnK8zdf׫+TTAs]_HD7FK[n]lYUCSF zhڰajժInذ!v
-
+

NB9uUry6?MC%?ikK_HW7nK~s޶^,הYOϯ+1RQN%稴JRY)F-Ż]q3qI}/W;@rCYK`dQ
@@ -3002,7 +3000,7 @@ h$?5ke]fΝ;O>f̘+"œ7pV8k[>h:E:N}kU
׳~z$n?>sa}袋UfG{:qD+u<=XqvLDŽi˂ץK)
i3gaGh"+7Hq^zI_^
+LG-+V6lX٠l9<j֬YڵKZ|![^z9~kqЬjZ3d$Z4mڴA[_s5IψW^mqWI:m677p|"YYYL%~"8<ZZnSZj#ƍרQ?4??ʕ+jO+S>0]D>}xʃ5k|V ?t|yyy_m޼y޼yQ ?=
-
+

ўRF׻R6EymD*
@@ -3051,7 +3049,7 @@ hW\p_7o<}c^tEa{Z%⬡J+o9cohIZDj'lִ
8dI:(۰aQx@ց?#)q.-U{{m8o޼I&}K,Osb̘1)3gwgyAShM72:p7yd}Uoz7LRRRbؒ4Yz*IEpC2 O͟??5 l!۷i 4,=zaa!v!i,&ߪF\0scƌyǓ3w\۷O8fԧOKl߆4 /G0RӧO [vڢE""/^vFի;f"W߲`Z[!1DO=~?ӢE/_7u
I)S66Gի& ?/f 7xC'F'lpb_r%`tU!'T ~^z >)|⊚l*]lbU?O?m;/I[%կ_رlĈMsӵ|\~bm=zv@ѯ_?6ڵk7f8Xڕ [Qkzؚ7]믹f^ڼyCIIin7UG`` 4SN<Pc)++3\↙۵|LW+xժU+zr)M`tHΝcJ?7|?j*q_<ڨQL&{~ByHtq atiixX6xum裏 +!Wsl))g7Ϭn~LvŋCE"%K#Z^^nl!EN?'|"g.:L6>b:xHEEM5gyqA[
5j8ā>1cƌ8c&q_Æx޽NETCPǞ'nƓO>Y\端b>Ee4lXgC I)ҊĈǏwR{gǎT`‚zgڤW̙3ksOe]fs))S4`ŽSJYr%ϑ>)~mC=
-
+

(QD03da띚Uޮ} Cuuuuխs%
@@ -3092,7 +3090,7 @@ a=2de]fplJbŗ:->&6j'A,|aYYn]عY6%~iK<gÇ
\׮]*qϗ_~{>ƍ-U^^v>g}6 /*;8iРA-i6}5kV߿?ė6o<~޽{C,_[?`ϴiX_O;\cN8N]x(ϣ}WG|g1c5[k„ nBO?Î=zv~ n<<묳2^ |yYZ,X0bĈx< AdO~yԦM p4|SRƍMs( 6Y:tgȒ?I9yh:uă*ӷ袋2/..fso&*)v7xΝ;׫Wp|ͅLՄ"8<ZZl̙3Lj-ԩZRRMw…U㧕
4+ʗ,Y_ۍotCܪU+VZ5c (DSʞ
-
+

(q"f03NM=VUW[]nSSSU]u~{ι
@@ -3155,7 +3153,7 @@ u5k&#`{SO 8[n߾}/|05e&O,t|B3 }SO=%l GV
\׮]oy7x{O?mLUVVvȗ^z) o*;8iРA-Zi6}3gN߿?_رc{Yj _~j3fs9*334iPG|<;&DkǴj~vbիׄ tδiG;w߂$8//H-|?_r%E1"\z/jP6r!liӦA%-\PVjܸ0}kvx4Z
Y"MNxP%|+"B1WIwܹ^z<Gl2Woʕ+gϞdE{ׯ/P[hQn]>iqq17ŋ'VՎVqි>?}>`k8:+|jW/_￷ᗎUV_[n֬YQ Bꇛ=
-
+

z
@@ -3190,7 +3188,7 @@ _;U"~:P^q-D\^~v%ȆjD
o^!2o9-k05檫/b:Sѩq{wĔb~z9?G@Ow
ͼ̟~),)f7dȐΝ;׫W;p|™YYYL5dx;E4tq~'XEњ=-Zԭ[wZ\\MwŊU㧕
-
+

6.sF;Te5~TWjXC9[卓q3qM%*5XKXf.Xwr5np5KjMusY{▿Ҟ?S{;!-O?igy7wn{ʧUUTu@zEaZTA$ 3}_W>^@?z5FOgh$6xz_>&J|ܟºi79NrUxRN((Ş>O-
@@ -3251,7 +3249,7 @@ j'nUUo溺:n:;dK!Z+_<
!؅ 6N<R& /fTwy'FNrb_yyiJKKUNU~aÆ )td*D\XW??ϯI_%>j߾YȈwSA k(kC Q71zh2z9sL8]XĕU>! dkB|&^۷oCYYfn7k'?~|߾}iFSSSy^ߵ|4W+_hCCϳ:K¼&ׯ_mm* 'x"//O>6}tͧIGPR'܇_Џɵ|h]]]B}t{?3JHUL$zdh^_p]p_}^F=`;wfcUMaP>oƍE RdFn7/k7n/t1dzu$I}}A5^xqA[jzz:TH҃4&ܓқ2F)Ljs1
[?Po;.]9zא!>|S4U&GpF:ԭުxg|wdهup4# Ҷ2رcĉaEZO:Us0gΜ9fjTUUR; gʕ7xc%[<,g;Z34+Oú ѩ@{mb}vY#~} M~z
xߵkK sr$< w]w]34Po|뭷 sϕktjoAw߅U,vqرc鵨٤Od6lժU!HcԨQ4nUQQ1gΜCB Q_Yl\2s$<= iT=p@~vғnBk~UUU$xC ;wꫯ3fXz߂$8/䒈/-t?_~嚣 6L2_zD4(lk>h2rrrڵkG׫222Ts3Ȁ&Uٳ']!I"Iբݻ7 TꫯxF<==Dȿ2L!WIѻqӧM6eee4Glx<L5$y;Dsh}+WFYEјmRjVVV֭%%%t7nYU;4@>0CN8+tjWoݺ~t5ggg*??ŊQ DUꇕo6
-
+

Uأseu7lb#v NC?W!lgAHpM`{:?%8ŷ$!Qt
@@ -3298,7 +3296,7 @@ eǗqҋaρ_^^OvxGmmm쩕zטظrYfFDy7eRM
|q ѣyc"d֥H)؞Szg{kue_~c=<gϖu|g&qL?l7Rwy_swݹslcII "^WFKSYYYL e1k+-ӧOfy+8b̙#x?3RdꫯـX#g,sb_}y`QqU!=TWW˜e~aÆ ́Rؕ+j2S!
.(==}ڴïwAkHC 52cȑtٳԩSB</㣏>лyUX 뾙oٳߡF1#`;_~l4I: !k(Vj*6*,,dCϳ:K¼:߿ss* 뮻zꩭ[;|&Omހ=lH>>^tÆэaP{/_}l%$ߪ`:Ov)T=f(^7f/ /Ԟn~g)6VYs-kr֭chKKڳԅ)ң茶ƌr</t2 P;Eu2$|_z%mq)))RR_HJ 1}_jSB>NW^jD?Po9ϟ90C|>"TY١nv3<_租~b}Pgb`h0F̟6۷o?~|PVL'M82c =wd
;O#g7|sexPv\\{Lc/2 3gLq㎠Rll†jC#~} E,YP@ f3vB:`|MM̈́ x vEx5`wdO?4Cϳ^OO鏦믿$r)FXS{q7w\=;o޼NbF>\r M& X'ţG^b?qƅyM74}t=]t?[/s=z.Yw}_|gy auF}yW_y}>:+2P
-
+

ڶ\D^8l>Oy 1*Q{utmt:h0CZF~rN %yuš?`cG8dHЃ>
@@ -3360,7 +3358,7 @@ hg?\zww={ɓ'_qa^j:JYC+a}pO?;y\G_$`^h[C
;5W6(_~?5:t]sQQ,X'Qae
XJ(F
-
+

IDATxUo&gDQtEQQDq
@@ -3423,7 +3421,7 @@ h__xW^)v…fͺ<xf>4jfB2%sk7BR'T)Фl
ov~{o/b]]pSN7/X
]ƍGjM#G\j 1zho?3g!JvE 6tR\rIQ57oЮ<Us1W&tjT 6w\=E!Θ1cj~ i+{BZkٴiӔ)S\Gp &[#FP(///%%>6nd+3cYcZϠ4UzT]IEθZ4S믿D*B{ܡ+Wz%EƏ߷oߤځ̝ejj'9=]行N-ܹsŊVQ&99\ӭ[7Ӫ*t7o_U;zm
-
+

Vg
@@ -3477,7 +3475,7 @@ jFH8 Nt~0
gI;x'vg[1cli@w(u 0ts.F755%Pw}75_| 3+]]BO&򗿐C'on~zf /VZ\>6l7t:7nHh[[ڽA‡~?+&Lp8\@G: 2v}Q<:xrI{{F5^xAvN[ jrr2?OR4ߝR+tj聺jQo9,Ya=k=zǩHHr#m[oU,<3{~8YT¤ F̟6v<y_V$ӧOv̝;WO흆EBlBzjWXo rdlꫯ\q_pB>:5
a!
-
+

s=Ű0 5Oŀaq i`<0yzVUWuwUWw߬TWWWߺU=s
@@ -3528,7 +3526,7 @@ k7'߫G • wڂl9+cljk'y~
L(
-
+

(^W/]ku]uD@@eqCp@$93a}?GuuU
@@ -3599,7 +3597,7 @@ xU_K/ԧO2CM}{-Y,Gwy'|ЫWW^y\Pm|
zK;vXreYӦMzڮ]VZInڴXV;z[GJzh逆5C
:۶m駟z7:].z322[bHo,ʖ
5_`
-
+

IHB ѧXPW6>P Rł R"Ho3X6sgfgfwfggO>Nss#
@@ -3658,7 +3656,7 @@ a%ej5IJTyG
LS٤Odkڵ>Ho?*,,6mZ= ݻjϊ+H_@#gΞ=[I]+O.]c|O,&tLw1ݻO>]KRH,Y;qu)[P^kxB%nlٲeرb fɶgϞdSyfIRF$sXod@jՊ$_H9rѴiӆ:U[ ψƒ+/Pm͚5>WIQ!Ck....//:p<Leuy=_B"*ٳzj?(ӰaCzܠA:iNNUݭ[jGo+[I>ڡ&b_SR|׮]R<FM/]sJJ
WVқ( e
` !
-
+

OiK1v2r2r&970B 63q1Kl=^kIgm -UdTzl1]kz^&[񁤋BbABAQ{Tr2**$;ʲ?XVvp-Df.ąM;V,DՏjƳSy٢{ɟdYy9k);_lCs,'յ-rnڅqTT Of3H.ӲvmKٯ_?rHcT!
@@ -3701,7 +3699,7 @@ mxD
@퀗!}=^^vei:u"3D٧wqupBڵkw{~':tx7srrOv?Eh,_PڙI fQMIL֭G޽;eʔ.]@ٷo ~MmUV^}J3G35kPWzg}6?;DkBT~Ǐ'ܹԩS$ҥKǏ߰aڸUHq^wu/.T?nF^˶mFK=D4HhvJQƍIںu,Znݺ9~jkl˷C 2I՚7oNWHH9qhZlI*]z뭦gH|+/PmݺuWIQn:>>>++:pȪ#dI
+zNDW8[ڻwڵk-fQԦVZrQ5))f͚tҌ ۷o7ՎVQ:=}:CMD߾}B&}NݻgyN^:djRSS׬Y 7Qag
b !
-
+

R"BIHHL6e씽'Hfgܹs{ι
@@ -3742,7 +3740,7 @@ _ 6BEM?hРq]|ō5jvܹf z5?W
|rjzcY? [nM5Ҙ'7BhQ\`ӦMjذ!u= a^qFiӦPqzz街^zi޽| c*>M:RHq~ C:nt^^X2 #P~wVyj~KC$P_dk/^v#?pSXYeε|ll֭.Kz|;ֿr#ЕMCډ4F_dM'O)..;m4;mqqqRRџHJ '6% 5q:_聺jQcq,[,(>稭!C[nU0!3ҡx,],{C'J1hdШJjӊԨQ!SLѓ{ĉPȄꫯYz=cdlnS?$3f̷~kfϞ{4bgꂫ9G@YzW@CYňsڿhѢqYYYÆ {d۵Հo^~eއ7ޠVOOꏂ;Ģ.--U䧶X
W?zv޽{E]DF>#F5ydsξ}nذA_|ŠA{S%'O'x=77ge=I&0b~ѣG+^W^.Ns^pNXw}w믇 b= /)))Cz + };t@f(ON3ᐅiO۵ko;vLPyyym^ԊҥK %Kԯ_?j4.]]6qٓmG999SLԩߟ{ Q?Yb^4s$>,=ә3g uW}c|O,&tLw ;N:UORH,^;nܸu֩[P 7`zB%oVlٲeȑ#xADɎsd5l0!!͛7ˢj׮-㧶ƶ|; TiӦt$$yԩmfzF<..Dȷ2N֬Yp߿˖-㳲G*9**JT\_HD}C={^bEmjԨA/PWN'ȠuVsYmU
-
+

OiK1v2r2r&970B 63q1Kl=^kIgm -UdTzl1]kz^&[񁤋BbABAQ{Tr2**$;ʲ?XVvp-Df.ąM;V,DՏjƳSy٢{ɟdYy9k);_lCs,'յ-rnڅqTT Of3H.ӲvmKٯ_?rHcT!
@@ -3784,222 +3782,221 @@ mxD
ٻw/u՜#~} E֭[g¡άbĎ9_dI#F ڋj@7d/2CoP'GaaN bQ)zS[SY瞻pB=;ٳ . #OcQFdPG_<2ٵkW7mڤg?|Ȑ!=ϩu]'Ow5?Ȋ}衇ƎxW^y:͛wy9amӧ;|WÆ 
@퀗!}=^^vei:u"3D٧wqupBڵkw{~':tx7srrOv?Eh,_PڙI fQMIL֭G޽;eʔ.]@ٷo ~MmUV^}J3G35kPWzg}6?;DkBT~Ǐ'ܹԩS$ҥKǏ߰aڸUHq^wu/.T?nF^˶mFK=D4HhvJQƍIںu,Znݺ9~jkl˷C 2I՚7oNWHH9qhZlI*]z뭦gH|+/PmݺuWIQn:>>>++:pȪ#dI
+zNDW8[ڻwڵk-fQԦVZrQ5))f͚tҌ ۷o7ՎVQ:=}:CMD߾}B&}NݻgyN^:djRSS׬Y 7Qag
-b !
-
-
-
-
-
-
-
-
-
+b !
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+/PK?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-?nܲ}
-?PK?
-
-
-
-
-
-
-
+?ݯMݯMPK?
+
+
+M
+MPK?
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-wLkW
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-_
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+wLkW
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/products/tv/init.amlogic.system.rc b/products/tv/init.amlogic.system.rc
index fca2c0d..6b0aef6 100755..100644
--- a/products/tv/init.amlogic.system.rc
+++ b/products/tv/init.amlogic.system.rc
@@ -2,6 +2,7 @@ import /vendor/etc/init/hw/init.amlogic.usb.rc
import /vendor/etc/init/hw/init.amlogic.board.rc
import /vendor/etc/init/hw/init.amlogic.wifi.rc
import /vendor/etc/init/hw/init.amlogic.media.rc
+import /vendor/etc/init/hw/init.mtk.rc
import /vendor/etc/init/hw/init.amlogic.wifi_buildin.rc
on early-init
@@ -22,8 +23,6 @@ on init
chmod 666 /sys/class/video/video_inuse
chmod 666 /sys/class/video/axis
chmod 666 /sys/class/video/disable_video
- chmod 666 /sys/class/video/axis_pip
- chmod 666 /sys/class/video/disable_videopip
chmod 666 /sys/class/tsync/enable
chmod 666 /sys/class/tsync/apts_lookup
chmod 666 /sys/class/tsync/pts_pcrscr
@@ -32,7 +31,6 @@ on init
chmod 666 /sys/class/tsync/event
chmod 666 /sys/class/tsync/av_threshold_min
chmod 666 /sys/class/video/screen_mode
- chmod 666 /sys/class/video/screen_mode_pip
chmod 666 /sys/class/vdec/poweron_clock_level
chmod 666 /sys/module/ionvideo/parameters/freerun_mode
chown system system /sys/class/graphics/fb0/osd_afbcd
@@ -47,11 +45,16 @@ on init
# for zram
mkdir /swap_zram0 0700 root root
+ # for tee
+ mkdir /tee 0700 system system
+
on fs
mkdir /mnt/vendor/factory 0755 root root
mkdir /mnt/vendor/swap_zram0 0700 root root
+ mkdir /mnt/vendor/tee 0700 system system
mount_all /vendor/etc/fstab.amlogic
setprop ro.crypto.fuse_sdcard true
+ swapon_all /vendor/etc/fstab.amlogic
restorecon_recursive /mnt/vendor/param
on post-fs-data
@@ -83,12 +86,15 @@ on boot
chown bluetooth bluetooth /proc/bluetooth/sleep/lpm
chmod 0660 /proc/bluetooth/sleep/btwrite
chmod 0660 /proc/bluetooth/sleep/lpm
+ # change back to bluetooth from system
+ chown bluetooth bluetooth /data/misc/bluetooth
+ insmod /vendor/lib/modules/btusb.ko
+ #mknod btusb0 c 180 194 can not use it from P,fixed in btusb driver
chown system mediadrm /sys/class/amhdmitx/amhdmitx0/aud_ch
chmod 0664 /sys/class/amhdmitx/amhdmitx0/aud_ch
insmod /vendor/lib/modules/aml_thermal.ko
- #insmod /vendor/lib/modules/ddr_window_64.ko
chown media system /sys/class/tsync/pts_video
chown mediadrm audio /sys/class/tsync/pts_audio
@@ -117,11 +123,8 @@ on boot
chown media system /sys/class/video/blackout_policy
chown media system /sys/class/video/screen_mode
- chown media system /sys/class/video/screen_mode_pip
chown media system /sys/class/video/axis
chown media system /sys/class/video/disable_video
- chown media system /sys/class/video/axis_pip
- chown media system /sys/class/video/disable_videopip
chown media system /sys/class/video/zoom
chown media system /sys/class/video/free_keep_buffer
chown media system /sys/class/video/free_cma_buffer
@@ -150,9 +153,6 @@ on boot
chmod 666 /sys/class/video/axis
chmod 666 /sys/class/video/screen_mode
chmod 666 /sys/class/video/disable_video
- chmod 666 /sys/class/video/axis_pip
- chmod 666 /sys/class/video/disable_videopip
- chmod 666 /sys/class/video/screen_mode_pip
chmod 666 /sys/class/tsync/pts_pcrscr
chmod 666 /dev/amstream_abuf
chmod 666 /dev/amstream_hevc
@@ -171,7 +171,6 @@ on boot
chmod 666 /dev/amstream_dves_avc
chmod 666 /dev/amstream_dves_hevc
chmod 666 /dev/ionvideo
- chmod 666 /dev/videosync
#add for XBMC BlueRay 3d and audio Passthrough
chmod 666 /sys/class/audiodsp/digital_raw
chmod 666 /sys/class/audiodsp/digital_codec
@@ -219,7 +218,7 @@ on boot
chown media system /dev/dvb0.demux2
chown media system /dev/dvb0.dvr0
chown media system /dev/dvb0.dvr1
- chown media system /dev/dvb0.dvr2
+ chmod media system /dev/dvb0.dvr2
chown media system /sys/class/stb/demux0_source
chown media system /sys/class/stb/demux1_source
@@ -409,13 +408,6 @@ service watchdogd /sbin/watchdogd 10 20
disabled
seclabel u:r:watchdogd:s0
-#wifi firmware_path
-#on property:wlan.driver.status=ok
-# chown system wifi /sys/module/dhd/parameters/firmware_path
-# chmod 0660 /sys/module/dhd/parameters/firmware_path
-# chown system wifi /sys/module/bcmdhd/parameters/firmware_path
-# chmod 0660 /sys/module/bcmdhd/parameters/firmware_path
-# setprop wifi.direct.interface p2p-dev-wlan0
# on userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
@@ -427,6 +419,13 @@ service remotecfg /vendor/bin/remotecfg /vendor/etc/remote.conf
oneshot
seclabel u:r:remotecfg:s0
+service bootvideo /vendor/bin/bootplayer /vendor/etc/bootvideo
+ class main
+ user root
+ group system
+ disabled
+ oneshot
+
service hdcp_tx22 /vendor/bin/hdcp_tx22 \
-f /vendor/etc/firmware/firmware.le
class main
@@ -448,21 +447,9 @@ service hdcp_rp22 /vendor/bin/hdcp_rp22 \
oneshot
seclabel u:r:hdcp_rp22:s0
-#service ddrtest /vendor/bin/ddrtest.sh
-# class main
-# user root
-# group root
-# oneshot
-
service factoryreset /vendor/bin/factoryreset.sh
class main
user root
group root
- disabled
oneshot
seclabel u:r:install_recovery:s0
-
-on property:sys.boot_completed=1
- # Enable ZRAM on boot_complete
- swapon_all /vendor/etc/fstab.amlogic
- start factoryreset
diff --git a/products/tv/product_tv.mk b/products/tv/product_tv.mk
index 36cbdf4..3ff5bdf 100755..100644
--- a/products/tv/product_tv.mk
+++ b/products/tv/product_tv.mk
@@ -76,11 +76,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
OTAUpgrade
-ifeq ($(BUILD_WITH_MIRACAST), true)
-PRODUCT_PACKAGES += \
- Miracast
-endif
-
#Tvsettings
PRODUCT_PACKAGES += \
TvSettings \
@@ -114,6 +109,11 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
endif
+# Bluetooth idc config file
+PRODUCT_COPY_FILES += \
+ device/amlogic/common/products/tv/Vendor_1915_Product_0001.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/Vendor_1915_Product_0001.idc \
+ device/amlogic/common/products/tv/Vendor_7545_Product_0180.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/Vendor_7545_Product_0180.idc
+
custom_keylayouts := $(wildcard device/amlogic/common/keyboards/*.kl)
PRODUCT_COPY_FILES += $(foreach file,$(custom_keylayouts),\
$(file):$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/$(notdir $(file)))
diff --git a/products/tv/ueventd.amlogic.rc b/products/tv/ueventd.amlogic.rc
index 3d7ec91..38434bb 100755..100644
--- a/products/tv/ueventd.amlogic.rc
+++ b/products/tv/ueventd.amlogic.rc
@@ -33,7 +33,6 @@
/dev/video19 0660 system mediadrm
/dev/video20 0660 system mediadrm
/dev/video21 0660 system mediadrm
-/dev/video23 0660 system mediadrm
/dev/amaudio_utils 0660 media system
/dev/amaudio_ctl 0660 media system
/dev/amvenc_avc 0660 mediacodec system
@@ -41,7 +40,6 @@
/dev/amsubtitle 0660 media system
/dev/jpegenc 0660 media system
/dev/display 0660 media graphics
-/dev/videosync 0660 media graphics
#audio data
/dev/audio_data_debug 0660 mediacodec audio
diff --git a/products/tv/upgrade_4.9/aml_emmc_logic_table.xml b/products/tv/upgrade_4.9/aml_emmc_logic_table.xml
deleted file mode 100755
index e4de50e..0000000
--- a/products/tv/upgrade_4.9/aml_emmc_logic_table.xml
+++ b/dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="GB2312" ?>
-<!--//Copy the length from /partitions of your dts-->
-<Partition_Info>
-<Part PartitionName="logo" FileSystem="raw" Length="0x800000"/>
-<Part PartitionName="recovery" FileSystem="raw" Length="0x1800000"/>
-<Part PartitionName="misc" FileSystem="raw" Length="0x800000"/>
-<Part PartitionName="dtbo" FileSystem="raw" Length="0x800000"/>
-<Part PartitionName="cri_data" FileSystem="raw" Length="0x800000"/>
-<Part PartitionName="param" FileSystem="ext4" Length="0x1000000"/>
-<Part PartitionName="boot" FileSystem="raw" Length="0x1000000"/>
-<Part PartitionName="rsv" FileSystem="raw" Length="0x1000000"/>
-<Part PartitionName="metadata" FileSystem="ext4" Length="0x1000000">
-<Part PartitionName="vbmeta" FileSystem="raw" Length="0x200000"/>
-<Part PartitionName="tee" FileSystem="ext4" Length="0x2000000"/>
-<Part PartitionName="vendor" FileSystem="ext4" Length="0x10000000"/>
-<Part PartitionName="odm" FileSystem="ext4" Length="0x8000000"/>
-<Part PartitionName="system" FileSystem="ext4" Length="0x50000000"/>
-<Part PartitionName="product" FileSystem="ext4" Length="0x8000000"/>
-<Part PartitionName="cache" FileSystem="ext4" Length="0x46000000"/>
-<Part PartitionName="data" FileSystem="ext4" Length="0xffffffff"/>
-</Partition_Info>
diff --git a/products/tv/upgrade_4.9/aml_upgrade_package_enc_avb.conf b/products/tv/upgrade_4.9/aml_upgrade_package_enc_avb.conf
index 7005301..27cbbe7 100755
--- a/products/tv/upgrade_4.9/aml_upgrade_package_enc_avb.conf
+++ b/products/tv/upgrade_4.9/aml_upgrade_package_enc_avb.conf
@@ -2,8 +2,8 @@
[LIST_NORMAL]
#partition images, don't need verfiy
-file="u-boot.bin.usb.bl2" main_type= "USB" sub_type="DDR"
-file="u-boot.bin.usb.tpl" main_type= "USB" sub_type="UBOOT"
+file="bootloader.img" main_type= "USB" sub_type="DDR"
+file="bootloader.img" main_type= "USB" sub_type="UBOOT"
file="u-boot.bin.sd.bin" main_type="UBOOT" sub_type="aml_sdc_burn"
file="bootloader.img.encrypt.usb.bl2" main_type= "USB" sub_type="DDR_ENC"
file="bootloader.img.encrypt.usb.tpl" main_type= "USB" sub_type="UBOOT_ENC"
diff --git a/public.libraries.txt b/public.libraries.txt
index 63fe625..2a9e5cb 100644
--- a/public.libraries.txt
+++ b/public.libraries.txt
@@ -1,3 +1,2 @@
libsystemcontrol_jni.so
libtv_jni.so
-libscreencontrol_jni.so
diff --git a/quick_build_kernel.sh b/quick_build_kernel.sh
index 40470e9..40470e9 100644..100755
--- a/quick_build_kernel.sh
+++ b/quick_build_kernel.sh
diff --git a/quick_compile.sh b/quick_compile.sh
deleted file mode 100755
index a4ec619..0000000
--- a/quick_compile.sh
+++ b/dev/null
@@ -1,219 +0,0 @@
-#! /bin/bash
-
-
-platform_avb_param=""
-platform_type=1
-uboot_drm_type=1
-platform_name="null"
-platform_uboot_name="null"
-platform_tdk_path="null"
-
-read_platform_type() {
- while true :
- do
- echo -e \
- "select platform lists:\n"\
- " 1. ampere [S905X]\n" \
- " 2. braun [S905D]\n" \
- " 3. curie [S805X]\n" \
- " 4. darwin [T962E]\n" \
- " 5. einstein [T962X]\n" \
- " 6. faraday [S905Y2]\n" \
- " 7. fermi [S905D2]\n" \
- " 8. franklin [S905X2]\n" \
- " 9. galilei [S922X]\n" \
- " 10. hertz [S912]\n" \
- " 11. lyell [T962]\n" \
- " 12. marconi [T962X2]\n" \
- " 13. g12b_skt [S922X]\n"\
- " 14. t962_p321 [T962]\n" \
- " 15. t962x2_skt [T962x2]\n" \
- " 16. t962x2_t309 [T962X2]\n"\
- " 17. t962x_r314 [T962X]\n" \
-
- read -p "please select your platform type (default ampere):" platform_type
- if [ ${#platform_type} -eq 0 ]; then
- platform_type=1
- fi
- if [[ $platform_type -le 0 || $platform_type -gt 17 ]]; then
- echo -e "the platform type is illegal, need select again\n"
- else
- break
- fi
- done
-}
-
-read_android_type() {
- while true :
- do
- echo -e \
- "select compile Android verion type lists:\n"\
- "----->1. AOSP\n"\
- "----->2. DRM\n" \
- "----->3. GTVS(need google gms zip)\n"
- read -p "please select your uboot type (default aosp):" uboot_drm_type
- if [ ${#uboot_drm_type} -eq 0 ]; then
- uboot_drm_type=1
- break
- fi
- if [[ $uboot_drm_type -lt 1 || $uboot_drm_type -gt 3 ]];then
- echo -e "the uboot type is illegal, please select again\n"
- else
- break
- fi
- done
-}
-
-
-
-select_platform_type() {
- case $platform_type in
- 1)
- platform_name="ampere"
- platform_uboot_name="gxl_p212_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/gx/bl32.img";;
- 2)
- platform_name="braun"
- platform_uboot_name="gxl_p230_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/gx/bl32.img";;
- 3)
- platform_name="curie"
- platform_uboot_name="gxl_p241_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/gx/bl32.img";;
- 4)
- platform_name="darwin"
- platform_uboot_name="txlx_t962e_r321_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/txlx/bl32.img";;
- 5)
- platform_name="einstein"
- platform_uboot_name="txlx_t962x_r311_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/txlx/bl32.img";;
- 6)
- platform_name="faraday"
- platform_uboot_name="g12a_u221_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/g12a/bl32.img";;
- 7)
- platform_name="fermi"
- platform_uboot_name="g12a_u200_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/g12a/bl32.img";;
- 8)
- platform_name="franklin"
- platform_uboot_name="g12a_u212_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/g12a/bl32.img";;
- 9)
- platform_name="galilei"
- platform_uboot_name="g12b_w400_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/g12a/bl32.img";;
- 10)
- platform_name="hertz"
- platform_uboot_name="gxm_q200_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/gx/bl32.img";;
- 11)
- platform_name="lyell"
- platform_uboot_name="txl_p321_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/gx/bl32.img";;
- 12)
- platform_name="marconi"
- platform_uboot_name="tl1_x301_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/tl1/bl32.img";;
- 13)
- platform_name="g12b_skt"
- platform_uboot_name="g12b_skt_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/g12a/bl32.img";;
- 14)
- platform_name="t962_p321"
- platform_uboot_name="txl_p321_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/gx/bl32.img";;
- 15)
- platform_name="t962x2_skt"
- platform_uboot_name="tl1_skt_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/tl1/bl32.img";;
- 16)
- platform_name="t962x2_t309"
- platform_uboot_name="tl1_t309_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/tl1/bl32.img";;
- 17)
- platform_name="t962x_r314"
- platform_uboot_name="txlx_t962x_r314_v1"
- platform_tdk_path="vendor/amlogic/common/tdk/secureos/txlx/bl32.img";;
- esac
-}
-
-compile_uboot(){
- if [ $uboot_drm_type -gt 1 ]; then
- echo -e "[./mk $platform_uboot_name --bl32 ../../$platform_tdk_path --systemroot $platform_avb_param]\n"
- ./mk $platform_uboot_name --bl32 ../../$platform_tdk_path --systemroot $platform_avb_param;
- else
- echo -e "[./mk $platform_uboot_name --systemroot $platform_avb_param]"
- ./mk $platform_uboot_name --systemroot $platform_avb_param;
- fi
-
- cp build/u-boot.bin ../../device/amlogic/$platform_name/bootloader.img;
- cp build/u-boot.bin.usb.bl2 ../../device/amlogic/$platform_name/upgrade/u-boot.bin.usb.bl2;
- cp build/u-boot.bin.usb.tpl ../../device/amlogic/$platform_name/upgrade/u-boot.bin.usb.tpl;
- cp build/u-boot.bin.sd.bin ../../device/amlogic/$platform_name/upgrade/u-boot.bin.sd.bin;
-}
-
-if [ $# -eq 1 ]; then
- if [ $1 == "uboot" ]; then
- read_platform_type
- read_android_type
- select_platform_type
- cd bootloader/uboot-repo
- compile_uboot
- cd ../../
- exit
- fi
-
- if [ $1 == "all" ]; then
- read_android_type
- for ((platform_type=1; platform_type < 18; platform_type++))
- do
- select_platform_type
- cd bootloader/uboot-repo
- compile_uboot
- cd ../../
- done
- echo -e "device: update uboot [1/1]\n"
- echo -e "PD#SWPL-919\n"
- echo -e "Problem:"
- echo -e "need update bootloader\n"
- echo "Solution:"
- cd bootloader/uboot-repo/bl2/bin/
- echo "bl2 : "$(git log --pretty=format:"%H" -1)
- cd ../../../../
- cd bootloader/uboot-repo/bl30/bin/
- echo "bl30 : "$(git log --pretty=format:"%H" -1)
- cd ../../../../
- cd bootloader/uboot-repo/bl31/bin/
- echo "bl31 : "$(git log --pretty=format:"%H" -1)
- cd ../../../../
- cd bootloader/uboot-repo/bl31_1.3/bin/
- echo "bl31_1.3 : "$(git log --pretty=format:"%H" -1)
- cd ../../../../
- cd bootloader/uboot-repo/fip/
- echo "fip : "$(git log --pretty=format:"%H" -1)
- echo -e
- cd ../../../../
- echo "Verify:"
- echo "no need verify"
- fi
- exit
-fi
-
-read_platform_type
-read_android_type
-select_platform_type
-source build/envsetup.sh
-if [ $uboot_drm_type -eq 2 ]; then
- export BOARD_COMPILE_CTS=true
-elif [ $uboot_drm_type -eq 3 ]; then
- export BOARD_COMPILE_ATV=true
-fi
-lunch "$platform_name-userdebug"
-cd bootloader/uboot-repo
-compile_uboot
-cd ../../
-make otapackage -j8
-
-
diff --git a/releasetools.py b/releasetools.py
index ded42ab..5542597 100755
--- a/releasetools.py
+++ b/releasetools.py
@@ -65,6 +65,11 @@ def HasTargetImage(target_files_zip, image_path):
except KeyError:
return False
+def BuildExt4(name, input_dir, info_dict, block_list=None):
+ """Build the (sparse) vendor image and return the name of a temp
+ file containing it."""
+ return add_img_to_target_files.CreateImage(input_dir, info_dict, name, block_list=block_list)
+
def ZipOtherImage(which, tmpdir, output):
"""Returns an image object from IMAGES.
@@ -86,7 +91,7 @@ def GetImage(which, tmpdir):
map must already exist in tmpdir.
"""
- #assert which in ("system", "vendor", "odm", "product")
+ assert which in ("system", "vendor", "odm", "product")
path = os.path.join(tmpdir, "IMAGES", which + ".img")
mappath = os.path.join(tmpdir, "IMAGES", which + ".map")
@@ -103,17 +108,72 @@ def GetImage(which, tmpdir):
return sparse_img.SparseImage(path, mappath, clobbered_blocks)
-def AddCustomerImage(info, tmpdir):
- file_list = os.listdir(tmpdir + "/IMAGES")
- for file in file_list:
- if os.path.splitext(file)[1] == '.map':
- of = file.rfind('.')
- name = file[:of]
- if name not in ["system", "vendor", "odm", "product"]:
- tmp_tgt = GetImage(name, OPTIONS.input_tmp)
- tmp_tgt.ResetFileMap()
- tmp_diff = common.BlockDifference(name, tmp_tgt)
- tmp_diff.WriteScript(info.script, info.output_zip)
+def mycopyfile(srcfile, dstfile):
+ if not os.path.isfile(srcfile):
+ print "%s not exist!" %(srcfile)
+ else:
+ fpath,fname=os.path.split(dstfile)
+ if not os.path.exists(fpath):
+ os.makedirs(fpath)
+ shutil.copyfile(srcfile,dstfile)
+ print "copy %s -> %s" %( srcfile,dstfile)
+
+
+def HasOdmPartition(target_files_zip):
+ try:
+ target_files_zip.getinfo("ODM/")
+ return True
+ except KeyError:
+ return False
+
+def BuildCustomerImage(info):
+ print "amlogic extensions:BuildCustomerImage"
+ if info.info_dict.get("update_user_parts") == "true" :
+ partsList = info.info_dict.get("user_parts_list");
+ for list_i in partsList.split(' '):
+ tmp_tgt = GetImage(list_i, info.input_tmp, info.info_dict)
+ tmp_tgt.ResetFileMap()
+ tmp_diff = common.BlockDifference(list_i, tmp_tgt, src = None)
+ tmp_diff.WriteScript(info.script,info.output_zip)
+
+def BuildCustomerIncrementalImage(info, *par, **dictarg):
+ print "amlogic extensions:BuildCustomerIncrementalImage"
+ fun = []
+ for pp in par:
+ fun.append(pp)
+ if info.info_dict.get("update_user_parts") == "true" :
+ partsList = info.info_dict.get("user_parts_list");
+ for list_i in partsList.split(' '):
+ if HasTargetImage(info.source_zip, list_i.upper() + "/"):
+ tmp_diff = fun[0](list_i, info.source_zip, info.target_zip, info.output_zip)
+ recovery_mount_options = common.OPTIONS.info_dict.get("recovery_mount_options")
+ info.script.Mount("/"+list_i, recovery_mount_options)
+ so_far = tmp_diff.EmitVerification(info.script)
+ size = []
+ if tmp_diff.patch_list:
+ size.append(tmp_diff.largest_source_size)
+ tmp_diff.RemoveUnneededFiles(info.script)
+ total_patch_size = 1.0 + tmp_diff.TotalPatchSize()
+ total_patch_size += tmp_diff.TotalPatchSize()
+ tmp_diff.EmitPatches(info.script, total_patch_size, 0)
+ tmp_items = fun[1](list_i, "META/" + list_i + "_filesystem_config.txt")
+
+ fun[2](tmp_items, info.target_zip, None)
+ temp_script = info.script.MakeTemporary()
+ tmp_items.GetMetadata(info.target_zip)
+ tmp_items.Get(list_i).SetPermissions(temp_script)
+ fun[2](tmp_items, info.source_zip, None)
+ if tmp_diff and tmp_diff.verbatim_targets:
+ info.script.Print("Unpacking new files...")
+ info.script.UnpackPackageDir(list_i, "/" + list_i)
+
+ tmp_diff.EmitRenames(info.script)
+ if common.OPTIONS.verify and tmp_diff:
+ info.script.Print("Remounting and verifying partition files...")
+ info.script.Unmount("/" + list_i)
+ info.script.Mount("/" + list_i)
+ tmp_diff.EmitExplicitTargetVerification(info.script)
+
def FullOTA_Assertions(info):
print "amlogic extensions:FullOTA_Assertions"
@@ -256,31 +316,9 @@ def IncrementalOTA_ImageCheck(info, name):
else:
SetBootloaderEnv(info.script, "upgrade_step", "2")
-def IncrementalOTA_Ext4ImageCheck(info, name):
- source_image = False; target_image = False; updating_image = False;
-
- image_path = "IMAGES/" + name + ".img"
- image_name = name + ".img"
-
- if HasTargetImage(info.source_zip, image_path):
- source_image = GetImage(name, OPTIONS.source_tmp)
-
- if HasTargetImage(info.target_zip, image_path):
- target_image = GetImage(name, OPTIONS.target_tmp)
-
- if source_image:
- if target_image:
- updating_image = common.BlockDifference(name, target_image, source_image,
- True,
- version=4,
- disable_imgdiff=False)
- updating_image.WriteScript(info.script, info.output_zip, progress=0.1)
-
def IncrementalOTA_InstallEnd(info):
print "amlogic extensions:IncrementalOTA_InstallEnd"
- IncrementalOTA_Ext4ImageCheck(info, "odm");
- IncrementalOTA_Ext4ImageCheck(info, "product");
IncrementalOTA_ImageCheck(info, "logo");
IncrementalOTA_ImageCheck(info, "dt");
IncrementalOTA_ImageCheck(info, "recovery");
diff --git a/rtk_bt_driver.mk b/rtk_bt_driver.mk
new file mode 100644
index 0000000..386511e
--- a/dev/null
+++ b/rtk_bt_driver.mk
@@ -0,0 +1,11 @@
+KERNEL_ARCH ?= arm64
+CROSS_COMPILE ?= aarch64-linux-gnu-
+PRODUCT_OUT=out/target/product/$(TARGET_PRODUCT)
+TARGET_OUT=$(PRODUCT_OUT)/obj/lib_vendor
+
+rtk_btusb:
+ @echo "make rtk bluetooth module KERNEL_ARCH is $(KERNEL_ARCH)"
+ $(MAKE) -C $(shell pwd)/$(PRODUCT_OUT)/obj/KERNEL_OBJ M=$(shell pwd)/hardware/realtek/bluetooth/rtk_btusb ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(CROSS_COMPILE) CONFIG_BT_RTKBTUSB=m modules
+ mkdir -p $(TARGET_OUT)/
+ cp $(shell pwd)/hardware/realtek/bluetooth/rtk_btusb/rtk_btusb.ko $(TARGET_OUT)/
+
diff --git a/scripts/check_patch.py b/scripts/check_patch.py
index b3eb451..b3eb451 100644..100755
--- a/scripts/check_patch.py
+++ b/scripts/check_patch.py
diff --git a/sepolicy.mk b/sepolicy.mk
index e3a38d1..5db4eb5 100644
--- a/sepolicy.mk
+++ b/sepolicy.mk
@@ -1,7 +1,4 @@
-BOARD_SEPOLICY_DIRS += \
+BOARD_SEPOLICY_DIRS := \
device/amlogic/common/sepolicy \
device/amlogic/common/sepolicy/aml_core
-ifneq ($(TARGET_BUILD_GOOGLE_ATV), true)
-BOARD_SEPOLICY_DIRS += \
- device/google/atv/sepolicy
-endif
+
diff --git a/sepolicy/aml_core/aml_core_service.te b/sepolicy/aml_core/aml_core_service.te
index f5029e5..c22658e 100644..100755
--- a/sepolicy/aml_core/aml_core_service.te
+++ b/sepolicy/aml_core/aml_core_service.te
@@ -26,6 +26,7 @@ allow aml_core_app audioserver_service:service_manager find;
allow aml_core_app bluetooth_manager_service:service_manager find;
allow aml_core_app cameraserver_service:service_manager find;
allow aml_core_app droidvold_hwservice:hwservice_manager find;
+allow aml_core_app sysfs_mpgpu_scale:file read;
allow aml_core_app trust_service:service_manager find;
allow aml_core_app user_service:service_manager find;
@@ -39,6 +40,7 @@ set_prop(aml_core_app, system_prop)
#allow aml_core_app sysfs:file { open read };
allow aml_core_app sysfs_di:dir search;
+allow aml_core_app sysfs_mpgpu_scale:file open;
allow aml_core_app sysfs_video:dir search;
allow aml_core_app sysfs_video:file r_file_perms;
allow aml_core_app vendor_file:file { r_file_perms };
diff --git a/sepolicy/bootanim.te b/sepolicy/bootanim.te
index f7ae5a9..49a56ef 100644..100755
--- a/sepolicy/bootanim.te
+++ b/sepolicy/bootanim.te
@@ -9,7 +9,6 @@ allow bootanim system_data_file:file { open read };
allow bootanim system_data_file:dir { open read };
allow bootanim mediaserver_service:service_manager { find };
allow bootanim mediaserver:binder { call transfer };
-allow bootanim debugfs_mali:dir { search };
set_prop(bootanim, system_prop)
get_prop(bootanim, media_prop)
diff --git a/sepolicy/device.te b/sepolicy/device.te
index 832660a..8f52caf 100755
--- a/sepolicy/device.te
+++ b/sepolicy/device.te
@@ -3,6 +3,7 @@ type env_device, dev_type;
type bootloader_device, dev_type;
type defendkey_device, dev_type;
type dtb_device, dev_type;
+type dvb_device, dev_type, mlstrustedobject;
type frontend_device, dev_type;
type cec_device, dev_type;
@@ -28,7 +29,6 @@ type sda_block_device, dev_type;
type vold_block_device, dev_type;
type drm_block_device, dev_type;
type tee_block_device, dev_type;
-type factory_block_device, dev_type;
type odm_block_device, dev_type;
type vendor_block_device, dev_type;
type vbmeta_block_device, dev_type;
@@ -42,5 +42,3 @@ type di0_device, dev_type;
type hidraw_device, dev_type;
type vbi_device, dev_type;
type hidraw_audio_device, dev_type;
-
-type galcore_device, dev_type;
diff --git a/sepolicy/dumpstate.te b/sepolicy/dumpstate.te
deleted file mode 100644
index 1b65ea0..0000000
--- a/sepolicy/dumpstate.te
+++ b/dev/null
@@ -1,3 +0,0 @@
-allow dumpstate debugfs:dir r_file_perms;
-allow dumpstate incidentd:binder call;
-allow dumpstate param_tv_file:dir getattr;
diff --git a/sepolicy/e2fs.te b/sepolicy/e2fs.te
index 09be214..a1babaf 100755
--- a/sepolicy/e2fs.te
+++ b/sepolicy/e2fs.te
@@ -8,7 +8,6 @@ allow e2fs odm_block_device:blk_file getattr;
allow e2fs dtbo_block_device:blk_file getattr;
allow e2fs system_block_fsck_device:blk_file getattr;
allow e2fs tee_block_device:blk_file { getattr ioctl open read write };
-allow e2fs factory_block_device:blk_file { getattr ioctl open read write };
allow e2fs vendor_block_device:blk_file getattr;
allow e2fs sysfs_fs_ext4_features:dir search;
allow e2fs param_block_device:blk_file { getattr ioctl open read write };
diff --git a/sepolicy/ephemeral_app.te b/sepolicy/ephemeral_app.te
deleted file mode 100755
index 43aa702..0000000
--- a/sepolicy/ephemeral_app.te
+++ b/dev/null
@@ -1,3 +0,0 @@
-allow ephemeral_app shell_data_file:dir { search };
-
-allow ephemeral_app debugfs_mali:dir { search }; \ No newline at end of file
diff --git a/sepolicy/file.te b/sepolicy/file.te
index 0d99c9e..96e0bdf 100644..100755
--- a/sepolicy/file.te
+++ b/sepolicy/file.te
@@ -4,7 +4,6 @@ type hfsplus, sdcard_type, fs_type;
type iso9660, sdcard_type, fs_type;
type udf,sdcard_type, fs_type;
#type proc_mounts, fs_type;
-type debugfs_mali, fs_type, sysfs_type, debugfs_type;
type pppoe_wrapper_socket, file_type;
@@ -29,8 +28,9 @@ type swap_data_file, file_type;
type misc_data_file, file_type;
#power
-type sysfs_mpgpu, fs_type, sysfs_type;
+type sysfs_mpgpu_cmd, fs_type, sysfs_type;
type sysfs_power_trigger, fs_type, sysfs_type;
+type sysfs_mpgpu_scale, fs_type, sysfs_type;
type sysfs_fb0_afbcd, fs_type, sysfs_type;
type sysfs_digital_codec, fs_type, sysfs_type;
@@ -48,8 +48,6 @@ type tee_droid_data_file, file_type, data_file_type, core_data_file_type;
type optee_file, file_type, data_file_type, core_data_file_type;
type sysfs_cec, fs_type, sysfs_type;
type sysfs_display, fs_type, sysfs_type;
-type sysfs_stb, fs_type, sysfs_type;
-type sysfs_vdec, fs_type, sysfs_type;
type sysfs_lcd, fs_type, sysfs_type;
type sysfs_rdma, fs_type, sysfs_type;
type sysfs_am_vecm, fs_type, sysfs_type;
@@ -77,7 +75,7 @@ type sysfs_unifykey, fs_type, sysfs_type;
type sysfs_block_ahead, fs_type, sysfs_type;
type wifi_socket, file_type, data_file_type, core_data_file_type;
-type hdcp_file, file_type, data_file_type;
+type hdcp_file, file_type, data_file_type, core_data_file_type;
#for app jni lib
type app_jni_lib_file, vendor_file_type, file_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index b8c589d..2ad9f83 100644..100755
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -6,7 +6,7 @@
/data/droidota(/.*)? u:object_r:update_data_file:s0
/data/vendor/btmic(/.*)? u:object_r:btmic_data_file:s0
/data/misc/wifi/sockets u:object_r:wifi_socket:s0
-/data/vendor/hdcp(/.*)? u:object_r:hdcp_file:s0
+/data/misc/hdcp u:object_r:hdcp_file:s0
/dev/amaudio_.* u:object_r:audio_device:s0
/dev/amaudio2_out u:object_r:audio_device:s0
@@ -23,9 +23,6 @@
/dev/amstream_sub u:object_r:subtitle_device:s0
/dev/amstream_sub_read u:object_r:subtitle_device:s0
/dev/avin_detect u:object_r:avin_device:s0
-/dev/videosync u:object_r:video_device:s0
-/dev/ac_sbuf0 u:object_r:video_device:s0
-/dev/ac_isp4uf u:object_r:video_device:s0
/dev/unifykeys u:object_r:unify_device:s0
@@ -59,7 +56,6 @@
/dev/block/dtbo_b u:object_r:dtbo_block_device:s0
/dev/block/misc u:object_r:misc_block_device:s0
/dev/block/tee u:object_r:tee_block_device:s0
-/dev/block/factory u:object_r:factory_block_device:s0
/dev/block/odm u:object_r:odm_block_device:s0
/dev/block/odm_a u:object_r:odm_block_device:s0
/dev/block/odm_b u:object_r:odm_block_device:s0
@@ -84,6 +80,7 @@
/dev/display u:object_r:display_device:s0
/dev/dtb u:object_r:dtb_device:s0
/dev/dvb0.* u:object_r:dvb_device:s0
+/dev/dvb.* u:object_r:video_device:s0
/dev/v4l2_frontend u:object_r:frontend_device:s0
/dev/esm u:object_r:hdcptx_device:s0
/dev/esm_rx u:object_r:hdcprx_device:s0
@@ -92,6 +89,7 @@
/dev/mali u:object_r:gpu_device:s0
/dev/mali0 u:object_r:gpu_device:s0
/dev/nand_env u:object_r:env_device:s0
+/dev/opteearmtz00 u:object_r:drm_device:s0
/dev/otz_client u:object_r:tee_device:s0
/dev/picdec u:object_r:picture_device:s0
/dev/rtk_btusb u:object_r:hci_attach_dev:s0
@@ -107,7 +105,6 @@
/dev/vdin0 u:object_r:video_device:s0
/dev/wifi_power u:object_r:radio_device:s0
/dev/hidraw[0-3] u:object_r:hidraw_device:s0
-/dev/galcore u:object_r:galcore_device:s0
#############################
# boot files
@@ -123,28 +120,17 @@
/sys/devices/bt-dev.*/rfkill/rfkill0/type u:object_r:sysfs_bluetooth_writable:s0
/sys/class/video/disable_video u:object_r:sysfs_video:s0
-/sys/class/video/disable_videopip u:object_r:sysfs_video:s0
/sys/class/vfm/map u:object_r:sysfs_video:s0
/sys/class/video/axis u:object_r:sysfs_video:s0
-/sys/class/video/axis_pip u:object_r:sysfs_video:s0
/sys/class/tsync/enable u:object_r:sysfs_video:s0
/sys/class/audiodsp/digital_raw u:object_r:sysfs_audio:s0
/sys/class/amaudio/debug u:object_r:sysfs_audio:s0
-/sys/class/amaudio/mute_unmute u:object_r:sysfs_audio:s0
-/sys/class/astream/addr_offset u:object_r:sysfs_audio:s0
-/sys/class/astream/format u:object_r:sysfs_audio:s0
-/sys/class/astream/astream-dev/uio0/maps/map0(/.*)? u:object_r:sysfs_audio:s0
-/sys/devices/virtual/astream/astream-dev/uio0/maps/map0(/.*)? u:object_r:sysfs_audio:s0
-/sys/class/dmx/demux0_scramble u:object_r:sysfs_audio:s0
/sys/class/tsync/firstapts u:object_r:sysfs_xbmc:s0
/sys/class/tsync/pts_audio u:object_r:sysfs_xbmc:s0
/sys/class/tsync/pts_video u:object_r:sysfs_xbmc:s0
/sys/class/tsync/event u:object_r:sysfs_xbmc:s0
/sys/class/tsync/pts_pcrscr u:object_r:sysfs_xbmc:s0
-/sys/class/tsync/firstvpts u:object_r:sysfs_xbmc:s0
-/sys/class/tsync/mode u:object_r:sysfs_xbmc:s0
-/sys/class/tsync/checkin_firstapts u:object_r:sysfs_xbmc:s0
-/sys/class/tsync/checkin_firstvpts u:object_r:sysfs_xbmc:s0
+
/sys/devices/virtual/amhdmitx/amhdmitx0(/.*)? u:object_r:sysfs_amhdmitx:s0
/sys/class/audiodsp/digital_codec u:object_r:sysfs_digital_codec:s0
@@ -152,10 +138,7 @@
/sys/devices/virtual/amhdmitx/amhdmitx0/aud_cap u:object_r:sysfs_audio_cap:s0
/sys/devices/virtual/amhdmitx/amhdmitx0/aud_output_chs u:object_r:sysfs_aud_output_chs:s0
/sys/devices/platform/meson-fb/graphics/fb0/osd_afbcd u:object_r:sysfs_fb0_afbcd:s0
-/sys/class/mpgpu(/.*)? u:object_r:sysfs_mpgpu:s0
-/sys/class/mpgpu/mpgpucmd u:object_r:sysfs_mpgpu:s0
-/sys/class/mpgpu/scale_mode u:object_r:sysfs_mpgpu:s0
-/sys/devices/platform/fb/graphics/fb0/osd_afbcd u:object_r:sysfs_fb0_afbcd:s0
+/sys/class/mpgpu/mpgpucmd u:object_r:sysfs_mpgpu_cmd:s0
/sys/power/early_suspend_trigger u:object_r:sysfs_power_trigger:s0
/sys/module/firmware_class/parameters/path u:object_r:sysfs_video:s0
@@ -167,8 +150,6 @@
/sys/module/tvin_hdmirx/parameters(/.*)? u:object_r:sysfs_cec:s0
/sys/module/dhd/parameters/firmware_path u:object_r:sysfs_wifi:s0
/sys/module/bcmdhd/parameters/firmware_path u:object_r:sysfs_wifi:s0
-/sys/devices/platform/ffe05000.sd2/mmc_host/sdio/sdio:0001/sdio:0001:2/net/wlan0(/.*)? u:object_r:sysfs_wifi:s0
-/sys/devices/virtual/net(/.*)? u:object_r:sysfs_wifi:s0
/sys/class/hdmirx/hdmirx0/edid u:object_r:sysfs_cec:s0
/sys/devices/platform/ffd26000.hdmirx/hdmirx/hdmirx0/edid u:object_r:sysfs_cec:s0
/sys/devices/virtual/amhdmitx/amhdmitx0/edid_info u:object_r:sysfs_cec:s0
@@ -177,7 +158,6 @@
/sys/class/display(/.*) u:object_r:sysfs_display:s0
/sys/devices/meson-fb/graphics/fb[0-3](/.*) u:object_r:sysfs_display:s0
/sys/devices/platform/meson-fb/graphics/fb[0-3](/.*) u:object_r:sysfs_display:s0
-/sys/devices/platform/fb/graphics/fb[0-3](/.*) u:object_r:sysfs_display:s0
/sys/class/lcd/enable u:object_r:sysfs_lcd:s0
/sys/class/video/video_scaler_path_sel u:object_r:sysfs_video:s0
/sys/module/amdolby_vision/parameters(/.*)? u:object_r:sysfs_video:s0
@@ -203,8 +183,7 @@
/sys/module/amvdec_h265/parameters/double_write_mode u:object_r:sysfs_amvdec:s0
/sys/devices/virtual/remote/amremote(/.*)? u:object_r:sysfs_remote:s0
-/sys/class/stb(/.*)? u:object_r:sysfs_stb:s0
-/sys/module/decoder_common/parameters/force_nosecure_even_drm u:object_r:sysfs_vdec:s0
+
/sys/devices/virtual/amhdmitx/amhdmitx0/hdmi_audio/state u:object_r:sysfs_hdmi:s0
/sys/devices/virtual/thermal/thermal_zone0/mode u:object_r:sysfs_display:s0
/sys/devices/platform/aml_pm/suspend_reason u:object_r:sysfs_pm:s0
@@ -225,7 +204,6 @@
/sys/devices/platform/vout/extcon/setmode/cable.0/state u:object_r:sysfs_display:s0
/sys/devices/platform/vout/extcon/setmode/state u:object_r:sysfs_display:s0
/sys/devices/platform/meson-fb/graphics(/.*)? u:object_r:sysfs_display:s0
-/sys/devices/platform/fb/graphics(/.*)? u:object_r:sysfs_display:s0
/dev/graphics/fb0 u:object_r:sysfs_display:s0
/dev/graphics/fb1 u:object_r:sysfs_display:s0
@@ -240,6 +218,9 @@
/dev/vbi u:object_r:vbi_device:s0
/dev/vbi[0-3] u:object_r:vbi_device:s0
+/sys/class/mpgpu/scale_mode u:object_r:sysfs_mpgpu_scale:s0
+/sys/module/di/parameters/bypass_all u:object_r:sysfs_mpgpu_scale:s0
+
/param(/.*)? u:object_r:param_tv_file:s0
/tee(/.*)? u:object_r:tee_data_file:s0
/mnt/vendor/tee(/.*)? u:object_r:tee_data_file:s0
@@ -264,18 +245,15 @@
/vendor/bin/droidvold u:object_r:droidvold_exec:s0
/vendor/bin/rc_server u:object_r:rc_server_exec:s0
/vendor/bin/tee-supplicant u:object_r:tee_exec:s0
-/vendor/bin/tee_hdcp u:object_r:tee_exec:s0
/vendor/bin/tee_preload_fw u:object_r:firmload_exec:s0
-/vendor/bin/tee_key_inject u:object_r:tee_exec:s0
/vendor/bin/tvserver u:object_r:tvserver_exec:s0
#/vendor/bin/wlan_fwloader u:object_r:wlan_fwloader_exec:s0
/vendor/xbin/bcmdl u:object_r:bcmdl_exec:s0
-/vendor/bin/miracast_hdcp2 u:object_r:miracast_hdcp2_exec:s0
-
## keylayout is vendor config file! must update!
/(vendor|system/vendor)/usr/keylayout(/.*)? u:object_r:vendor_configs_file:s0
+/(vendor|system/vendor)/usr/idc(/.*)? u:object_r:vendor_configs_file:s0
/vendor/bin/hw/android\.hardware\.dumpstate@1\.0-service.droidlogic u:object_r:hal_dumpstate_default_exec:s0
/vendor/bin/hw/android\.hardware\.drm@1\.1-service.widevine u:object_r:hal_drm_default_exec:s0
@@ -324,7 +302,6 @@
/vendor/lib(64)?/libsubjni\.so u:object_r:vendor_app_file:s0
/vendor/lib(64)?/libtvsubtitle_tv\.so u:object_r:vendor_app_file:s0
/vendor/lib(64)?/libjnifont_tv\.so u:object_r:vendor_app_file:s0
-
/vendor/lib(64)?/libsystemcontrolclient\.so u:object_r:vendor_app_file:s0
/dev/hidraw[0-9]* u:object_r:hidraw_audio_device:s0
@@ -332,5 +309,5 @@
/vendor/lib/vendor\.amlogic\.hardware\.remotecontrol@1\.0\.so u:object_r:vendor_app_file:s0
/system/bin/ntfs-3g u:object_r:fsck_exec:s0
+#/system/bin/ntfsfix u:object_r:fsck_exec:s0
/system/bin/fsck.exfat u:object_r:fsck_exec:s0
-
diff --git a/sepolicy/fsck.te b/sepolicy/fsck.te
index ad5b3b5..ea2aea6 100755
--- a/sepolicy/fsck.te
+++ b/sepolicy/fsck.te
@@ -3,10 +3,10 @@ allow fsck tmpfs:blk_file { getattr read write open ioctl };
allow fsck { vold_block_device param_block_device drm_block_device tee_block_device }:blk_file { getattr read write open ioctl };
-allow fsck { vendor_block_device odm_block_device userdata_block_device cache_block_device metadata_block_device product_block_device dtbo_block_device factory_block_device }:blk_file { getattr read write open ioctl };
+allow fsck { vendor_block_device odm_block_device userdata_block_device cache_block_device metadata_block_device product_block_device dtbo_block_device }:blk_file { getattr read write open ioctl };
allow fsck { system_block_fsck_device }:blk_file { getattr read write open ioctl };
allow fsck unlabeled:dir getattr;
-allow fsck rootfs:lnk_file { getattr };
+allow fsck rootfs:lnk_file { getattr }; \ No newline at end of file
diff --git a/sepolicy/genfs_contexts b/sepolicy/genfs_contexts
index 69c59ed..d0c6dad 100644..100755
--- a/sepolicy/genfs_contexts
+++ b/sepolicy/genfs_contexts
@@ -7,4 +7,3 @@ genfscon proc /bluetooth/sleep/lpm u:object_r:proc_bluetooth_writable:s0
genfscon proc /bluetooth/sleep/btwrite u:object_r:proc_bluetooth_writable:s0
#genfscon ntfs / u:object_r:ntfs:s0
#genfscon exfat / u:object_r:exfat:s0
-genfscon debugfs /mali0 u:object_r:debugfs_mali:s0
diff --git a/sepolicy/hal_audio_default.te b/sepolicy/hal_audio_default.te
index 6fb53e6..1e4d555 100755
--- a/sepolicy/hal_audio_default.te
+++ b/sepolicy/hal_audio_default.te
@@ -32,4 +32,3 @@ allow hal_audio_default hidraw_audio_device:chr_file { create read write open io
allow hal_audio_default device:dir {read open};
allow hal_audio_default btmic_data_file:dir {write read open add_name search};
allow hal_audio_default btmic_data_file:file {write open create};
-
diff --git a/sepolicy/hal_camera_default.te b/sepolicy/hal_camera_default.te
index 422a6f2..cd52269 100755
--- a/sepolicy/hal_camera_default.te
+++ b/sepolicy/hal_camera_default.te
@@ -3,5 +3,3 @@ allow hal_camera_default hal_camera_default:netlink_kobject_uevent_socket { crea
allow hal_camera_default vndbinder_device:chr_file { read write open ioctl };
allow hal_camera_default hal_graphics_mapper_hwservice:hwservice_manager find;
-
-allow hal_camera_default video_device:chr_file { read write open };
diff --git a/sepolicy/hal_dumpstate_impl.te b/sepolicy/hal_dumpstate_impl.te
index a6b01c6..f0d0e6a 100644..100755
--- a/sepolicy/hal_dumpstate_impl.te
+++ b/sepolicy/hal_dumpstate_impl.te
@@ -6,5 +6,4 @@ type hal_dumpstate_impl, domain;
# Access to files for dumping
#allow hal_dumpstate_impl proc_interrupts:file { open read };
-allow hal_dumpstate_default pstorefs:dir search;
allow hal_dumpstate_impl pstorefs:dir search;
diff --git a/sepolicy/hal_graphics_composer_default.te b/sepolicy/hal_graphics_composer_default.te
index 11d17f2..11d17f2 100644..100755
--- a/sepolicy/hal_graphics_composer_default.te
+++ b/sepolicy/hal_graphics_composer_default.te
diff --git a/sepolicy/hal_keymaster_default.te b/sepolicy/hal_keymaster_default.te
index be067a4..2428584 100755
--- a/sepolicy/hal_keymaster_default.te
+++ b/sepolicy/hal_keymaster_default.te
@@ -1,2 +1 @@
allow hal_keymaster_default drm_device:chr_file { read open write ioctl };
-allow hal_keymaster_default exported2_default_prop:file { read getattr };
diff --git a/sepolicy/hal_memtrack_default.te b/sepolicy/hal_memtrack_default.te
index a69e3b5..4b2815e 100644..100755
--- a/sepolicy/hal_memtrack_default.te
+++ b/sepolicy/hal_memtrack_default.te
@@ -1,6 +1,87 @@
typeattribute hal_memtrack_default mlstrustedsubject;
-allow hal_memtrack_default debugfs_mali:dir { search r_dir_perms};
-allow hal_memtrack_default debugfs_mali:file r_file_perms;
+allow hal_memtrack_default proc:file { r_file_perms };
+allow hal_memtrack_default system_app:file { r_file_perms };
+allow hal_memtrack_default system_app:dir { search };
+allow hal_memtrack_default servicemanager:file { r_file_perms };
+allow hal_memtrack_default servicemanager:dir { search };
+allow hal_memtrack_default hwservicemanager:file { r_file_perms };
+allow hal_memtrack_default hwservicemanager:dir { search };
+allow hal_memtrack_default vndservicemanager:file { r_file_perms };
+allow hal_memtrack_default vndservicemanager:dir { search };
+allow hal_memtrack_default hal_dumpstate_default:file { r_file_perms };
+allow hal_memtrack_default hal_dumpstate_default:dir { search };
+allow hal_memtrack_default hal_configstore_default:file { r_file_perms };
+allow hal_memtrack_default hal_configstore_default:dir { search };
-r_dir_file(hal_memtrack_default, domain)
+allow hal_memtrack_default hal_cas_default:dir search;
+allow hal_memtrack_default hal_cas_default:file { r_file_perms };
+allow hal_memtrack_default hal_health_default:dir search;
+allow hal_memtrack_default hal_health_default:file { r_file_perms };
+allow hal_memtrack_default hal_light_default:dir search;
+allow hal_memtrack_default hal_light_default:file { r_file_perms };
+allow hal_memtrack_default hal_thermal_default:dir search;
+allow hal_memtrack_default hal_thermal_default:file { r_file_perms };
+allow hal_memtrack_default thermalserviced:dir search;
+allow hal_memtrack_default thermalserviced:file { r_file_perms };
+allow hal_memtrack_default debugfs:dir { read open };
+
+allow hal_memtrack_default incidentd:dir search;
+allow hal_memtrack_default incidentd:file { getattr open read };
+allow hal_memtrack_default traceur_app:dir search;
+allow hal_memtrack_default traceur_app:file { getattr open read };
+allow hal_memtrack_default untrusted_app_27:dir search;
+allow hal_memtrack_default untrusted_app_27:file { getattr open read };
+
+allow hal_memtrack_default perfprofd:dir search;
+allow hal_memtrack_default perfprofd:file { getattr open read };
+allow hal_memtrack_default secure_element:dir search;
+allow hal_memtrack_default secure_element:file { getattr open read };
+
+allow hal_memtrack_default { priv_app platform_app untrusted_app su drmserver hal_memtrack_default hal_bluetooth_default bluetooth installd keystore mdnsd isolated_app }:dir { search };
+allow hal_memtrack_default { priv_app platform_app untrusted_app su drmserver hal_bluetooth_default bluetooth installd keystore mdnsd isolated_app }:file { r_file_perms };
+
+allow hal_memtrack_default { gatekeeperd tombstoned webview_zygote zygote netd wificond sdcardd hal_camera_default hal_tv_cec_default }:dir { search };
+allow hal_memtrack_default { gatekeeperd tombstoned webview_zygote zygote netd wificond sdcardd hal_camera_default hal_tv_cec_default }:file { r_file_perms };
+
+allow hal_memtrack_default { hal_audio_default hal_usb_default hal_power_default hal_wifi_default hal_drm_default }:dir { search };
+allow hal_memtrack_default { hal_audio_default hal_usb_default hal_power_default hal_wifi_default hal_drm_default }:file { r_file_perms };
+allow hal_memtrack_default { hal_graphics_composer_default hal_graphics_allocator_default hal_gatekeeper_default }:dir { search };
+allow hal_memtrack_default { hal_graphics_composer_default hal_graphics_allocator_default hal_gatekeeper_default }:file { r_file_perms };
+
+allow hal_memtrack_default { hal_graphics_composer_default hal_graphics_allocator_default hal_gatekeeper_default }:dir { search };
+allow hal_memtrack_default { hal_graphics_composer_default hal_graphics_allocator_default hal_gatekeeper_default }:file { r_file_perms };
+
+allow hal_memtrack_default { hal_keymaster_default droidvold adbd tee hdmicecd bluetooth untrusted_app_25 }:dir { search };
+allow hal_memtrack_default { hal_keymaster_default droidvold adbd tee hdmicecd bluetooth untrusted_app_25 }:file { r_file_perms };
+
+allow hal_memtrack_default { mediadrmserver mediaextractor mediametrics mediacodec audioserver cameraserver mediaserver }:dir { search };
+allow hal_memtrack_default { mediadrmserver mediaextractor mediametrics mediacodec audioserver cameraserver mediaserver }:file { r_file_perms };
+
+allow hal_memtrack_default { logd ueventd vold system_server init shell surfaceflinger lmkd healthd system_control }:dir { search };
+allow hal_memtrack_default { logd ueventd vold system_server init shell surfaceflinger lmkd healthd system_control }:file { r_file_perms };
+
+allow hal_memtrack_default hal_bluetooth_default:dir search;
+allow hal_memtrack_default hal_bluetooth_default:file r_file_perms;
+
+allow hal_memtrack_default mediaprovider:dir search;
+allow hal_memtrack_default mediaprovider:file { r_file_perms };
+allow hal_memtrack_default radio:dir search;
+allow hal_memtrack_default radio:file { r_file_perms };
+allow hal_memtrack_default vendor_init:dir search;
+allow hal_memtrack_default vendor_init:file { r_file_perms };
+
+allow hal_memtrack_default hal_tv_input_default:dir search;
+allow hal_memtrack_default hal_tv_input_default:file r_file_perms;
+
+allow hal_memtrack_default perfprofd:dir search;
+allow hal_memtrack_default aml_core_app:dir search;
+allow hal_memtrack_default aml_core_app:file r_file_perms;
+
+allow hal_memtrack_default tvserver:dir search;
+allow hal_memtrack_default tvserver:file r_file_perms;
+
+allow hal_memtrack_default hal_drm_clearkey:dir search;
+allow hal_memtrack_default hdcp_tx22:dir search;
+allow hal_memtrack_default hdcp_rx22:dir { search read };
+allow hal_memtrack_default hdcp_rx22:file { read open getattr };
diff --git a/sepolicy/hal_power_default.te b/sepolicy/hal_power_default.te
index e34d6e5..b59adcf 100644..100755
--- a/sepolicy/hal_power_default.te
+++ b/sepolicy/hal_power_default.te
@@ -1,5 +1,4 @@
-allow hal_power_default sysfs_mpgpu:file rw_file_perms;
-allow hal_power_default sysfs_mpgpu:dir search;
+allow hal_power_default sysfs_mpgpu_cmd:file { read write open };
allow hal_power_default sysfs_power_trigger:file { read write open };
allow hal_power_default hdmicecd_hwservice:hwservice_manager { find };
allow hal_power_default hdmicecd:binder { call transfer };
diff --git a/sepolicy/hal_wifi_default.te b/sepolicy/hal_wifi_default.te
index 4052e21..25af04a 100755
--- a/sepolicy/hal_wifi_default.te
+++ b/sepolicy/hal_wifi_default.te
@@ -2,17 +2,17 @@ allow hal_wifi_default sysfs_wifi:file write;
allow hal_wifi_default self:capability sys_module;
allow hal_wifi_default proc_modules:file rw_file_perms;
allow hal_wifi_default radio_device:chr_file rw_file_perms;
-allow hal_wifi_default vendor_data_file:dir rw_file_perms;
+#allow hal_wifi_default wifi_data_file:dir rw_file_perms;
allow hal_wifi_default device:dir rw_file_perms;
allow hal_wifi_default usb_device:dir rw_file_perms;
-allow hal_wifi_default vendor_data_file:dir { search add_name};
+#allow hal_wifi_default wifi_data_file:dir { search add_name};
allow hal_wifi_default ctl_default_prop:property_service set;
-allow hal_wifi_default vendor_data_file:file { open setattr create read write};
+#allow hal_wifi_default wifi_data_file:file { open setattr create read write};
allow hal_wifi_default self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
allow hal_wifi_default { system_file vendor_file }:system module_load;
#allow hal_wifi_default hal_wifi_default:capability chown;
allow hal_wifi_default kernel:system module_request;
-allow hal_wifi_default vendor_data_file:dir { search };
+#allow hal_wifi_default wifi_data_file:dir { search };
diff --git a/sepolicy/hal_wifi_supplicant_default.te b/sepolicy/hal_wifi_supplicant_default.te
index e3fdb99..fe2dbcc 100755
--- a/sepolicy/hal_wifi_supplicant_default.te
+++ b/sepolicy/hal_wifi_supplicant_default.te
@@ -1,2 +1 @@
allow hal_wifi_supplicant_default proc_net:file rw_file_perms;
-allow hal_wifi_supplicant_default proc_modules:file { read open getattr};
diff --git a/sepolicy/hwservice.te b/sepolicy/hwservice.te
index be7a72b..27188b0 100755
--- a/sepolicy/hwservice.te
+++ b/sepolicy/hwservice.te
@@ -4,4 +4,3 @@ type droidvold_hwservice, hwservice_manager_type;
type tvserver_hwservice, hwservice_manager_type;
type remotecontrol_hwservice, hwservice_manager_type;
type imageserver_hwservice, hwservice_manager_type;
-type miracast_hdcp2_hwservice, hwservice_manager_type;
diff --git a/sepolicy/hwservice_contexts b/sepolicy/hwservice_contexts
index 8a19e0b..9daa08b 100755
--- a/sepolicy/hwservice_contexts
+++ b/sepolicy/hwservice_contexts
@@ -4,4 +4,3 @@ vendor.amlogic.hardware.droidvold::IDroidVold u:object_r:dr
vendor.amlogic.hardware.tvserver::ITvServer u:object_r:tvserver_hwservice:s0
vendor.amlogic.hardware.remotecontrol::IRemoteControl u:object_r:remotecontrol_hwservice:s0
vendor.amlogic.hardware.imageserver::IImageService u:object_r:imageserver_hwservice:s0
-vendor.amlogic.hardware.miracast_hdcp2::IHDCPService u:object_r:miracast_hdcp2_hwservice:s0
diff --git a/sepolicy/hwservicemanager.te b/sepolicy/hwservicemanager.te
index 932ce53..65bc9f8 100755
--- a/sepolicy/hwservicemanager.te
+++ b/sepolicy/hwservicemanager.te
@@ -22,8 +22,3 @@ allow hwservicemanager imageserver:binder { call transfer };
allow hwservicemanager imageserver:dir { search };
allow hwservicemanager imageserver:file { read open };
allow hwservicemanager imageserver:process { getattr };
-
-allow hwservicemanager miracast_hdcp2:binder { call transfer };
-allow hwservicemanager miracast_hdcp2:dir { search };
-allow hwservicemanager miracast_hdcp2:file { read open };
-allow hwservicemanager miracast_hdcp2:process { getattr };
diff --git a/sepolicy/init.te b/sepolicy/init.te
index 43db72a..62b360f 100644..100755
--- a/sepolicy/init.te
+++ b/sepolicy/init.te
@@ -4,7 +4,6 @@ allow init tmpfs:blk_file { getattr read write open };
#allow init sysfs:dir { add_name };
allow init sysfs:file { create };
-allow init sysfs_display:file rw_file_perms;
allow init kernel:system module_request;
allow init configfs:file { create getattr open unlink write };
@@ -15,7 +14,7 @@ allow init { system_file vendor_file rootfs}:system { module_load };
allow init vendor_file:file { execute };
allow init { tee_block_device userdata_block_device cache_block_device block_device metadata_block_device vbmeta_block_device }:blk_file { relabelto write read };
-allow init { vendor_block_device system_block_fsck_device odm_block_device param_block_device product_block_device dtbo_block_device factory_block_device }:blk_file { relabelto write read };
+allow init { vendor_block_device system_block_fsck_device odm_block_device param_block_device product_block_device dtbo_block_device }:blk_file { relabelto write read };
allow init boot_block_device:blk_file relabelto;
diff --git a/sepolicy/ioctl_defines b/sepolicy/ioctl_defines
deleted file mode 100644
index 94009a3..0000000
--- a/sepolicy/ioctl_defines
+++ b/dev/null
@@ -1 +0,0 @@
-define(`MMC_IOC_MULTI_CMD', `0xc048b301')
diff --git a/sepolicy/mediaprovider.te b/sepolicy/mediaprovider.te
index cc48a13..c6b1a83 100644..100755
--- a/sepolicy/mediaprovider.te
+++ b/sepolicy/mediaprovider.te
@@ -1,4 +1,4 @@
-get_prop(mediaprovider, media_prop);
+allow mediaprovider media_prop:file { getattr open read };
allow mediaprovider fuseblk:dir { open read search };
allow mediaprovider fuseblk:file { getattr open read };
diff --git a/sepolicy/mediaserver.te b/sepolicy/mediaserver.te
index 366d204..63b44f2 100644..100755
--- a/sepolicy/mediaserver.te
+++ b/sepolicy/mediaserver.te
@@ -2,7 +2,7 @@ allow mediaserver system_server:unix_stream_socket { read write setopt };
allow mediaserver video_device:chr_file rw_file_perms;
allow mediaserver codec_device:chr_file rw_file_perms;
-allow mediaserver sysfs_mpgpu:file rw_file_perms;
+allow mediaserver sysfs_mpgpu_scale:file { open read write};
#allow mediaserver vendor_file:file { read open getattr execute };
allow mediaserver sysfs_video:file rw_file_perms;
@@ -14,24 +14,4 @@ get_prop(mediaserver, vendor_platform_prop)
allow mediaserver bootanim:binder { call transfer };
allow mediaserver bootanim:fd use;
allow mediaserver system_data_file:file { read getattr };
-allow mediaserver miracast_hdcp2_hwservice:hwservice_manager { find };
-# For interfacing with miracast hdcp2 HAL
-allow mediaserver miracast_hdcp2_hwservice:hwservice_manager find;
-allow mediaserver miracast_hdcp2:binder { call transfer };
-allow mediaserver sysfs_video:dir { search };
-allow mediaserver sysfs_display:file { open read getattr};
-allow mediaserver drm_device:chr_file {ioctl open read write};
-allow mediaserver sysfs_xbmc:file {write open read getattr};
-allow mediaserver sysfs_audio_cap:file {open read};
-allow mediaserver sysfs_amhdmitx:dir {search};
-allow mediaserver sysfs_stb:file { read open write getattr};
-allow mediaserver sysfs_stb:dir {search};
-allow mediaserver dvb_device:chr_file { open read write ioctl };
-allow mediaserver sysfs_vdec:file {read write open getattr};
-allow mediaserver tv_prop:file {open read getattr};
-allow mediaserver mediaserver:netlink_kobject_uevent_socket {create setopt bind read};
-allow mediaserver proc_version:file {open read getattr};
-allow mediaserver uio_device:chr_file { open read write };
-allow mediaserver sysfs_audio:dir {search};
-allow mediaserver sysfs_audio:lnk_file {read};
-allow mediaserver self:udp_socket { ioctl read};
+
diff --git a/sepolicy/miracast_hdcp2.te b/sepolicy/miracast_hdcp2.te
deleted file mode 100755
index 9d89e1f..0000000
--- a/sepolicy/miracast_hdcp2.te
+++ b/dev/null
@@ -1,31 +0,0 @@
-type miracast_hdcp2, domain;
-type miracast_hdcp2_exec, exec_type, vendor_file_type, file_type;
-
-init_daemon_domain(miracast_hdcp2)
-net_domain(miracast_hdcp2)
-
-allow miracast_hdcp2 unify_device:chr_file { ioctl open read write };
-allow miracast_hdcp2 sysfs_unifykey:dir { search };
-allow miracast_hdcp2 sysfs_unifykey:file { read write open getattr };
-
-allow miracast_hdcp2 drm_device:chr_file { read open write ioctl };
-
-allow miracast_hdcp2 hwservicemanager:binder { call transfer };
-allow miracast_hdcp2 hwservicemanager_prop:file { open read getattr };
-allow miracast_hdcp2 hwservicemanager_prop:file { open read getattr };
-allow miracast_hdcp2 { miracast_hdcp2_hwservice hidl_base_hwservice }:hwservice_manager { add };
-
-allow miracast_hdcp2 miracast_hdcp2:tcp_socket { create read write setopt bind listen connect };
-allow miracast_hdcp2 port:tcp_socket { name_bind name_connect };
-allow miracast_hdcp2 node:tcp_socket { node_bind };
-allow miracast_hdcp2 miracast_hdcp2:capability { net_raw };
-allow miracast_hdcp2 fwmarkd_socket:sock_file { write };
-allow miracast_hdcp2 netd:unix_stream_socket { connectto };
-
-allow miracast_hdcp2 hdcp_file:file { read open write getattr create unlink rename };
-allow miracast_hdcp2 hdcp_file:dir { read open write getattr create search add_name remove_name rmdir};
-allow miracast_hdcp2 vendor_data_file:dir { read open getattr search write add_name create };
-allow miracast_hdcp2 vendor_data_file:file { read open write getattr create unlink rename append };
-allow miracast_hdcp2 system_app:binder { transfer call };
-allow miracast_hdcp2 media_prop:file { read getattr open };
-allow miracast_hdcp2 mediaserver:binder{ transfer call }; \ No newline at end of file
diff --git a/sepolicy/netd.te b/sepolicy/netd.te
index 777fe9b..d948f03 100755
--- a/sepolicy/netd.te
+++ b/sepolicy/netd.te
@@ -9,7 +9,3 @@ allow netd proc_net:file { create };
allow netd rootfs:lnk_file { getattr };
allow netd self:capability sys_nice;
-
-#for vmx
-allow netd tee:fd { use };
-allow netd tee:tcp_socket { read write setopt getopt };
diff --git a/sepolicy/platform_app.te b/sepolicy/platform_app.te
index 80eee46..76e0781 100644..100755
--- a/sepolicy/platform_app.te
+++ b/sepolicy/platform_app.te
@@ -4,7 +4,7 @@ get_prop(system_app, media_prop)
#allow platform_app vendor_file:file { getattr read open execute };
allow platform_app systemcontrol_hwservice:hwservice_manager { find };
-allow platform_app system_control:binder { call transfer };
+allow platform_app system_control:binder { call transfer};
allow platform_app droidmount_service:service_manager { find };
allow platform_app subtitle_service:service_manager { find };
allow platform_app iso9660:dir { search open read getattr };
@@ -18,4 +18,3 @@ allow platform_app tvserver:binder { call transfer };
allow platform_app imageserver_hwservice:hwservice_manager { find };
allow platform_app imageserver:binder { call transfer };
-allow platform_app debugfs_mali:dir search;
diff --git a/sepolicy/priv_app.te b/sepolicy/priv_app.te
index 9d85b32..643e5f3 100644..100755
--- a/sepolicy/priv_app.te
+++ b/sepolicy/priv_app.te
@@ -24,7 +24,3 @@ allow priv_app system_control:binder { call transfer };
allow priv_app tvserver:binder { call transfer };
allow priv_app param_tv_file:file { create open read write setattr getattr lock unlink };
allow priv_app param_tv_file:dir { search read open write add_name remove_name getattr };
-allow priv_app sysfs_wifi:file r_file_perms;
-allow priv_app debugfs_mali:dir search;
-
-get_prop(priv_app, atv_prop)
diff --git a/sepolicy/property.te b/sepolicy/property.te
index 121fd35..697638b 100755
--- a/sepolicy/property.te
+++ b/sepolicy/property.te
@@ -9,6 +9,3 @@ type netflix_prop, property_type;
type vendor_platform_prop, property_type;
type vendor_persist_prop, property_type;
type vendor_app_prop, property_type;
-type atv_prop, property_type;
-type net_pppoe_prop, property_type;
-type miracast_prop, property_type;
diff --git a/sepolicy/property_contexts b/sepolicy/property_contexts
index 197004d..50ba91c 100755
--- a/sepolicy/property_contexts
+++ b/sepolicy/property_contexts
@@ -19,16 +19,9 @@ wc_transport u:object_r:bluetooth_prop:s0
rc_hidraw_fd u:object_r:bluetooth_prop:s0
ro.rfkilldisabled u:object_r:bluetooth_prop:s0
vendor.display-size u:object_r:netflix_prop:s0
-vendor.netflix.state u:object_r:netflix_prop:s0
-ro.vendor.nrdp. u:object_r:netflix_prop:s0
+ro.vendor.nrdp.modelgroup u:object_r:netflix_prop:s0
ro.vendor.platform u:object_r:vendor_platform_prop:s0
persist.vendor.sys u:object_r:vendor_persist_prop:s0
vendor.sys u:object_r:vendor_platform_prop:s0
ro.vendor.app u:object_r:vendor_app_prop:s0
-atv. u:object_r:atv_prop:s0
-ro.net.pppoe u:object_r:net_pppoe_prop:s0
-persist.miracast.hdcp2 u:object_r:miracast_prop:s0
-ro.boot.vbmeta.bootkey_hash u:object_r:exported2_default_prop:s0
-ro.boot.vbmeta.device_state u:object_r:exported2_default_prop:s0
-ro.boot.vbmeta.digest u:object_r:exported2_default_prop:s0
diff --git a/sepolicy/service.te b/sepolicy/service.te
index 09ea8ac..08102fc 100755
--- a/sepolicy/service.te
+++ b/sepolicy/service.te
@@ -6,6 +6,6 @@ type system_control_service, service_manager_type;
type pppoe_service, service_manager_type;
type screenmediasource_service, service_manager_type;
type tee_service, service_manager_type;
+type tv_remote_service,system_server_service, service_manager_type;
type droidmount_service, service_manager_type;
type bcmdl_service, service_manager_type;
-type miracast_hdcp2_service, service_manager_type;
diff --git a/sepolicy/service_contexts b/sepolicy/service_contexts
index a68db11..1e94f44 100755
--- a/sepolicy/service_contexts
+++ b/sepolicy/service_contexts
@@ -9,4 +9,3 @@ tee_supplicant u:object_r:tee_service:s0
tv_remote u:object_r:tv_remote_service:s0
droidmount u:object_r:droidmount_service:s0
bcmdl u:object_r:bcmdl_service:s0
-miracast_hdcp2 u:object_r:miracast_hdcp2_service:s0
diff --git a/sepolicy/shell.te b/sepolicy/shell.te
index ae51ab7..7be2d94 100755
--- a/sepolicy/shell.te
+++ b/sepolicy/shell.te
@@ -3,7 +3,6 @@ allow shell sysfs_amhdmitx:file { open read write getattr };
allow shell sysfs_amhdmitx:dir search;
allow shell sysfs_remote:dir search;
allow shell sysfs_remote:file { open read write getattr };
-allow shell debugfs_mali:dir search;
allow shell metadata_file:dir getattr;
allow shell unlabeled:dir getattr;
diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te
index 3d96110..cf39c55 100644..100755
--- a/sepolicy/surfaceflinger.te
+++ b/sepolicy/surfaceflinger.te
@@ -1,7 +1,7 @@
#allow surfaceflinger vendor_file:file { open read getattr execute };
allow surfaceflinger system_control_service:service_manager find;
allow surfaceflinger video_device:chr_file rw_file_perms;
-allow surfaceflinger debugfs_mali:dir search;
+
get_prop(surfaceflinger, tv_prop)
set_prop(surfaceflinger, ctl_default_prop)
diff --git a/sepolicy/system_app.te b/sepolicy/system_app.te
index 2382d51..8f7f98f 100644..100755
--- a/sepolicy/system_app.te
+++ b/sepolicy/system_app.te
@@ -1,4 +1,4 @@
-allow system_app sysfs_mpgpu:file rw_file_perms;
+allow system_app sysfs_mpgpu_scale:file { read write open };
allow system_app cache_recovery_file:dir { search read open write add_name remove_name };
allow system_app cache_recovery_file:file { create getattr setattr open read write unlink };
allow system_app cache_file:dir {search open read write unlink add_name remove_name};
@@ -36,7 +36,7 @@ allow system_app fuseblk:file create_file_perms;
allow system_app sysfs_di:dir search;
allow system_app sysfs_video:dir search;
-allow system_app sysfs_video:file { getattr open read write };
+allow system_app sysfs_video:file { getattr open read };
allow system_app sysfs_clock:file { getattr open read };
@@ -56,7 +56,6 @@ get_prop(system_app, media_prop)
get_prop(system_app, netflix_prop)
get_prop(system_app, vendor_platform_prop)
get_prop(system_app, vendor_app_prop)
-get_prop(system_app, vendor_default_prop)
allow system_app vbi_device:chr_file { read write open ioctl };
allow system_app vendor_file:file r_file_perms;
@@ -74,10 +73,3 @@ allow system_app param_tv_file:dir { search read open write add_name remove_name
allow system_app sysfs_xbmc:file rw_file_perms;
allow system_app subtitle_device:chr_file rw_file_perms;
-allow system_app debugfs_mali:dir search;
-#allow system_app media_prop:property_service { set };
-
-allow system_app miracast_hdcp2_hwservice:hwservice_manager { find };
-allow system_app miracast_hdcp2:binder { call transfer };
-allow system_app miracast_prop:file { read open getattr };
-allow system_app vendor_persist_prop:file { open read getattr };
diff --git a/sepolicy/system_control.te b/sepolicy/system_control.te
index 3500455..df3368b 100644..100755
--- a/sepolicy/system_control.te
+++ b/sepolicy/system_control.te
@@ -80,6 +80,7 @@ set_prop(system_control, persistent_properties_ready_prop)
get_prop(system_control, persistent_properties_ready_prop)
get_prop(system_control, system_boot_reason_prop)
+
# ctl interface
set_prop(system_control, ctl_default_prop)
set_prop(system_control, ctl_dhcp_pan_prop)
@@ -127,6 +128,12 @@ allow system_control param_tv_file:file { create read write open getattr ioctl};
allow system_control sysfs_amhdmitx:dir search;
allow system_control sysfs_amvdec:file { create open read write getattr};
allow system_control sysfs_xbmc:file { read open };
+allow system_control priv_app:binder { call transfer };
+allow system_control hdmicecd:binder { call transfer };
+allow system_control aml_core_app:binder { call transfer };
+allow system_control hal_graphics_composer_default:binder { call transfer };
+allow system_control platform_app:binder { call transfer };
+allow system_control untrusted_app:binder { call transfer };
allow system_control vendor_configs_file:file { ioctl lock };
allow system_control sysfs_display:lnk_file { read write open getattr };
@@ -135,21 +142,11 @@ allow system_control { sysfs_display sysfs_am_vecm sysfs_display sysfs_amhdmitx
allow system_control sysfs_unifykey:dir { search };
allow system_control sysfs_unifykey:file { read write open };
allow system_control unlabeled:dir search;
-allow system_control sysfs_mpgpu:file rw_file_perms ;
+allow system_control sysfs_mpgpu_scale:file { read write open } ;
allow system_control hdmirx0_device:chr_file { read write open ioctl getattr };
allow system_control exported_system_prop:file { read } ;
get_prop(system_control, exported_system_prop);
allow system_control tvserver:binder { call transfer };
-allow system_control tvserver_hwservice:hwservice_manager find;
-allow system_control sysfs_leds:dir search;
-
-allow system_control hal_keymaster_hwservice:hwservice_manager { find };
-allow system_control hal_keymaster_default:binder { call };
-allow system_control priv_app:binder { call };
-allow system_control hdmicecd:binder { call transfer };
-allow system_control aml_core_app:binder { call transfer };
-allow system_control hal_graphics_composer_default:binder { call transfer };
-allow system_control platform_app:binder { call transfer };
-allow system_control untrusted_app:binder { call transfer }; \ No newline at end of file
+allow system_control tvserver_hwservice:hwservice_manager find; \ No newline at end of file
diff --git a/sepolicy/tee.te b/sepolicy/tee.te
index 1ba53db..1a6775e 100644..100755
--- a/sepolicy/tee.te
+++ b/sepolicy/tee.te
@@ -1,20 +1,15 @@
allow tee self:capability { sys_rawio };
allow tee sysfs_xbmc:file { read open };
-allow tee sysfs_video:file { write };
-allow tee sysfs_audio:file { write };
allow tee block_device:dir { open read search};
allow tee sda_block_device:blk_file { read open write ioctl };
allow tee drm_device:chr_file { read open write ioctl };
-
-allowxperm tee sda_block_device:blk_file ioctl { MMC_IOC_CMD MMC_IOC_MULTI_CMD };
-
allow tee tee_data_file:dir { add_name write create ioctl remove_name open read rmdir getattr search };
-allow tee tee_data_file:file { write create open unlink link read rename };
+allow tee tee_data_file:file { write create open unlink link read };
#allow tee system_data_file:dir { write search add_name create };
allow tee system_data_file:file read;
allow tee mnt_vendor_file:dir { add_name create remove_name write };
-allow tee mnt_vendor_file:file { create open read rename write unlink link getattr };
+allow tee mnt_vendor_file:file { create open read rename write unlink link };
allow tee mnt_vendor_file:dir { search ioctl open read rmdir getattr };
allow tee unlabeled:dir { add_name write remove_name };
@@ -23,13 +18,3 @@ allow tee unlabeled:file { open read rename write };
allow tee hidraw_device:chr_file { create read open write ioctl };
allow tee vendor_file:file { read open getattr execute };
allow tee param_tv_file:dir { search };
-
-#for vmx
-net_domain(tee)
-allow tee tee_data_file:lnk_file { read open };
-allow tee self:capability { net_raw };
-allow tee node:tcp_socket { node_bind };
-allow tee self:tcp_socket { bind create read write listen accept getopt };
-allow tee port:tcp_socket { name_bind } ;
-allow tee fwmarkd_socket:sock_file { write } ;
-allow tee netd:unix_stream_socket { connectto } ;
diff --git a/sepolicy/untrusted_app.te b/sepolicy/untrusted_app.te
index 0bfedb2..e0ad592 100644..100755
--- a/sepolicy/untrusted_app.te
+++ b/sepolicy/untrusted_app.te
@@ -4,6 +4,5 @@ allow untrusted_app fuseblk:dir { search };
allow untrusted_app fuseblk:file { read open getattr };
allow untrusted_app vendor_file:file { read open getattr };
-allow untrusted_app debugfs_mali:dir search;
get_prop(untrusted_app, netflix_prop)
diff --git a/sepolicy/untrusted_app_25.te b/sepolicy/untrusted_app_25.te
index 30f6e3f..015efd9 100644..100755
--- a/sepolicy/untrusted_app_25.te
+++ b/sepolicy/untrusted_app_25.te
@@ -1,7 +1,4 @@
#allow untrusted_app_25 sysfs:file { open read };
-# for collect GL mem track. not easy to remove the search from sourcecode
-allow untrusted_app_25 debugfs_mali:dir search;
-
allow untrusted_app_25 fuseblk:dir { search };
allow untrusted_app_25 fuseblk:file { read open getattr };
diff --git a/sepolicy/untrusted_app_27.te b/sepolicy/untrusted_app_27.te
deleted file mode 100644
index b93bc28..0000000
--- a/sepolicy/untrusted_app_27.te
+++ b/dev/null
@@ -1,6 +0,0 @@
-# for collect GL mem track. not easy to remove the search from sourcecode
-allow untrusted_app_27 debugfs_mali:dir search;
-
-get_prop(untrusted_app_27, netflix_prop)
-get_prop(untrusted_app_27, media_prop)
-get_prop(untrusted_app_27, vendor_default_prop)
diff --git a/sepolicy/vendor_init.te b/sepolicy/vendor_init.te
index ab6fa66..4c03772 100755
--- a/sepolicy/vendor_init.te
+++ b/sepolicy/vendor_init.te
@@ -26,7 +26,6 @@ allow vendor_init drm_device:chr_file setattr;
# allow init mount a new filesystem and set its selinux contexts
allow vendor_init unlabeled:dir { getattr read relabelfrom setattr };
-allow vendor_init system_prop:property_service set;
set_prop(vendor_init, vendor_platform_prop)
set_prop(vendor_init, shell_prop)
@@ -39,6 +38,3 @@ set_prop(vendor_init, tv_prop)
set_prop(vendor_init, netflix_prop)
set_prop(vendor_init, vold_prop)
set_prop(vendor_init, config_prop)
-set_prop(vendor_init, atv_prop)
-set_prop(vendor_init, net_pppoe_prop)
-set_prop(vendor_init, miracast_prop)
diff --git a/sepolicy/wificond.te b/sepolicy/wificond.te
index 1049c9d..34e68d6 100755
--- a/sepolicy/wificond.te
+++ b/sepolicy/wificond.te
@@ -1,2 +1,3 @@
allow wificond kernel:system module_request;
-allow wificond proc_modules:file { read open getattr };
+
+#allow wificond vendor_file:file { read open getattr execute };
diff --git a/software.mk b/software.mk
index 745c65e..a682d6b 100755..100644
--- a/software.mk
+++ b/software.mk
@@ -1,3 +1,6 @@
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.adb.secure=1
+
ifeq ($(TARGET_BUILD_CTS), true)
#ADDITIONAL_DEFAULT_PROPERTIES += ro.vold.forceencryption=1
@@ -9,10 +12,6 @@ PRODUCT_COPY_FILES += \
ifeq ($(TARGET_BUILD_GOOGLE_ATV), true)
PRODUCT_COPY_FILES += \
device/amlogic/common/android.software.google_atv.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.google_atv.xml
-ifeq ($(TARGET_BUILD_NETFLIX), true)
-PRODUCT_COPY_FILES += \
- device/amlogic/common/android.software.google_atv_netflix_only.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.google_atv_netflix_only.xml
-endif
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.live_tv.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/android.software.live_tv.xml
PRODUCT_PACKAGE_OVERLAYS += device/amlogic/common/atv_gms_overlay
@@ -66,6 +65,7 @@ endif
ifeq ($(TARGET_BUILD_NETFLIX), true)
PRODUCT_COPY_FILES += \
device/amlogic/common/droidlogic.software.netflix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/droidlogic.software.netflix.xml
+
endif
ifeq ($(BOARD_AVB_ENABLE), true)
diff --git a/tb_detect.mk b/tb_detect.mk
index f992f14..e69de29 100644
--- a/tb_detect.mk
+++ b/tb_detect.mk
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2015 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.
-#
-
-ifeq ($(wildcard hardware/amlogic/tb_detect/tb_detect.mk),)
-DETECT_IN=device/amlogic/common/tb_detect
-define tb-modules
-$(TB_DETECT_KO):
- mkdir -p $(PRODUCT_OUT)/obj/lib_vendor
- rm $(PRODUCT_OUT)/obj/lib_vendor/tb_detect.ko -f
- cp $(DETECT_IN)/tb_detect.ko $(PRODUCT_OUT)/obj/lib_vendor/tb_detect.ko -airf
- @echo "copy Amlogic TB Detect module from $(DETECT_IN) to $(PRODUCT_OUT)/vendor/lib/modules"
-endef
-else
-include hardware/amlogic/tb_detect/tb_detect.mk
-endif
diff --git a/tb_detect/tb_detect.ko b/tb_detect/tb_detect.ko
deleted file mode 100644
index 949bb3f..0000000
--- a/tb_detect/tb_detect.ko
+++ b/dev/null
@@ -1,266 +0,0 @@
-ELF
-
-@x@y@,
-
-
-
-
-
-[ c 
-q
-⧟A
-k
-
-
-i
-
-
-*
-@
-
-᧟!
-
-@
-)
-
-
-
-!
-M
-8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!
-
-@
-
-
-
-.
-
-
-
-'
-
-
-
-
-l9
-.
-A
-D
-
-P
-G
-G
-P
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-\
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!
-
->
-
-.
-
-
-
-b)
-@
-
-
-;
-.
-ZC
-@F
-&K
-LK
-O
-'
-.?: ; '@B
-'
-v<x 
- t  <=e/vJ
- !""""!!+""x (2%" %#0 9R!!/$2!$2!A0.
-<!%J=!XA/['?v 
-  !u1#>
- 
-AAAAA 
-
- I
- BAAA
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-9
-:
-
-
-
-
-8
-
-
-4
-
-
-
-
-M
-O
-
-
-
-
-
-
-
-T
-a
-c
-{
-p
-
-R
-
-
-
diff --git a/tb_modules.mk b/tb_modules.mk
index 4c3ddae..e69de29 100755..100644
--- a/tb_modules.mk
+++ b/tb_modules.mk
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2015 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.
-#
-
-DEFAULT_TB_DETECT_KERNEL_MODULES := \
- $(PRODUCT_OUT)/obj/lib_vendor/tb_detect.ko
-
-ifeq ($(wildcard hardware/amlogic/tb_modules/tb_detect.mk),)
-DETECT_IN=device/amlogic/common/tb_detect
-define tb-modules
-$(TB_DETECT_KO):
- mkdir -p $(PRODUCT_OUT)/obj/lib_vendor
- rm $(PRODUCT_OUT)/obj/lib_vendor/tb_detect.ko -f
- cp $(DETECT_IN)/tb_detect.ko $(PRODUCT_OUT)/obj/lib_vendor/tb_detect.ko -airf
- @echo "copy Amlogic TB Detect module from $(DETECT_IN) to $(PRODUCT_OUT)/vendor/lib/modules"
-endef
-else
-include hardware/amlogic/tb_modules/tb_detect.mk
-endif
diff --git a/tuner/32/avl6762_fe_32.ko b/tuner/32/avl6762_fe_32.ko
index e243e9a..e243e9a 100644..100755
--- a/tuner/32/avl6762_fe_32.ko
+++ b/tuner/32/avl6762_fe_32.ko
diff --git a/tuner/64/avl6762_fe_64.ko b/tuner/64/avl6762_fe_64.ko
index 084a4dc..084a4dc 100644..100755
--- a/tuner/64/avl6762_fe_64.ko
+++ b/tuner/64/avl6762_fe_64.ko
diff --git a/tuner/tuner.mk b/tuner/tuner.mk
index 1d83499..1d83499 100644..100755
--- a/tuner/tuner.mk
+++ b/tuner/tuner.mk
diff --git a/tuner/tuner_modules.mk b/tuner/tuner_modules.mk
index 991db61..991db61 100644..100755
--- a/tuner/tuner_modules.mk
+++ b/tuner/tuner_modules.mk
diff --git a/video_algorithm/dnlp/dnlp_alg_32.ko b/video_algorithm/dnlp/dnlp_alg_32.ko
deleted file mode 100755
index 1cb6cdd..0000000
--- a/video_algorithm/dnlp/dnlp_alg_32.ko
+++ b/dev/null
@@ -1,850 +0,0 @@
-ELF
-6A·C -L-
-
-@0` `lpp`
-@0@
-@0 @
-
-
-0#
-
-#H1 
-
-HA
-`Q MK
-00
-
-0S2
-
-
-
-
-
-
-
-
-
-8
-8
-@
-8
-
- R
-
- R
-
-=BA`80 @ @0f!
- 40@0
-?
-
-
-
-
-J #
-
-
-
-P 3@ 03 303 0D
-
-
-4
-
-`
-, K1 @
-  3,0K
-#
-
-# B
-
-
-
-
-
-
- $,0K 22A`F a3#121@C4
-
-$
-@
-
-/K@0
-
-
- 0
-@|<
- 8ʡ1  J 0C<4 ,K
-
-
-
-)
-@
-H2
-T
-D"?K1P
-@ldBA1P
- @0
- 
-
-
-
-
-
-
-!
-X
-
-
-@
-
-
-t8
-2
-0 
-0
-
-
-40
-00c
-
-04
-
-
-TJ#0
-
-#
-
-
-
-200
-
-
-
-
-
-
-
-
-
-
-0
-
-
- 0  B0
-
-
-0.Tȗ2Pl=@
-;
-:J##
-P12P#
-0@@#"K
-0|
-
-0
-9
-
-0
-l:2 `
-
-
- C
- "B
-
-2"1@b"@a!
-Tȗ5PC@lL 0N",#S50
-L42 ,T
-
-a
-# 
-
-T8
-2
-
-
-^0
-
-s
-
-PE2 LCA?2 0 1!c#b"5.0%#^)S9 N 0B18"0
-
-
-`
- c@0d
-`@0a
-K@
-
-
-$!
-<
-0
-
-
-
-
-
-#***down_cur::(index)%02d: (pLst) %4d => (down_cur) %4d(%4d)
-
-#---GmCvs2: BgnBnd(%d) pval(%d,luma_avg) EndBnd(%d)
-
-
-
-
-
-=====gma_s: [
-
-%d,%d,%d,%d,%d,%d,%d,%d,%d
-
-
-luma_avg4(255) = %d, sBgn_Bnd,end = [%d %d]
-
-
-idx= %d, left,right= [%d %d] => scurv_gain = %d
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-=====hist_raw: [
-
-
-
-
-xross_xidx =[
-xross_slop =[
-xross_ofst(org) =[
- xross_num = %3d
-
-
-
-
-
-
-## step 4.3.1 BWE : xidx = %2d, trend[%2d-1]= %4d,trend[%2d-2]= %4d
-
-
-
-
-
-**4.4.4.2:xidx=%2d,up_idx=%2d,xidx_prev=%2d,dn_idx=%2d,num_2_1_x[%d(%d-%d) %d(%d-%d) %d(%d-%d)]
-
-
-$$ 4.4.4.5:sub_x = sum_step_x_min-sum_step_x,sum_step_2(1),dlt_2(1),rat_2(1)
-$$ 4.4.4.5:%d= %d - %d,%d(%d),%d(%d), %d(%d)
-
-
-
-
-=====hist_lpf: [
-
-=====trend_32: [
-
-=====curv_nod: [
-
-
-
- Range[hstBgn %02d ~ hstEnd %02d] lAvg4=%d(%d),
-(crate /4096)=%d, tsum=%5d, cLmt=%3d, tAvg=%4d, sumshft=%d, norm14=%d
-
-[%02d:iHst=%5d,Hclip=%5d,bin_clip=%5d]:[sum_clp=%5d,j=%2d,tmp1=%6d,tmp2=%6d]%4d(45lin)+%5d(dlt_acc)=>%4d(C)],
-
-@@@get_clahe_curve(): clahe_gain_neg = %d,clahe_gain_pos = %d
-
-=====pre_0_gma: [
-
-=====clipped pre_0_gma: [
-
-=====clash_curve: [
-
-
-
-
-
-
-$$$curve_rfrsh_chk_v2():ScnDif[%d]: = %d
-
-*********************
-
- === nTstCnt= %d (in chg) ==
-
-
-$$$hstSum=%d,sumshft=%d,norm14=%d,ve_dnlp_luma_sum=%d
-
-
-
-
-
-**********************
-
-is_single_bin=%d, single_bin_count=%d, dnlp_scn_chg=%d
-
-
-
-
-
-
-
-
-
-
-
-
-#### refine_bin0()-2: [
-
-
-#### dnlp_inhist_tiir()-3: [
-
-
-
-
-
-
-
-
-
-(C_iir):[%d]: clash_curve[i]:%d,pgmma[i]:%d => nTmp0:%d(%d/%d)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#### gma_s_bld: [
-
-
-
-
-
-#### clsh_scv_bld: [
-
-
-
-
-#### BW_extent: [
-
-
-
-
-
-
-
-
-
-
-
- 
- 
- 
- 
- ,
-
- 
- ,
- 
- ,
- $
- 
- ,
- 
- ,
- 
- 
- ,
- 
- 
- 
- ,
- 
- ,
- 
- 
- ,
- 
- ,
-s8
-u8
-u16
-u32
-s64
-u64
-i
-
-'
- '
-/B
-C
-
-
-
-
-'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-j
-
-
-
-
-$
-6
-;
-
-
-
-
-
-
-
-
-
-
-j
-
-
-
-
-
-uJ
-
-
-N
-N
-N
-$
-
-j
-
-^
-^
-^
-
-%
-%
-%
-%
-
-
-j
-Im
-
-Im
-d
-r
-;
-r
-s
-s
-
-f
-s
-s
-s
-s
-vy
-
-
-
-
-
-
-
-
-
-
-K
-d
-d
-d
-d
-
-
-
-d
-
-
-
-
-
-
-
-
-d
-ӛ
-
-
-
-
-
-
-
-
-
-g*
-
-
-
-
-
-z
-N
-Y
-
-
-\
-
-
-O
-O
-O
-O
-O
-O
-O
-O
-B
-
-O
-B
-o
-?
-
-
-
-
- 
-
-6
-
-d
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-X
-{
-
-
-
-
-
-w
-
-
-
-O
-_
-M
-T
-
-
-
-6
-G
-x
-
-
-
-
-
-f
-
-
-
-4
-
-
-
-J
-K
-
-
-
-
-
-#
-B
-V
-
-
-
-,
-F
-e
-g
-{
-
-<
-G
-g
-R
-r
-
-}
-S
-
-
-
->!
-!
-
-7
-!
-!
-"
-"
-!
-"
-"
-
-y%
-&
-W&
-#
-&
-&
-&
-&
- '
-m&
-3
-O
-)
-4)
-)
-*
-q*
-/)
-g+
-_,
-,
-,
-,
-F-
-q-
--
--
--
-O
-(
-.
-N)
-.
-
-.
-.
-.
-/
-
-/
-
-1/
-&/
-B/
-7/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.u.0/0//////.2m.56y.52w. .x.02x.5-210h.5 .0t. .u./02/000q.532/0/0//0/u./ .0u./ .//u.//0//0///
-.BL,0,//b
-.vJ .f]J1+1c
-..o.q...[."Jm..1J5y./-/-i-/-M0 .[
-fZJIL3+--KlIRz.0,K-l
-.].\.r.
-.].\.lJP
-.].\.5fJ
-.0,0,f1+K0
-xhi
-xhi|j|..j.i+22G/0,0LJz.4z.4k.Jz.42v.4E .g..f..p.J-0/LKI0/
-wfR.-:.Hy*R+11N-/0QH
-.sf .v.//0/3
-.v.3ltJ-n.6)x.3M
-0,L=m
-./w.
-.-0 . .k. .
-.0t..40,PM
-.
-,0P
-:
-.u. 
-Ju.*
-.u.-+
-v. .v.
-.H//1u.44-k2Pz.*
-.v.3)21
-.t.0
-.y.6/t. ./r.31z.H6/-/-4gI JMc\<f.
-.v..
-A 
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-"
-H
-J
-U
-X
-Y
-Z
-b
-q
-z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/video_algorithm/dnlp/dnlp_alg_64.ko b/video_algorithm/dnlp/dnlp_alg_64.ko
deleted file mode 100755
index 9192ce0..0000000
--- a/video_algorithm/dnlp/dnlp_alg_64.ko
+++ b/dev/null
@@ -1,876 +0,0 @@
-ELF
-)@
-
-
-***
-*
-
-
-0
-
-
-
-Q
-{
-
-
-
-`
-`
-
-@RR
-
-)(7SA[BcC{Ĩ_ R*
-@*
-*X|_
-B
-!h`j
-*
-xrT
-
-K?
-
-Kk,
-K@@kS@-Tj
-kJ
-
-k9
-TT
-
-!
-k
-xrz2D
-**?*)
-*
-
-*
-O
-
-
-
-
-@~SL  US K @
-k
-@~S
-
-
-
-
-hf hehchd
-@)R_
-
-
-
-
-@q
-
-@s
-
-@#
-
-@
-
-k s 
-
-( w
-
-|@X)B
- _qRkIRBЀ*?
-
-:
-V
-b)R+))@D
-kk
-** *
-k@JQ?k}J}
-*:C 
-*@R**@@7b9@
-s
-
-@)cA)eB)C
-@)A)B)C
-@)A)B)C
-@)cA)eB)C
-@)cA)eB)C
-
-
-
-#***down_cur::(index)%02d: (pLst) %4d => (down_cur) %4d(%4d)
-
-#---GmCvs2: BgnBnd(%d) pval(%d,luma_avg) EndBnd(%d)
-
-
-
-
-
-=====gma_s: [
-
-%d,%d,%d,%d,%d,%d,%d,%d,%d
-
-
-luma_avg4(255) = %d, sBgn_Bnd,end = [%d %d]
-
-
-idx= %d, left,right= [%d %d] => scurv_gain = %d
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-=====hist_raw: [
-
-
-
-
-xross_xidx =[
-xross_slop =[
-xross_ofst(org) =[
- xross_num = %3d
-
-
-
-
-
-
-## step 4.3.1 BWE : xidx = %2d, trend[%2d-1]= %4d,trend[%2d-2]= %4d
-
-
-
-
-
-**4.4.4.2:xidx=%2d,up_idx=%2d,xidx_prev=%2d,dn_idx=%2d,num_2_1_x[%d(%d-%d) %d(%d-%d) %d(%d-%d)]
-
-
-$$ 4.4.4.5:sub_x = sum_step_x_min-sum_step_x,sum_step_2(1),dlt_2(1),rat_2(1)
-$$ 4.4.4.5:%d= %d - %d,%d(%d),%d(%d), %d(%d)
-
-
-
-
-=====hist_lpf: [
-
-=====trend_32: [
-
-=====curv_nod: [
-
-
-
- Range[hstBgn %02d ~ hstEnd %02d] lAvg4=%d(%d),
-(crate /4096)=%d, tsum=%5d, cLmt=%3d, tAvg=%4d, sumshft=%d, norm14=%d
-
-[%02d:iHst=%5d,Hclip=%5d,bin_clip=%5d]:[sum_clp=%5d,j=%2d,tmp1=%6d,tmp2=%6d]%4d(45lin)+%5d(dlt_acc)=>%4d(C)],
-
-@@@get_clahe_curve(): clahe_gain_neg = %d,clahe_gain_pos = %d
-
-=====pre_0_gma: [
-
-=====clipped pre_0_gma: [
-
-=====clash_curve: [
-
-
-
-
-
-
-$$$curve_rfrsh_chk_v2():ScnDif[%d]: = %d
-
-*********************
-
- === nTstCnt= %d (in chg) ==
-
-
-$$$hstSum=%d,sumshft=%d,norm14=%d,ve_dnlp_luma_sum=%d
-
-
-
-
-
-**********************
-
-is_single_bin=%d, single_bin_count=%d, dnlp_scn_chg=%d
-
-
-
-
-
-
-
-
-
-
-
-
-#### refine_bin0()-2: [
-
-
-#### dnlp_inhist_tiir()-3: [
-
-
-
-
-
-
-
-
-
-(C_iir):[%d]: clash_curve[i]:%d,pgmma[i]:%d => nTmp0:%d(%d/%d)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#### gma_s_bld: [
-
-
-
-
-
-#### clsh_scv_bld: [
-
-
-
-
-#### BW_extent: [
-
-
-
-
-
-
-
-
-
-
-s8
-u8
-u16
-s32
-u32
-s64
-u64
-
-
-b
- b
-/}
-C
-
-
-
-
-b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-%
--
-
-
-
-
-(
-)
-)
-)
-)
-^
-_
-_
-
-h
-s
-
-s
-h
-Is
-
-s
-z
-s
-s
-
-
--
-h
-h
-h
-h
-
-
-
-h
-
-
-}
-
-
-
-
-h
-
-
-
-
-
-g
-
-
-
-
- 
-,
-W
-
-
-K
-
-
- 
-
-O
-O
-O
-O
-O
-O
-O
-O
-
-
-O
-
-
-
-K
-
-K
-
-
-
-
-
-
-
-
-
-
-G
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-W
-j
-
-
-
-O
-*
-u#
-
-A#
-#
-
-^$
-o$
-$
-o%
-%
-&
-B&
-
-~&
-
-a
-'
-M)
-)
-)
-*
-+
-+
-+
-,
-%
-M,
-J+
-^,
-"
-z,
-~-
--
--
-;1
-F1
-
-
-9
-7
-B5
-
-5
-5
-9:
-X:
-
-:
-
-;
-<
-
-
-<
-<
-w<
-<
- =
-f=
-[>
-T?
-e?
-?
-tA
-@
-?
-?
-A
-A
-vC
-3D
-D
-D
-CF
-F
-G
-!I
-RG
-J
-K
-`L
-M
-L
-IN
-iN
-N
-N
-N
-N
-N
-N
-O
-YO
-5O
-O
-P
-P
-?P
-*P
-JP
-[P
-pP
-
-
-
-
-_V
-zV
-V
-W
-C[
- \
-+\
-\
-^
-^
-(^
-
-@C
-_^
-j^
-u^
-^
-S
-3Q
-^
-^
-^
-^
-^
-^
-^
-.0
-^
-^
-
-!_
-&_
-V
-7_
-i_
-i_
->N
-a
- b
-b
-b
-b
-b
-b
- c
-+b
-1c
-c
-c
-c
-c
-c
-4d
- d
-d
-e
-4e
-e
-e
-f
-e
-c
-0f
-Kf
-g
-3g
-`f
-Rg
-g
-{h
-h
-h
-h
-Ci
-
-h
-`
-!k
-,k
-j
-k
-k
-k
-k
-k
-O
-`
-
- h
-m
-O
-l
-/m
-:m
-Vm
-Em
- 
-lm
-am
-}m
-rm
-
-
- vJ
- =unJ.0"!!BvJ ..]#Xo
-t %j  m  #g /#!#" 0Y
- WZ.0%!B0&!.<4z<
-<",.)!X
-5>1
-40142|
- x
-<"
- t 0KLu5!
-<wX
- /!hXJw.
- !!m-!XX!!Dq=!/
- v<J>!?!?!>oX=sJ#X.00
-.
-<v4
-t
- #/??Z=//$ !!!!!1=//*4!!!! <"$-0"
- -|</+>!!!") .v.
- ;\I1'2.
- u ""; .z./"v (!//"y. .%P!"=-"!!!#y. .t. ;29 
- #u.
- /v  /u.
- u.&0";3$.!s "0#%MB&/ .?n 
-XQYX? .yX/.!0 <v<.N!*6v .//^!
-<uf xXꇇyXV<<y< y "!}MXF[ .iJvfoBM.dXm
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-AA  E
- 
- 
- A DB
- 
- 
- 
- 
- 
- A Dz
- 
- 
- _
- 
- v
- 
- 
- 
- 
- 
- w
- 
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-y
-
-f
-
-T
-
-
-
-
-?
-
-
-
-
-f
-i
-l
-l
-C
-
-
-
-C
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-+
-1
-H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Z
-
-
-
-
-
diff --git a/wifi.mk b/wifi.mk
new file mode 100644
index 0000000..0c26509
--- a/dev/null
+++ b/wifi.mk
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2012 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 hardware/amlogic/wifi/configs/wifi.mk
diff --git a/wifi_driver.mk b/wifi_driver.mk
new file mode 100644
index 0000000..2402208
--- a/dev/null
+++ b/wifi_driver.mk
@@ -0,0 +1,4 @@
+WIFI_MODULE ?= multiwifi
+
+multiwifi:
+ $(MAKE) WIFI_MODULE=$(WIFI_MODULE) -f hardware/amlogic/wifi/configs/wifi_driver.mk
diff --git a/wifi_modules.mk b/wifi_modules.mk
new file mode 100644
index 0000000..7c61e43
--- a/dev/null
+++ b/wifi_modules.mk
@@ -0,0 +1 @@
+-include hardware/amlogic/wifi/configs/wifi_modules.mk