summaryrefslogtreecommitdiff
authorTellen Yu <tellen.yu@amlogic.com>2019-05-06 08:29:26 (GMT)
committer Xiaoliang Wang <xiaoliang.wang@amlogic.com>2019-05-14 09:48:05 (GMT)
commit28f3dfb1b0a70178babd03b38d678a968fa942dd (patch)
treece3f4d8726e8b536be52e5190eac0393d47749d9
parent170b7a309faa68d614302a5e98cfab00b518e7a0 (diff)
downloadcommon-28f3dfb1b0a70178babd03b38d678a968fa942dd.zip
common-28f3dfb1b0a70178babd03b38d678a968fa942dd.tar.gz
common-28f3dfb1b0a70178babd03b38d678a968fa942dd.tar.bz2
common: sync code from openlinux tree [1/5]
PD#SWPL-8126 Problem: openlinux cherry-picked some CLs from mainline. and fixed some bugs. For example, S905D3 is only enabled 2 CPUs. fastboot flash issues.etc. Solution: sync code from openlinux tree Verify: verify in on franklin and fermi Change-Id: I797f048dafa04dfe96bbf82834fa2ea9e82864b1 Signed-off-by: Xiaoliang Wang <xiaoliang.wang@amlogic.com>
Diffstat
-rwxr-xr-xarm_isp_modules.mk31
-rwxr-xr-xaudio.mk4
-rwxr-xr-xcore_amlogic.mk2
-rwxr-xr-xfactory.mk10
-rwxr-xr-xinit.amlogic.media.rc5
-rwxr-xr-xmedia.mk24
-rwxr-xr-xnpu_modules.mk125
-rwxr-xr-xproducts/mbox/init.amlogic.system.rc25
-rwxr-xr-xproducts/mbox/product_mbox.mk4
-rwxr-xr-xproducts/mbox/ueventd.amlogic.rc3
-rwxr-xr-xproducts/tv/product_tv.mk5
-rw-r--r--sepolicy/file.te4
-rwxr-xr-x[-rw-r--r--]sepolicy/file_contexts22
-rwxr-xr-x[-rw-r--r--]sepolicy/hal_audio_default.te13
-rwxr-xr-xsepolicy/hal_camera_default.te2
-rwxr-xr-xsepolicy/hwservice.te1
-rwxr-xr-xsepolicy/hwservice_contexts1
-rwxr-xr-xsepolicy/hwservicemanager.te5
-rw-r--r--sepolicy/mediaserver.te22
-rwxr-xr-xsepolicy/miracast_hdcp2.te31
-rwxr-xr-xsepolicy/netd.te4
-rwxr-xr-xsepolicy/property.te1
-rwxr-xr-x[-rw-r--r--]sepolicy/property_contexts1
-rwxr-xr-xsepolicy/service.te1
-rwxr-xr-xsepolicy/service_contexts1
-rw-r--r--sepolicy/system_app.te7
-rwxr-xr-x[-rw-r--r--]sepolicy/system_server.te2
-rwxr-xr-xsepolicy/tee.te12
-rwxr-xr-x[-rw-r--r--]sepolicy/untrusted_app.te1
-rwxr-xr-xsepolicy/vendor_init.te1
-rwxr-xr-xsoftware.mk3
31 files changed, 334 insertions, 39 deletions
diff --git a/arm_isp_modules.mk b/arm_isp_modules.mk
new file mode 100755
index 0000000..d04c034
--- a/dev/null
+++ b/arm_isp_modules.mk
@@ -0,0 +1,31 @@
+MODS_OUT := $(shell pwd)/$(PRODUCT_OUT)/obj/lib_vendor
+ARM_ISP_MODULES := $(shell pwd)/$(PRODUCT_OUT)/obj/arm_isp_modules
+
+
+$(shell rm $(ARM_ISP_MODULES) -rf)
+$(shell mkdir $(ARM_ISP_MODULES) -p)
+ARM_ISP_DRIVERS := $(TOP)/vendor/amlogic/common/arm_isp/driver/linux/kernel
+$(shell cp $(ARM_ISP_DRIVERS)/* $(ARM_ISP_MODULES) -rfa)
+
+BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp.ko
+BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp_iq.ko
+BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp_lens.ko
+BOARD_VENDOR_KERNEL_MODULES += $(PRODUCT_OUT)/obj/lib_vendor/iv009_isp_sensor.ko
+
+KDIR := $(shell pwd)/$(PRODUCT_OUT)/obj/KERNEL_OBJ
+
+define arm_isp-modules
+ $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/v4l2_dev \
+ ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
+
+ $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/subdev/iq \
+ ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
+
+ $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/subdev/lens \
+ ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
+
+ $(MAKE) -C $(KDIR) M=$(ARM_ISP_MODULES)/subdev/sensor \
+ ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(PREFIX_CROSS_COMPILE) modules
+
+ find $(ARM_ISP_MODULES) -name *.ko | xargs -i cp {} ${MODS_OUT}
+endef
diff --git a/audio.mk b/audio.mk
index c7614ef..211c994 100755
--- a/audio.mk
+++ b/audio.mk
@@ -42,7 +42,9 @@ 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/core_amlogic.mk b/core_amlogic.mk
index dbb7aa4..0772f51 100755
--- a/core_amlogic.mk
+++ b/core_amlogic.mk
@@ -184,7 +184,6 @@ endif
ifeq ($(TARGET_BUILD_LIVETV), true)
PRODUCT_PACKAGES += \
libjnidtvepgscanner \
- LiveTv \
libtunertvinput_jni
endif
@@ -258,6 +257,7 @@ PRODUCT_PACKAGES += libomx_av_core_alt \
libOmxAudio \
libHwAudio_dcvdec \
libHwAudio_dtshd \
+ libdra \
libthreadworker_alt \
libdatachunkqueue_alt \
libOmxBase \
diff --git a/factory.mk b/factory.mk
index 1f3ce07..3a3b92b 100755
--- a/factory.mk
+++ b/factory.mk
@@ -367,13 +367,19 @@ 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) $(basename $(1)) $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR) $(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)
@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) $(basename $(1)) $(PRODUCT_AML_SECUREBOOT_RSAKEY_DIR) $(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)
@echo ----- Made aml secure-boot singed bin v3: $(1) --------
endef #define aml-secureboot-sign-bin
else #follows secureboot v2
diff --git a/init.amlogic.media.rc b/init.amlogic.media.rc
index b13eade..008fde8 100755
--- a/init.amlogic.media.rc
+++ b/init.amlogic.media.rc
@@ -24,11 +24,6 @@ on fs
insmod /vendor/lib/modules/encoder.ko
insmod /vendor/lib/modules/vpu.ko
-
-on property:vendor.media.sync.limit=1
- write /sys/module/amvideo/parameters/omx_pts_interval_lower "-2200"
- write /sys/module/amvideo/parameters/omx_pts_interval_upper "4500"
-
service tee_preload_fw /vendor/bin/tee_preload_fw
class core
user root
diff --git a/media.mk b/media.mk
index 4cad7f3..3356f81 100755
--- a/media.mk
+++ b/media.mk
@@ -54,6 +54,10 @@ 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
@@ -103,7 +107,10 @@ TARGET_WITH_AMNUPLAYER :=true
endif
-
+ifeq ($(TARGET_WITH_RETRIEVER_EXT), true)
+PRODUCT_PACKAGES += \
+ libmetadataretriever_ext
+endif
#########################################################################
#
@@ -282,6 +289,21 @@ 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/npu_modules.mk b/npu_modules.mk
new file mode 100755
index 0000000..14a112d
--- a/dev/null
+++ b/npu_modules.mk
@@ -0,0 +1,125 @@
+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/products/mbox/init.amlogic.system.rc b/products/mbox/init.amlogic.system.rc
index 9250b79..d64982a 100755
--- a/products/mbox/init.amlogic.system.rc
+++ b/products/mbox/init.amlogic.system.rc
@@ -136,11 +136,25 @@ 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
@@ -214,6 +228,8 @@ 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
@@ -225,10 +241,16 @@ on boot
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
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
@@ -425,9 +447,6 @@ 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
diff --git a/products/mbox/product_mbox.mk b/products/mbox/product_mbox.mk
index 37b17a2..40fbe35 100755
--- a/products/mbox/product_mbox.mk
+++ b/products/mbox/product_mbox.mk
@@ -152,4 +152,6 @@ DISPLAY_BUILD_NUMBER := true
#BOX project,set omx to video layer
PRODUCT_PROPERTY_OVERRIDES += \
- media.omx.display_mode=1 \ No newline at end of file
+ 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 174e1ff..a7b76e2 100755
--- a/products/mbox/ueventd.amlogic.rc
+++ b/products/mbox/ueventd.amlogic.rc
@@ -41,6 +41,9 @@
/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/tv/product_tv.mk b/products/tv/product_tv.mk
index 9755597..36cbdf4 100755
--- a/products/tv/product_tv.mk
+++ b/products/tv/product_tv.mk
@@ -76,6 +76,11 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
OTAUpgrade
+ifeq ($(BUILD_WITH_MIRACAST), true)
+PRODUCT_PACKAGES += \
+ Miracast
+endif
+
#Tvsettings
PRODUCT_PACKAGES += \
TvSettings \
diff --git a/sepolicy/file.te b/sepolicy/file.te
index 9474956..0d99c9e 100644
--- a/sepolicy/file.te
+++ b/sepolicy/file.te
@@ -48,6 +48,8 @@ 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;
@@ -75,7 +77,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, core_data_file_type;
+type hdcp_file, file_type, 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 cc27eae..8d8cd04 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/misc/hdcp u:object_r:hdcp_file:s0
+/data/vendor/hdcp(/.*)? u:object_r:hdcp_file:s0
/dev/amaudio_.* u:object_r:audio_device:s0
/dev/amaudio2_out u:object_r:audio_device:s0
@@ -24,6 +24,8 @@
/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
@@ -127,13 +129,21 @@
/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/hidraw(/.*)? 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
@@ -192,9 +202,9 @@
/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/amhdmitx/amhdmitx0/hdmi/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
@@ -259,6 +269,8 @@
#/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
diff --git a/sepolicy/hal_audio_default.te b/sepolicy/hal_audio_default.te
index ec83dba..512f4ec 100644..100755
--- a/sepolicy/hal_audio_default.te
+++ b/sepolicy/hal_audio_default.te
@@ -22,23 +22,12 @@ allow hal_audio_default sysfs_aud_output_chs:file { open read write };
allow hal_audio_default sysfs_aud_output_chs:file { read write open };
allow hal_audio_default remotecontrol_hwservice:hwservice_manager find;
allow hal_audio_default sysfs:file { open read write };
+allow hal_audio_default device:dir read;
allow hal_audio_default uio_device:chr_file { open read write };
allow hal_audio_default system_app:binder call;
allow hal_audio_default tv_prop:file { read getattr open };
allow hal_audio_default hidraw_audio_device:chr_file { create read write open ioctl};
-allow hal_audio_default sysfs_audio:file rw_file_perms;
-allow hal_audio_default sysfs_audio:dir r_dir_perms;
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};
-#[SEI-zhaopf-2018-12-18]add for hbg remote {
-allow hal_audio_default sysfs:dir { open read };
-allow hal_audio_default vendor_data_file:dir { add_name remove_name write };
-allow hal_audio_default vendor_data_file:lnk_file { read };
-allow hal_audio_default vendor_data_file:file { create read open setattr unlink};
-#allow hal_audio_default hidraw_audio_device:chr_file { create read write open ioctl};
-#allow hal_audio_default device:dir{ read };
-#allow hal_audio_default default_prop:file{ read };
-#[SEI-zhaopf-2018-12-18]add for hbg remote }
-
diff --git a/sepolicy/hal_camera_default.te b/sepolicy/hal_camera_default.te
index cd52269..422a6f2 100755
--- a/sepolicy/hal_camera_default.te
+++ b/sepolicy/hal_camera_default.te
@@ -3,3 +3,5 @@ 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/hwservice.te b/sepolicy/hwservice.te
index 27188b0..be7a72b 100755
--- a/sepolicy/hwservice.te
+++ b/sepolicy/hwservice.te
@@ -4,3 +4,4 @@ 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 9daa08b..8a19e0b 100755
--- a/sepolicy/hwservice_contexts
+++ b/sepolicy/hwservice_contexts
@@ -4,3 +4,4 @@ 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 65bc9f8..932ce53 100755
--- a/sepolicy/hwservicemanager.te
+++ b/sepolicy/hwservicemanager.te
@@ -22,3 +22,8 @@ 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/mediaserver.te b/sepolicy/mediaserver.te
index 91f43d1..366d204 100644
--- a/sepolicy/mediaserver.te
+++ b/sepolicy/mediaserver.te
@@ -14,4 +14,24 @@ 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
new file mode 100755
index 0000000..9d89e1f
--- a/dev/null
+++ b/sepolicy/miracast_hdcp2.te
@@ -0,0 +1,31 @@
+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 d948f03..777fe9b 100755
--- a/sepolicy/netd.te
+++ b/sepolicy/netd.te
@@ -9,3 +9,7 @@ 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/property.te b/sepolicy/property.te
index 5a32adb..121fd35 100755
--- a/sepolicy/property.te
+++ b/sepolicy/property.te
@@ -11,3 +11,4 @@ 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 f9e5e44..050191c 100644..100755
--- a/sepolicy/property_contexts
+++ b/sepolicy/property_contexts
@@ -27,3 +27,4 @@ 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
diff --git a/sepolicy/service.te b/sepolicy/service.te
index 010ffc8..09ea8ac 100755
--- a/sepolicy/service.te
+++ b/sepolicy/service.te
@@ -8,3 +8,4 @@ type screenmediasource_service, service_manager_type;
type tee_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 1e94f44..a68db11 100755
--- a/sepolicy/service_contexts
+++ b/sepolicy/service_contexts
@@ -9,3 +9,4 @@ 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/system_app.te b/sepolicy/system_app.te
index 46fa0cc..c9fd6fe 100644
--- a/sepolicy/system_app.te
+++ b/sepolicy/system_app.te
@@ -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 };
+allow system_app sysfs_video:file { getattr open read write };
allow system_app sysfs_clock:file { getattr open read };
@@ -75,3 +75,8 @@ 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 };
diff --git a/sepolicy/system_server.te b/sepolicy/system_server.te
index 2396525..f1d77bb 100644..100755
--- a/sepolicy/system_server.te
+++ b/sepolicy/system_server.te
@@ -27,10 +27,8 @@ allow system_server wifi_data_file:dir rw_dir_perms;
allow system_server wifi_data_file:file { read create };
allow system_server sysfs:file { getattr };
-allow system_server sysfs:dir r_dir_perms;
allow system_server sysfs_rtc:file { read write open getattr };
-r_dir_file(system_server, sysfs_hdmi)
allow system_server sysfs_hdmi:file { read write open getattr };
allow system_server sysfs_display:lnk_file { read write open getattr };
diff --git a/sepolicy/tee.te b/sepolicy/tee.te
index 1a6775e..8dfa6fa 100755
--- a/sepolicy/tee.te
+++ b/sepolicy/tee.te
@@ -1,5 +1,7 @@
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 };
@@ -18,3 +20,13 @@ 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 01369d5..9653e15 100644..100755
--- a/sepolicy/untrusted_app.te
+++ b/sepolicy/untrusted_app.te
@@ -7,4 +7,3 @@ allow untrusted_app vendor_file:file { read open getattr };
allow untrusted_app debugfs_mali:dir search;
get_prop(untrusted_app, netflix_prop)
-get_prop(untrusted_app_27, netflix_prop)
diff --git a/sepolicy/vendor_init.te b/sepolicy/vendor_init.te
index 5a83f01..ab6fa66 100755
--- a/sepolicy/vendor_init.te
+++ b/sepolicy/vendor_init.te
@@ -41,3 +41,4 @@ 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/software.mk b/software.mk
index ba5a9d5..4d80c64 100755
--- a/software.mk
+++ b/software.mk
@@ -34,8 +34,7 @@ endif
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.app.rotation=original \
- media.amplayer.widevineenable=true \
- vendor.media.sync.limit=1
+ media.amplayer.widevineenable=true
#WITH_DEXPREOPT := true
#WITH_DEXPREOPT_PIC := true