diff options
-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 |