# # 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) 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) # 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 #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@2.0-impl \ android.hardware.audio@2.0-service \ android.hardware.audio.effect@2.0-impl \ android.hardware.audio.effect@2.0-service \ # 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 \ # 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