diff options
author | Peter Collingbourne <pcc@google.com> | 2022-02-02 11:38:11 -0800 |
---|---|---|
committer | Peter Collingbourne <pcc@google.com> | 2022-02-18 20:03:11 -0800 |
commit | e8b96e36869eae7f4bef8d6616429ad0c0d92d74 (patch) | |
tree | df7f3d408a100cd3b0d3a314282d3451e8e2968f | |
parent | c934188606b47f6041043d37fffbebbff9d00c0b (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
-rw-r--r-- | BoardConfigCommon.mk | 3 | ||||
-rw-r--r-- | build/tasks/kernel.mk | 4 | ||||
-rw-r--r-- | db845c.mk | 21 | ||||
-rw-r--r-- | db845c/device.mk | 21 | ||||
-rw-r--r-- | device-common.mk | 257 | ||||
-rw-r--r-- | full.mk | 245 | ||||
-rw-r--r-- | rb5.mk | 22 | ||||
-rw-r--r-- | rb5/device.mk | 23 |
8 files changed, 291 insertions, 305 deletions
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index fa12df0..2f3be01 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -61,9 +61,6 @@ BOARD_SEPOLICY_DIRS += \ device/linaro/dragonboard/sepolicy \ system/bt/vendor_libs/linux/sepolicy -DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml -DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml - # Enable dex pre-opt to speed up initial boot ifeq ($(HOST_OS),linux) ifeq ($(WITH_DEXPREOPT),) diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index 959347b..a16c54f 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -1,7 +1,7 @@ ifneq ($(filter db845c, $(TARGET_DEVICE)),) -$(PRODUCT_OUT)/dtb.img: $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb - -cat $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb $(DB845C_KERNEL_DIR)/qrb5165-rb5.dtb > $@ +$(PRODUCT_OUT)/dtb.img: $(TARGET_KERNEL_DIR)/sdm845-db845c.dtb $(wildcard $(TARGET_KERNEL_DIR)/qrb5165-rb5.dtb) + cat $^ > $@ droidcore: $(PRODUCT_OUT)/dtb.img @@ -1,26 +1,7 @@ -ifndef TARGET_KERNEL_USE -TARGET_KERNEL_USE := 5.15 -endif -DB845C_KERNEL_DIR ?= device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) - -# Inherit the full_base and device configurations -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, device/linaro/dragonboard/full.mk) $(call inherit-product, device/linaro/dragonboard/db845c/device.mk) -$(call inherit-product, device/linaro/dragonboard/device-common.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) # Product overrides PRODUCT_NAME := db845c PRODUCT_DEVICE := db845c PRODUCT_BRAND := Android - -ifndef DB845C_USES_GKI -DB845C_USES_GKI := true -endif - -ifeq ($(DB845C_USES_GKI), true) - DB845C_MODS := $(wildcard $(DB845C_KERNEL_DIR)/*.ko) - ifneq ($(DB845C_MODS),) - BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(DB845C_MODS) - endif -endif diff --git a/db845c/device.mk b/db845c/device.mk index b8332a0..63e24a1 100644 --- a/db845c/device.mk +++ b/db845c/device.mk @@ -18,28 +18,12 @@ $(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) include $(LOCAL_PATH)/../vendor-package-ver.mk -# Enable Virtual A/B -AB_OTA_UPDATER := true -AB_OTA_PARTITIONS += \ - product \ - system \ - system_ext \ - vendor - ifeq ($(TARGET_USES_BOOT_HDR_V3), true) $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) else $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) endif -PRODUCT_COPY_FILES := \ - $(DB845C_KERNEL_DIR)/Image.gz:kernel \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/fstab.db845c \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.db845c \ - device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.db845c.rc \ - device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.db845c.usb.rc \ - device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/db845c.kl - # Build generic Audio HAL PRODUCT_PACKAGES := audio.primary.db845c @@ -67,3 +51,8 @@ PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 # Copy firmware files $(call inherit-product-if-exists, vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) $(call inherit-product-if-exists, vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) + +TARGET_HARDWARE := db845c +TARGET_KERNEL_USE ?= 5.15 + +include device/linaro/dragonboard/device-common.mk 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 @@ -0,0 +1,245 @@ +# +# Copyright (C) 2014 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. +# 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. +# + +# Enable updating of APEXes +$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) + +# Device overlay +DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay + +# Build and run only ART +PRODUCT_RUNTIMES := runtime_libart_default + +PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false + +# Enable Scoped Storage related +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) + +# vndk +PRODUCT_PACKAGES := vndk-sp + +# 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 + +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 + +DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml +DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml + +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) @@ -1,27 +1,7 @@ -ifndef TARGET_KERNEL_USE -TARGET_KERNEL_USE := 5.15 -endif -RB5_KERNEL_DIR := device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) - -# Inherit the full_base and device configurations -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, device/linaro/dragonboard/full.mk) $(call inherit-product, device/linaro/dragonboard/rb5/device.mk) -$(call inherit-product, device/linaro/dragonboard/device-common.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) # Product overrides PRODUCT_NAME := rb5 PRODUCT_DEVICE := rb5 PRODUCT_BRAND := Android - -ifndef RB5_USES_GKI - RB5_USES_GKI := true -endif - -ifeq ($(RB5_USES_GKI), true) - RB5_MODS := $(wildcard $(RB5_KERNEL_DIR)/*.ko) - ifneq ($(RB5_MODS),) - RB5_SKIP_MODS := %/venus-core.ko %/venus-dec.ko %/venus-enc.ko - BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(filter-out $(RB5_SKIP_MODS),$(RB5_MODS)) - endif -endif diff --git a/rb5/device.mk b/rb5/device.mk index 55388d9..c5f6774 100644 --- a/rb5/device.mk +++ b/rb5/device.mk @@ -19,25 +19,10 @@ $(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-he include $(LOCAL_PATH)/../vendor-package-ver.mk -# Enable Virtual A/B -AB_OTA_UPDATER := true -AB_OTA_PARTITIONS += \ - product \ - system \ - system_ext \ - vendor - $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) PRODUCT_COPY_FILES := \ - $(RB5_KERNEL_DIR)/Image.gz:kernel \ - $(RB5_KERNEL_DIR)/qrb5165-rb5.dtb:dtb.img \ $(LOCAL_PATH)/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/fstab.rb5 \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.rb5 \ - device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.rb5.rc \ - device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.rb5.usb.rc \ - device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/rb5.kl # Build generic Audio HAL PRODUCT_PACKAGES := audio.primary.rb5 @@ -55,3 +40,11 @@ PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 # Copy firmware files $(call inherit-product-if-exists, vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) + +TARGET_DTB := qrb5165-rb5.dtb +TARGET_HARDWARE := rb5 +TARGET_KERNEL_USE ?= 5.15 + +include device/linaro/dragonboard/device-common.mk + +PRODUCT_COPY_FILES += $(TARGET_KERNEL_DIR)/qrb5165-rb5.dtb:dtb.img |