author | Xindong 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) |
commit | e7f3563e57c26d0f22891778028bd13d6ec29eed (patch) | |
tree | 8e738c0060ff65fe47d39339e29caeb1159cd536 | |
parent | b7b1032e4c298537bfea8a64fa55195971b262c9 (diff) | |
download | common-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
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 @@ -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 (!##!!#KJv< - "Yg /$a0qJ -.S~..!fXBz (!##!!#KJv< - "Yg /$a0qJ -.S~..!fXA'!##!!#KJv< - "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 @@ -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 + + @@ -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;IjhiQspgjmfEBUB;0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0dqvjogp`nby`gsfr0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0inq`cpptu;20tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`njo`gsfr;9111110tzt0dmbtt0nqhqv0tdbmf`npef;40tzt0efwjdft0tztufn0dmpdltpvsdf0dmpdltpvsdf10dvssfou`dmpdltpvsdf;Ujnfs.Ltzt/pqujnj{bujpo/vj/ix;usvftzt/ibsexbsf/wtzod;usvfQLH;dpn/bouvuvdpn/sjhiuxbsf/uenn3w21kojgsfftpguxfh/ix/qfsgpsnbodfdpn/hmcfodinbsldb/qsjnbufmbct/hfflcfodi3dpn/fmmjtnbslpw/hqvcfodiqfsgpsnbodf/uftudpn/hsffofdpnqvujoh/mjoqbdldpn/espmf{/ocfoditf/ofobdpn/rvbmdpnn/ry/ofpdpsfdpn/bvspsbtpguxpslt/rvbesboudpn/tnbsucfodi/fmfwfodpn/qbttnbsl/qu`npcjmfdpn/fecvsofuuf/gqt3edpn/Cgjfme/DqvJefoujgjfsfv/dibjogjsf/dgcfodidpn/gvuvsfnbsl/enboespje/bqqmjdbujpodpn/rvjdjod/wfmmbnpdpn/IPUJDF/NpcjmfUftudpn/qduwuw/boespje/uutydpn/ffncd/dpsfnbsldpn/boespje/dn4dpn/qsjnbufmbctdpn/bsn/of21/efnpdpn/boespje/dut/pqfohm0/qsjnjujwf/HMQsjnjujwfBdujwjuzdpn/ubdufm/fmfdupqjbdpn/rrgsjfoetdpn/topxdpme/cfodinbsldpn/ofugmjy/ojokbNPEF;DqvMjnjufsGsfrEBUB;0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;711111QLH;dpn/bouvuv/uftufsNPEF;HqvGpsdfSfoefsEBUB;tzt/pqujnj{bujpo/vj/ix;usvfQLH;dpn/ufodfou/hbnf/sizuinnbtufsNPEF;DUTEBUB;tzt/wtzod/uzqf;ibsexbsfnfejb/pny/ws;usvfnfejb/bgcd/mjnju;2QLH;boespje/nfejb/dut0/EfdpefBddvsbdzUftuBdujwjuzboespje/wjfx/dut0/QjyfmDpqzWjefpTpvsdfBdujwjuzboespje/wjfx/dut0/tvsgbdfwbmjebups/DbquvsfeBdujwjuzdpn/hpphmf/boespje/fypqmbzfs/hut0/vujm/IptuBdujwjuzdpn/boespje/dut/wfsjgjfsdpn/esbxfmfnfout/efrqNPEF;FodpefsDUTEBUB;nfejb/pny/ejtqmbz`npef;1nfejb/pny/jotubodf/uftu;2QLH;boespje/nfejb/dut0/NfejbTuvcBdujwjuzNPEF;HqvIjhiQspgjmfEBUB;0tzt0dmbtt0nqhqv0tdbmf`npef;4QLH;dpn/esbxfmfnfout/efrqboespje/mfbocbdlkbol/dutboespje/mfbocbdlkbol/bqqdpn/boespje/tfswfs/dut/efwjdf/hsbqijdttubutboespje/wjfx/dut0/EjtqmbzSfgsftiSbufDutBdujwjuzboespje/pqfohmqfsg/dut0/HmQmbofutBdujwjuzdpn/ofugmjy/ojokb0/NbjoBdujwjuzNPEF;FodpefsHutUftuEBUB;nfejb/fodpefs/cjusbuf/uftu;2nfejb/pny/ejtqmbz`npef;20tzt0npevmf0ej0qbsbnfufst0czqbtt`bmm;2QLH;dpn/hpphmf/boespje/nfejb/hut
\ No newline at end of file +NPEF;IjhiQspgjmfEBUB;0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0dqvjogp`nby`gsfr0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0inq`cpptu;20tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`njo`gsfr;9111110tzt0dmbtt0nqhqv0tdbmf`npef;40tzt0efwjdft0tztufn0dmpdltpvsdf0dmpdltpvsdf10dvssfou`dmpdltpvsdf;Ujnfs.Ltzt/pqujnj{bujpo/vj/ix;usvftzt/ibsexbsf/wtzod;usvfnfejb/tg/pnywjefp.pqunj{f;2QLH;dpn/bouvuvdpn/sjhiuxbsf/uenn3w21kojgsfftpguxfh/ix/qfsgpsnbodfdpn/hmcfodinbsldb/qsjnbufmbct/hfflcfodi3dpn/fmmjtnbslpw/hqvcfodiqfsgpsnbodf/uftudpn/hsffofdpnqvujoh/mjoqbdldpn/espmf{/ocfoditf/ofobdpn/rvbmdpnn/ry/ofpdpsfdpn/bvspsbtpguxpslt/rvbesboudpn/tnbsucfodi/fmfwfodpn/qbttnbsl/qu`npcjmfdpn/fecvsofuuf/gqt3edpn/Cgjfme/DqvJefoujgjfsfv/dibjogjsf/dgcfodidpn/gvuvsfnbsl/enboespje/bqqmjdbujpodpn/rvjdjod/wfmmbnpdpn/IPUJDF/NpcjmfUftudpn/qduwuw/boespje/uutydpn/ffncd/dpsfnbsldpn/boespje/dn4dpn/qsjnbufmbctdpn/bsn/of21/efnpdpn/boespje/dut/pqfohm0/qsjnjujwf/HMQsjnjujwfBdujwjuzdpn/ubdufm/fmfdupqjbdpn/rrgsjfoetdpn/topxdpme/cfodinbsldpn/ofugmjy/ojokbNPEF;DqvMjnjufsGsfrEBUB;0tzt0dmbtt0uifsnbm0uifsnbm`{pof10npef;ejtbcmfe0tzt0dmbtt0uifsnbm0uifsnbm`{pof20npef;ejtbcmfe0tzt0efwjdft0tztufn0dqv0dqv10dqvgsfr0tdbmjoh`nby`gsfr;711111QLH;dpn/bouvuv/uftufsNPEF;HqvGpsdfSfoefsEBUB;tzt/pqujnj{bujpo/vj/ix;usvfQLH;dpn/ufodfou/hbnf/sizuinnbtufsNPEF;DUTEBUB;tzt/wtzod/uzqf;ibsexbsfnfejb/pny/ws;usvfnfejb/bgcd/mjnju;2QLH;boespje/nfejb/dut0/EfdpefBddvsbdzUftuBdujwjuzboespje/wjfx/dut0/QjyfmDpqzWjefpTpvsdfBdujwjuzboespje/wjfx/dut0/tvsgbdfwbmjebups/DbquvsfeBdujwjuzdpn/hpphmf/boespje/fypqmbzfs/hut0/vujm/IptuBdujwjuzdpn/boespje/dut/wfsjgjfsdpn/esbxfmfnfout/efrqNPEF;FodpefsDUTEBUB;nfejb/pny/ejtqmbz`npef;1nfejb/pny/jotubodf/uftu;2QLH;boespje/nfejb/dut0/NfejbTuvcBdujwjuzNPEF;HqvIjhiQspgjmfEBUB;0tzt0dmbtt0nqhqv0tdbmf`npef;4QLH;dpn/esbxfmfnfout/efrqboespje/mfbocbdlkbol/dutboespje/mfbocbdlkbol/bqqdpn/boespje/tfswfs/dut/efwjdf/hsbqijdttubutboespje/wjfx/dut0/EjtqmbzSfgsftiSbufDutBdujwjuzboespje/pqfohmqfsg/dut0/HmQmbofutBdujwjuzdpn/ofugmjy/ojokb0/NbjoBdujwjuzNPEF;FodpefsHutUftuEBUB;nfejb/fodpefs/cjusbuf/uftu;2nfejb/pny/ejtqmbz`npef;20tzt0npevmf0ej0qbsbnfufst0czqbtt`bmm;2QLH;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 deK+og[op_t+]%ˮG=&g;bx쵊)>\q - + W<t߮xxص9:ڻt=vĪOu#rf1åQ٠@y]Qܫ[ߵuMvyQߐhcsm6t5 qʟ3}O_Z}eU?ƕ3aj-@>lqǜ㍓˙0JcJ - + IDATx}\غjsetY)[2ÊkzV,Xk0b#X4b\ hfQk0+Jv{Pjw_=~W꽾^G~_Ρ{ - + vz931 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ڕNGix 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- EkTCGQ~{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>voNO7H QҪe kdjUXFƩ*/ (V
Oy*o}/8 ~v
gb_VR@CoE'.%.YU'_5Ύؽu?!JqI?2;E(k{d?˄M6gZƍ*~蓑jS+mgMd?jMU:ʸ - + [EEF;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~9Dflwgj5sВ'^Ǐ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<~.zweONwcu1&踿-ٿ_Δ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ӖoxAxғ^[`#ي~OmN)$%mʖq߫gBz⽋EEM9~:lhpCp}qJ y^if>jv&m!zst®ߞ~islҋu]&jvd.mZO^'g_k'+Ϯy~&zd?Q|oʣuz_ʺ'ϵ3uߪ?]~jq<{'~<r*\DYquS_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 @@ f6mwKmo=#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_돱wU7nr&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ջvuZZcذֺ^@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=wSZި,\.ӚGh_[%fGس?4?=@}FyTDS8<!٢"/)>h+<䍜<?n?y+=S֗{+ji82r <nC@Qy6cXm)5dge,oQԀz_HE$䅬uL=MgѡuNT{naZ~yNw==:{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?IFFLPyhg'~2]{ER.E}yyPou\ ~:b|u - + \ZΌ~'ڠEՎ#K
v>ZاUe.ϔWHcȄ 㴛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)OEo˖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۶W3jMkvW=͆/|$<YcopS(qċҚ.<pc98\lk[Y7c=d9siYƗ4Ue4,ǽ8!+jUaö+úek0ۓ&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'=>z9:4__1k+>~\i;X#nLzg3я )M{@97Qy&KF{|:ϷƏTz`.۴#m+p~q_7 /=+LE]BS)&HdnYd+2{K3G}sxK}+س>n|xۚASwޟvF^A4Z(Nٟ-}\y{xG^>-@Q`d?|iœ'?mW7cR(ާ
d?N,mgs=%ɰ;㵧Rco>8.M/i6Obbf?1? - + UjM^.$XXjdMz~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=nr8YQyiKuOkyɵ_YƍBٯ'ժ8lh>ʇ!}n0'o/v0PڹOiE6T>GReX͖߭~_M7?o~B[ @@ -254,7 +253,7 @@ I=o34yML)ω@lcȟ@Y^O3~VWted56e^ٻ} gFiZ!
\ ~ٶ^Z^=^lz֛ Q8( - + 凴in8iu5}P8RXw7a|9ہ S]%?P.]rylX:Ac* @@ -275,7 +274,7 @@ jg{/7~}2Vkd'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~}2Vkd'SB 7#,O+8냻O13ƵYr_zJYĝuzeG>jmZBZL,e L5a?R\n*)k=ұk@xoZBL8DTo$Wڬߞ+˨]FF t?ٯW!ϥvz<y1V_ikϕ_:Ȯvyznw ћjѰI - + 9)wsh4Ocψ+_8=1 @@ -297,22 +296,22 @@ jg{/7~}2Vkd'SB oqCroyV\1gI<.JM& T#p_|' >2f - + - + - + - + |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ؖߊWOh6>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[\?7CV: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ʸԿIkq~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! jQ1g~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~*EsR, @@ -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*7pGd {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ܯە3jfpLJw_S7+^"
~22u*
%Kv,~Zx!L.5I_<sw$[ZO1DG9g`3ˇyoɛmu|۱;FI~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ܯە3jfpLJw_S7+^"
~22u*
%Kv,~Zx!L.5I_<sw$[ZO1DG9g`3ˇyoɛmu|۱;FI~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{W3v =ļ~|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/rtyThz<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&La`&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ҜTXe(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ʗoJkW3v =ļ~#oW7ќ;OHRsɿmzMOSu_|u&3|o8[o;ndI-d|7Ice_Պ.+ ],:ø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 e6O[a_wkx~
V1_JfЩWﰠOl?}AmݻDMA_3P;3\hmi?еOE7oI:L>T,sL9GiTUdz~~_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۳cXo-Bbڵ;v3✺_Q'w~N ?զ^XGQ:^(443 \w=ſ&Q磗{X*uG;S0.룉(WGzr5It*]?7mw}8TikyVou[IFt
S_{imc.,R+(˶h-OaOT#*_ӫ tT6; 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.|naee4M쯨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~sm0l/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~if6lM-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慤kt\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*UKJJJ gΜ4ω ^J:G *o~С{̘1CI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U:'?Om_wf3Г;jsG *M322ر÷v - + Hr+X\;\A\& @@ -1304,7 +1303,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*UKJJJ gΜ4ω ^J:G *o~С{̘1CI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U:'?Om_wf3Г;jsG *M322ر÷v - + Hr+X\;\A\& @@ -1364,7 +1363,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*UKJJJ gΜ4ω ^J:G *o~С{̘1CI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U:'?Om_wf3Г;jsG *M322ر÷v - + Hr+X\;\A\& @@ -1424,7 +1423,7 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*UKJJJ gΜ4ω ^J:G *o~С{̘1CI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U:'?Om_wf3Г;jsG *M322ر÷v - + @@ -1485,12 +1484,11 @@ yܹ<GR'7<o:u*YYY4&9s&S2@vj*UKJJJ gΜ4ω ^J:G *o~С{̘1CI1{#J>$ӦM\ꫯ>;߈וN:jp4 11PFUPN=z=Z3g0`o$SL}37|Q#9N4X4U:'?Om_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Ժukn8hRΝ;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?>=7rJ5mty~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|{Nh?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-
TZ3%(Ml*hLjO416o4s/rX @A?,!~,M?
bson
sX)+WL/ѣGOѢ=TN4-oyR@؟ 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ӹsjmVu~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 @@ dCG94SR* 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 0cr.ڌ7Kڄ"5?%R=#p:S?ﴟ7+69φ
MB7GI٠§@ >#̙e+#چz;2}a^4x-lP'0
?99J**IA5N2n+Lj6 {III=GXl#a9ԩS#TSP馮Zf1O_iD%4
ڃ4zm#e?,eZQ?쳅0s;555U{BN2W|7W^yev\\tEB!?߷t 3ؤT:hɒ%fVmaF<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ǏOzIaGίB
p~Qx J{L?~M .Q߾}Nʂe&h\.?vX",4i˯8;05>q,ꫯEo?͛444Qſ ƑG9|p6Pc"|_憉ܵ|OlU\\̆süpF1bUWZſv&{O(RH~
&af~,l`Cn?PRtU0ov ϟӟ"vN9O?TӍ~wϞYU6
]Ehkkg_RdF - + ;e9@EGrP;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;x6qґBZ_U j%h묠$M @@ -2173,7 +2171,7 @@ G÷0ᄊ#9=LvBq~A*\PGuԍ7Y0=CC @݀Ja^4>'Nda({&jbYg
nرW_}5K/4~G}Alg;3$P?V2k'z챨LX>eʔŋn}ݗɓ'CTTT0AbW?
r)*3;dtܹzU{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?vlk
<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:NX2tͬ,ְ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ԘgcA7Ew}7믿fzqmxyAY^+)6($ӦMƒ#+#Y={jwGqԽ{I&ywygs̋+܃K{fl#pKB>L_|EqΕ^ziӦM7$ʔ)St5prзo_\;Itbkdg(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/!!9aILS9P=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.ZqP$ʵ}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{={6bո"h\:.@?vXnP lBapN<)imm5裏hڟ%N%`cC2n&_z^zPs̟??.!9aILS9P'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\KFEz5me?i= ;VlsxnMdqܥAƏIF^|Ϻ2LX.
:;O7o6's_"Eطen&&:z SE%/Jhp@r_eQƴ?gDrw|WJtx#I<Fx ooVmNf_4)ovn^$ @@ -2403,7 +2401,7 @@ nyk_ppc}GZ1nЛRUURYB{gta|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̝AST9k'<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ڽ)S4(336);~?S.~_hҦM-[cE}wNo.B֭в2z]ZU;z - + d̓6Ymڵջrr2SW{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<Ca |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~ajRg3ы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ߗ▒{qTc.̝;NU믿ޒ槟~Cp!o#~} !|MC= - + -!
DCڪRRT% @@ -2574,7 +2572,7 @@ Z147M$ެەK
Ү}7?crNš;÷̾&&}^wզu}^z>O[> ;ִźiӦs=rIx5?~>GO=#?/2u fgA'-GqĢEe˖;yرc|6P_><5ٴiYcd7|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[ۄnS7tй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]$l9s;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+Xjlkv=O<Dny&ٳ$o B֎t/G'5dT}'MnSIbTc^/!!n_aRUH45h?|c8#p賆:҄">v{UnjN3|j[8IVih?}6o<vXKVT'NE1c;{Q*'TPO;4 %K\}q▜⋹Tc.>̙3NUnRƍi\+x}eҥw - + vŽj=b~fDhרEoΗܣ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[mڴM38C¼&֭ÇUgIcmٲ_ᣏ>6i$իIF MjT0`r.ڌ7Kڄ뮻O5?ڥz4$P=4¡/n~RYɹ|֮]o*[>555ZU>Ȍ|>=g6|@ [9_64 ڑNlZj?4~*)C҂j՝5$-Lju1mkvF333?z|C
ڏ>ױ`tGP5w
T"}6H7u-0GO7iDj
hJFuѣG[ʴ6"L6L}1V 瞫cYd
7~i,n>W^yje][:3g٩6{뭷Zl6>G@,]46fU;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ׯ߲e7H/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$M5z 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}Gw~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_myyQ ?= - + ўRFR6EymD* @@ -3051,7 +3049,7 @@ hW\p_7o<}c^tEa{Z%⬡J+o9cohIZDj'lִ 8dI:(۰aQx@ց?#)q.-U{{m8oI&}K,Osb̘1)3gwgyAShM72:p7yd}Uoz7LRRRbؒ4Yz*IEpC2 O͟??5l!۷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ի&?/f7xC'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_ÆxNETCPǞ'nƓO>Y\端b>Ee4lXgCI)ҊĈǏ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~z9?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ȈwSAk(kCQ71zh2z9sL8]XĕU>!dkB|&^۷oCYYfn7k'?~|߾}iFSSSy^ߵ|4W+_hCCϳ:K¼&ׯ_mm* 'x"//O>6}tͧIGPR'܇_Џɵ|h]]]B}t{?3JHUL$zdh^_p]p_}^F=`;wfcUMaP>oƍERdFn7/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ߵkKsr$<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ڵkG222Ts3Ȁ&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#vNC?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 "^WFKSYYYLe1k+-ӧOfy+8b̙#x?3RdꫯـX#g,sb_}y`QqU!=TWW˜e~aǼRؕ+j2S! .(==}ڴïwAkHC52cȑ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/23gLq㎠RlljC#~} E,YP@
f3vB:`|MM̈́ x vEx5`wdO?4Cϳ^OO鏦믿$r)FXS{q7w\=;oNbF>\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 @@ jFH8Nt~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흆EBlBzjWXordlꫯ\q_pB>:5 a! - + s=Ű05Oŀ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ڙIfQMIL֭G;eʔ.]@ٷo ~MmUV^}J3G35kPWzg}6?;DkBT~Ǐ'ܹԩS$ҥKǏ߰aڸUHq^wu/.T?nF^˶mFK=D4HhvJQƍIںu,Znݺ9~jkl˷C2I՚7oNWHH9qhZlI*]z뭦gH|+/PmݺuWIQn:>>>++:pȪ#dI +zNDW8[ڻwڵk-fQԦVZrQ5))f͚tҌ۷o7ՎVQ:=}:CMD߾}B&}NݻgyN^:djRSSY7Qag b! - + R"BIHHL6e씽'Hfgܹs{ι @@ -3742,7 +3740,7 @@ _
6BEM?hРq]|ō5jvܹfz5?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$>,=ә3guW}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ڙIfQMIL֭G;eʔ.]@ٷo ~MmUV^}J3G35kPWzg}6?;DkBT~Ǐ'ܹԩS$ҥKǏ߰aڸUHq^wu/.T?nF^˶mFK=D4HhvJQƍIںu,Znݺ9~jkl˷C2I՚7oNWHH9qhZlI*]z뭦gH|+/PmݺuWIQn:>>>++:pȪ#dI +zNDW8[ڻwڵk-fQԦVZrQ5))f͚tҌ۷o7ՎVQ:=}:CMD߾}B&}NݻgyN^:djRSSY7Qag -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 # - - - -P3@ 033030D - - -4 - -` -, K1 @ - 3,0K -# - -# B - - - - - - -$,0K 22A`Fa3#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 - -PE2LCA?20 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 - - - - -@~SLUS
K @ -k -@~S - - - - -hf hehchd -@)R_ - - - - -@q - -@s - -@# - -@ - -ks - -( 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 .//^! -<ufxXꇇ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 - - - - - @@ -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 |