universal7885: Major (de)commonize due to prev commit

This commit is contained in:
roynatech2544 2021-12-02 20:00:00 +09:00
commit 07b209df81
No known key found for this signature in database
GPG key ID: 9675C32163D88D30
31 changed files with 606 additions and 66 deletions

View file

@ -5,5 +5,18 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a10/a10-vendor.mk)
$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
PRODUCT_PACKAGES += \
CameraLightSensor
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.0-service.a10
TARGET_SCREEN_HEIGHT := 1560
TARGET_SCREEN_WIDTH := 720
PRODUCT_PACKAGES += \
fstab.exynos7884B \
ueventd.exynos7884B.rc

View file

@ -5,8 +5,27 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a20/a20-vendor.mk)
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
# Derp
DERP_BUILDTYPE := Official
PRODUCT_PACKAGES += \
CameraLightSensor
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.1-service.exynos7885
TARGET_SCREEN_HEIGHT := 1560
TARGET_SCREEN_WIDTH := 720
# Fingerprint
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.samsung
PRODUCT_PACKAGES += \
fstab.exynos7884B \
ueventd.exynos7884B.rc

View file

@ -5,8 +5,27 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a20e/a20e-vendor.mk)
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
# Derp
DERP_BUILDTYPE := Official
PRODUCT_PACKAGES += \
CameraLightSensor
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.1-service.exynos7885
TARGET_SCREEN_HEIGHT := 1560
TARGET_SCREEN_WIDTH := 720
# Fingerprint
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.samsung
PRODUCT_PACKAGES += \
fstab.exynos7884B \
ueventd.exynos7884B.rc

View file

@ -5,4 +5,21 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a30/a30-vendor.mk)
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
TARGET_SCREEN_HEIGHT := 2280
TARGET_SCREEN_WIDTH := 1080
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.1-service.exynos7885
# Fingerprint
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.samsung
PRODUCT_PACKAGES += \
fstab.exynos7904 \
ueventd.exynos7904.rc

View file

@ -18,5 +18,5 @@ echo "PRODUCT_NAME := "$VENDOR"_a30" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "# Additional Props" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "TARGET_FACE_UNLOCK_SUPPORTED := true" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "TARGET_BOOT_ANIMATION_RES := 720" >> device/samsung/a30/"$VENDOR"_a30.mk
echo "TARGET_BOOT_ANIMATION_RES := 1080" >> device/samsung/a30/"$VENDOR"_a30.mk

View file

@ -5,5 +5,21 @@ $(call inherit-product, device/samsung/universal7885-common/universal7885-common
$(call inherit-product, vendor/samsung/a40/a40-vendor.mk)
$(call inherit-product, frameworks/native/build/phone-xhdpi-4096-dalvik-heap.mk)
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.1-service.exynos7885
TARGET_SCREEN_HEIGHT := 2280
TARGET_SCREEN_WIDTH := 1080
# Fingerprint
PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.samsung
PRODUCT_PACKAGES += \
fstab.exynos7904 \
ueventd.exynos7904.rc

View file

@ -69,8 +69,8 @@
</array>
<item name="cpu.idle">3.79</item>
<item name="cpu.awake">23</item>
<item name="battery.capacity">5000</item>
<item name="battery.typical.capacity">5000</item>
<item name="battery.capacity">3100</item>
<item name="battery.typical.capacity">3100</item>
<item name="wifi.controller.idle">1</item>
<item name="wifi.controller.rx">65</item>
<item name="wifi.controller.tx">265</item>

View file

@ -18,5 +18,5 @@ echo "PRODUCT_NAME := "$VENDOR"_a40" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "# Additional Props" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "TARGET_FACE_UNLOCK_SUPPORTED := true" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "TARGET_BOOT_ANIMATION_RES := 720" >> device/samsung/a40/"$VENDOR"_a40.mk
echo "TARGET_BOOT_ANIMATION_RES := 1080" >> device/samsung/a40/"$VENDOR"_a40.mk

View file

@ -1,6 +1,6 @@
LOCAL_PATH := $(call my-dir)
ifneq ($(filter a20 a20e, $(TARGET_DEVICE)),)
ifneq ($(filter a10 a20 a20e a30 a40, $(TARGET_DEVICE)),)
include $(call all-makefiles-under,$(LOCAL_PATH))
@ -9,27 +9,6 @@ include $(CLEAR_VARS)
LIBGLES_MALI_LIBRARY := /vendor/lib/egl/libGLES_mali.so
LIBGLES_MALI64_LIBRARY := /vendor/lib64/egl/libGLES_mali.so
VULKAN_SYMLINK := $(TARGET_OUT_VENDOR)/lib/hw/vulkan.universal7884B.so
$(VULKAN_SYMLINK): $(LOCAL_INSTALLED_MODULE)
@echo "Creating lib/hw/vulkan.universal7884B.so symlink: $@"
@mkdir -p $(dir $@)
$(hide) ln -sf $(LIBGLES_MALI_LIBRARY) $@
VULKAN64_SYMLINK := $(TARGET_OUT_VENDOR)/lib64/hw/vulkan.universal7884B.so
$(VULKAN64_SYMLINK): $(LOCAL_INSTALLED_MODULE)
@echo "Creating lib64/hw/vulkan.universal7884B.so symlink: $@"
@mkdir -p $(dir $@)
$(hide) ln -sf $(LIBGLES_MALI64_LIBRARY) $@
ALL_DEFAULT_INSTALLED_MODULES += \
$(VULKAN_SYMLINK) \
$(VULKAN64_SYMLINK)
include $(CLEAR_VARS)
LIBGLES_MALI_LIBRARY := /vendor/lib/egl/libGLES_mali.so
LIBGLES_MALI64_LIBRARY := /vendor/lib64/egl/libGLES_mali.so
LIBOPENCL_SYMLINK := $(TARGET_OUT_VENDOR)/lib/libOpenCL.so
$(LIBOPENCL_SYMLINK): $(LOCAL_INSTALLED_MODULE)
@echo "Creating lib/libOpenCL.so symlink: $@"

View file

@ -3,9 +3,16 @@ COMMON_PATH := device/samsung/universal7885-common
BOARD_VENDOR := samsung
# Platform
TARGET_BOARD_PLATFORM := universal7884B
TARGET_BOARD_PLATFORM := exynos7
ifeq ($(TARGET_DEVICE), $(filter $(TARGET_DEVICE),a10 a20 a20e))
TARGET_SOC := exynos7884B
TARGET_BOOTLOADER_BOARD_NAME := universal7884B
else ifeq ($(TARGET_DEVICE), $(filter $(TARGET_DEVICE),a30 a40))
TARGET_SOC := exynos7904
TARGET_BOOTLOADER_BOARD_NAME := universal7904
endif
TARGET_NO_BOOTLOADER := true
TARGET_NO_RADIOIMAGE := true
@ -45,7 +52,7 @@ BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
TARGET_SPECIFIC_HEADER_PATH := $(COMMON_PATH)/include
# Init
TARGET_INIT_VENDOR_LIB := //$(COMMON_PATH):libinit_universal7884B
TARGET_INIT_VENDOR_LIB := //$(COMMON_PATH):libinit_universal7885
# Kernel
BOARD_KERNEL_IMAGE_NAME := Image

View file

@ -13,10 +13,10 @@
// limitations under the License.
cc_library_static {
name: "libinit_universal7884B",
name: "libinit_universal7885",
recovery_available: true,
whole_static_libs: ["libbase"],
header_libs: ["libbase_headers"],
srcs: ["init_universal7884B.cpp"],
srcs: ["init_universal7885.cpp"],
include_dirs: ["system/core/init"]
}

View file

@ -71,6 +71,14 @@ void set_ro_build_prop(const std::string &prop, const std::string &value, bool p
}
}
bool hasEnding (std::string const &fullString, std::string const &ending) {
if (fullString.length() >= ending.length()) {
return (0 == fullString.compare (fullString.length() - ending.length(), ending.length(), ending));
} else {
return false;
}
}
void vendor_load_properties() {
string model;
@ -79,8 +87,8 @@ void vendor_load_properties() {
model = GetProperty("ro.boot.em.model", "");
}
if (model == "SM-A205FN" || model == "SM-A205GN" || model == "SM-A202K" || model == "SM-A205YN") {
property_override("ro.boot.product.hardware.sku", "NFC");
if (hasEnding(model, "N") || hasEnding(model, "S") || hasEnding(model, "K")) {
property_override("ro.boot.product.hardware.sku", "NFC");
}
set_ro_build_prop("model", model);

View file

@ -9,7 +9,7 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.exynos7884B.rc
LOCAL_MODULE := init.exynos7885.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
@ -17,7 +17,7 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.exynos7884B.usb.rc
LOCAL_MODULE := init.exynos7885.usb.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
@ -29,7 +29,16 @@ LOCAL_MODULE := ueventd.exynos7884B.rc
LOCAL_MODULE_STEM := ueventd.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE_STEM)
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := ueventd.exynos7904.rc
LOCAL_MODULE_STEM := ueventd.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
include $(BUILD_PREBUILT)
@ -57,6 +66,14 @@ LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := fstab.exynos7904
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/$(LOCAL_MODULE)
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional

View file

@ -0,0 +1,18 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
# system and vendor partition will be early-mounted by kernel
# /dev/block/platform/13500000.dwmmc0/by-name/system /system ext4 ro wait
/dev/block/platform/13500000.dwmmc0/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait
/dev/block/platform/13500000.dwmmc0/by-name/cache /cache f2fs nosuid,nodev,noatime,inline_xattr,flush_merge,data_flush wait
/dev/block/platform/13500000.dwmmc0/by-name/userdata /data ext4 nosuid,nodev,barrier=1,noauto_da_alloc,discard,noatime,lazytime wait,check,quota,reservedsize=128M
/dev/block/platform/13500000.dwmmc0/by-name/userdata /data f2fs nosuid,nodev,discard,noatime,lazytime,data_flush wait,check,quota
/dev/block/platform/13500000.dwmmc0/by-name/efs /mnt/vendor/efs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic wait,check
/dev/block/platform/13500000.dwmmc0/by-name/misc /misc emmc defaults defaults
# VOLD :: fstab.a20e
/dev/block/platform/13500000.dwmmc0/by-name/hidden /preload ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_checksum,data=ordered,errors=panic voldmanaged=preload:auto,check
/devices/platform/13550000.dwmmc2/mmc_host/mmc1* auto vfat defaults voldmanaged=sdcard:auto
/devices/platform/13600000.usb/13600000.dwc3* auto auto defaults voldmanaged=usb:auto

View file

@ -0,0 +1,231 @@
/dev/mali0 0666 system system
/dev/ion 0666 system system
/dev/ump 0666 system graphics
/dev/exynos-mem 0660 system graphics
/dev/video0 0660 system camera
/dev/video1 0660 system camera
/dev/video2 0660 system camera
/dev/video3 0660 system camera
/dev/video20 0660 system system
# media0 is used for GSC, DECON, etc
/dev/media0 0660 system camera
# media1 is used for DECON Ext WB
/dev/media1 0660 system graphics
# Various devices use the v4l-subdev interface
# We declare all such nodes simultaneously here
/dev/v4l-subdev0 0660 system camera
/dev/v4l-subdev1 0660 system camera
/dev/v4l-subdev2 0660 system camera
/dev/v4l-subdev3 0660 system camera
/dev/v4l-subdev4 0660 system camera
/dev/v4l-subdev5 0660 system camera
/dev/v4l-subdev6 0660 system camera
/dev/v4l-subdev7 0660 system camera
/dev/v4l-subdev8 0660 system camera
/dev/v4l-subdev9 0660 system camera
/dev/v4l-subdev10 0660 system camera
/dev/v4l-subdev11 0660 system camera
/dev/v4l-subdev12 0660 system camera
/dev/v4l-subdev13 0660 system camera
/dev/v4l-subdev14 0660 system camera
/dev/v4l-subdev15 0660 system camera
/dev/v4l-subdev16 0660 system camera
/dev/v4l-subdev17 0660 system camera
/dev/v4l-subdev18 0660 system camera
/dev/v4l-subdev19 0660 system camera
# v4l-subdev20 is used for DECON Ext WB
/dev/v4l-subdev20 0660 system graphics
/dev/v4l-subdev21 0660 system graphics
/dev/v4l-subdev32 0660 system graphics
# gscalers
/dev/video23 0660 media graphics
/dev/video26 0660 media graphics
/dev/video24 0660 media graphics
/dev/video27 0660 media graphics
/dev/video29 0660 media graphics
/dev/video30 0660 media graphics
# video31 is used for DECON Ext WB
/dev/video31 0660 media graphics
# mscalers
/dev/video50 0660 mediacodec drmrpc
/dev/m2m1shot_scaler0 0660 mediacodec drmrpc
/dev/video55 0666 system graphics
/dev/g2d 0660 system graphics
/dev/fimg2d 0666 system graphics
/dev/i2c-2 0660 system system
/dev/HPD 0660 system system
# mfc
/dev/video6 0660 mediacodec mediadrm
/dev/video7 0660 mediacodec mediadrm
/dev/video8 0660 mediacodec mediadrm
/dev/video9 0660 mediacodec mediadrm
/dev/video10 0660 mediacodec mediadrm
/dev/video11 0660 mediacodec mediadrm
# camera
/dev/video101 0660 cameraserver camera
/dev/video102 0660 cameraserver camera
/dev/video103 0660 cameraserver camera
/dev/video104 0660 cameraserver camera
/dev/video107 0660 cameraserver camera
/dev/video109 0660 cameraserver camera
/dev/video110 0660 cameraserver camera
/dev/video111 0660 cameraserver camera
/dev/video112 0660 cameraserver camera
/dev/video120 0660 cameraserver camera
/dev/video121 0660 cameraserver camera
/dev/video122 0660 cameraserver camera
/dev/video130 0660 cameraserver camera
/dev/video131 0660 cameraserver camera
/dev/video132 0660 cameraserver camera
/dev/video140 0660 cameraserver camera
/dev/video141 0660 cameraserver camera
/dev/video142 0660 cameraserver camera
/dev/video150 0660 cameraserver camera
/dev/video151 0660 cameraserver camera
/dev/video152 0660 cameraserver camera
/dev/video153 0660 cameraserver camera
/dev/video154 0660 cameraserver camera
/dev/video155 0660 cameraserver camera
/dev/video160 0660 cameraserver camera
/dev/video161 0660 cameraserver camera
/dev/video170 0660 cameraserver camera
/dev/video171 0660 cameraserver camera
/dev/video172 0660 cameraserver camera
/dev/video173 0660 cameraserver camera
/dev/video174 0660 cameraserver camera
/dev/video175 0660 cameraserver camera
/dev/video180 0660 cameraserver camera
/dev/video190 0660 cameraserver camera
/dev/video191 0660 cameraserver camera
/dev/video192 0660 cameraserver camera
/dev/video193 0660 cameraserver camera
/dev/video210 0660 cameraserver camera
/dev/video211 0660 cameraserver camera
/dev/video212 0660 cameraserver camera
/dev/video213 0660 cameraserver camera
/dev/video214 0660 cameraserver camera
/dev/video215 0660 cameraserver camera
/dev/video216 0660 cameraserver camera
/dev/video217 0660 cameraserver camera
/dev/video218 0660 cameraserver camera
/dev/video219 0660 cameraserver camera
/dev/video220 0660 cameraserver camera
/dev/video221 0660 cameraserver camera
/dev/video222 0660 cameraserver camera
/dev/video223 0660 cameraserver camera
/dev/video224 0660 cameraserver camera
/dev/video225 0660 cameraserver camera
/dev/media2 0660 media media
/dev/hdcp2 0660 media media
# jpeg
/dev/m2m1shot_jpeg 0660 media media
/dev/video12 0660 cameraserver media
# audio
/dev/seiren 0660 system audio
#Mobicore
/dev/mobicore 0700 system system
/dev/mobicore-user 0666 radio system
# Secure MEM driver
/dev/s5p-smem 0660 system system
#cbd
/dev/block/mmcblk0p5 0400 radio radio
/dev/umts_ramdump0 0660 radio radio
# DM tools
/dev/umts_dm0 0660 radio radio
/dev/umts_router 0660 radio radio
/dev/ttyGS0 0660 system system
/dev/ttyGS1 0660 system system
# Modem Interface
/dev/block/platform/13500000.dwmmc0/by-name/RADIO 0660 system radio
/dev/block/platform/13500000.dwmmc0/by-name/radio 0660 system radio
/dev/block/platform/13500000.dwmmc0/by-name/CP_DEBUG 0660 radio system
/dev/block/platform/13500000.dwmmc0/by-name/cp_debug 0660 radio system
/sys/devices/platform/10000.mif_pdata sim/ds_detect 0660 radio system
/dev/umts* 0660 system radio
/dev/umts_csd 0660 system loop_radio
/dev/smd4 0660 system radio
/dev/ramdump_memshare 0660 system radio
/dev/umts_ciq* 0660 system bridge_rw
# interactive governor parameters
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_slack 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/min_sample_time 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/hispeed_freq 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/target_loads 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/go_hispeed_load 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/above_hispeed_delay 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/boost 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse 0200 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/input_boost 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse_duration 0660 system system
/sys/devices/system/cpu/cpu* cpufreq/interactive/io_is_busy 0660 system system
# Vision (VPU, SCORE)
/dev/vertex0 0660 media media
/dev/vertex1 0660 media media
#SCSC Bluetooth
/dev/scsc_h4_0 0660 bluetooth bluetooth
#SCSC ANT
/dev/scsc_ant_0 0660 system system
#SCSC WLAN
/dev/mx_0_r4_gdb 0660 wifi wifi
/dev/mx_0_m4_gdb 0660 wifi wifi
/dev/mx_0_mmap 0660 wifi wifi
/dev/mx_client_test_0 0660 wifi wifi
/dev/mx_0_debug_sampler 0660 wifi wifi
/dev/mx140_usb_clk_test_0 0660 wifi wifi
/dev/scsc_log_collector_0 0660 wifi wifi
# Google FRP solution
/dev/block/platform/13500000.dwmmc0/by-name/PERSISTENT 0660 system system
# Reactivation Lock solution
/dev/block/platform/13500000.dwmmc0/by-name/STEADY 0660 system system
# Google FRP solution
/dev/block/platform/13500000.dwmmc0/by-name/persistent 0660 system system
# Reactivation Lock solution
/dev/block/platform/13500000.dwmmc0/by-name/steady 0660 system system
# sensorhub
/dev/ssp_sensorhub 0660 system system
/dev/ssp_data_injection 0660 system system
# Sensorhub IIO
/dev/ssp_sensorhub 0660 system system
/dev/iio:device* 0660 system system
/sys/devices/platform/13980000.spi/spi_master/spi4/spi4.0/iio:device* buffer/enable 0660 system system
/sys/devices/platform/13980000.spi/spi_master/spi4/spi4.0/iio:device* buffer/length 0660 system system
/sys/bus/iio/devices/iio:device* 0664 system radio
# TEEGRIS
/dev/tzdev 0666 system system
/dev/tziwsock 0666 system system
/dev/ionfd2phys 0660 system system
/dev/tuihw 0660 system system
/dev/tzirs 0660 system system
/dev/nwfsdev 0660 system system
/dev/tz_shmem_validator 0666 system system
/dev/tz_wormhole 0666 system system
# Sensor
/dev/input/event* 0660 system input
/sys/devices/virtual/input/input* enable 0660 system input
/sys/devices/virtual/input/input* poll_delay 0660 system input

View file

@ -216,7 +216,8 @@
/(vendor|system/vendor)/bin/hw/android\.hardware\.drm@[0-9]\.[0-9]-service\.widevine u:object_r:hal_drm_widevine_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.keymaster@[0-9]\.[0-9]-service\.samsung u:object_r:hal_keymaster_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.nfc@[0-9]\.[0-9]-service\.samsung u:object_r:hal_nfc_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.usb@[0-9]\.[0-9]-service\.exynos7884B u:object_r:hal_usb_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.usb@[0-9]\.[0-9]-service\.exynos7885 u:object_r:hal_usb_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.usb@[0-9]\.[0-9]-service\.a10 u:object_r:hal_usb_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.samsung\.hardware\.gnss@[0-9]\.[0-9]-service u:object_r:hal_gnss_default_exec:s0
/(vendor|system/vendor)/firmware(/.*)? u:object_r:vendor_firmware_file:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.power(@[0-9]\.[0-9])?-service\.samsung-libperfmgr u:object_r:hal_power_default_exec:s0

View file

@ -1,9 +1,6 @@
# Call proprietary blob setup
$(call inherit-product, vendor/samsung/universal7885-common/universal7885-common-vendor.mk)
# Dalvik
$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
# Build Fingerprints
$(call inherit-product, $(LOCAL_PATH)/fingerprint.mk)
@ -54,10 +51,6 @@ PRODUCT_COPY_FILES += \
hardware/samsung_slsi/libbt/conf/bt_did.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_did.conf \
hardware/samsung_slsi/libbt/conf/bt_vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor.conf
# Boot animation
TARGET_SCREEN_HEIGHT := 1560
TARGET_SCREEN_WIDTH := 720
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service
@ -75,10 +68,6 @@ PRODUCT_PACKAGES += \
android.hardware.drm@1.2.vendor \
android.hardware.drm@1.3.vendor
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.1-service.samsung
# Gatekeeper
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-impl \
@ -120,11 +109,9 @@ PRODUCT_PACKAGES += \
# Init
PRODUCT_PACKAGES += \
fstab.enableswap \
init.exynos7884B.rc \
init.exynos7884B.usb.rc \
ueventd.exynos7884B.rc \
init.exynos7885.rc \
init.exynos7885.usb.rc \
wifi_sec.rc \
fstab.exynos7884B \
init.target.rc \
init.baseband.rc
@ -185,7 +172,6 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hce.xml \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.uicc.xml \
@ -236,11 +222,6 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt
# Recovery
PRODUCT_PACKAGES += \
fastbootd \
init.recovery.exynos7884B.rc
# Nuke Useless Apps (Mostly GAPPS)
PRODUCT_PACKAGES += \
RemovePkgs
@ -295,10 +276,6 @@ PRODUCT_PACKAGES += \
android.hardware.thermal@1.0-impl \
android.hardware.thermal@1.0-service
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.1-service.typec
# Vibrator
PRODUCT_PACKAGES += \
android.hardware.vibrator@1.3-service.samsung

View file

@ -0,0 +1,31 @@
//
// Copyright (C) 2017 The LineageOS Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
cc_binary {
name: "android.hardware.usb@1.0-service.a10",
relative_install_path: "hw",
init_rc: ["android.hardware.usb@1.0-service.a10.rc"],
srcs: ["service.cpp", "Usb.cpp"],
shared_libs: [
"libcutils",
"libhidlbase",
"libhidltransport",
"liblog",
"libhwbinder",
"libutils",
"libhardware",
"android.hardware.usb@1.0",
],
proprietary: true,
}

View file

@ -0,0 +1,82 @@
/*
* Copyright (C) 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <pthread.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <utils/Errors.h>
#include <utils/StrongPointer.h>
#include "Usb.h"
namespace android {
namespace hardware {
namespace usb {
namespace V1_0 {
namespace implementation {
Return<void> Usb::switchRole(const hidl_string &portName,
const PortRole &newRole) {
(void)portName;
(void)newRole;
ALOGE("%s: Not supported", __func__);
return Void();
}
Return<void> Usb::queryPortStatus() {
hidl_vec<PortStatus> currentPortStatus;
currentPortStatus.resize(1);
/* this device is not type C and can only be a sink */
currentPortStatus[0].portName = "otg_default";
currentPortStatus[0].currentDataRole = PortDataRole::DEVICE;
currentPortStatus[0].currentPowerRole = PortPowerRole::SINK;
currentPortStatus[0].currentMode = PortMode::UFP;
currentPortStatus[0].canChangeMode = false;
currentPortStatus[0].canChangeDataRole = false;
currentPortStatus[0].canChangePowerRole = false;
currentPortStatus[0].supportedModes = PortMode::UFP;
pthread_mutex_lock(&mLock);
if (mCallback != NULL) {
Return<void> ret =
mCallback->notifyPortStatusChange(currentPortStatus, Status::SUCCESS);
if (!ret.isOk())
ALOGE("queryPortStatus error %s", ret.description().c_str());
} else {
ALOGI("Notifying userspace skipped. Callback is NULL");
}
pthread_mutex_unlock(&mLock);
return Void();
}
Return<void> Usb::setCallback(const sp<IUsbCallback> &callback) {
pthread_mutex_lock(&mLock);
mCallback = callback;
ALOGI("registering callback");
pthread_mutex_unlock(&mLock);
return Void();
}
} // namespace implementation
} // namespace V1_0
} // namespace usb
} // namespace hardware
} // namespace android

View file

@ -0,0 +1,52 @@
#ifndef ANDROID_HARDWARE_USB_V1_0_USB_H
#define ANDROID_HARDWARE_USB_V1_0_USB_H
#include <android/hardware/usb/1.0/IUsb.h>
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <utils/Log.h>
#ifdef LOG_TAG
#undef LOG_TAG
#endif
#define LOG_TAG "android.hardware.usb@1.0-service.a10"
#define UEVENT_MSG_LEN 2048
namespace android {
namespace hardware {
namespace usb {
namespace V1_0 {
namespace implementation {
using ::android::hardware::usb::V1_0::IUsb;
using ::android::hardware::usb::V1_0::IUsbCallback;
using ::android::hardware::usb::V1_0::PortRole;
using ::android::hidl::base::V1_0::IBase;
using ::android::hardware::hidl_array;
using ::android::hardware::hidl_memory;
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
struct Usb : public IUsb {
Return<void> switchRole(const hidl_string& portName, const PortRole& role) override;
Return<void> setCallback(const sp<IUsbCallback>& callback) override;
Return<void> queryPortStatus() override;
sp<IUsbCallback> mCallback;
pthread_mutex_t mLock = PTHREAD_MUTEX_INITIALIZER;
private:
pthread_t mPoll;
};
} // namespace implementation
} // namespace V1_0
} // namespace usb
} // namespace hardware
} // namespace android
#endif // ANDROID_HARDWARE_USB_V1_0_USB_H

View file

@ -0,0 +1,4 @@
service usb-hal-1-0 /vendor/bin/hw/android.hardware.usb@1.0-service.a10
class hal
user system
group system

View file

@ -0,0 +1,49 @@
/*
* Copyright (C) 2017 The LineageOS jProject
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <hidl/HidlTransportSupport.h>
#include "Usb.h"
using android::sp;
// libhwbinder:
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
// Generated HIDL files
using android::hardware::usb::V1_0::IUsb;
using android::hardware::usb::V1_0::implementation::Usb;
using android::status_t;
using android::OK;
int main() {
android::sp<IUsb> service = new Usb();
configureRpcThreadpool(1, true /*callerWillJoin*/);
status_t status = service->registerAsService();
if (status != OK) {
ALOGE("Cannot register USB HAL service");
return 1;
}
ALOGI("USB HAL Ready.");
joinRpcThreadpool();
// Under noraml cases, execution will not reach this line.
ALOGI("USB HAL failed to join thread pool.");
return 1;
}

View file

@ -13,10 +13,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
cc_binary {
name: "android.hardware.usb@1.1-service.typec",
name: "android.hardware.usb@1.1-service.exynos7885",
relative_install_path: "hw",
init_rc: ["android.hardware.usb@1.1-service.typec.rc"],
vintf_fragments: ["android.hardware.usb@1.1-service.typec.xml"],
init_rc: ["android.hardware.usb@1.1-service.exynos7885.rc"],
vintf_fragments: ["android.hardware.usb@1.1-service.exynos7885.xml"],
srcs: ["service.cpp", "Usb.cpp"],
cflags: [
"-Wall",

View file

@ -1,4 +1,4 @@
service vendor.usb-hal-1-1 /vendor/bin/hw/android.hardware.usb@1.1-service.typec
service vendor.usb-hal-1-1 /vendor/bin/hw/android.hardware.usb@1.1-service.exynos7885
interface android.hardware.usb@1.1::IUsb default
interface android.hardware.usb@1.0::IUsb default
class hal

View file

@ -14,7 +14,7 @@
* limitations under the License.
*/
#define LOG_TAG "android.hardware.usb@1.1-service.typec"
#define LOG_TAG "android.hardware.usb@1.1-service.exynos7885"
#include <hidl/HidlTransportSupport.h>
#include "Usb.h"