summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPraneeth Bajjuri2017-04-18 16:53:47 -0500
committerPraneeth Bajjuri2017-04-18 16:53:47 -0500
commitf1a52578227cdeffd5bfa0d0ca806aded474006a (patch)
tree0dcdbcd1940862d30eabb2590051a8086a3da18c
parent069060533eed5dc0a80bf1f8f180a9dc70b2378b (diff)
parent8839ff11573605fa706a2687d2921c9d1591611e (diff)
downloaddevice-ti-jacinto6evm-f1a52578227cdeffd5bfa0d0ca806aded474006a.tar.gz
device-ti-jacinto6evm-f1a52578227cdeffd5bfa0d0ca806aded474006a.tar.xz
device-ti-jacinto6evm-f1a52578227cdeffd5bfa0d0ca806aded474006a.zip
Merge branch 'd-marshmallow-mr3-release' of git://git.omapzoom.org/device/ti/jacinto6evm into d-nougat-release
* 'd-marshmallow-mr3-release' of git://git.omapzoom.org/device/ti/jacinto6evm: jacinto6evm: Update recovery UI format to BGRA jacinto6evm: Increase in CMA pool count for Radio app media_codecs.xml: Add max number of concurrent instance support media_codecs.xml: define the max input buffers for encoder jacinto6evm: update reference 4.4 kernel image jacinto6evm: remove efs partition jacinto6evm: Add feature for voice recognition software jacinto6evm: add media_codecs_performance.xml jacinto6evm: enable systrace functionality jacinto6evm: remove old wilink services jacinto6evm: remove insmod lines for wlan Revert "jacinto6evm: add changes for GNSS" jacinto6evm: call makefile for installing touch firmware audio: primary: Allocate temporary buffer for resampling jacinto6evm: sepolicy: Add rules for APPE jacinto6evm: sepolicy: initial sepolicy rules for lad daemon jacinto6evm: Don't use logwrapper for lad and RadioApp jacinto6evm: update fastboot script for J6Entry Rev A Signed-off-by: Praneeth Bajjuri <praneeth@ti.com> Conflicts: kernel sepolicy/init.te
-rw-r--r--Android.mk19
-rw-r--r--BoardConfig.mk2
-rw-r--r--audio/primary/audio_hw.c42
-rw-r--r--device.mk2
-rwxr-xr-xfastboot.sh17
-rw-r--r--fstab.jacinto6evmboard1
-rw-r--r--init.jacinto6evmboard.rc56
-rw-r--r--media_codecs.xml8
-rw-r--r--media_codecs_performance.xml97
-rw-r--r--sepolicy/device.te4
-rw-r--r--sepolicy/file_contexts17
-rw-r--r--sepolicy/init.te3
-rw-r--r--sepolicy/lad_dra7xx.te21
-rw-r--r--sepolicy/mediaserver.te8
-rw-r--r--sepolicy/netd.te4
-rw-r--r--sepolicy/vis.te20
-rw-r--r--tablet_core_hardware_jacinto6evm.xml1
-rw-r--r--ueventd.jacinto6evmboard.rc3
18 files changed, 220 insertions, 105 deletions
diff --git a/Android.mk b/Android.mk
index 37d2bcb..f78a347 100644
--- a/Android.mk
+++ b/Android.mk
@@ -28,25 +28,6 @@ LOCAL_PATH := $(call my-dir)
28ifeq ($(TARGET_DEVICE),jacinto6evm) 28ifeq ($(TARGET_DEVICE),jacinto6evm)
29include $(CLEAR_VARS) 29include $(CLEAR_VARS)
30 30
31LOCAL_MODULE := jacinto6evm_hdcp_keys
32LOCAL_MODULE_TAGS := optional
33LOCAL_MODULE_CLASS := FAKE
34LOCAL_MODULE_SUFFIX := -timestamp
35
36include $(BUILD_SYSTEM)/base_rules.mk
37
38$(LOCAL_BUILT_MODULE): HDCP_KEYS_FILE := /factory/hdcp.keys
39$(LOCAL_BUILT_MODULE): SYMLINK := $(TARGET_OUT_VENDOR)/firmware/hdcp.keys
40$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/Android.mk
41$(LOCAL_BUILT_MODULE):
42 $(hide) echo "Symlink: $(SYMLINK) -> $(HDCP_KEYS_FILE)"
43 $(hide) mkdir -p $(dir $@)
44 $(hide) mkdir -p $(dir $(SYMLINK))
45 $(hide) rm -rf $@
46 $(hide) rm -rf $(SYMLINK)
47 $(hide) ln -sf $(HDCP_KEYS_FILE) $(SYMLINK)
48 $(hide) touch $@
49
50# if some modules are built directly from this directory (not subdirectories), 31# if some modules are built directly from this directory (not subdirectories),
51# their rules should be written here. 32# their rules should be written here.
52 33
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 4170a7d..2f75308 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -58,7 +58,7 @@ BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
58BOARD_FLASH_BLOCK_SIZE := 4096 58BOARD_FLASH_BLOCK_SIZE := 4096
59 59
60TARGET_RECOVERY_FSTAB = device/ti/jacinto6evm/fstab.jacinto6evmboard 60TARGET_RECOVERY_FSTAB = device/ti/jacinto6evm/fstab.jacinto6evmboard
61TARGET_RECOVERY_PIXEL_FORMAT := "RGB565" 61TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888"
62TARGET_RELEASETOOLS_EXTENSIONS := device/ti/jacinto6evm 62TARGET_RELEASETOOLS_EXTENSIONS := device/ti/jacinto6evm
63 63
64# Connectivity - Wi-Fi 64# 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,
1543{ 1543{
1544 struct j6_audio_device *adev = (struct j6_audio_device *)dev; 1544 struct j6_audio_device *adev = (struct j6_audio_device *)dev;
1545 struct j6_stream_in *in; 1545 struct j6_stream_in *in;
1546 int buffer_size;
1546 int ret; 1547 int ret;
1547 1548
1548 UNUSED(handle); 1549 UNUSED(handle);
@@ -1590,21 +1591,10 @@ static int adev_open_input_stream(struct audio_hw_device *dev,
1590 /* in-place stereo-to-mono remix since capture stream is stereo */ 1591 /* in-place stereo-to-mono remix since capture stream is stereo */
1591 if (in->requested_channels == 1) { 1592 if (in->requested_channels == 1) {
1592 ALOGV("adev_open_input_stream() stereo-to-mono remix needed"); 1593 ALOGV("adev_open_input_stream() stereo-to-mono remix needed");
1593
1594 /*
1595 * buffer size is already enough to allow stereo-to-mono remix
1596 * and resample if needed
1597 */
1598 in->buffer = malloc(2 * in->config.period_size * in->hw_frame_size);
1599 if (!in->buffer) {
1600 ret = -ENOMEM;
1601 goto err1;
1602 }
1603
1604 ret = setup_stereo_to_mono_input_remix(in); 1594 ret = setup_stereo_to_mono_input_remix(in);
1605 if (ret) { 1595 if (ret) {
1606 ALOGE("adev_open_input_stream() failed to setup remix %d", ret); 1596 ALOGE("adev_open_input_stream() failed to setup remix %d", ret);
1607 goto err2; 1597 goto err1;
1608 } 1598 }
1609 } 1599 }
1610 1600
@@ -1622,6 +1612,24 @@ static int adev_open_input_stream(struct audio_hw_device *dev,
1622 &in->resampler); 1612 &in->resampler);
1623 if (ret) { 1613 if (ret) {
1624 ALOGE("adev_open_input_stream() failed to create resampler %d", ret); 1614 ALOGE("adev_open_input_stream() failed to create resampler %d", ret);
1615 goto err2;
1616 }
1617 }
1618
1619 /*
1620 * buffer size needs to be enough to allow stereo-to-mono remix
1621 * and resample if needed
1622 */
1623 if (in->resampler || in->remix) {
1624 buffer_size = in->config.period_size * in->hw_frame_size;
1625 if (in->resampler)
1626 buffer_size *= 2;
1627 if (in->remix)
1628 buffer_size *= 2;
1629
1630 in->buffer = malloc(buffer_size);
1631 if (!in->buffer) {
1632 ret = -ENOMEM;
1625 goto err3; 1633 goto err3;
1626 } 1634 }
1627 } 1635 }
@@ -1631,9 +1639,9 @@ static int adev_open_input_stream(struct audio_hw_device *dev,
1631 return 0; 1639 return 0;
1632 1640
1633 err3: 1641 err3:
1634 free(in->remix); 1642 release_resampler(in->resampler);
1635 err2: 1643 err2:
1636 free(in->buffer); 1644 free(in->remix);
1637 err1: 1645 err1:
1638 free(in); 1646 free(in);
1639 return ret; 1647 return ret;
@@ -1651,17 +1659,13 @@ static void adev_close_input_stream(struct audio_hw_device *dev,
1651 1659
1652 if (in->resampler) 1660 if (in->resampler)
1653 release_resampler(in->resampler); 1661 release_resampler(in->resampler);
1654 in->resampler = NULL;
1655 1662
1656 if (in->remix) 1663 if (in->remix)
1657 free(in->remix); 1664 free(in->remix);
1658 in->remix = NULL;
1659
1660 in->dev = NULL;
1661 adev->in = NULL;
1662 1665
1663 free(in->buffer); 1666 free(in->buffer);
1664 free(in); 1667 free(in);
1668 adev->in = NULL;
1665} 1669}
1666 1670
1667static int adev_dump(const audio_hw_device_t *device, int fd) 1671static int adev_dump(const audio_hw_device_t *device, int fd)
diff --git a/device.mk b/device.mk
index fb812e4..fd59ba7 100644
--- a/device.mk
+++ b/device.mk
@@ -32,6 +32,7 @@ PRODUCT_COPY_FILES := \
32 device/ti/jacinto6evm/fstab.jacinto6evmboard:root/fstab.jacinto6evmboard \ 32 device/ti/jacinto6evm/fstab.jacinto6evmboard:root/fstab.jacinto6evmboard \
33 device/ti/jacinto6evm/media_profiles.xml:system/etc/media_profiles.xml \ 33 device/ti/jacinto6evm/media_profiles.xml:system/etc/media_profiles.xml \
34 device/ti/jacinto6evm/media_codecs.xml:system/etc/media_codecs.xml \ 34 device/ti/jacinto6evm/media_codecs.xml:system/etc/media_codecs.xml \
35 device/ti/jacinto6evm/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
35 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 36 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
36 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 37 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \
37 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 38 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
@@ -147,5 +148,6 @@ $(call inherit-product-if-exists, hardware/ti/dra7xx/jacinto6.mk)
147#$(call inherit-product-if-exists, hardware/ti/wpan/ti-wpan-products.mk) 148#$(call inherit-product-if-exists, hardware/ti/wpan/ti-wpan-products.mk)
148$(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/ti-jacinto6-vendor.mk) 149$(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/ti-jacinto6-vendor.mk)
149$(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/ducati-full_jacinto6evm.mk) 150$(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/ducati-full_jacinto6evm.mk)
151$(call inherit-product-if-exists, device/ti/proprietary-open/jacinto6/touch-full_jacinto6evm.mk)
150$(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wlan/wl12xx-wlan-fw-products.mk) 152$(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wlan/wl12xx-wlan-fw-products.mk)
151$(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wpan/wl12xx-wpan-fw-products.mk) 153$(call inherit-product-if-exists, device/ti/proprietary-open/wl12xx/wpan/wl12xx-wpan-fw-products.mk)
diff --git a/fastboot.sh b/fastboot.sh
index cd8cf45..ebbc7c8 100755
--- a/fastboot.sh
+++ b/fastboot.sh
@@ -82,6 +82,8 @@ fi
82if [ ${cpu} = "J6ECO" ]; then 82if [ ${cpu} = "J6ECO" ]; then
83 if [ ${boardrev} = "C" ]; then 83 if [ ${boardrev} = "C" ]; then
84 environment="${PRODUCT_OUT}dra72-evm-revc-lcd-osd101t2045.dtb" 84 environment="${PRODUCT_OUT}dra72-evm-revc-lcd-osd101t2045.dtb"
85 elif [ ${boardrev} = "A" ]; then
86 environment="${PRODUCT_OUT}dra71-evm-lcd-auo-g101evn01.0.dtb"
85 else 87 else
86 environment="${PRODUCT_OUT}dra72-evm-lcd-lg.dtb" 88 environment="${PRODUCT_OUT}dra72-evm-lcd-lg.dtb"
87 fi 89 fi
@@ -98,7 +100,6 @@ bootimg="${PRODUCT_OUT}boot.img"
98systemimg="${PRODUCT_OUT}system.img" 100systemimg="${PRODUCT_OUT}system.img"
99userdataimg="${PRODUCT_OUT}userdata.img" 101userdataimg="${PRODUCT_OUT}userdata.img"
100cacheimg="${PRODUCT_OUT}cache.img" 102cacheimg="${PRODUCT_OUT}cache.img"
101efsimg="${PRODUCT_OUT}efs.img"
102recoveryimg="${PRODUCT_OUT}recovery.img" 103recoveryimg="${PRODUCT_OUT}recovery.img"
103 104
104 105
@@ -218,20 +219,6 @@ if [ $resizefail -eq 1 ]; then
218fi 219fi
219${FASTBOOT} flash userdata ${userdataimg} 220${FASTBOOT} flash userdata ${userdataimg}
220 221
221if [ "$1" != "--noefs" ] ; then
222 if [ ! -f ${efsimg} ] ; then
223 echo "Creating efs.img as 16M ext4 img..."
224 test -d ./efs/ || mkdir efs
225 ./make_ext4fs -s -l 16M -a efs efs.img efs/
226 else
227 echo "Using previously created efs.img..."
228 fi
229
230 ${FASTBOOT} flash efs ${efsimg}
231else
232 echo "efs partition is untouched"
233fi
234
235#flash cache.img 222#flash cache.img
236${FASTBOOT} flash cache ${cacheimg} 223${FASTBOOT} flash cache ${cacheimg}
237 224
diff --git a/fstab.jacinto6evmboard b/fstab.jacinto6evmboard
index cc19f84..b3bafb1 100644
--- a/fstab.jacinto6evmboard
+++ b/fstab.jacinto6evmboard
@@ -4,7 +4,6 @@
4# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 4# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
5 5
6/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/system /system ext4 ro wait 6/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/system /system ext4 ro wait
7/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/efs /factory ext4 ro wait
8/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/cache /cache ext4 noatime,nosuid,nodev wait,check 7/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/cache /cache ext4 noatime,nosuid,nodev wait,check
9/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/userdata /data ext4 noatime,nosuid,nodev wait,check 8/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/userdata /data ext4 noatime,nosuid,nodev wait,check
10/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/recovery /recovery emmc defaults defaults 9/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/recovery /recovery emmc defaults defaults
diff --git a/init.jacinto6evmboard.rc b/init.jacinto6evmboard.rc
index 00efc75..adf5bc8 100644
--- a/init.jacinto6evmboard.rc
+++ b/init.jacinto6evmboard.rc
@@ -1,7 +1,7 @@
1import init.jacinto6evmboard.usb.rc 1import init.jacinto6evmboard.usb.rc
2 2
3on early-init 3on early-init
4 mount debugfs /sys/kernel/debug /sys/kernel/debug 4 mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755
5 5
6on init 6on init
7 # Support legacy paths 7 # Support legacy paths
@@ -21,17 +21,6 @@ on post-fs-data
21# enabling thermal zone for mpu 21# enabling thermal zone for mpu
22 write /sys/class/thermal/thermal_zone0/mode enabled 22 write /sys/class/thermal/thermal_zone0/mode enabled
23 23
24# Create GPS folders and set its permissions
25 mkdir /data/gnss
26 chown system system /data/gnss
27 mkdir /data/gnss/logs/
28 mkdir /data/gnss/nvs/
29 mkdir /data/gnss/log_MD/
30 chown system system /data/gnss/logs/
31 chown system system /data/gnss/nvs/
32 chown system system /data/gnss/log_MD/
33 insmod /system/lib/modules/gps_drv.ko
34
35on boot 24on boot
36 25
37 # execute script to set cpuset configuration 26 # execute script to set cpuset configuration
@@ -40,22 +29,19 @@ on boot
40 # wi-fi 29 # wi-fi
41 mkdir /data/misc/wifi/sockets 0770 wifi wifi 30 mkdir /data/misc/wifi/sockets 0770 wifi wifi
42 mkdir /data/misc/dhcp 0770 dhcp dhcp 31 mkdir /data/misc/dhcp 0770 dhcp dhcp
43 insmod /system/lib/modules/compat.ko
44 insmod /system/lib/modules/cfg80211.ko
45 insmod /system/lib/modules/mac80211.ko
46 insmod /system/lib/modules/wlcore.ko
47 insmod /system/lib/modules/wl12xx.ko
48 insmod /system/lib/modules/wl18xx.ko board_type=hdk
49 insmod /system/lib/modules/wlcore_sdio.ko
50 32
51 # CMEM for Radio 33 # CMEM for Radio
52 insmod /system/lib/modules/cmemk.ko phys_start=0x95400000 phys_end=0x95800000 pools=20x65536,40x4096 allowOverlap=1 34 insmod /system/lib/modules/cmemk.ko phys_start=0x95400000 phys_end=0x95800000 pools=25x65536,40x4096 allowOverlap=1
53 35
54 # 2d blitter 36 # 2d blitter
55 insmod /system/lib/modules/galcore.ko physSize=0xc0000000 37 insmod /system/lib/modules/galcore.ko physSize=0xc0000000
56 38
39 # Set up kernel tracing, but disable it by default
40 chmod 0222 /sys/kernel/debug/tracing/trace_marker
41 write /sys/kernel/debug/tracing/tracing_on 0
42 chmod 0755 /sys/kernel/debug/tracing
43
57on fs 44on fs
58 mkdir /factory 0775 radio radio
59 mount_all /fstab.jacinto6evmboard 45 mount_all /fstab.jacinto6evmboard
60 46
61service pvrsrvinit /vendor/bin/pvrsrvinit 47service pvrsrvinit /vendor/bin/pvrsrvinit
@@ -120,45 +106,21 @@ service dhcpcd_eth1 /system/bin/dhcpcd -ABDKL
120 disabled 106 disabled
121 oneshot 107 oneshot
122 108
123service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
124 class main
125 disabled
126 oneshot
127
128service iprenew_bnep0 /system/bin/dhcpcd -n
129 class main
130 disabled
131 oneshot
132
133service hostapd_bin /system/bin/hostapd -d /data/misc/wifi/hostapd.conf 109service hostapd_bin /system/bin/hostapd -d /data/misc/wifi/hostapd.conf
134 socket wpa_wlan0 dgram 660 wifi wifi 110 socket wpa_wlan0 dgram 660 wifi wifi
135 class main 111 class main
136 disabled 112 disabled
137 oneshot 113 oneshot
138 114
139service lad_dra7xx /system/bin/logwrapper /system/bin/lad_dra7xx -g 115service lad_dra7xx /system/bin/lad_dra7xx -g
140 class main 116 class main
141 user media 117 user media
142 group system 118 group system
143 oneshot 119 oneshot
144 120
145service radio_app /system/bin/logwrapper /system/bin/RadioApp -h eth 121service radio_app /system/bin/RadioApp -h eth
146 class main 122 class main
147 user media 123 user media
148 group system inet 124 group system inet
149 disabled 125 disabled
150 oneshot 126 oneshot
151
152service devproxy /system/bin/devproxy
153 class main
154 disabled
155 oneshot
156 user system
157 group system
158
159service agnss_connect /system/bin/agnss_connect -p
160 class main
161 disabled
162 oneshot
163 user system
164 group system
diff --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 @@
31 <Limit name="block-size" value="16x16" /> 31 <Limit name="block-size" value="16x16" />
32 <Limit name="blocks-per-second" min="1" max="489600" /> 32 <Limit name="blocks-per-second" min="1" max="489600" />
33 <Limit name="bitrate" range="1-62500000" /> 33 <Limit name="bitrate" range="1-62500000" />
34 <Limit name="concurrent-instances" max="5" />
34 <Feature name="adaptive-playback" /> 35 <Feature name="adaptive-playback" />
35 </Type> 36 </Type>
36 37
@@ -40,6 +41,7 @@
40 <Limit name="block-size" value="16x16" /> 41 <Limit name="block-size" value="16x16" />
41 <Limit name="blocks-per-second" min="1" max="489600" /> 42 <Limit name="blocks-per-second" min="1" max="489600" />
42 <Limit name="bitrate" range="1-62500000" /> 43 <Limit name="bitrate" range="1-62500000" />
44 <Limit name="concurrent-instances" max="5" />
43 </Type> 45 </Type>
44 46
45 <Type name="video/3gpp"> 47 <Type name="video/3gpp">
@@ -48,6 +50,7 @@
48 <Limit name="block-size" value="16x16" /> 50 <Limit name="block-size" value="16x16" />
49 <Limit name="blocks-per-second" min="1" max="489600" /> 51 <Limit name="blocks-per-second" min="1" max="489600" />
50 <Limit name="bitrate" range="1-62500000" /> 52 <Limit name="bitrate" range="1-62500000" />
53 <Limit name="concurrent-instances" max="5" />
51 </Type> 54 </Type>
52 55
53 <Type name="video/mpeg2"> 56 <Type name="video/mpeg2">
@@ -56,9 +59,13 @@
56 <Limit name="block-size" value="16x16" /> 59 <Limit name="block-size" value="16x16" />
57 <Limit name="blocks-per-second" min="1" max="489600" /> 60 <Limit name="blocks-per-second" min="1" max="489600" />
58 <Limit name="bitrate" range="1-62500000" /> 61 <Limit name="bitrate" range="1-62500000" />
62 <Limit name="concurrent-instances" max="5" />
59 </Type> 63 </Type>
60 </MediaCodec> 64 </MediaCodec>
61 </Decoders> 65 </Decoders>
66 <Settings>
67 <Setting name="max-video-encoder-input-buffers" value="6" />
68 </Settings>
62 <Encoders> 69 <Encoders>
63 <MediaCodec name="OMX.TI.DUCATI1.VIDEO.H264E" type="video/avc" > 70 <MediaCodec name="OMX.TI.DUCATI1.VIDEO.H264E" type="video/avc" >
64 <Quirk name="requires-allocate-on-input-ports" /> 71 <Quirk name="requires-allocate-on-input-ports" />
@@ -68,6 +75,7 @@
68 <Limit name="alignment" value="16x16" /> 75 <Limit name="alignment" value="16x16" />
69 <Limit name="size" min="96x80" max="1920x1088" /> 76 <Limit name="size" min="96x80" max="1920x1088" />
70 <Limit name="blocks-per-second" min="1" max="489600" /> 77 <Limit name="blocks-per-second" min="1" max="489600" />
78 <Limit name="concurrent-instances" max="5" />
71 </MediaCodec> 79 </MediaCodec>
72 </Encoders> 80 </Encoders>
73 <Include href="media_codecs_google_video.xml" /> 81 <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 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<!-- Copyright (C) 2017 Texas Instruments Inc.
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16
17<!--
18 This performance data was generated by running the
19 com.android.cts.videoperf.VideoEncoderDecoderTest and
20 android.media.cts.VideoDecoderPerfTest cts test classes on the J6 EVM.
21-->
22
23<MediaCodecs>
24 <Encoders>
25 <MediaCodec name="OMX.TI.DUCATI1.VIDEO.H264E" type="video/avc" update="true">
26 <Limit name="measured-frame-rate-320x240" range="570-570" />
27 <Limit name="measured-frame-rate-720x480" range="244-244" />
28 <Limit name="measured-frame-rate-1280x720" range="124-124" />
29 </MediaCodec>
30 <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
31 <Limit name="measured-frame-rate-176x144" range="1132-1132" />
32 </MediaCodec>
33 <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
34 <Limit name="measured-frame-rate-320x240" range="627-627" />
35 <Limit name="measured-frame-rate-720x480" range="167-167" />
36 <Limit name="measured-frame-rate-1280x720" range="72-72" />
37 <Limit name="measured-frame-rate-1920x1080" range="36-36" />
38 </MediaCodec>
39 <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
40 <Limit name="measured-frame-rate-176x144" range="1486-1486" />
41 </MediaCodec>
42 <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
43 <Limit name="measured-frame-rate-320x180" range="799-799" />
44 <Limit name="measured-frame-rate-640x360" range="278-278" />
45 <Limit name="measured-frame-rate-1280x720" range="60-60" />
46 <Limit name="measured-frame-rate-1920x1080" range="27-27" />
47 </MediaCodec>
48 </Encoders>
49 <Decoders>
50 <MediaCodec name="OMX.TI.DUCATI1.VIDEO.DECODER" update="true">
51 <Type name="video/3gpp">
52 <Limit name="measured-frame-rate-256x192" range="1024-1024" />
53 <Limit name="measured-frame-rate-384x320" range="594-594" />
54 </Type>
55 <Type name="video/avc">
56 <Limit name="measured-frame-rate-384x352" range="700-700" />
57 <Limit name="measured-frame-rate-896x576" range="498-498" />
58 <Limit name="measured-frame-rate-1408x832" range="227-227" />
59 <Limit name="measured-frame-rate-2048x1184" range="104-104" />
60 </Type>
61 <Type name="video/mp4v-es">
62 <Limit name="measured-frame-rate-256x192" range="1100-1100" />
63 </Type>
64 </MediaCodec>
65 <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
66 <Limit name="measured-frame-rate-176x144" range="2438-2438" />
67 <Limit name="measured-frame-rate-352x288" range="1470-1470" />
68 </MediaCodec>
69 <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
70 <Limit name="measured-frame-rate-320x240" range="966-966" />
71 <Limit name="measured-frame-rate-720x480" range="319-319" />
72 <Limit name="measured-frame-rate-1280x720" range="108-108" />
73 <Limit name="measured-frame-rate-1920x1080" range="27-27" />
74 </MediaCodec>
75 <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
76 <Limit name="measured-frame-rate-352x288" range="972-972" />
77 <Limit name="measured-frame-rate-640x360" range="488-488" />
78 <Limit name="measured-frame-rate-1280x720" range="161-161" />
79 <Limit name="measured-frame-rate-1920x1080" range="75-75" />
80 </MediaCodec>
81 <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" update="true">
82 <Limit name="measured-frame-rate-176x144" range="2685-2685" />
83 </MediaCodec>
84 <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
85 <Limit name="measured-frame-rate-320x180" range="1662-1662" />
86 <Limit name="measured-frame-rate-640x360" range="487-487" />
87 <Limit name="measured-frame-rate-1280x720" range="92-92" />
88 <Limit name="measured-frame-rate-1920x1080" range="81-81" />
89 </MediaCodec>
90 <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
91 <Limit name="measured-frame-rate-320x180" range="806-806" />
92 <Limit name="measured-frame-rate-640x360" range="654-654" />
93 <Limit name="measured-frame-rate-1280x720" range="172-172" />
94 <Limit name="measured-frame-rate-1920x1080" range="106-106" />
95 </MediaCodec>
96 </Decoders>
97</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 @@
1type bluetooth_control, dev_type; 1type bluetooth_control, dev_type;
2type rtc, dev_type; 2type rtc, dev_type;
3type hwspinlock_dev, dev_type;
4type uio_dev, dev_type;
5type cmem_dev, dev_type;
6type i2c_dev, dev_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index 6ac1f73..dc20edc 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -25,6 +25,23 @@
25#cpuset script 25#cpuset script
26/system/bin/init.jacinto6evmboard.cpuset.sh u:object_r:init-cpuset-sh_exec:s0 26/system/bin/init.jacinto6evmboard.cpuset.sh u:object_r:init-cpuset-sh_exec:s0
27 27
28#lad_dra7xx
29/system/bin/lad_dra7xx u:object_r:lad_dra7xx_exec:s0
30/data/lad(/.*)? u:object_r:lad_data_file:s0
31
32#hwspinlock and uio
33/dev/hwspinlock u:object_r:hwspinlock_dev:s0
34/dev/uio0 u:object_r:uio_dev:s0
35
36#VIS (RadioApp)
37/system/bin/RadioApp u:object_r:vis_exec:s0
38
39#I2C
40/dev/i2c-[0-9]+ u:object_r:i2c_dev:s0
41
42#CMEM
43/dev/cmem u:object_r:cmem_dev:s0
44
28#Block devices 45#Block devices
29/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/system u:object_r:system_block_device:s0 46/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/system u:object_r:system_block_device:s0
30/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/recovery u:object_r:recovery_block_device:s0 47/dev/block/platform/44000000.ocp/480b4000.mmc/by-name/recovery u:object_r:recovery_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 @@
2allow init self:capability sys_module; 2allow init self:capability sys_module;
3#Create symlinks for storage 3#Create symlinks for storage
4allow init tmpfs:lnk_file create_file_perms; 4allow init tmpfs:lnk_file create_file_perms;
5
6# Allow module insertion
7allow 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 @@
1type lad_dra7xx, domain;
2type lad_dra7xx_exec, exec_type, file_type;
3type lad_data_file, file_type, data_file_type;
4
5# Started by init
6init_daemon_domain(lad_dra7xx)
7
8# Allow access to /data/lad
9allow lad_dra7xx devpts:chr_file {read write ioctl getattr };
10allow lad_dra7xx lad_data_file:dir { create_dir_perms };
11allow lad_dra7xx lad_data_file:fifo_file { create_file_perms };
12allow lad_dra7xx self:socket { create_socket_perms };
13
14# Allow access to hwspinlock and uio device
15allow lad_dra7xx hwspinlock_dev:chr_file { rw_file_perms };
16allow lad_dra7xx uio_dev:chr_file { rw_file_perms };
17allow lad_dra7xx sysfs:file { r_file_perms };
18
19# Allow signull operation from known client processes
20allow lad_dra7xx mediaserver:process signull;
21allow 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 };
2 2
3#Camera 3#Camera
4allow mediaserver device:dir { read open }; 4allow mediaserver device:dir { read open };
5
6#APPE
7allow mediaserver lad_data_file:fifo_file { create_file_perms };
8allow mediaserver hwspinlock_dev:chr_file { rw_file_perms };
9allow mediaserver cmem_dev:chr_file { rw_file_perms };
10allow mediaserver self:socket { create_socket_perms };
11allow mediaserver self:tcp_socket { create_stream_socket_perms };
12allow 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 @@
2# Ignore them 2# Ignore them
3dontaudit netd self:capability sys_module; 3dontaudit netd self:capability sys_module;
4dontaudit netd kernel:system module_request; 4dontaudit netd kernel:system module_request;
5
6# VIS
7allow netd vis:fd use;
8allow 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 @@
1type vis, domain;
2type vis_exec, exec_type, file_type;
3
4# Started by init
5init_daemon_domain(vis)
6
7# Allow access to IPC related resources
8allow vis devpts:chr_file { read write ioctl getattr };
9allow vis fwmarkd_socket:sock_file write;
10allow vis self:socket { create_socket_perms };
11allow vis self:tcp_socket { create_stream_socket_perms };
12allow vis netd:unix_stream_socket connectto;
13allow vis node:tcp_socket node_bind;
14allow vis port:tcp_socket name_bind;
15allow vis lad_data_file:fifo_file { rw_file_perms };
16allow vis cmem_dev:chr_file { rw_file_perms };
17allow vis hwspinlock_dev:chr_file { rw_file_perms };
18
19# Allow access to I2C for audio codec configuration
20allow vis i2c_dev:chr_file { rw_file_perms };
diff --git a/tablet_core_hardware_jacinto6evm.xml b/tablet_core_hardware_jacinto6evm.xml
index eaabd64..5850258 100644
--- a/tablet_core_hardware_jacinto6evm.xml
+++ b/tablet_core_hardware_jacinto6evm.xml
@@ -33,4 +33,5 @@
33 <!-- Feature to specify if the device supports adding device admins. --> 33 <!-- Feature to specify if the device supports adding device admins. -->
34 <feature name="android.software.device_admin" /> 34 <feature name="android.software.device_admin" />
35 <feature name="android.software.backup" /> 35 <feature name="android.software.backup" />
36 <feature name="android.software.voice_recognizers" />
36</permissions> 37</permissions>
diff --git a/ueventd.jacinto6evmboard.rc b/ueventd.jacinto6evmboard.rc
index 9ca382c..4d48453 100644
--- a/ueventd.jacinto6evmboard.rc
+++ b/ueventd.jacinto6evmboard.rc
@@ -29,6 +29,3 @@
29# ipc 29# ipc
30/dev/uio0 0660 media system 30/dev/uio0 0660 media system
31/dev/hwspinlock 0660 media system 31/dev/hwspinlock 0660 media system
32
33# for GNSS
34/dev/tigps 0666 root root