diff options
author | Praneeth Bajjuri <praneeth@ti.com> | 2017-04-18 17:56:24 -0500 |
---|---|---|
committer | Praneeth Bajjuri <praneeth@ti.com> | 2017-04-18 17:56:43 -0500 |
commit | 907885547ca9092626792b237c40252828153d26 (patch) | |
tree | 02ab894fd44560d3412f0e081dcc79357e638f45 | |
parent | 08aa0e5de0de0816278bd305db9a2c9753b9dee9 (diff) | |
parent | c4917e6db5cea16cc6cefbaeee128ae1bf6acf62 (diff) | |
download | am57xevm-907885547ca9092626792b237c40252828153d26.tar.gz |
Merge branch 'd-marshmallow-mr3-release' into d-nougat-release
* d-marshmallow-mr3-release: (33 commits)
am57xevm: update reference kernel to 4.4.59
am57xevm: Update recovery UI format to BGRA
media_codecs.xml: Add max number of concurrent instance support
media_codecs.xml: define the max input buffers for encoder
am57xevm: Enable PRU Ethernet on IDK boards
am57xevm: idk: update correct dtb file in fastboot script
am57xevm: fastboot: Add AM571 IDK flashing support
am57xevm: remove efs partition
am57xem: update reference 4.4 kernel image
am57xevm: sepolicy: remove BT policy
am57xevm: Add feature for voice recognition software
am57xevm: add media_codecs_performance.xml
am57xevm: sepolicy: adapt file_contexts
am57xevm: device.mk: fix merge error #endif
enable systrace functionality
Cleanup: Remove unapplicable services
audio: primary: Allocate temporary buffer for resampling
jacinto6evm: sepolicy: Add rules for APPE
jacinto6evm: sepolicy: initial sepolicy rules for lad daemon
Don't use logwrapper for lad and RadioApp
...
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Conflicts:
BoardConfig.mk
audio/Android.mk
device.mk
init.am57xevmboard.rc
kernel
sepolicy/file_contexts
sepolicy/init.te
-rw-r--r-- | Android.mk | 19 | ||||
-rw-r--r-- | BoardConfig.mk | 2 | ||||
-rw-r--r-- | audio/primary/audio_hw.c | 42 | ||||
-rw-r--r-- | device.mk | 10 | ||||
-rwxr-xr-x | fastboot.sh | 19 | ||||
-rw-r--r-- | fstab.am57xevmboard | 1 | ||||
-rw-r--r-- | init.am57xevmboard.rc | 60 | ||||
-rw-r--r-- | kernel | bin | 5300328 -> 8026608 bytes | |||
-rw-r--r-- | media_codecs.xml | 8 | ||||
-rw-r--r-- | media_codecs_performance.xml | 97 | ||||
-rw-r--r-- | sepolicy/device.te | 4 | ||||
-rw-r--r-- | sepolicy/file_contexts | 24 | ||||
-rw-r--r-- | sepolicy/init.te | 3 | ||||
-rw-r--r-- | sepolicy/lad_dra7xx.te | 21 | ||||
-rw-r--r-- | sepolicy/mediaserver.te | 8 | ||||
-rw-r--r-- | sepolicy/netd.te | 4 | ||||
-rw-r--r-- | sepolicy/vis.te | 20 | ||||
-rw-r--r-- | tablet_core_hardware_am57xevm.xml | 1 | ||||
-rw-r--r-- | ueventd.am57xevmboard.rc | 2 |
19 files changed, 229 insertions, 116 deletions
@@ -28,25 +28,6 @@ LOCAL_PATH := $(call my-dir) ifeq ($(TARGET_DEVICE),am57xevm) include $(CLEAR_VARS) -LOCAL_MODULE := am57xevm_hdcp_keys -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := FAKE -LOCAL_MODULE_SUFFIX := -timestamp - -include $(BUILD_SYSTEM)/base_rules.mk - -$(LOCAL_BUILT_MODULE): HDCP_KEYS_FILE := /factory/hdcp.keys -$(LOCAL_BUILT_MODULE): SYMLINK := $(TARGET_OUT_VENDOR)/firmware/hdcp.keys -$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/Android.mk -$(LOCAL_BUILT_MODULE): - $(hide) echo "Symlink: $(SYMLINK) -> $(HDCP_KEYS_FILE)" - $(hide) mkdir -p $(dir $@) - $(hide) mkdir -p $(dir $(SYMLINK)) - $(hide) rm -rf $@ - $(hide) rm -rf $(SYMLINK) - $(hide) ln -sf $(HDCP_KEYS_FILE) $(SYMLINK) - $(hide) touch $@ - # if some modules are built directly from this directory (not subdirectories), # their rules should be written here. diff --git a/BoardConfig.mk b/BoardConfig.mk index 5670e8d..801fcda 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -58,7 +58,7 @@ BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_FLASH_BLOCK_SIZE := 4096 TARGET_RECOVERY_FSTAB = device/ti/am57xevm/fstab.am57xevmboard -TARGET_RECOVERY_PIXEL_FORMAT := "RGB565" +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" TARGET_RELEASETOOLS_EXTENSIONS := device/ti/am57xevm # Connectivity - Wi-Fi diff --git a/audio/primary/audio_hw.c b/audio/primary/audio_hw.c index ab87dfa..95f0f06 100644 --- a/audio/primary/audio_hw.c +++ b/audio/primary/audio_hw.c @@ -1543,6 +1543,7 @@ static int adev_open_input_stream(struct audio_hw_device *dev, { struct j6_audio_device *adev = (struct j6_audio_device *)dev; struct j6_stream_in *in; + int buffer_size; int ret; UNUSED(handle); @@ -1590,21 +1591,10 @@ static int adev_open_input_stream(struct audio_hw_device *dev, /* in-place stereo-to-mono remix since capture stream is stereo */ if (in->requested_channels == 1) { ALOGV("adev_open_input_stream() stereo-to-mono remix needed"); - - /* - * buffer size is already enough to allow stereo-to-mono remix - * and resample if needed - */ - in->buffer = malloc(2 * in->config.period_size * in->hw_frame_size); - if (!in->buffer) { - ret = -ENOMEM; - goto err1; - } - ret = setup_stereo_to_mono_input_remix(in); if (ret) { ALOGE("adev_open_input_stream() failed to setup remix %d", ret); - goto err2; + goto err1; } } @@ -1622,6 +1612,24 @@ static int adev_open_input_stream(struct audio_hw_device *dev, &in->resampler); if (ret) { ALOGE("adev_open_input_stream() failed to create resampler %d", ret); + goto err2; + } + } + + /* + * buffer size needs to be enough to allow stereo-to-mono remix + * and resample if needed + */ + if (in->resampler || in->remix) { + buffer_size = in->config.period_size * in->hw_frame_size; + if (in->resampler) + buffer_size *= 2; + if (in->remix) + buffer_size *= 2; + + in->buffer = malloc(buffer_size); + if (!in->buffer) { + ret = -ENOMEM; goto err3; } } @@ -1631,9 +1639,9 @@ static int adev_open_input_stream(struct audio_hw_device *dev, return 0; err3: - free(in->remix); + release_resampler(in->resampler); err2: - free(in->buffer); + free(in->remix); err1: free(in); return ret; @@ -1651,17 +1659,13 @@ static void adev_close_input_stream(struct audio_hw_device *dev, if (in->resampler) release_resampler(in->resampler); - in->resampler = NULL; if (in->remix) free(in->remix); - in->remix = NULL; - - in->dev = NULL; - adev->in = NULL; free(in->buffer); free(in); + adev->in = NULL; } static int adev_dump(const audio_hw_device_t *device, int fd) @@ -32,6 +32,7 @@ PRODUCT_COPY_FILES := \ device/ti/am57xevm/fstab.am57xevmboard:root/fstab.am57xevmboard \ device/ti/am57xevm/media_profiles.xml:system/etc/media_profiles.xml \ device/ti/am57xevm/media_codecs.xml:system/etc/media_codecs.xml \ + device/ti/am57xevm/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ @@ -55,7 +56,7 @@ PRODUCT_COPY_FILES += \ endif PRODUCT_COPY_FILES += \ - device/ti/jacinto6evm/audio/audio_policy.conf:system/etc/audio_policy.conf + device/ti/am57xevm/audio/audio_policy.conf:system/etc/audio_policy.conf # cpuset configuration PRODUCT_COPY_FILES += \ @@ -111,6 +112,12 @@ PRODUCT_PACKAGES += \ # Audio HAL modules PRODUCT_PACKAGES += audio.primary.am57x PRODUCT_PACKAGES += audio.hdmi.am57x + +# JAMR3 Audio HAL module +# ifneq ($(APPE_AUDIO),true) +# PRODUCT_PACKAGES += audio.jamr3.am57x +# endif + # BlueDroid a2dp Audio HAL module PRODUCT_PACKAGES += audio.a2dp.default # Remote submix @@ -150,3 +157,4 @@ $(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/ti-jacinto $(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/ducati-full_jacinto6evm.mk) $(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wlan/wl12xx-wlan-fw-products.mk) $(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wpan/wl12xx-wpan-fw-products.mk) +$(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/prueth-full_am57xevm.mk) diff --git a/fastboot.sh b/fastboot.sh index f4280aa..d3dbae2 100755 --- a/fastboot.sh +++ b/fastboot.sh @@ -82,6 +82,8 @@ fi if [ ${cpu} = "J6ECO" ]; then if [ ${boardrev} = "C" ]; then environment="${PRODUCT_OUT}dra72-evm-lcd-osd.dtb" + elif [ ${boardrev} = "1.3A" ]; then + environment="${PRODUCT_OUT}am571x-idk-lcd-osd101t2587.dtb" else environment="${PRODUCT_OUT}dra72-evm-lcd10.dtb" fi @@ -97,7 +99,7 @@ if [ ${cpu} = "J6" ]; then if [ ${boardrev} = "A.30" ]; then environment="${PRODUCT_OUT}am57xx-evm-reva3.dtb" elif [ ${boardrev} = "1.3A" ]; then - environment="${PRODUCT_OUT}am572x-idk-lcd-osd.dtb" + environment="${PRODUCT_OUT}am572x-idk-lcd-osd101t2587.dtb" elif [ ${boardrev} = "B.10" ]; then environment="${PRODUCT_OUT}am57xx-beagle-x15-revb1.dtb" fi @@ -108,7 +110,6 @@ bootimg="${PRODUCT_OUT}boot.img" systemimg="${PRODUCT_OUT}system.img" userdataimg="${PRODUCT_OUT}userdata.img" cacheimg="${PRODUCT_OUT}cache.img" -efsimg="${PRODUCT_OUT}efs.img" recoveryimg="${PRODUCT_OUT}recovery.img" @@ -228,20 +229,6 @@ if [ $resizefail -eq 1 ]; then fi ${FASTBOOT} flash userdata ${userdataimg} -if [ "$1" != "--noefs" ] ; then - if [ ! -f ${efsimg} ] ; then - echo "Creating efs.img as 16M ext4 img..." - test -d ./efs/ || mkdir efs - ./make_ext4fs -s -l 16M -a efs efs.img efs/ - else - echo "Using previously created efs.img..." - fi - - ${FASTBOOT} flash efs ${efsimg} -else - echo "efs partition is untouched" -fi - #flash cache.img ${FASTBOOT} flash cache ${cacheimg} diff --git a/fstab.am57xevmboard b/fstab.am57xevmboard index cc19f84..b3bafb1 100644 --- a/fstab.am57xevmboard +++ b/fstab.am57xevmboard @@ -4,7 +4,6 @@ # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK /dev/block/platform/44000000.ocp/480b4000.mmc/by-name/system /system ext4 ro wait -/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/efs /factory ext4 ro wait /dev/block/platform/44000000.ocp/480b4000.mmc/by-name/cache /cache ext4 noatime,nosuid,nodev wait,check /dev/block/platform/44000000.ocp/480b4000.mmc/by-name/userdata /data ext4 noatime,nosuid,nodev wait,check /dev/block/platform/44000000.ocp/480b4000.mmc/by-name/recovery /recovery emmc defaults defaults diff --git a/init.am57xevmboard.rc b/init.am57xevmboard.rc index f7fb6e5..a613b3d 100644 --- a/init.am57xevmboard.rc +++ b/init.am57xevmboard.rc @@ -1,7 +1,7 @@ import /init.am57xevmboard.usb.rc on early-init - mount debugfs /sys/kernel/debug /sys/kernel/debug + mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755 on init # Support legacy paths @@ -21,17 +21,6 @@ on post-fs-data # enabling thermal zone for mpu write /sys/class/thermal/thermal_zone0/mode enabled -# Create GPS folders and set its permissions - mkdir /data/gnss - chown system system /data/gnss - mkdir /data/gnss/logs/ - mkdir /data/gnss/nvs/ - mkdir /data/gnss/log_MD/ - chown system system /data/gnss/logs/ - chown system system /data/gnss/nvs/ - chown system system /data/gnss/log_MD/ - insmod /system/lib/modules/gps_drv.ko - on boot # execute script to set cpuset configuration exec - root root system -- /system/bin/init.am57xevmboard.cpuset.sh @@ -39,13 +28,6 @@ on boot # wi-fi mkdir /data/misc/wifi/sockets 0770 wifi wifi mkdir /data/misc/dhcp 0770 dhcp dhcp - insmod /system/lib/modules/compat.ko - insmod /system/lib/modules/cfg80211.ko - insmod /system/lib/modules/mac80211.ko - insmod /system/lib/modules/wlcore.ko - insmod /system/lib/modules/wl12xx.ko - insmod /system/lib/modules/wl18xx.ko board_type=hdk - insmod /system/lib/modules/wlcore_sdio.ko # CMEM for Radio insmod /system/lib/modules/cmemk.ko phys_start=0x95400000 phys_end=0x95800000 pools=20x65536,40x4096 allowOverlap=1 @@ -53,8 +35,13 @@ on boot # 2d blitter insmod /system/lib/modules/galcore.ko physSize=0xc0000000 + # Set up kernel tracing, but disable it by default + chmod 0222 /sys/kernel/debug/tracing/trace_marker + write /sys/kernel/debug/tracing/tracing_on 0 + chmod 0755 /sys/kernel/debug/tracing + + on fs - mkdir /factory 0775 radio radio mount_all /fstab.am57xevmboard service pvrsrvinit /vendor/bin/pvrsrvinit @@ -99,16 +86,6 @@ service iprenew_wlan0 /system/bin/dhcpcd -n disabled oneshot -service dhcpcd_p2p /system/bin/dhcpcd -aABKL - class main - disabled - oneshot - -service iprenew_p2p /system/bin/dhcpcd -n - class main - disabled - oneshot - service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL class main disabled @@ -135,29 +112,8 @@ service hostapd_bin /system/bin/hostapd -d /data/misc/wifi/hostapd.conf disabled oneshot -service lad_dra7xx /system/bin/logwrapper /system/bin/lad_dra7xx -g - class main - user media - group system - oneshot - -service radio_app /system/bin/logwrapper /system/bin/RadioApp -h eth +service lad_dra7xx /system/bin/lad_dra7xx -g class main user media - group system inet - disabled - oneshot - -service devproxy /system/bin/devproxy - class main - disabled - oneshot - user system group system - -service agnss_connect /system/bin/agnss_connect -p - class main - disabled oneshot - user system - group system Binary files differdiff --git a/media_codecs.xml b/media_codecs.xml index 3482216..d174757 100644 --- a/media_codecs.xml +++ b/media_codecs.xml @@ -31,6 +31,7 @@ <Limit name="block-size" value="16x16" /> <Limit name="blocks-per-second" min="1" max="489600" /> <Limit name="bitrate" range="1-62500000" /> + <Limit name="concurrent-instances" max="5" /> <Feature name="adaptive-playback" /> </Type> @@ -40,6 +41,7 @@ <Limit name="block-size" value="16x16" /> <Limit name="blocks-per-second" min="1" max="489600" /> <Limit name="bitrate" range="1-62500000" /> + <Limit name="concurrent-instances" max="5" /> </Type> <Type name="video/3gpp"> @@ -48,6 +50,7 @@ <Limit name="block-size" value="16x16" /> <Limit name="blocks-per-second" min="1" max="489600" /> <Limit name="bitrate" range="1-62500000" /> + <Limit name="concurrent-instances" max="5" /> </Type> <Type name="video/mpeg2"> @@ -56,9 +59,13 @@ <Limit name="block-size" value="16x16" /> <Limit name="blocks-per-second" min="1" max="489600" /> <Limit name="bitrate" range="1-62500000" /> + <Limit name="concurrent-instances" max="5" /> </Type> </MediaCodec> </Decoders> + <Settings> + <Setting name="max-video-encoder-input-buffers" value="6" /> + </Settings> <Encoders> <MediaCodec name="OMX.TI.DUCATI1.VIDEO.H264E" type="video/avc" > <Quirk name="requires-allocate-on-input-ports" /> @@ -68,6 +75,7 @@ <Limit name="alignment" value="16x16" /> <Limit name="size" min="96x80" max="1920x1088" /> <Limit name="blocks-per-second" min="1" max="489600" /> + <Limit name="concurrent-instances" max="5" /> </MediaCodec> </Encoders> <Include href="media_codecs_google_video.xml" /> diff --git a/media_codecs_performance.xml b/media_codecs_performance.xml new file mode 100644 index 0000000..1871ff4 --- /dev/null +++ b/media_codecs_performance.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright (C) 2017 Texas Instruments Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- + This performance data was generated by running the + com.android.cts.videoperf.VideoEncoderDecoderTest and + android.media.cts.VideoDecoderPerfTest cts test classes on the J6 EVM. +--> + +<MediaCodecs> + <Encoders> + <MediaCodec name="OMX.TI.DUCATI1.VIDEO.H264E" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="570-570" /> + <Limit name="measured-frame-rate-720x480" range="244-244" /> + <Limit name="measured-frame-rate-1280x720" range="124-124" /> + </MediaCodec> + <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="1132-1132" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="627-627" /> + <Limit name="measured-frame-rate-720x480" range="167-167" /> + <Limit name="measured-frame-rate-1280x720" range="72-72" /> + <Limit name="measured-frame-rate-1920x1080" range="36-36" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="1486-1486" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x180" range="799-799" /> + <Limit name="measured-frame-rate-640x360" range="278-278" /> + <Limit name="measured-frame-rate-1280x720" range="60-60" /> + <Limit name="measured-frame-rate-1920x1080" range="27-27" /> + </MediaCodec> + </Encoders> + <Decoders> + <MediaCodec name="OMX.TI.DUCATI1.VIDEO.DECODER" update="true"> + <Type name="video/3gpp"> + <Limit name="measured-frame-rate-256x192" range="1024-1024" /> + <Limit name="measured-frame-rate-384x320" range="594-594" /> + </Type> + <Type name="video/avc"> + <Limit name="measured-frame-rate-384x352" range="700-700" /> + <Limit name="measured-frame-rate-896x576" range="498-498" /> + <Limit name="measured-frame-rate-1408x832" range="227-227" /> + <Limit name="measured-frame-rate-2048x1184" range="104-104" /> + </Type> + <Type name="video/mp4v-es"> + <Limit name="measured-frame-rate-256x192" range="1100-1100" /> + </Type> + </MediaCodec> + <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="2438-2438" /> + <Limit name="measured-frame-rate-352x288" range="1470-1470" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="966-966" /> + <Limit name="measured-frame-rate-720x480" range="319-319" /> + <Limit name="measured-frame-rate-1280x720" range="108-108" /> + <Limit name="measured-frame-rate-1920x1080" range="27-27" /> + </MediaCodec> + <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-352x288" range="972-972" /> + <Limit name="measured-frame-rate-640x360" range="488-488" /> + <Limit name="measured-frame-rate-1280x720" range="161-161" /> + <Limit name="measured-frame-rate-1920x1080" range="75-75" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="2685-2685" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x180" range="1662-1662" /> + <Limit name="measured-frame-rate-640x360" range="487-487" /> + <Limit name="measured-frame-rate-1280x720" range="92-92" /> + <Limit name="measured-frame-rate-1920x1080" range="81-81" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true"> + <Limit name="measured-frame-rate-320x180" range="806-806" /> + <Limit name="measured-frame-rate-640x360" range="654-654" /> + <Limit name="measured-frame-rate-1280x720" range="172-172" /> + <Limit name="measured-frame-rate-1920x1080" range="106-106" /> + </MediaCodec> + </Decoders> +</MediaCodecs> diff --git a/sepolicy/device.te b/sepolicy/device.te index 1489b07..db470f0 100644 --- a/sepolicy/device.te +++ b/sepolicy/device.te @@ -1,2 +1,6 @@ type bluetooth_control, dev_type; type rtc, dev_type; +type hwspinlock_dev, dev_type; +type uio_dev, dev_type; +type cmem_dev, dev_type; +type i2c_dev, dev_type; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index 6ac1f73..8dc4639 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -1,10 +1,10 @@ #Bluettoth tty device -/dev/hci_tty u:object_r:bluetooth_control:s0 -/dev/ttyS2 u:object_r:hci_attach_dev:s0 -/system/bin/uim-sysfs u:object_r:hci_attach_exec:s0 +#/dev/hci_tty u:object_r:bluetooth_control:s0 +#/dev/ttyS2 u:object_r:hci_attach_dev:s0 +#/system/bin/uim-sysfs u:object_r:hci_attach_exec:s0 #Console -/dev/ttyS0 u:object_r:console_device:s0 +/dev/ttyS2 u:object_r:console_device:s0 #Graphics /dev/dri/card0 u:object_r:gpu_device:s0 @@ -23,7 +23,21 @@ /dev/rtc0 u:object_r:rtc:s0 #cpuset script -/system/bin/init.jacinto6evmboard.cpuset.sh u:object_r:init-cpuset-sh_exec:s0 +/system/bin/init.am57xevmboard.cpuset.sh u:object_r:init-cpuset-sh_exec:s0 + +#lad_dra7xx +/system/bin/lad_dra7xx u:object_r:lad_dra7xx_exec:s0 +/data/lad(/.*)? u:object_r:lad_data_file:s0 + +#hwspinlock and uio +/dev/hwspinlock u:object_r:hwspinlock_dev:s0 +/dev/uio0 u:object_r:uio_dev:s0 + +#I2C +/dev/i2c-[0-9]+ u:object_r:i2c_dev:s0 + +#CMEM +/dev/cmem u:object_r:cmem_dev:s0 #Block devices /dev/block/platform/44000000.ocp/480b4000.mmc/by-name/system u:object_r:system_block_device:s0 diff --git a/sepolicy/init.te b/sepolicy/init.te index 1c88dbc..abe3314 100644 --- a/sepolicy/init.te +++ b/sepolicy/init.te @@ -2,3 +2,6 @@ allow init self:capability sys_module; #Create symlinks for storage allow init tmpfs:lnk_file create_file_perms; + +# Allow module insertion +allow init system_file:system module_load; diff --git a/sepolicy/lad_dra7xx.te b/sepolicy/lad_dra7xx.te new file mode 100644 index 0000000..ff95009 --- /dev/null +++ b/sepolicy/lad_dra7xx.te @@ -0,0 +1,21 @@ +type lad_dra7xx, domain; +type lad_dra7xx_exec, exec_type, file_type; +type lad_data_file, file_type, data_file_type; + +# Started by init +init_daemon_domain(lad_dra7xx) + +# Allow access to /data/lad +allow lad_dra7xx devpts:chr_file {read write ioctl getattr }; +allow lad_dra7xx lad_data_file:dir { create_dir_perms }; +allow lad_dra7xx lad_data_file:fifo_file { create_file_perms }; +allow lad_dra7xx self:socket { create_socket_perms }; + +# Allow access to hwspinlock and uio device +allow lad_dra7xx hwspinlock_dev:chr_file { rw_file_perms }; +allow lad_dra7xx uio_dev:chr_file { rw_file_perms }; +allow lad_dra7xx sysfs:file { r_file_perms }; + +# Allow signull operation from known client processes +allow lad_dra7xx mediaserver:process signull; +allow lad_dra7xx vis:process signull; diff --git a/sepolicy/mediaserver.te b/sepolicy/mediaserver.te index 2e9e366..9e69353 100644 --- a/sepolicy/mediaserver.te +++ b/sepolicy/mediaserver.te @@ -2,3 +2,11 @@ allow mediaserver system_server:unix_stream_socket { read write }; #Camera allow mediaserver device:dir { read open }; + +#APPE +allow mediaserver lad_data_file:fifo_file { create_file_perms }; +allow mediaserver hwspinlock_dev:chr_file { rw_file_perms }; +allow mediaserver cmem_dev:chr_file { rw_file_perms }; +allow mediaserver self:socket { create_socket_perms }; +allow mediaserver self:tcp_socket { create_stream_socket_perms }; +allow mediaserver ctl_default_prop:property_service set; diff --git a/sepolicy/netd.te b/sepolicy/netd.te index 6c8303c..143cc61 100644 --- a/sepolicy/netd.te +++ b/sepolicy/netd.te @@ -2,3 +2,7 @@ # Ignore them dontaudit netd self:capability sys_module; dontaudit netd kernel:system module_request; + +# VIS +allow netd vis:fd use; +allow netd vis:tcp_socket { rw_socket_perms }; diff --git a/sepolicy/vis.te b/sepolicy/vis.te new file mode 100644 index 0000000..d8cbb7a --- /dev/null +++ b/sepolicy/vis.te @@ -0,0 +1,20 @@ +type vis, domain; +type vis_exec, exec_type, file_type; + +# Started by init +init_daemon_domain(vis) + +# Allow access to IPC related resources +allow vis devpts:chr_file { read write ioctl getattr }; +allow vis fwmarkd_socket:sock_file write; +allow vis self:socket { create_socket_perms }; +allow vis self:tcp_socket { create_stream_socket_perms }; +allow vis netd:unix_stream_socket connectto; +allow vis node:tcp_socket node_bind; +allow vis port:tcp_socket name_bind; +allow vis lad_data_file:fifo_file { rw_file_perms }; +allow vis cmem_dev:chr_file { rw_file_perms }; +allow vis hwspinlock_dev:chr_file { rw_file_perms }; + +# Allow access to I2C for audio codec configuration +allow vis i2c_dev:chr_file { rw_file_perms }; diff --git a/tablet_core_hardware_am57xevm.xml b/tablet_core_hardware_am57xevm.xml index ff15c9b..3c273d6 100644 --- a/tablet_core_hardware_am57xevm.xml +++ b/tablet_core_hardware_am57xevm.xml @@ -33,4 +33,5 @@ <!-- Feature to specify if the device supports adding device admins. --> <feature name="android.software.device_admin" /> <feature name="android.software.backup" /> + <feature name="android.software.voice_recognizers" /> </permissions> diff --git a/ueventd.am57xevmboard.rc b/ueventd.am57xevmboard.rc index 9ca382c..ed48076 100644 --- a/ueventd.am57xevmboard.rc +++ b/ueventd.am57xevmboard.rc @@ -30,5 +30,3 @@ /dev/uio0 0660 media system /dev/hwspinlock 0660 media system -# for GNSS -/dev/tigps 0666 root root |