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.

925 lines
30 KiB

#
# Copyright 2014 Rockchip Limited
#
# 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 vendor/rockchip/common/BoardConfigVendor.mk
ifeq ($(strip $(TARGET_ARCH)), arm64)
ifeq ($(DEVICE_IS_64BIT_ONLY), true)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
else
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
endif
endif
# GRF enable: sys_core = empty
# GRF disable: sys_core = gms
$(call grf-skip-var, PRODUCT_BUILD_GMS_SYS_CORE, $(BUILD_WITH_GOOGLE_MARKET))
# GRF Build: skip building system/system_ext/product
ifeq ($(PRODUCT_BUILDING_GRF), true)
ifdef PRODUCT_SHIPPING_API_LEVEL_OVERRIDE
override PRODUCT_SHIPPING_API_LEVEL := $(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE)
endif
ifdef BOARD_SUPER_PARTITION_SIZE_OVERRIDE
override BOARD_SUPER_PARTITION_SIZE := $(BOARD_SUPER_PARTITION_SIZE_OVERRIDE)
endif
ifdef BOARD_AVB_ENABLE_OVERRIDE
override BOARD_AVB_ENABLE := $(BOARD_AVB_ENABLE_OVERRIDE)
endif
ifdef BOARD_BUILD_GKI_OVERRIDE
override BOARD_BUILD_GKI := $(BOARD_BUILD_GKI_OVERRIDE)
endif
ifdef BUILD_WITH_GOOGLE_MARKET_OVERRIDE
override BUILD_WITH_GOOGLE_MARKET := $(BUILD_WITH_GOOGLE_MARKET_OVERRIDE)
endif
ifdef BUILD_WITH_GOOGLE_GMS_EXPRESS_OVERRIDE
override BUILD_WITH_GOOGLE_GMS_EXPRESS := $(BUILD_WITH_GOOGLE_GMS_EXPRESS_OVERRIDE)
endif
$(call inherit-product, device/rockchip/common/modules/grf.mk)
else # Normal build
PRODUCT_AAPT_CONFIG ?= normal large xlarge hdpi tvdpi xhdpi xxhdpi
PRODUCT_AAPT_PREF_CONFIG ?= xhdpi
# Window Extensions
ifneq ($(strip $(BUILD_WITH_GO_OPT)),true)
$(call inherit-product, $(SRC_TARGET_DIR)/product/window_extensions.mk)
endif
PRODUCT_PACKAGES += \
ExactCalculator \
wakeup-alarmalign-whitelist.xml
TARGET_SYSTEM_PROP += device/rockchip/common/build/rockchip/rksdk.prop
# Filesystem management tools
PRODUCT_PACKAGES += \
fsck.f2fs \
mkfs.f2fs \
fsck_f2fs
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# Prebuild apps
$(call inherit-product, device/rockchip/common/modules/preinstall.mk)
# Inherit product config
ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), atv)
$(call inherit-product, device/google/atv/products/atv_base.mk)
$(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)
PRODUCT_PACKAGES += DocumentsUI \
PlayAutoInstallConfig \
ATVContentProvider
else ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), box)
$(call inherit-product, device/rockchip/common/tv/tv_base.mk)
else ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), car)
$(call inherit-product, device/rockchip/common/car/car.mk)
else ifeq ($(strip $(BUILD_WITH_GO_OPT))|$(strip $(TARGET_ARCH)), true|arm)
# For arm Go tablet.
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
$(call inherit-product-if-exists, frameworks/base/data/sounds/AudioPackageGo.mk)
PRODUCT_PACKAGES += Launcher3QuickStepGo
else ifeq ($(strip $(BUILD_WITH_GO_OPT))|$(strip $(TARGET_ARCH)), true|arm64)
# For arm64 Go tablet
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
PRODUCT_PACKAGES += Launcher3QuickStepGo
else
# Normal tablet, add QuickStep for normal product only.
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
PRODUCT_PACKAGES += Launcher3QuickStep
endif
PRODUCT_COPY_FILES += \
device/rockchip/common/rk29-keypad.kl:system/usr/keylayout/rk29-keypad.kl \
device/rockchip/common/ff680030_pwm.kl:system/usr/keylayout/ff680030_pwm.kl \
device/rockchip/common/alarm_filter.xml:system/etc/alarm_filter.xml \
device/rockchip/common/ff420030_pwm.kl:system/usr/keylayout/ff420030_pwm.kl
ifeq ($(PRODUCT_HAVE_DLNA),true)
PRODUCT_PACKAGES += \
MediaCenter \
DLNA
endif
# Live Wallpapers
PRODUCT_PACKAGES += \
NoiseField \
PhaseBeam \
librs_jni \
libjni_pinyinime
# Filesystem management tools
# EXT3/4 support
PRODUCT_PACKAGES += \
mke2fs \
e2fsck \
tune2fs \
resize2fs
PRODUCT_TAGS += dalvik.gc.type-precise
PRODUCT_PACKAGES += \
com.android.future.usb.accessory
ifeq ($(strip $(BOARD_CONNECTIVITY_MODULE)), ap6xxx_nfc)
#NFC packages
PRODUCT_PACKAGES += \
nfc_nci.$(TARGET_BOARD_HARDWARE) \
NfcNci \
Tag \
com.android.nfc_extras
# NFCEE access control
ifeq ($(TARGET_BUILD_VARIANT),user)
NFCEE_ACCESS_PATH := $(LOCAL_PATH)/nfc/nfcee_access.xml
else
NFCEE_ACCESS_PATH := $(LOCAL_PATH)/nfc/nfcee_access_debug.xml
endif
copyNfcFirmware = $(subst XXXX,$(strip $(1)),hardware/broadcom/nfc/firmware/XXXX:/system/vendor/firmware/XXXX)
# NFC access control + feature files + configuration
PRODUCT_COPY_FILES += \
$(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
$(LOCAL_PATH)/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \
$(LOCAL_PATH)/nfc/libnfc-brcm-20791b03.conf:system/etc/libnfc-brcm-20791b03.conf \
$(LOCAL_PATH)/nfc/libnfc-brcm-20791b04.conf:system/etc/libnfc-brcm-20791b04.conf \
$(LOCAL_PATH)/nfc/libnfc-brcm-20791b05.conf:system/etc/libnfc-brcm-20791b05.conf \
$(LOCAL_PATH)/nfc/libnfc-brcm-43341b00.conf:system/etc/libnfc-brcm-43341b00.conf \
$(call copyNfcFirmware, BCM20791B3_002.004.010.0161.0000_Generic_I2CLite_NCD_Signed_configdata.ncd) \
$(call copyNfcFirmware, BCM20791B3_002.004.010.0161.0000_Generic_PreI2C_NCD_Signed_configdata.ncd) \
$(call copyNfcFirmware, BCM20791B5_002.006.013.0011.0000_Generic_I2C_NCD_Unsigned_configdata.ncd) \
$(call copyNfcFirmware, BCM43341NFCB0_002.001.009.0021.0000_Generic_I2C_NCD_Signed_configdata.ncd) \
$(call copyNfcFirmware, BCM43341NFCB0_002.001.009.0021.0000_Generic_PreI2C_NCD_Signed_configdata.ncd)
endif
endif # PRODUCT_BUILDING_GRF end
ifdef TARGET_PREBUILT_KERNEL
# Copy kernel if exists
PRODUCT_COPY_FILES += \
$(TARGET_PREBUILT_KERNEL):kernel
endif
# SDK Version
ifneq ($(filter atv box, $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))), )
PRODUCT_PROPERTY_OVERRIDES += \
ro.rksdk.version=ANDROID$(PLATFORM_VERSION)_MS_RKR2
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.rksdk.version=ANDROID$(PLATFORM_VERSION)_RKR7
endif
# CPU Name
PRODUCT_VENDOR_PROPERTIES += ro.soc.model=$(TARGET_BOARD_CPU)
# Set system properties identifying the chipset
PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Rockchip
PRODUCT_PACKAGES += \
vndservicemanager
$(call inherit-product, device/rockchip/common/modules/audio.mk)
$(call inherit-product, device/rockchip/common/modules/optimize.mk)
$(call inherit-product, device/rockchip/common/modules/build_dm.mk)
# HWC/Gralloc
$(call inherit-product, device/rockchip/common/modules/graphics.mk)
# PCBA tools
$(call inherit-product, device/rockchip/common/modules/pcba.mk)
# Optee
$(call inherit-product, device/rockchip/common/modules/optee.mk)
# Check optee
$(call inherit-product, hardware/rockchip/keymaster4/wait_for_tee/wait_for_tee.mk)
# Sepolicy
$(call inherit-product, device/rockchip/common/modules/android_sepolicy.mk)
# TWRP
$(call inherit-product, device/rockchip/common/modules/twrp.mk)
# GMS
$(call inherit-product, device/rockchip/common/modules/gms.mk)
# Media OMX/C2
$(call inherit-product, device/rockchip/common/modules/mediacodec.mk)
# Android Go configuration
$(call inherit-product, device/rockchip/common/modules/android_go.mk)
# Android Verified Boot
$(call inherit-product, device/rockchip/common/modules/avb.mk)
# init.rc files
$(call inherit-product, device/rockchip/common/rootdir/rootdir.mk)
# swap fstab files
$(call inherit-product, device/rockchip/common/rootdir/swap/swap.mk)
ifeq ($(strip $(BOARD_RKAI_SUPPORT)), true)
$(call inherit-product, device/rockchip/common/modules/ai.mk)
BOARD_VENDOR_STORAGE_SERVICE := true
# SR and MEMC
BOARD_USES_LIBSVEP_SR := true
#BOARD_USES_LIBSVEP_MEMC := true
endif
ifeq ($(strip $(BOARD_VENDOR_STORAGE_SERVICE)), true)
# Provides read and write vendor storage services
$(call inherit-product, hardware/rockchip/vendor_storage_service/vendorstorage_service.mk)
endif
ifeq ($(strip $(BOARD_HDMI_IN_SUPPORT)), true)
$(call inherit-product, device/rockchip/common/modules/hdmi_in.mk)
endif
ifeq ($(strip $(BOARD_HAVE_SUB_LINUX)), true)
$(call inherit-product, device/rockchip/common/asl/asl.mk)
endif
# rk1820 modules
$(call inherit-product, hardware/rockchip/rk1820/rk1820.mk)
ifeq ($(filter MediaTek_mt7601 MediaTek RealTek Espressif, $(strip $(BOARD_CONNECTIVITY_VENDOR))), )
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.connectivity.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.connectivity.rc
endif
ifndef PRODUCT_FSTAB_TEMPLATE
$(warning Please add fstab.in with PRODUCT_FSTAB_TEMPLATE in your product.mk)
# To use fstab auto generator, define fstab.in in your product.mk,
# Then include the device/rockchip/common/build/rockchip/RebuildFstab.mk in your AndroidBoard.mk
PRODUCT_COPY_FILES += \
$(TARGET_DEVICE_DIR)/fstab.rk30board:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_BOARD_HARDWARE) \
$(TARGET_DEVICE_DIR)/fstab.rk30board:$(TARGET_COPY_OUT_RAMDISK)/fstab.$(TARGET_BOARD_HARDWARE)
# Header V3+, add vendor_boot
ifeq ($(BOARD_BUILD_GKI),true)
PRODUCT_COPY_FILES += \
$(TARGET_DEVICE_DIR)/fstab.rk30board:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.$(TARGET_BOARD_HARDWARE)
endif
endif # Use PRODUCT_FSTAB_TEMPLATE
ifeq ($(BOARD_NFC_SUPPORT),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml
endif
# Bluetooth
ifneq ($(TARGET_USE_BTLINUX_HAL_IMPL),true)
ifeq ($(call math_gt_or_eq,$(ROCKCHIP_LUNCHING_API_LEVEL),34),true)
DEVICE_MANIFEST_FILE += \
device/rockchip/common/manifests/android.hardware.bluetooth@1.0-service.xml
endif
$(call inherit-product, device/rockchip/common/modules/bluetooth.mk)
endif
ifeq ($(BOARD_HAS_GPS),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml
endif
ifeq ($(BOARD_USER_FAKETOUCH),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.faketouch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.faketouch.xml
endif
# USB HOST
ifeq ($(BOARD_USB_HOST_SUPPORT),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml
endif
# USB ACCESSORY
ifeq ($(BOARD_USB_ACCESSORY_SUPPORT),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
endif
ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), vr)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/vr_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/vr_core_hardware.xml
else ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), laptop)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/laptop_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/laptop_core_hardware.xml
else ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), tablet)
ifneq ($(strip $(BUILD_WITH_GO_OPT)),true)
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/tablet_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/tablet_core_hardware.xml
endif
# add this prop to skip vr test for cts-on-gsi in vts
PRODUCT_PROPERTY_OVERRIDES += \
ro.boot.vr=0
endif
ifeq ($(filter atv, $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))), )
ifeq ($(filter rk3518_box_32 rk3528_box_32 rk3562_projector_32, $(TARGET_PRODUCT)), )
# Include sensor module for tablet
$(call inherit-product, device/rockchip/common/modules/sensors.mk)
endif
endif
# Include thermal HAL module
$(call inherit-product, device/rockchip/common/modules/thermal.mk)
# include vibrator AIDL module
$(call inherit-product, device/rockchip/common/modules/vibrator.mk)
# Media DRM
$(call inherit-product, device/rockchip/common/modules/media_drm.mk)
# Usb controller detector for GKI
$(call inherit-product, device/rockchip/common/modules/usb.mk)
# GKI modules
$(call inherit-product, device/rockchip/common/modules/gki_common.mk)
# kernel configurations
$(call inherit-product, device/rockchip/common/modules/kernel_config.mk)
# make boot/vendor_boot
$(call inherit-product, device/rockchip/common/modules/make_boot.mk)
# recovery
$(call inherit-product, device/rockchip/common/modules/recovery.mk)
# rknn modules
$(call inherit-product, device/rockchip/common/modules/rknn.mk)
# Power AIDL
PRODUCT_PACKAGES += \
android.hardware.power \
android.hardware.power-service.rockchip
PRODUCT_PACKAGES += \
akmd
# Light AIDL
ifneq ($(TARGET_BOARD_PLATFORM_PRODUCT), atv)
PRODUCT_PACKAGES += \
android.hardware.lights \
android.hardware.lights-service.rockchip
endif
ifeq ($(strip $(BOARD_SUPER_PARTITION_GROUPS)),rockchip_dynamic_partitions)
# Fastbootd HAL
# TODO: develop a hal for GMS...
PRODUCT_PACKAGES += \
android.hardware.fastboot-service.rockchip_recovery \
android.hardware.boot-service.default_recovery \
fastbootd
endif # BOARD_USE_DYNAMIC_PARTITIONS
# iep
ifneq ($(filter rk3188 rk3190 rk3026 rk3288 rk312x rk3126c rk3128 px3se rk3368 rk3326 rk356x rk3328 rk3366 rk3399, $(strip $(TARGET_BOARD_PLATFORM))), )
BUILD_IEP := true
PRODUCT_PACKAGES += \
libiep
else
BUILD_IEP := false
endif
# rkvtunnel
ifneq ($(filter rk3528, $(strip $(TARGET_BOARD_PLATFORM))), )
PRODUCT_PACKAGES += \
librkvt \
librkvt.vendor \
librkvt_win
endif
# Health/Battery & Charger
$(call inherit-product, device/rockchip/common/modules/health.mk)
# Add board.platform default property to parsing related rc
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.board.platform=$(strip $(TARGET_BOARD_PLATFORM))
PRODUCT_PRODUCT_PROPERTIES += \
ro.target.product=$(strip $(TARGET_BOARD_PLATFORM_PRODUCT))
PRODUCT_CHARACTERISTICS := $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.strictmode.visual=false
ifeq ($(strip $(BOARD_HAVE_FLASH)), true)
PRODUCT_PROPERTY_OVERRIDES += ro.rk.flash_enable=true
else
PRODUCT_PROPERTY_OVERRIDES += ro.rk.flash_enable=false
endif
ifeq ($(strip $(BOARD_SUPPORT_HDMI)), true)
PRODUCT_PROPERTY_OVERRIDES += ro.rk.hdmi_enable=true
else
PRODUCT_PROPERTY_OVERRIDES += ro.rk.hdmi_enable=false
endif
########################################################
# build with UMS? CDROM?
########################################################
ifeq ($(strip $(BUILD_WITH_UMS)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.hasUMS=true \
persist.sys.usb.config=mass_storage,adb
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.rockchip.hasUMS.true.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(TARGET_BOARD_HARDWARE).environment.rc
else
ifeq ($(strip $(BUILD_WITH_CDROM)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.hasUMS=cdrom \
ro.factory.cdrom=$(BUILD_WITH_CDROM_PATH) \
persist.sys.usb.config=mass_storage,adb
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.rockchip.hasCDROM.true.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(TARGET_BOARD_HARDWARE).environment.rc
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.hasUMS=false \
testing.mediascanner.skiplist = /mnt/shell/emulated/Android/
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.rockchip.hasUMS.false.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(TARGET_BOARD_HARDWARE).environment.rc
endif
endif
########################################################
# this product has GPS or not
########################################################
ifeq ($(strip $(BOARD_HAS_GPS)),true)
PRODUCT_PACKAGES += \
android.hardware.gnss-service.rk \
gps.default
# gps.default.so source codes: hardware/rockchip/gnss/libgps/
endif
########################################################
# this product has Ethernet or not
########################################################
ifeq ($(strip $(BOARD_HS_ETHERNET)),true)
PRODUCT_PROPERTY_OVERRIDES += ro.rk.ethernet_settings=true
endif
########################################################
# this product is an Ebook or not
# ########################################################
ifeq ($(strip $(BUILD_WITH_RK_EBOOK)),true)
PRODUCT_PROPERTY_OVERRIDES += ro.rk.ebook_settings=true
endif
#######################################################
#build system support ntfs?
########################################################
ifeq ($(strip $(BOARD_IS_SUPPORT_NTFS)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.storage_suppntfs=true
PRODUCT_PACKAGES += \
ntfs-3g-compart \
ntfsfix \
mkntfs
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.storage_suppntfs=false
endif
########################################################
# build without barrery
########################################################
ifeq ($(strip $(BUILD_WITHOUT_BATTERY)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.without_battery=true
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.factory.without_battery=false
endif
#device recovery ui
#PRODUCT_PACKAGES += \
librecovery_ui_$(TARGET_PRODUCT)
ifeq ($(strip $(BOARD_BOOT_READAHEAD)), true)
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/proprietary/readahead/readahead:$(TARGET_COPY_OUT_VENDOR)/sbin/readahead \
$(LOCAL_PATH)/proprietary/readahead/readahead_list.txt:$(TARGET_COPY_OUT_VENDOR)/readahead_list.txt
endif
# Copy manifest to vendor/
ifeq ($(strip $(BOARD_RECORD_COMMIT_ID)),true)
PRODUCT_COPY_FILES += \
$(OUT_DIR)/commit_id.xml:$(TARGET_COPY_OUT_VENDOR)/commit_id.xml
endif
ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), box)
#include device/rockchip/common/samba/rk31_samba.mk
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/init.box.samba.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.box.samba.rc \
device/rockchip/common/rootdir/init.box_early.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.box_early.sh \
device/rockchip/common/cifsmanager.sh:system/bin/cifsmanager.sh
PRODUCT_PROPERTY_OVERRIDES += \
ro.rk.screenoff_time=2147483647
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.rk.screenoff_time=60000
endif
# incrementalfs config
$(call inherit-product-if-exists, vendor/rockchip/common/modular_kernel/4.19/incrementalfs.mk)
ifeq ($(strip $(BUILD_WITH_MICROSOFT_PLAYREADY)), true)
$(call inherit-product-if-exists, vendor/microsoft/playready.mk)
endif
$(call inherit-product-if-exists, vendor/rockchip/common/device-vendor.mk)
########################################################
# this product has support remotecontrol or not
########################################################
ifeq ($(strip $(BOARD_HAS_REMOTECONTROL)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.enable.remotecontrol=true
else
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.enable.remotecontrol=false
endif
ifeq ($(strip $(BUILD_WITH_SKIPVERIFY)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.config.enable.skipverify=true
endif
# rktoolbox
ifneq ($(filter atv box, $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))), )
ifeq ($(strip $(BOARD_WITH_RKTOOLBOX)),true)
$(call inherit-product-if-exists, external/rktoolbox/rktoolbox.mk)
endif
endif
#hdmi cec
ifeq ($(BOARD_SUPPORT_HDMI_CEC),true)
$(call inherit-product, device/rockchip/common/modules/hdmi_cec.mk)
endif
ifeq ($(strip $(BOARD_SHOW_HDMI_SETTING)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.hdmi_settings=true
USE_PRODUCT_RESOLUTION_WHITE := $(shell test -f $(TARGET_DEVICE_DIR)/resolution_white.xml && echo true)
ifeq ($(strip $(USE_PRODUCT_RESOLUTION_WHITE)), true)
PRODUCT_COPY_FILES += \
$(TARGET_DEVICE_DIR)/resolution_white.xml:/vendor/etc/resolution_white.xml
else
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/resolution_white.xml:/vendor/etc/resolution_white.xml
endif
# Hw Output HAL
PRODUCT_PACKAGES += \
rockchip.hardware.outputmanager@1.0-impl \
rockchip.hardware.outputmanager@1.0-service
PRODUCT_PACKAGES += hw_output.default
PRODUCT_COPY_FILES += \
device/rockchip/common/permissions/rockchip.software.display.xml:vendor/etc/permissions/rockchip.software.display.xml
#PRODUCT_COPY_FILES += \
# device/rockchip/common/permissions/rockchip.software.rkhandwrite.xml:vendor/etc/permissions/rockchip.software.rkhandwrite.xml
endif
PRODUCT_PACKAGES += \
abc
ifeq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), vr)
PRODUCT_COPY_FILES += \
device/rockchip/common/lowmem_package_filter.xml:system/etc/lowmem_package_filter.xml
endif
#if force app can see udisk
ifeq ($(strip $(BOARD_FORCE_UDISK_VISIBLE)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.udisk.visible=true
endif
#if disable safe mode to speed up booting time
ifeq ($(strip $(BOARD_DISABLE_SAFE_MODE)),true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.safemode.disabled=true
endif
#boot and shutdown animation, ringing
ifeq ($(strip $(BOOT_SHUTDOWN_ANIMATION_RINGING)),true)
include device/rockchip/common/bootshutdown/bootshutdown.mk
PRODUCT_PROPERTY_OVERRIDES += \
vendor.shutdown_anim.orien=0
endif
#boot video enable
ifeq ($(strip $(BOOT_VIDEO_ENABLE)),true)
include device/rockchip/common/bootvideo/bootvideo.mk
endif
ifeq ($(strip $(BOARD_ENABLE_PMS_MULTI_THREAD_SCAN)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.pms.multithreadscan=true
endif
#add for hwui property
PRODUCT_PROPERTY_OVERRIDES += \
ro.rk.screenshot_enable=true \
ro.rk.hdmi_enable=true \
sys.status.hidebar_enable=false
PRODUCT_FULL_TREBLE_OVERRIDE := true
#PRODUCT_COMPATIBILITY_MATRIX_LEVEL_OVERRIDE := 27
# Add runtime resource overlay for framework-res
# TODO disable for box
ifeq ($(filter atv box, $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))), )
PRODUCT_ENFORCE_RRO_TARGETS := \
framework-res
endif
#The module which belong to vndk-sp is defined by google
PRODUCT_PACKAGES += \
android.hardware.renderscript@1.0.vndk-sp\
android.hardware.graphics.allocator@2.0.vndk-sp\
android.hardware.graphics.mapper@2.0.vndk-sp\
android.hardware.graphics.common@1.0.vndk-sp\
libhwbinder.vndk-sp\
libbase.vndk-sp\
libcutils.vndk-sp\
libhardware.vndk-sp\
libhidlbase.vndk-sp\
libhidltransport.vndk-sp\
libutils.vndk-sp\
libc++.vndk-sp\
libRS_internal.vndk-sp\
libRSDriver.vndk-sp\
libRSCpuRef.vndk-sp\
libbcinfo.vndk-sp\
libblas.vndk-sp\
libft2.vndk-sp\
libpng.vndk-sp\
libcompiler_rt.vndk-sp\
libbacktrace.vndk-sp\
libunwind.vndk-sp\
liblzma.vndk-sp
#######for target product ########
ifeq ($(TARGET_BOARD_PLATFORM_PRODUCT),box)
DEVICE_PACKAGE_OVERLAYS += device/rockchip/common/overlay_screenoff
ifeq ($(strip $(PRODUCT_USE_PREBUILT_GTVS)), yes)
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=android-rockchip-tv
PRODUCT_COPY_FILES += \
device/google/atv/products/bootanimations/bootanimation.zip:/system/media/bootanimation.zip
# Copy .kl file for generic voice remotes
PRODUCT_COPY_FILES += \
device/google/atv/Generic.kl:system/usr/keylayout/Generic.kl
endif
$(call inherit-product, device/rockchip/common/modules/rockchip_apps_box.mk)
else ifeq ($(TARGET_BOARD_PLATFORM_PRODUCT),atv)
PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase=android-rockchip-tv
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/bootanimation.zip:/system/media/bootanimation.zip
$(call inherit-product, device/rockchip/common/modules/rockchip_apps_box.mk)
else # tablet
ifneq ($(strip $(PRODUCT_BUILDING_GRF)),true)
PRODUCT_PACKAGES += \
SoundRecorder
ifneq ($(strip $(BUILD_WITH_GOOGLE_GMS_EXPRESS)),true)
PRODUCT_PACKAGES += \
Music \
WallpaperPicker
$(call inherit-product, device/rockchip/common/modules/rockchip_apps.mk)
# Setup brightness for AOSP devices
DEVICE_PACKAGE_OVERLAYS += device/rockchip/common/overlay_brightness
endif # GMS Express
endif # GRF disable
endif # tablet without GMS-Express
# By default, enable zram; experiment can toggle the flag,
# which takes effect on boot
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.zram_enabled=1
### fix adb-device cannot be identified ###
### in AOSP-system image (user firmware) ###
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.logd.kernel=1
PRODUCT_PACKAGES += io
endif
ifeq ($(strip $(BOARD_USE_DRM)),true)
PRODUCT_PACKAGES += \
modetest
endif
ifeq ($(strip $(BOARD_USB_ALLOW_DEFAULT_MTP)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.usb.default_mtp=true
endif
PRODUCT_PACKAGES += libstdc++.vendor
#Build with UiMode Config
ifndef PRODUCT_UIMODE_CONFIG
PRODUCT_COPY_FILES += \
device/rockchip/common/uimode/package_uimode_config.xml:vendor/etc/package_uimode_config.xml
endif
# Zoom out recovery ui of box by two percent.
ifneq ($(filter atv box, $(strip $(TARGET_BOARD_PLATFORM_PRODUCT))), )
TARGET_RECOVERY_OVERSCAN_PERCENT := 2
TARGET_BASE_PARAMETER_IMAGE ?= device/rockchip/common/baseparameter/baseparameter.img
# savBaseParameter and edid-decode tool
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += saveBaseParameter
PRODUCT_PACKAGES += edid-decode
endif
DEVICE_FRAMEWORK_MANIFEST_FILE := device/rockchip/common/manifest_framework_override.xml
endif
# add AudioSetting
PRODUCT_PACKAGES += \
rockchip.hardware.rkaudiosetting@1.0-service \
rockchip.hardware.rkaudiosetting@1.0-impl \
rockchip.hardware.rkaudiosetting@1.0
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rt_audio_config.xml:/system/etc/rt_audio_config.xml
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rt_video_config.xml:/system/etc/rt_video_config.xml
#Build with Flash IMG
BOARD_FLASH_IMG_ENABLE ?= false
ifeq ($(TARGET_BOARD_PLATFORM_PRODUCT),box)
BOARD_FLASH_IMG_ENABLE := true
endif
#FLASH_IMG
ifeq ($(strip $(BOARD_FLASH_IMG_ENABLE)), true)
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.flash_img.enable = true
else
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.flash_img.enable = false
endif
PRODUCT_COPY_FILES += \
device/rockchip/common/flash_img/flash_img.sh:vendor/bin/flash_img.sh
#read pcie info for Devicetest APK
PRODUCT_COPY_FILES += \
device/rockchip/common/pcie/read_pcie_info.sh:vendor/bin/read_pcie_info.sh
BOARD_TV_LOW_MEMOPT ?= false
ifeq ($(strip $(BOARD_TV_LOW_MEMOPT)), true)
include device/rockchip/common/tv/tv_low_ram_device.mk
endif
# Camera support
ifeq ($(BOARD_CAMERA_SUPPORT),true)
ifeq ($(BOARD_CAMERA_AIDL),true)
$(call inherit-product, device/rockchip/common/modules/camera_aidl.mk)
else
$(call inherit-product, device/rockchip/common/modules/camera.mk)
endif
endif
ifeq ($(BOARD_ROCKCHIP_PKVM), true)
# pKVM
$(call inherit-product, device/rockchip/common/modules/pkvm.mk)
endif
# Rockchip HALs
$(call inherit-product, device/rockchip/common/manifests/frameworks/vintf.mk)
ifeq ($(BOARD_MEMTRACK_SUPPORT),true)
$(call inherit-product, device/rockchip/common/modules/memtrack.mk)
endif
ifneq (,$(filter true, $(strip $(BOARD_USES_LIBPQ)) $(strip $(BOARD_USES_LIBPQ_HWPQ))))
#Build pq
$(call inherit-product, hardware/rockchip/libpq/libpq.mk)
endif
ifeq ($(BOARD_USES_HWC_PROXY_SERVICE),true)
$(call inherit-product, hardware/rockchip/hwc_proxy_service/hwc_proxy_service.mk)
endif
PRODUCT_PACKAGES += \
libbaseparameter
USE_PRODUCT_DISPLAY_SETTINGS := $(shell test -f $(TARGET_DEVICE_DIR)/display_settings.xml && echo true)
ifeq ($(strip $(USE_PRODUCT_DISPLAY_SETTINGS)), true)
PRODUCT_COPY_FILES += \
$(TARGET_DEVICE_DIR)/display_settings.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display_settings.xml
else
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/display_settings.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display_settings.xml
endif
# build libmpimmz for rknn
PRODUCT_PACKAGES += \
libmpimmz
# prebuild camera binary tools
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
PRODUCT_PACKAGES += \
media-ctl \
v4l2-ctl
ifneq (,$(filter rk356x rk3588 rk3562, $(strip $(TARGET_BOARD_PLATFORM))))
PRODUCT_PACKAGES += \
rkaiq_tool_server \
rkaiq_demo \
rkaiq_3A_server
endif
endif
# neon transform library
PRODUCT_PACKAGES += \
librockchipxxx
# set defaut color saturation
PRODUCT_PROPERTY_OVERRIDES += \
persist.sys.sf.color_saturation=1.0
# property settings for rockit player
ifneq ($(strip $(TARGET_BOARD_PLATFORM_PRODUCT)), box)
# enable retriever during video playing
PRODUCT_VENDOR_PROPERTIES += \
rt_retriever_enable=1 \
rt_player_mem_policy=3
ifneq ($(filter rk3576, $(TARGET_BOARD_PLATFORM)), )
PRODUCT_VENDOR_PROPERTIES += \
rt_vdec_fbc_min_stride=4096
endif
endif
# picture settings
ifeq ($(strip $(BOARD_SHOW_PICTURE_SETTING)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.picture_settings=true
endif
# sr settings
ifeq ($(strip $(BOARD_USES_LIBSVEP_SR)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.sr_settings=true
endif
# memc settings
ifeq ($(strip $(BOARD_USES_LIBSVEP_MEMC)), true)
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.memc_settings=true
endif
ifneq (,$(filter true, $(strip $(BOARD_ENABLE_AIPQ_SDSR)) $(strip $(BOARD_ENABLE_AIPQ_PROJECTOR_PRODUCT))))
PRODUCT_PROPERTY_OVERRIDES += ro.vendor.aipq_settings=true
endif
# SVEP
ifneq (,$(filter true, $(strip $(BOARD_USES_LIBSVEP_SR)) $(strip $(BOARD_USES_LIBSVEP_MEMC)) $(strip $(BOARD_USES_LIBSVEP))))
# will disable frame pending by svep running
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.disable_frame_pending_by_svep_running=1
endif
# Biometrics face
ifeq ($(strip $(BOARD_BIOMETRICS_FACE)), true)
$(call inherit-product, device/rockchip/common/modules/biometrics.mk)
endif
# Treat SMPTE 170M as sRGB for GPU Composite
PRODUCT_PROPERTY_OVERRIDES += \
debug.sf.treat_170m_as_sRGB=1
# Wifi
$(call inherit-product, device/rockchip/common/modules/wifi.mk)
# memtrack
$(call inherit-product, hardware/rockchip/libmemtrack/libmemtrack.mk)