diff --git a/device-common.mk b/device-common.mk index c437540..5998284 100644 --- a/device-common.mk +++ b/device-common.mk @@ -36,6 +36,7 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/init.hardware.rc:root/init.$(PRODUCT_HARDWARE).rc \ $(LOCAL_PATH)/init.hardware.usb.rc:root/init.$(PRODUCT_HARDWARE).usb.rc \ $(LOCAL_PATH)/ueventd.hardware.rc:root/ueventd.$(PRODUCT_HARDWARE).rc \ + $(LOCAL_PATH)/init.radio.sh:system/bin/init.radio.sh \ ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_COPY_FILES += \ @@ -72,10 +73,34 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \ frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:system/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ + frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \ + frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/init.power.sh:system/bin/init.power.sh \ +# graphics +PRODUCT_PROPERTY_OVERRIDES += \ + ro.opengles.version=196610 + +# Enable low power video mode for 4K encode +PRODUCT_PROPERTY_OVERRIDES += \ + vidc.debug.perf.mode=2 + +# OEM Unlock reporting +ADDITIONAL_DEFAULT_PROPERTIES += \ + ro.oem_unlock_supported=1 + +PRODUCT_PROPERTY_OVERRIDES += \ + persist.cne.feature=1 \ + rild.libpath=/system/vendor/lib64/libril-qc-qmi-1.so + PRODUCT_PACKAGES += \ hwcomposer.msmcobalt \ gralloc.msmcobalt \ diff --git a/init.hardware.rc b/init.hardware.rc index 3f53cdc..68c304a 100644 --- a/init.hardware.rc +++ b/init.hardware.rc @@ -66,6 +66,67 @@ on post-fs chown system graphics /sys/devices/virtual/graphics/fb0/idle_time on post-fs-data + mkdir /data/tombstones 0771 system system + mkdir /tombstones/modem 0771 system system + mkdir /tombstones/lpass 0771 system system + mkdir /tombstones/wcnss 0771 system system + mkdir /tombstones/dsps 0771 system system + mkdir /data/misc/qvop 0660 system system + mkdir /data/misc/hbtp 0750 system system + mkdir /data/misc/seemp 0700 system system + + # Create directory for TZ Apps + mkdir /data/misc/qsee 0770 system system + + #Create folder for mm-qcamera-daemon + mkdir /data/misc/camera 0770 camera camera + + mkdir /data/media 0770 media_rw media_rw + chown media_rw media_rw /data/media + + mkdir /data/misc/ipa 0700 net_admin net_admin + + mkdir /data/misc/bluetooth 0770 bluetooth bluetooth + + # Create the directories used by the Wireless subsystem + mkdir /data/misc/wifi 0770 wifi wifi + mkdir /data/misc/wifi/sockets 0770 wifi wifi + mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi + mkdir /data/misc/dhcp 0770 dhcp dhcp + chown dhcp dhcp /data/misc/dhcp + + #create port-bridge log dir + mkdir /data/misc/port_bridge 0770 radio radio + chmod 0770 /data/misc/port_bridge + + #create netmgr log dir + mkdir /data/misc/netmgr 0770 radio radio + chmod 0770 /data/misc/netmgr + + # Create the directories used by CnE subsystem + mkdir /data/connectivity 0771 system system + chown system system /data/connectivity + + # Create the directories used by DPM subsystem + mkdir /data/dpm 0771 system system + chown system system /data/dpm + + mkdir /data/dpm/nsrm 0771 system system + chown system system /data/dpm/nsrm + + # Create directory used by audio subsystem + mkdir /data/misc/audio 0770 audio audio + + # Create directory for audio delta files + mkdir /data/misc/audio/acdbdata 0770 media audio + mkdir /data/misc/audio/acdbdata/delta 0770 media audio + + # Create directory used by the DASH client + mkdir /data/misc/dash 0770 media audio + + # Create directory used by display clients + mkdir /data/misc/display 0770 system graphics + # Create perfd related dirs mkdir /data/system/perfd 0770 root system chmod 2770 /data/system/perfd @@ -77,9 +138,42 @@ on post-fs-data mkdir /data/misc/sensors chmod 775 /data/misc/sensors + # Mark the copy complete flag to not completed + write /data/misc/radio/copy_complete 0 + chown radio radio /data/misc/radio/copy_complete + chmod 0660 /data/misc/radio/copy_complete + + # File flags for prebuilt ril db file + write /data/misc/radio/prebuilt_db_support 1 + chown radio radio /data/misc/radio/prebuilt_db_support + chmod 0400 /data/misc/radio/prebuilt_db_support + write /data/misc/radio/db_check_done 0 + chown radio radio /data/misc/radio/db_check_done + chmod 0660 /data/misc/radio/db_check_done + + + # Set indication (checked by vold) that we have finished this action + setprop vold.post_fs_data_done 1 + on early-boot exec - root root system -- /system/bin/init.power.sh +on boot + mkdir /dev/socket/qmux_radio 0770 radio radio + chmod 2770 /dev/socket/qmux_radio + mkdir /dev/socket/qmux_audio 0770 media audio + chmod 2770 /dev/socket/qmux_audio + mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth + chmod 2770 /dev/socket/qmux_bluetooth + mkdir /dev/socket/qmux_gps 0770 gps gps + chmod 2770 /dev/socket/qmux_gps + +service init-radio-sh /system/bin/init.radio.sh + class late_start + user radio + group root radio + oneshot + service perfd /vendor/bin/perfd class main user root @@ -162,3 +256,11 @@ service irsc_util /vendor/bin/irsc_util "/etc/sec_config" class core user root oneshot + +service rmt_storage /vendor/bin/rmt_storage + class core + user root + +service tftp_server /vendor/bin/tftp_server + class core + user root diff --git a/init.radio.sh b/init.radio.sh new file mode 100644 index 0000000..d57c004 --- /dev/null +++ b/init.radio.sh @@ -0,0 +1,33 @@ +#!/system/bin/sh + +# +# Copy qcril.db if needed for RIL +# +if [ -f /system/vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then + cp /system/vendor/qcril.db /data/misc/radio/qcril.db + chown -h radio.radio /data/misc/radio/qcril.db +fi +echo 1 > /data/misc/radio/db_check_done + +# +# Make modem config folder and copy firmware config to that folder for RIL +# +if [ -f /data/misc/radio/ver_info.txt ]; then + prev_version_info=`cat /data/misc/radio/ver_info.txt` +else + prev_version_info="" +fi + +cur_version_info=`cat /firmware/verinfo/ver_info.txt` +if [ ! -f /firmware/verinfo/ver_info.txt -o "$prev_version_info" != "$cur_version_info" ]; then + rm -rf /data/misc/radio/modem_config + mkdir /data/misc/radio/modem_config + chmod 770 /data/misc/radio/modem_config + cp -r /firmware/image/modem_pr/mcfg/configs/* /data/misc/radio/modem_config + chown -hR radio.radio /data/misc/radio/modem_config + cp /firmware/verinfo/ver_info.txt /data/misc/radio/ver_info.txt + chown radio.radio /data/misc/radio/ver_info.txt +fi +cp /firmware/image/modem_pr/mbn_ota.txt /data/misc/radio/modem_config +chown radio.radio /data/misc/radio/modem_config/mbn_ota.txt +echo 1 > /data/misc/radio/copy_complete diff --git a/kernel-headers/linux/spcom.h b/kernel-headers/linux/spcom.h new file mode 100644 index 0000000..acf8490 --- /dev/null +++ b/kernel-headers/linux/spcom.h @@ -0,0 +1,91 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _SPCOM_H_ +#define _SPCOM_H_ +#include +#ifndef BIT +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define BIT(x) (1 << x) +#endif +#ifndef PAGE_SIZE +#define PAGE_SIZE 4096 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#endif +#define SPCOM_CHANNEL_NAME_SIZE 32 +#define SPCOM_GET_NEXT_REQUEST_SIZE (PAGE_SIZE - 1) +enum spcom_cmd_id { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SPCOM_CMD_LOAD_APP = 0x4C4F4144, + SPCOM_CMD_RESET_SP = 0x52455354, + SPCOM_CMD_SEND = 0x53454E44, + SPCOM_CMD_SEND_MODIFIED = 0x534E444D, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SPCOM_CMD_LOCK_ION_BUF = 0x4C4F434B, + SPCOM_CMD_UNLOCK_ION_BUF = 0x554C434B, + SPCOM_CMD_FSSR = 0x46535352, + SPCOM_CMD_CREATE_CHANNEL = 0x43524554, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +}; +enum spcom_poll_events { + SPCOM_POLL_LINK_STATE = BIT(1), + SPCOM_POLL_CH_CONNECT = BIT(2), +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + SPCOM_POLL_READY_FLAG = BIT(14), + SPCOM_POLL_WAIT_FLAG = BIT(15), +}; +struct spcom_user_command { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum spcom_cmd_id cmd_id; + uint32_t arg; +} __attribute__((packed)); +struct spcom_send_command { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + enum spcom_cmd_id cmd_id; + uint32_t timeout_msec; + uint32_t buf_size; + char buf[0]; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +} __attribute__((packed)); +struct spcom_user_create_channel_command { + enum spcom_cmd_id cmd_id; + char ch_name[SPCOM_CHANNEL_NAME_SIZE]; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +} __attribute__((packed)); +#define SPCOM_MAX_ION_BUF 4 +struct spcom_ion_info { + int32_t fd; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + uint32_t buf_offset; +}; +#define SPCOM_ION_FD_UNLOCK_ALL 0xFFFF +struct spcom_ion_handle { +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + int32_t fd; +}; +struct spcom_user_send_modified_command { + enum spcom_cmd_id cmd_id; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + struct spcom_ion_info ion_info[SPCOM_MAX_ION_BUF]; + uint32_t timeout_msec; + uint32_t buf_size; + char buf[0]; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +} __attribute__((packed)); +#endif + diff --git a/original-kernel-headers/linux/spcom.h b/original-kernel-headers/linux/spcom.h new file mode 100644 index 0000000..cb9a505 --- /dev/null +++ b/original-kernel-headers/linux/spcom.h @@ -0,0 +1,113 @@ +/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _SPCOM_H_ +#define _SPCOM_H_ + +#include /* uint32_t, bool */ +#ifndef BIT + #define BIT(x) (1 << x) +#endif +#ifndef PAGE_SIZE + #define PAGE_SIZE 4096 +#endif + +/** + * @brief - Secure Processor Communication interface to user space spcomlib. + * + * Sending data and control commands by write() file operation. + * Receiving data by read() file operation. + * Getting the next request size by read() file operation, + * with special size SPCOM_GET_NEXT_REQUEST_SIZE. + */ + +/* Maximum size (including null) for channel names */ +#define SPCOM_CHANNEL_NAME_SIZE 32 + +/* + * file read(fd, buf, size) with this size, + * hints the kernel that user space wants to read the next-req-size. + * This size is bigger than both SPCOM_MAX_REQUEST_SIZE and + * SPCOM_MAX_RESPONSE_SIZE , so it is not a valid data size. + */ +#define SPCOM_GET_NEXT_REQUEST_SIZE (PAGE_SIZE-1) + +/* Command Id between spcomlib and spcom driver, on write() */ +enum spcom_cmd_id { + SPCOM_CMD_LOAD_APP = 0x4C4F4144, /* "LOAD" = 0x4C4F4144 */ + SPCOM_CMD_RESET_SP = 0x52455354, /* "REST" = 0x52455354 */ + SPCOM_CMD_SEND = 0x53454E44, /* "SEND" = 0x53454E44 */ + SPCOM_CMD_SEND_MODIFIED = 0x534E444D, /* "SNDM" = 0x534E444D */ + SPCOM_CMD_LOCK_ION_BUF = 0x4C4F434B, /* "LOCK" = 0x4C4F434B */ + SPCOM_CMD_UNLOCK_ION_BUF = 0x554C434B, /* "ULCK" = 0x4C4F434B */ + SPCOM_CMD_FSSR = 0x46535352, /* "FSSR" = 0x46535352 */ + SPCOM_CMD_CREATE_CHANNEL = 0x43524554, /* "CRET" = 0x43524554 */ +}; + +/* + * @note: Event types that are always implicitly polled: + * POLLERR=0x08 | POLLHUP=0x10 | POLLNVAL=0x20 + * so bits 3,4,5 can't be used + */ +enum spcom_poll_events { + SPCOM_POLL_LINK_STATE = BIT(1), + SPCOM_POLL_CH_CONNECT = BIT(2), + SPCOM_POLL_READY_FLAG = BIT(14), /* output */ + SPCOM_POLL_WAIT_FLAG = BIT(15), /* if set , wait for the event */ +}; + +/* Common Command structure between User Space and spcom driver, on write() */ +struct spcom_user_command { + enum spcom_cmd_id cmd_id; + uint32_t arg; +} __attribute__((packed)); + +/* Command structure between User Space and spcom driver, on write() */ +struct spcom_send_command { + enum spcom_cmd_id cmd_id; + uint32_t timeout_msec; + uint32_t buf_size; + char buf[0]; /* Variable buffer size - must be last field */ +} __attribute__((packed)); + +/* Command structure between userspace spcomlib and spcom driver, on write() */ +struct spcom_user_create_channel_command { + enum spcom_cmd_id cmd_id; + char ch_name[SPCOM_CHANNEL_NAME_SIZE]; +} __attribute__((packed)); + +/* maximum ION buf for send-modfied-command */ +#define SPCOM_MAX_ION_BUF 4 + +struct spcom_ion_info { + int32_t fd; /* ION buffer File Descriptor, set -1 for invalid fd */ + uint32_t buf_offset; /* virtual address offset in request/response */ +}; + +/* Pass this FD to unlock all ION buffer for the specific channel */ +#define SPCOM_ION_FD_UNLOCK_ALL 0xFFFF + +struct spcom_ion_handle { + int32_t fd; /* File Descriptor associated with the buffer */ +}; + +/* Command structure between User Space and spcom driver, on write() */ +struct spcom_user_send_modified_command { + enum spcom_cmd_id cmd_id; + struct spcom_ion_info ion_info[SPCOM_MAX_ION_BUF]; + uint32_t timeout_msec; + uint32_t buf_size; + char buf[0]; /* Variable buffer size - must be last field */ +} __attribute__((packed)); + + +#endif /* _SPCOM_H_ */ diff --git a/sepolicy/device.te b/sepolicy/device.te new file mode 100644 index 0000000..694bb58 --- /dev/null +++ b/sepolicy/device.te @@ -0,0 +1,14 @@ +type diag_device, dev_type, mlstrustedobject; +type smd_device, dev_type; +type ipa_dev, dev_type; +type rmnet_device, dev_type; +type at_device, dev_type; +type qsee_ipc_irq_spss_device, dev_type; +type seemplog_device, dev_type; +type spcom_device, dev_type; +type qdsp_device, dev_type, mlstrustedobject; +type dsp_device, dev_type; +type avtimer_device, dev_type; +type ssr_device, dev_type; +type ramdump_device, dev_type; +type hbtp_device, dev_type; diff --git a/sepolicy/file.te b/sepolicy/file.te index 66e1465..126ebd8 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -1 +1,4 @@ type sysfs_graphics, sysfs_type, fs_type; +type qmuxd_socket, file_type; +type netmgrd_socket, file_type; +type thermal_socket, file_type; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index c841b7c..5d6b7a9 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -1,3 +1,40 @@ +# dev nodes +/dev/diag u:object_r:diag_device:s0 +/dev/kgsl-3d0 u:object_r:gpu_device:s0 +/dev/rtc0 u:object_r:rtc_device:s0 +/dev/smd.* u:object_r:smd_device:s0 +/dev/ipa u:object_r:ipa_dev:s0 +/dev/wwan_ioctl u:object_r:ipa_dev:s0 +/dev/ipaNatTable u:object_r:ipa_dev:s0 +/dev/rmnet_ctrl.* u:object_r:rmnet_device:s0 +/dev/at_.* u:object_r:at_device:s0 +/dev/video([0-9])+ u:object_r:video_device:s0 +/dev/media([0-9])+ u:object_r:video_device:s0 +/dev/v4l-subdev.* u:object_r:video_device:s0 +/dev/qseecom u:object_r:tee_device:s0 +/dev/qsee_ipc_irq_spss u:object_r:qsee_ipc_irq_spss_device:s0 +/dev/seemplog u:object_r:seemplog_device:s0 +/dev/spcom u:object_r:spcom_device:s0 +/dev/jpeg[0-9]* u:object_r:video_device:s0 +/dev/adsprpc-smd u:object_r:qdsp_device:s0 +/dev/sdsprpc-smd u:object_r:dsp_device:s0 +/dev/wcd-dsp-glink u:object_r:audio_device:s0 +/dev/msm_.* u:object_r:audio_device:s0 +/dev/avtimer u:object_r:avtimer_device:s0 +/dev/subsys_.* u:object_r:ssr_device:s0 +/dev/ramdump_.* u:object_r:ramdump_device:s0 +/dev/hbtp_input u:object_r:hbtp_device:s0 +/dev/hbtp_vm u:object_r:hbtp_device:s0 + +# dev socket nodes +/dev/socket/qmux_audio(/.*)? u:object_r:qmuxd_socket:s0 +/dev/socket/qmux_bluetooth(/.*)? u:object_r:qmuxd_socket:s0 +/dev/socket/qmux_gps(/.*)? u:object_r:qmuxd_socket:s0 +/dev/socket/qmux_radio(/.*)? u:object_r:qmuxd_socket:s0 +/dev/socket/thermal-send-client u:object_r:thermal_socket:s0 +/dev/socket/thermal-recv-client u:object_r:thermal_socket:s0 +/dev/socket/thermal-recv-passive-client u:object_r:thermal_socket:s0 + # files in sysfs /sys/devices/virtual/graphics/fb([0-2])+/idle_time u:object_r:sysfs_graphics:s0 @@ -17,6 +54,8 @@ /system/vendor/bin/subsystem_ramdump u:object_r:subsystem_ramdump_exec:s0 /system/vendor/bin/adsprpcd u:object_r:adsprpcd_exec:s0 /system/vendor/bin/irsc_util u:object_r:irsc_util_exec:s0 +/system/vendor/bin/rmt_storage u:object_r:rmt_storage_exec:s0 +/system/vendor/bin/tftp_server u:object_r:rfs_access_exec:s0 # data files /data/time(/.*)? u:object_r:time_data_file:s0 diff --git a/sepolicy/init_radio.te b/sepolicy/init_radio.te new file mode 100644 index 0000000..b99e811 --- /dev/null +++ b/sepolicy/init_radio.te @@ -0,0 +1,5 @@ +# /system/bin/init.radio.sh +type init_radio, domain; +type init_radio_exec, exec_type, file_type; + +init_daemon_domain(init_radio) diff --git a/sepolicy/rfs_access.te b/sepolicy/rfs_access.te new file mode 100644 index 0000000..783d17f --- /dev/null +++ b/sepolicy/rfs_access.te @@ -0,0 +1,4 @@ +type rfs_access, domain, domain_deprecated; +type rfs_access_exec, exec_type, file_type; + +init_daemon_domain(rfs_access) diff --git a/sepolicy/rmt_storage.te b/sepolicy/rmt_storage.te new file mode 100644 index 0000000..d0d4562 --- /dev/null +++ b/sepolicy/rmt_storage.te @@ -0,0 +1,4 @@ +type rmt_storage, domain, domain_deprecated; +type rmt_storage_exec, exec_type, file_type; + +init_daemon_domain(rmt_storage) diff --git a/system.prop b/system.prop new file mode 100644 index 0000000..245ae98 --- /dev/null +++ b/system.prop @@ -0,0 +1,65 @@ + +persist.rild.nitz_plmn= +persist.rild.nitz_long_ons_0= +persist.rild.nitz_long_ons_1= +persist.rild.nitz_long_ons_2= +persist.rild.nitz_long_ons_3= +persist.rild.nitz_short_ons_0= +persist.rild.nitz_short_ons_1= +persist.rild.nitz_short_ons_2= +persist.rild.nitz_short_ons_3= +ril.subscription.types=NV,RUIM +DEVICE_PROVISIONED=1 +# Set network mode to (T/L/G/W/1X/EVDO, T/G/W/L) for 7+5 mode device on DSDS mode +ro.telephony.default_network=22,20 + +debug.sf.hw=1 +debug.gralloc.enable_fb_ubwc=1 + +# system props for the cne module +persist.cne.feature=1 + +# system props for the MM modules +media.stagefright.enable-player=true +media.stagefright.enable-http=true +media.stagefright.enable-aac=true +media.stagefright.enable-qcp=true +media.stagefright.enable-scan=true +mmp.enable.3g2=true +media.aac_51_output_enabled=true +mm.enable.smoothstreaming=true +#13631487 is decimal sum of supported codecs in AAL +#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE DSD +mm.enable.qcom_parser=13631487 +persist.mm.enable.prefetch=true + +# Additional buffers shared between Camera and Video +vidc.enc.dcvs.extra-buff-count=2 + +# system props for the data netmgrd +persist.data.netmgrd.qos.enable=true +persist.data.mode=concurrent + +# system props for time-services +persist.timed.enable=true + +# System prop to turn on CdmaLTEPhone always +telephony.lteOnCdmaDevice=1 + +# Simulate sdcard on /data/media +persist.fuse_sdcard=true + +# system prop for Bluetooth SOC type +qcom.bluetooth.soc=cherokee + +# system prop for A4WP profile support +ro.bluetooth.a4wp=false + +# system prop for wipower support +ro.bluetooth.wipower=true + +# settings to enable PMD and Device Orientation Sensors +ro.qti.sensors.dev_ori=true +ro.qti.sensors.pmd=true +ro.qti.sensors.sta_detect=true +ro.qti.sensors.mot_detect=true diff --git a/ueventd.hardware.rc b/ueventd.hardware.rc index 8a5b9fa..7a09a44 100644 --- a/ueventd.hardware.rc +++ b/ueventd.hardware.rc @@ -17,94 +17,72 @@ # the DIAG device node is not world writable/readable. /dev/diag 0660 system qcom_diag -/dev/genlock 0666 system system -/dev/kgsl 0666 system system /dev/kgsl-3d0 0666 system system -/dev/kgsl-2d0 0666 root root -/dev/kgsl-2d1 0666 root root /dev/ion 0664 system system /dev/rtc0 0660 system system -/dev/smd0 0660 system system -/dev/smd4 0660 system system -/dev/smd_cxm_qmi 0640 radio radio -/dev/smd5 0660 system system -/dev/smd6 0660 system system /dev/smd7 0660 bluetooth bluetooth -/dev/ccid_bridge 0660 system system /dev/ipa 0660 system net_admin /dev/wwan_ioctl 0660 system net_admin /dev/ipaNatTable 0660 net_admin net_admin /dev/rmnet_ctrl 0660 usb usb -/dev/dpl_ctrl 0660 usb usb #permissions for CSVT /dev/smd11 0660 radio radio -/dev/radio0 0640 system system -/dev/rfcomm0 0660 bluetooth bluetooth -/dev/ttyUSB0 0660 bluetooth bluetooth -/dev/smdcntl0 0640 radio radio -/dev/smdcntl1 0640 radio radio -/dev/smdcntl2 0640 radio radio -/dev/smdcntl3 0640 radio radio -/dev/smdcntl4 0640 radio radio -/dev/smdcntl5 0640 radio radio -/dev/smdcntl6 0640 radio radio -/dev/smdcntl7 0640 radio radio /dev/smdcntl8 0640 radio radio -/dev/smdcnt_rev0 0640 radio radio -/dev/smdcnt_rev1 0640 radio radio -/dev/smdcnt_rev2 0640 radio radio -/dev/smdcnt_rev3 0640 radio radio -/dev/smdcnt_rev4 0640 radio radio -/dev/smdcnt_rev5 0640 radio radio -/dev/smdcnt_rev6 0640 radio radio -/dev/smdcnt_rev7 0640 radio radio -/dev/smdcnt_rev8 0640 radio radio -/dev/smuxctl32 0640 radio radio -/dev/sdioctl0 0640 radio radio -/dev/sdioctl1 0640 radio radio -/dev/sdioctl2 0640 radio radio -/dev/sdioctl3 0640 radio radio -/dev/sdioctl4 0640 radio radio -/dev/sdioctl5 0640 radio radio -/dev/sdioctl6 0640 radio radio -/dev/sdioctl7 0640 radio radio -/dev/sdioctl8 0640 radio radio -/dev/rmnet_mux_ctrl 0640 radio radio -/dev/hsicctl0 0640 radio radio -/dev/hsicctl1 0640 radio radio -/dev/hsicctl2 0640 radio radio -/dev/hsicctl3 0640 radio radio -/dev/hsicctl4 0640 radio radio -/dev/hsicctl5 0640 radio radio -/dev/hsicctl6 0640 radio radio -/dev/hsicctl7 0640 radio radio -/dev/hsicctl8 0640 radio radio -/dev/hsicctl9 0640 radio radio -/dev/hsicctl10 0640 radio radio -/dev/hsicctl11 0640 radio radio -/dev/hsicctl12 0640 radio radio -/dev/hsicctl13 0640 radio radio -/dev/hsicctl14 0640 radio radio -/dev/hsicctl15 0640 radio radio -/dev/hsicctl16 0640 radio radio -/dev/mhi_pipe_14 0640 radio radio -/dev/mhi_pipe_16 0640 radio radio -/dev/mhi_pipe_32 0640 radio radio +/dev/at_usb0 0640 radio radio +/dev/at_mdm0 0640 radio radio + /dev/video* 0660 system camera /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera + /dev/qseecom 0660 system drmrpc +/dev/qsee_ipc_irq_spss 0660 system drmrpc /dev/seemplog 0660 system system -/dev/pft 0660 system drmrpc -/dev/gemini0 0660 system camera +/dev/spcom 0660 system system + /dev/jpeg0 0660 system camera -/dev/jpeg1 0660 system camera -/dev/jpeg2 0660 system camera -/dev/jpeg3 0660 system camera /dev/adsprpc-smd 0664 system system -/dev/system_health_monitor 0644 radio system -/dev/mdss_rotator 0664 system system +/dev/hw_random 0600 root root +/dev/sdsprpc-smd 0660 system system +/dev/wcd-dsp-glink 0660 system audio + +/dev/msm_qcelp 0660 system audio +/dev/msm_evrc 0660 system audio +/dev/msm_wma 0660 system audio +/dev/msm_wmapro 0660 system audio +/dev/msm_alac 0660 system audio +/dev/msm_ape 0660 system audio +/dev/msm_amrnb 0660 system audio +/dev/msm_amrwb 0660 system audio +/dev/msm_amrwbplus 0660 system audio +/dev/msm_aac 0660 system audio +/dev/msm_multi_aac 0660 system audio +/dev/msm_aac_in 0660 system audio +/dev/msm_qcelp_in 0660 system audio +/dev/msm_evrc_in 0660 system audio +/dev/msm_amrnb_in 0640 system audio +/dev/msm_a2dp_in 0660 system audio +/dev/msm_ac3 0660 system audio +/dev/msm_audio_cal 0660 system audio +/dev/msm_hweffects 0660 system audio +/dev/msm_rtac 0660 system audio + +/dev/i2c-5 0660 media media +/dev/avtimer 0660 system audio + +/dev/uio0 0660 system system +/dev/uio1 0660 system system + +# SSR devices +/dev/subsys_* 0640 system system + +# Ramdump devices +/dev/ramdump_* 0640 system system + +#ImproveTouch device +/dev/hbtp_input 0660 system system +/dev/hbtp_vm 0660 system system