summaryrefslogtreecommitdiff
path: root/device-common.mk
diff options
context:
space:
mode:
authorPeter Collingbourne <pcc@google.com>2022-02-02 11:38:11 -0800
committerPeter Collingbourne <pcc@google.com>2022-02-18 20:03:11 -0800
commite8b96e36869eae7f4bef8d6616429ad0c0d92d74 (patch)
treedf7f3d408a100cd3b0d3a314282d3451e8e2968f /device-common.mk
parentc934188606b47f6041043d37fffbebbff9d00c0b (diff)
Factor out the full device configuration.
In an upcoming patch we are going to add "mini" device configurations that avoid most of the usual driver dependencies. This requires splitting out the device-specific configuration from the configuration required for a full device image. Bug: 217455793 Change-Id: Id17d162d142a2595e54e163f5faaf7dcf9b68e35
Diffstat (limited to 'device-common.mk')
-rw-r--r--device-common.mk257
1 files changed, 29 insertions, 228 deletions
diff --git a/device-common.mk b/device-common.mk
index 87f2bb4..ee24e4f 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2014 The Android Open-Source Project
+# Copyright (C) 2022 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,27 +14,24 @@
# limitations under the License.
#
-# Enable updating of APEXes
-$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
+TARGET_KERNEL_DIR ?= device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE)
-# Device overlay
-DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay
+TARGET_USES_GKI ?= true
-# Build and run only ART
-PRODUCT_RUNTIMES := runtime_libart_default
+ifeq ($(TARGET_USES_GKI), true)
+ TARGET_MODS := $(wildcard $(TARGET_KERNEL_DIR)/*.ko)
+ ifneq ($(TARGET_MODS),)
+ BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(TARGET_MODS)
+ endif
+endif
PRODUCT_SHIPPING_API_LEVEL := 31
-PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
-
-# Enable Scoped Storage related
-$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
-
# Check vendor package version
# If you need to make changes to the vendor partition,
# please modify the source git project here:
# https://staging-git.codelinaro.org/linaro/linaro-aosp/aosp-linaro-vendor-package
-include $(LOCAL_PATH)/vendor-package-ver.mk
+include device/linaro/dragonboard/vendor-package-ver.mk
ifneq (,$(wildcard $(LINARO_VENDOR_PATH)/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/version.mk))
# Unfortunately inherit-product doesn't export build variables from the
# called make file to the caller, so we have to include it directly here.
@@ -54,226 +51,30 @@ else
# Would be good to error out here, but that causes other issues
endif
-
-# vndk
-PRODUCT_PACKAGES := vndk-sp
+PRODUCT_SOONG_NAMESPACES += \
+ device/linaro/dragonboard \
+ external/mesa3d \
+ vendor/linaro/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION) \
+ vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION) \
+ vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)
# Dynamic partitions
PRODUCT_BUILD_SUPER_PARTITION := true
PRODUCT_USE_DYNAMIC_PARTITIONS := true
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
-# HACK: Avoid usb crash
-PRODUCT_PRODUCT_PROPERTIES := \
- persist.adb.nonblocking_ffs=0 \
- ro.adb.nonblocking_ffs=0
-
-# Display
-PRODUCT_PACKAGES += \
- android.hardware.drm@1.3-service.clearkey \
- android.hardware.drm@1.3-service.widevine \
- libGLES_mesa \
- libEGL_mesa \
- libGLESv1_CM_mesa \
- libGLESv2_mesa \
- libgallium_dri \
- libglapi
-
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.hardware.gralloc=minigbm_msm \
- ro.hardware.hwcomposer=drm \
- ro.opengles.version=196608 \
- persist.demo.rotationlock=1
-
-# Vulkan
-PRODUCT_PACKAGES += \
- vulkan.freedreno
+# Enable Virtual A/B
+AB_OTA_UPDATER := true
+AB_OTA_PARTITIONS += \
+ product \
+ system \
+ system_ext \
+ vendor
PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
- frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
- frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
-
-PRODUCT_VENDOR_PROPERTIES += \
- ro.hardware.vulkan=freedreno
-
-# Will need to enable this after ANDROID_external_memory_android_hardware_buffer lands in mesa
-#TARGET_USES_VULKAN = true
-
-#
-# Hardware Composer HAL
-#
-PRODUCT_PACKAGES += \
- hwcomposer.drm \
- android.hardware.graphics.composer@2.3-impl \
- android.hardware.graphics.composer@2.3-service
-
-#
-# Gralloc HAL
-#
-PRODUCT_PACKAGES += \
- gralloc.minigbm_msm \
- android.hardware.graphics.allocator@4.0-service.minigbm_msm \
- android.hardware.graphics.mapper@4.0-impl.minigbm_msm
-
-
-# Use Launcher3QuickStep
-PRODUCT_PACKAGES += Launcher3QuickStep
-
-# Enable WiFi
-PRODUCT_PACKAGES += \
- hostapd \
- libwpa_client \
- wpa_supplicant \
- wpa_supplicant.conf \
- wificond
-
-PRODUCT_PROPERTY_OVERRIDES += \
- wifi.interface=wlan0 \
- wifi.supplicant_scan_interval=15
-
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
- frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
- $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
- $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf
-
-# Enable BT
-PRODUCT_PACKAGES += \
- android.hardware.bluetooth@1.1-service.btlinux
-
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
- frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
-
-#
-# Power HAL
-#
-PRODUCT_PACKAGES += \
- android.hardware.power-service.example
-
-#
-# PowerStats HAL
-#
-PRODUCT_PACKAGES += \
- android.hardware.power.stats-service.example
-
-
-# Audio
-PRODUCT_PACKAGES += \
- android.hardware.audio.service \
- android.hardware.audio@7.0-impl \
- android.hardware.audio.effect@7.0-impl \
- android.hardware.soundtrigger@2.3-impl \
- android.hardware.bluetooth.audio@2.0-impl
-
-# Build default bluetooth a2dp and usb audio HALs
-PRODUCT_PACKAGES += \
- audio.a2dp.default \
- audio.bluetooth.default \
- audio.usb.default \
- audio.r_submix.default
-
-# Build tinyalsa cli tools for debugging
-PRODUCT_PACKAGES += \
- tinyplay \
- tinycap \
- tinymix \
- tinypcminfo
-
-# audio policy configuration
-USE_XML_AUDIO_POLICY_CONF := 1
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
- $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
- $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.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/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \
- frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_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
-
-# Copy media codecs config file
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
- frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
- frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
-
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
- $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy
-
-# Copy hardware config file(s)
-PRODUCT_COPY_FILES += \
- device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml
-
-
-# External Web Cam support
-PRODUCT_PACKAGES += \
- android.hardware.camera.provider@2.4-impl \
- android.hardware.camera.provider@2.4-external-service
-
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
- $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
- $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
-
-# Keymaster
-PRODUCT_PACKAGES += \
- android.hardware.keymaster@3.0-impl \
- android.hardware.keymaster@3.0-service
-
-# Gatekeeper
-PRODUCT_PACKAGES += \
- android.hardware.gatekeeper@1.0-service.software
-
-# Health
-PRODUCT_PACKAGES += \
- android.hardware.health@2.1-impl-cuttlefish \
- android.hardware.health@2.1-service
-
-# TODO: disable this service once we implement system suspend
-PRODUCT_PACKAGES += \
- suspend_blocker
-
-# mkbootimg host tool to build boot.img separately
-PRODUCT_HOST_PACKAGES := \
- mkbootimg
-
-# Userspace vendor services for WiFi/Audio to work
-PRODUCT_PACKAGES += \
- pd-mapper \
- qrtr-ns \
- qrtr-cfg \
- qrtr-lookup \
- rmtfs \
- tqftpserv
-
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc
-
-# Copy standard platform config files
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
- frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
- frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
- frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \
- frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \
- frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
- frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
- frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
- 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.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
- frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml
-
-PRODUCT_SOONG_NAMESPACES += \
- device/linaro/dragonboard \
- external/mesa3d \
- vendor/linaro/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION) \
- vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION) \
- vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)
-
+ $(TARGET_KERNEL_DIR)/Image.gz:kernel \
+ device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/first_stage_ramdisk/fstab.$(TARGET_HARDWARE) \
+ device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_HARDWARE) \
+ device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(TARGET_HARDWARE).rc \
+ device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(TARGET_HARDWARE).usb.rc \
+ device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/$(TARGET_HARDWARE).kl