You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

208 lines
7.2 KiB

#
# Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
#
# 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.
#
PRODUCT_HARDWARE := beagle_x15board
# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
PRODUCT_SOONG_NAMESPACES += \
device/ti/beagle_x15 \
hardware/ti/am57x
# Adjust the dalvik heap to be appropriate for a tablet.
$(call inherit-product, frameworks/native/build/tablet-7in-xhdpi-2048-dalvik-heap.mk)
PRODUCT_SHIPPING_API_LEVEL := 29
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
# Set custom settings
DEVICE_PACKAGE_OVERLAYS := device/ti/beagle_x15/overlay
PREBUILT_DIR := device/ti/beagle_x15-kernel
# Helper variables for working with kernel files
ifneq ($(KERNELDIR),)
KERNEL_MAJ := $(shell grep '^VERSION' $(KERNELDIR)/Makefile | cut -d " " -f 3)
KERNEL_MIN := $(shell grep '^PATCHLEVEL' $(KERNELDIR)/Makefile | cut -d " " -f 3)
TARGET_KERNEL_USE := $(KERNEL_MAJ).$(KERNEL_MIN)
LOCAL_KERNEL_HOME := $(KERNELDIR)
LOCAL_KERNEL := $(KERNELDIR)/arch/arm/boot/zImage
# Check if kernel/omap or linux-mainline is used
ifneq ($(wildcard $(KERNELDIR)/arch/arm/boot/dts/ti/.*),)
DTB_DIR := $(KERNELDIR)/arch/arm/boot/dts/ti
else
DTB_DIR := $(KERNELDIR)/arch/arm/boot/dts
endif
DTBO_DIR := $(KERNELDIR)/arch/arm/boot/dts/ti
else
TARGET_KERNEL_USE ?= 4.14
KERNEL_MAJ := $(word 1, $(subst ., ,$(TARGET_KERNEL_USE)))
KERNEL_MIN := $(word 2, $(subst ., ,$(TARGET_KERNEL_USE)))
LOCAL_KERNEL_HOME ?= $(PREBUILT_DIR)/$(TARGET_KERNEL_USE)
LOCAL_KERNEL := $(LOCAL_KERNEL_HOME)/zImage
DTB_DIR := $(LOCAL_KERNEL_HOME)
DTBO_DIR := $(DTB_DIR)
endif
TARGET_PREBUILT_KERNEL := $(LOCAL_KERNEL)
PRODUCT_COPY_FILES += $(LOCAL_KERNEL):kernel
# Graphics
PRODUCT_PACKAGES += \
android.hardware.graphics.allocator@2.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.graphics.mapper@2.0-impl \
android.hardware.graphics.mapper@2.0-service \
android.hardware.graphics.composer@2.1-impl \
android.hardware.graphics.composer@2.1-service \
android.hardware.boot@1.0-impl:64 \
android.hardware.boot@1.0-service \
android.hardware.fastboot@1.0 \
android.hardware.fastboot@1.0-impl-mock \
libdrm \
libdrm_omap \
gralloc.am57x \
libEGL_POWERVR_SGX544_116 \
libGLESv1_CM_POWERVR_SGX544_116 \
libGLESv2_POWERVR_SGX544_116 \
libPVRScopeServices \
memtrack.am57x \
pvrsrvctl \
ifeq ($(USE_TI_HWC), y)
PRODUCT_PACKAGES += hwcomposer.am57x
else
PRODUCT_PACKAGES += hwcomposer.drm_imagination
PRODUCT_PROPERTY_OVERRIDES += ro.hardware.hwcomposer=drm_imagination
endif
# Software Gatekeeper HAL
PRODUCT_PACKAGES += \
android.hardware.gatekeeper@1.0-service.software \
#Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl \
android.hardware.health@2.1-service \
#Security
PRODUCT_PACKAGES += \
android.hardware.keymaster@3.0-impl \
android.hardware.keymaster@3.0-service \
android.hardware.drm@1.0-impl \
android.hardware.drm@1.0-service \
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@6.0-impl \
android.hardware.audio.service \
android.hardware.audio.effect@6.0-impl \
# Audio policy configuration
USE_XML_AUDIO_POLICY_CONF := 1
PRODUCT_COPY_FILES += \
device/ti/beagle_x15/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
# Memtrack
PRODUCT_PACKAGES += \
android.hardware.memtrack@1.0-impl \
android.hardware.memtrack@1.0-service \
PRODUCT_PROPERTY_OVERRIDES += \
ro.opengles.version=131072 \
ro.sf.lcd_density=160 \
# All VNDK libraries (HAL interfaces, VNDK, VNDK-SP, LL-NDK)
PRODUCT_PACKAGES += vndk_package
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.0-service \
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
persist.sys.usb.config=mtp \
ifeq ($(KERNEL_MAJ),4)
TARGET_FSTAB := fstab.beagle_x15board_v4
else
TARGET_FSTAB := fstab.beagle_x15board_v5
endif
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.recovery.hardware.rc:recovery/root/init.recovery.$(PRODUCT_HARDWARE).rc \
device/ti/beagle_x15/tablet_core_hardware_beagle_x15.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/tablet_core_hardware_beagle_x15.xml \
device/ti/beagle_x15/init.beagle_x15board.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.beagle_x15board.rc \
device/ti/beagle_x15/init.beagle_x15board.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.beagle_x15board.usb.rc \
device/ti/beagle_x15/ueventd.beagle_x15board.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
device/ti/beagle_x15/$(TARGET_FSTAB):$(TARGET_COPY_OUT_RAMDISK)/fstab.beagle_x15board \
device/ti/beagle_x15/$(TARGET_FSTAB):$(TARGET_COPY_OUT_VENDOR)/etc/fstab.beagle_x15board \
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
#FIXME: this feature should be turned off as soon as google start checking for WIFI support before wifi calls
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
# Static modprobe for recovery image
PRODUCT_PACKAGES += \
toybox_static \
PRODUCT_CHARACTERISTICS := tablet,nosdcard
PRODUCT_PACKAGES += \
toybox_vendor \
Launcher3 \
WallpaperPicker \
sh_vendor \
vintf \
netutils-wrapper-1.0 \
messaging \
healthd \
gatekeeperd \
# Boot control
PRODUCT_PACKAGES += \
bootctrl.am57x \
PRODUCT_PACKAGES_DEBUG += \
bootctl \
fastbootd \
# A/B
PRODUCT_PACKAGES += \
update_engine \
update_verifier
PRODUCT_PACKAGES += \
update_engine_sideload
PRODUCT_PACKAGES_DEBUG += \
update_engine_client
PRODUCT_USE_DYNAMIC_PARTITIONS := true