device_google_pantah/device-cloudripper.mk
Brian Norris e87bccccca pantah: Pull init.insmod.*.cfg from vendor_dlkm
We've started pushing init.insmod.*.cfg into the kernel prebuilts, and
installing it to /vendor_dlkm/etc, but it may not be available on all
prebuilt variants (e.g., kernel 5.10).

Here, we:
1. conditionally install our common init.*cfg to /vendor_dlkm (only if
   $(TARGET_KERNEL_DIR) doesn't have a copy)
2. point init at /vendor_dlkm/etc

When we've cycled completely off of kernel 5.10, we can drop #1.

Bug: 369686096
Test: build, boot
Flag: EXEMPT refactor
Change-Id: Iff56b163d332d6226c05ff56f7838b3ad9806674
2024-10-08 22:15:17 +00:00

203 lines
8.3 KiB
Makefile

#
# Copyright (C) 2021 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.
#
# Restrict the visibility of Android.bp files to improve build analysis time
$(call inherit-product-if-exists, vendor/google/products/sources_pixel.mk)
RELEASE_GOOGLE_BOOTLOADER_CHEETAH_DIR ?= pdk# Keep this for pdk TODO: b/327119000
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_CHEETAH_DIR)
$(call soong_config_set,pantah_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_CHEETAH_DIR))
ifneq ($(filter trunk%, $(RELEASE_GOOGLE_BOOTLOADER_CHEETAH_DIR)),)
$(call soong_config_set,pantah_fingerprint,prebuilt_dir,trunk)
else
$(call soong_config_set,pantah_fingerprint,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_CHEETAH_DIR))
endif
# Keeps flexibility for kasan and ufs builds
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_CHEETAH_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_CHEETAH_DIR)/kernel-headers
$(call inherit-product-if-exists, vendor/google_devices/pantah/prebuilts/device-vendor-cloudripper.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/pantah/proprietary/cloudripper/device-vendor-cloudripper.mk)
include device/google/gs201/device-shipping-common.mk
include device/google/pantah/audio/cloudripper/audio-tables.mk
include device/google/gs-common/bcmbt/bluetooth.mk
include device/google/gs-common/gps/brcm/cbd_gps.mk
include device/google/gs-common/touch/syna/syna0.mk
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,cloudripper)
$(call soong_config_set,lyric,tuning_product,cloudripper)
$(call soong_config_set,google3a_config,target_device,cloudripper)
# Init files
PRODUCT_COPY_FILES += \
device/google/pantah/conf/init.cloudripper.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.cloudripper.rc
# Recovery files
PRODUCT_COPY_FILES += \
device/google/pantah/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.cloudripper.rc
# insmod files. Kernel 5.10 prebuilts don't provide these yet, so provide our
# own copy if they're not in the prebuilts.
# TODO(b/369686096): drop this when 5.10 is gone.
ifeq ($(wildcard $(TARGET_KERNEL_DIR)/init.insmod.*.cfg),)
PRODUCT_COPY_FILES += \
device/google/pantah/init.insmod.cloudripper.cfg:$(TARGET_COPY_OUT_VENDOR_DLKM)/etc/init.insmod.cloudripper.cfg
endif
# Camera
PRODUCT_COPY_FILES += \
device/google/pantah/media_profiles_cloudripper.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
# NFC
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 \
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
device/google/pantah/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
device/google/pantah/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
PRODUCT_PACKAGES += \
$(RELEASE_PACKAGE_NFC_STACK) \
Tag \
android.hardware.nfc-service.st
# modem_svc_sit daemon
PRODUCT_PACKAGES += modem_svc_sit
# SecureElement
PRODUCT_PACKAGES += \
android.hardware.secure_element@1.2-service-gto \
android.hardware.secure_element@1.2-service-gto-ese2
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
device/google/pantah/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
device/google/pantah/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
DEVICE_MANIFEST_FILE += \
device/google/pantah/nfc/manifest_se.xml
# Thermal Config
PRODUCT_COPY_FILES += \
device/google/pantah/thermal_info_config_cloudripper.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
device/google/pantah/thermal_info_config_proto.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_proto.json
# Power HAL config
PRODUCT_COPY_FILES += \
device/google/pantah/powerhint-cloudripper.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# Bluetooth HAL
PRODUCT_COPY_FILES += \
device/google/pantah/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf
PRODUCT_PROPERTY_OVERRIDES += \
ro.bluetooth.a2dp_offload.supported=true \
persist.bluetooth.a2dp_offload.disabled=false \
persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus
PRODUCT_PRODUCT_PROPERTIES += \
persist.bluetooth.firmware.selection=BCM.hcd
# default BDADDR for EVB only
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55"
# Spatial Audio
PRODUCT_PACKAGES += \
libspatialaudio \
librondo
# Keymaster HAL
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
# Gatekeeper HAL
#LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= android.hardware.gatekeeper@1.0-service.software
# Gatekeeper
# PRODUCT_PACKAGES += \
# android.hardware.gatekeeper@1.0-service.software
# Keymint replaces Keymaster
# PRODUCT_PACKAGES += \
# android.hardware.security.keymint-service
# Keymaster
#PRODUCT_PACKAGES += \
# android.hardware.keymaster@4.0-impl \
# android.hardware.keymaster@4.0-service
#PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.remote
#PRODUCT_PACKAGES += android.hardware.keymaster@4.1-service.remote
#LOCAL_KEYMASTER_PRODUCT_PACKAGE := android.hardware.keymaster@4.1-service
#LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service
# PRODUCT_PROPERTY_OVERRIDES += \
# ro.hardware.keystore_desede=true \
# ro.hardware.keystore=software \
# ro.hardware.gatekeeper=software
# PowerStats HAL
PRODUCT_SOONG_NAMESPACES += \
device/google/pantah/powerstats/cloudripper
# WiFi Overlay
PRODUCT_PACKAGES += \
WifiOverlay2022_C10 \
PixelWifiOverlay2022_C10
PRODUCT_SOONG_NAMESPACES += device/google/pantah/cheetah/
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/pantah/prebuilts
# Location
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_COPY_FILES += \
device/google/pantah/location/gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
device/google/pantah/location/lhd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/pantah/location/scd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
else
PRODUCT_COPY_FILES += \
device/google/pantah/location/gps_user.xml:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
device/google/pantah/location/lhd_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
device/google/pantah/location/scd_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
endif
##Audio Vendor property
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.cca.enabled=false
# Set zram size
PRODUCT_VENDOR_PROPERTIES += \
vendor.zram.size=3g
# Device features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
# Vibrator HAL
$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))