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.
633 lines
19 KiB
633 lines
19 KiB
#
|
|
# Copyright (C) 2016 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.
|
|
#
|
|
|
|
include build/make/target/board/BoardConfigMainlineCommon.mk
|
|
include build/make/target/board/BoardConfigPixelCommon.mk
|
|
|
|
TARGET_BOARD_PLATFORM := lito
|
|
USES_DEVICE_GOOGLE_REDBULL := true
|
|
|
|
TARGET_ARCH := arm64
|
|
TARGET_ARCH_VARIANT := armv8-a
|
|
TARGET_CPU_ABI := arm64-v8a
|
|
TARGET_CPU_ABI2 :=
|
|
TARGET_CPU_VARIANT := generic
|
|
TARGET_CPU_VARIANT_RUNTIME := cortex-a76
|
|
|
|
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
|
TARGET_2ND_ARCH := arm
|
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
|
TARGET_2ND_CPU_ABI2 := armeabi
|
|
TARGET_2ND_CPU_VARIANT := generic
|
|
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
|
|
endif
|
|
|
|
BUILD_BROKEN_DUP_RULES := true
|
|
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on
|
|
BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237
|
|
BOARD_KERNEL_CMDLINE += ehci-hcd.park=3
|
|
BOARD_KERNEL_CMDLINE += service_locator.enable=1
|
|
BOARD_KERNEL_CMDLINE += androidboot.memcg=1 cgroup.memory=nokmem
|
|
BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 # STOPSHIP b/113233473
|
|
BOARD_KERNEL_CMDLINE += usbcore.autosuspend=7
|
|
BOARD_KERNEL_CMDLINE += androidboot.usbcontroller=a600000.dwc3 swiotlb=2048
|
|
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
|
|
BOARD_KERNEL_CMDLINE += loop.max_part=7
|
|
BOARD_KERNEL_CMDLINE += snd_soc_cs35l41_i2c.async_probe=1
|
|
BOARD_KERNEL_CMDLINE += i2c_qcom_geni.async_probe=1
|
|
BOARD_KERNEL_CMDLINE += st21nfc.async_probe=1
|
|
BOARD_KERNEL_CMDLINE += spmi_pmic_arb.async_probe=1
|
|
BOARD_KERNEL_CMDLINE += ufs_qcom.async_probe=1
|
|
|
|
BOARD_KERNEL_BASE := 0x00000000
|
|
BOARD_KERNEL_PAGESIZE := 4096
|
|
|
|
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
|
BOARD_BOOT_HEADER_VERSION := 3
|
|
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
|
|
|
|
BOARD_DTBOIMG_PARTITION_SIZE := 16777216
|
|
|
|
TARGET_NO_KERNEL := false
|
|
BOARD_USES_GENERIC_KERNEL_IMAGE := true
|
|
BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true
|
|
ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
|
|
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
|
|
endif
|
|
|
|
BOARD_USES_METADATA_PARTITION := true
|
|
|
|
AB_OTA_UPDATER := true
|
|
|
|
ifneq ($(PRODUCT_BUILD_SYSTEM_IMAGE),false)
|
|
AB_OTA_PARTITIONS += system
|
|
AB_OTA_PARTITIONS += vbmeta_system
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_PRODUCT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += product
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += system_ext
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += boot
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
|
|
AB_OTA_PARTITIONS += vendor_boot
|
|
AB_OTA_PARTITIONS += dtbo
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
|
|
AB_OTA_PARTITIONS += vbmeta
|
|
endif
|
|
|
|
# Partitions (listed in the file) to be wiped under recovery.
|
|
TARGET_RECOVERY_WIPE := device/google/redbull/recovery.wipe
|
|
TARGET_RECOVERY_FSTAB := device/google/redbull/fstab.hardware
|
|
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
|
|
TARGET_RECOVERY_UI_LIB := \
|
|
librecovery_ui_pixel \
|
|
libfstab
|
|
|
|
# Enable chain partition for system.
|
|
BOARD_AVB_VBMETA_SYSTEM := system system_ext product
|
|
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
|
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
|
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
|
|
|
|
# Enable chained vbmeta for boot images
|
|
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
|
|
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA2048
|
|
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
|
|
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
|
|
|
|
# product.img
|
|
BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
|
|
# userdata.img
|
|
TARGET_USERIMAGES_USE_F2FS := true
|
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240
|
|
BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
|
|
|
|
# persist.img
|
|
BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
|
|
BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
|
|
# boot.img
|
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x06000000
|
|
|
|
# vendor_boot.img
|
|
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x06000000
|
|
|
|
# Allow LZ4 compression
|
|
BOARD_RAMDISK_USE_LZ4 := true
|
|
|
|
# Specify BOOT_KERNEL_MODULES
|
|
#
|
|
# modules for first stage in vendor_boot.img, remainder goes to vendor.img.
|
|
# This list is a superset of all the possible modules required, and is
|
|
# filtered and ordered as per the supplied kernel's modules.load file.
|
|
# Any modules that do not exist will be silently dropped. This is required
|
|
# because some kernel configurations may have extra debug or test modules,
|
|
# make sure any required to be loaded during first stage init are listed.
|
|
BOOT_KERNEL_MODULES := \
|
|
msm_ipc_logging.ko \
|
|
qtee_shm_bridge.ko \
|
|
qcom_hwspinlock.ko \
|
|
smem.ko \
|
|
msm_minidump.ko \
|
|
watchdog_v2.ko \
|
|
early_random.ko \
|
|
qcom-pdc.ko \
|
|
cmd-db.ko \
|
|
qcom_rpmh.ko \
|
|
phy-qcom-ufs.ko \
|
|
phy-qcom-ufs-qrbtc-sdm845.ko \
|
|
phy-qcom-ufs-qmp-v4.ko \
|
|
phy-qcom-ufs-qmp-v4-lito.ko \
|
|
phy-qcom-ufs-qmp-v3-660.ko \
|
|
phy-qcom-ufs-qmp-v3.ko \
|
|
pinctrl-msm.ko \
|
|
pinctrl-lito.ko \
|
|
qcom-spmi-wled.ko \
|
|
msm_bus.ko \
|
|
clk-qcom.ko \
|
|
clk-aop-qmp.ko \
|
|
clk-rpmh.ko \
|
|
gcc-lito.ko \
|
|
clk-spmi-pmic-div.ko \
|
|
qrtr.ko \
|
|
qmi_helpers.ko \
|
|
secure_buffer.ko \
|
|
heap_mem_ext_v01.ko \
|
|
subsystem_notif.ko \
|
|
ramdump.ko \
|
|
msm_memshare.ko \
|
|
msm_bus_dbg_rpmh.ko \
|
|
msm_bus_rpmh.ko \
|
|
rpmh-regulator.ko \
|
|
qcom-geni-se.ko \
|
|
msm_geni_serial.ko \
|
|
msm_dma_iommu_mapping.ko \
|
|
arm-smmu-debug.ko \
|
|
iommu-logger.ko \
|
|
arm-smmu.ko \
|
|
ufshcd-core.ko \
|
|
ufshcd-pltfrm.ko \
|
|
ufs_qcom.ko \
|
|
spi-geni-qcom.ko \
|
|
i2c-qcom-geni.ko \
|
|
ion-alloc.ko \
|
|
msm_rtb.ko \
|
|
pinctrl-spmi-gpio.ko \
|
|
pinctrl-spmi-mpp.ko \
|
|
pwm-qti-lpg.ko \
|
|
debugcc-lito.ko \
|
|
dispcc-lito.ko \
|
|
gpucc-lito.ko \
|
|
npucc-lito.ko \
|
|
videocc-lito.ko \
|
|
virt-dma.ko \
|
|
gpi.ko \
|
|
msm_scm.ko \
|
|
mdt_loader.ko \
|
|
smem_state.ko \
|
|
smp2p.ko \
|
|
qcom_ipcc.ko \
|
|
llcc-slice.ko \
|
|
llcc-lito.ko \
|
|
core_hang_detect.ko \
|
|
gladiator_hang_detect.ko \
|
|
minidump_log.ko \
|
|
memory_dump_v2.ko \
|
|
dcc_v2.ko \
|
|
service-locator.ko \
|
|
service-notifier.ko \
|
|
subsystem-restart.ko \
|
|
peripheral-loader.ko \
|
|
subsys-pil-tz.ko \
|
|
cdsp-loader.ko \
|
|
qseecom.ko \
|
|
smcinvoke.ko \
|
|
microdump_collector.ko \
|
|
eud.ko \
|
|
qcom_socinfo.ko \
|
|
fsa4480-i2c.ko \
|
|
rpmsg_core.ko \
|
|
qcom_glink_native.ko \
|
|
qcom_glink_smem.ko \
|
|
qcom_glink_spss.ko \
|
|
glink_probe.ko \
|
|
glink_pkt.ko \
|
|
smp2p_sleepstate.ko \
|
|
event_timer.ko \
|
|
lpm-stats.ko \
|
|
msm_pm.ko \
|
|
rpmh_master_stat.ko \
|
|
system_pm.ko \
|
|
rpm_stats.ko \
|
|
ddr_stats.ko \
|
|
cdsprm.ko \
|
|
msm_icnss.ko \
|
|
modemsmem.ko \
|
|
qpnp-amoled-regulator.ko \
|
|
refgen.ko \
|
|
slg51000-regulator.ko \
|
|
tps-regulator.ko \
|
|
msm_rng.ko \
|
|
adsprpc_compat.ko \
|
|
adsprpc.ko \
|
|
fastcvpd.ko \
|
|
rdbg.ko \
|
|
qpnp-power-on.ko \
|
|
msm-poweroff.ko \
|
|
usb_f_diag.ko \
|
|
diagchar.ko \
|
|
governor_bw_vbif.ko \
|
|
governor_gpubw_mon.ko \
|
|
governor_msm_adreno_tz.ko \
|
|
msm_adreno.ko \
|
|
regmap-spmi.ko \
|
|
google-bms.ko \
|
|
at24.ko \
|
|
hdcp_qseecom.ko \
|
|
msm_hdcp.ko \
|
|
citadel-spi.ko \
|
|
qcom-i2c-pmic.ko \
|
|
qcom-spmi-pmic.ko \
|
|
st21nfc.ko \
|
|
st54j_se.ko \
|
|
qpnp-revid.ko \
|
|
devfreq_qcom_fw.ko \
|
|
adc_tm.ko \
|
|
msm_sps.ko \
|
|
qce50.ko \
|
|
qcedev-module.ko \
|
|
qcrypto.ko \
|
|
spmi-pmic-arb.ko \
|
|
cnss_utils.ko \
|
|
cnss_prealloc.ko \
|
|
cnss_nl.ko \
|
|
msm_sharedmem.ko \
|
|
phy-generic.ko \
|
|
phy-msm-ssusb-qmp.ko \
|
|
phy-msm-snps-hs.ko \
|
|
xhci-plat-hcd.ko \
|
|
rndis.ko \
|
|
usb_f_cdev.ko \
|
|
usb_f_ccid.ko \
|
|
dwc3.ko \
|
|
usb-dwc3-msm.ko \
|
|
usb_f_qdss.ko \
|
|
msm_gsi.ko \
|
|
ipa3.ko \
|
|
usb_f_gsi.ko \
|
|
usb_f_mtp.ko \
|
|
usb_f_ptp.ko \
|
|
roles.ko \
|
|
tcpm.ko \
|
|
logbuffer.ko \
|
|
pmic-voter.ko \
|
|
qpnp_pdphy.ko \
|
|
dwc3-haps.ko \
|
|
dwc3-of-simple.ko \
|
|
dwc3-qcom.ko \
|
|
touchscreen_tbn.ko \
|
|
vd6281_module.ko \
|
|
fpc1020_platform_tee.ko \
|
|
rtc-pm8xxx.ko \
|
|
i2c-qcom-geni.ko \
|
|
devfreq_devbw.ko \
|
|
msm_npu.ko \
|
|
qpnp-battery.ko \
|
|
of_batterydata.ko \
|
|
qpnp-smb5-charger.ko \
|
|
qpnp-qgauge.ko \
|
|
sm7250_bms.ko \
|
|
google_charger.ko \
|
|
google-battery.ko \
|
|
overheat_mitigation.ko \
|
|
p9221_charger.ko \
|
|
qti_qmi_sensor.ko \
|
|
bcl_pmic5.ko \
|
|
bcl_soc.ko \
|
|
qmi_cdev.ko \
|
|
lmh_dbg.ko \
|
|
msm_lmh_dcvs.ko \
|
|
regulator_aop_cdev.ko \
|
|
cpu_isolate.ko \
|
|
lmh_cpu_vdd_cdev.ko \
|
|
qcom-spmi-temp-alarm.ko \
|
|
thermal-tsens.ko \
|
|
slimbus.ko \
|
|
bluetooth_power.ko \
|
|
qcom_edac.ko \
|
|
qcom-cpufreq-hw.ko \
|
|
leds-qpnp-flash-common.ko \
|
|
leds-qpnp-flash-v2.ko \
|
|
of_slimbus.ko \
|
|
tz_log.ko \
|
|
google_wlan_mac.ko \
|
|
msm_ext_display.ko \
|
|
msm_qmp.ko \
|
|
governor_bw_hwmon.ko \
|
|
bimc-bwmon.ko \
|
|
governor_memlat.ko \
|
|
arm-memlat-mon.ko \
|
|
governor_cdsp_l3.ko \
|
|
qcom-vadc-common.ko \
|
|
qcom-spmi-adc5.ko \
|
|
pac193x.ko \
|
|
qcom_llcc_pmu.ko \
|
|
nvmem_qfprom.ko \
|
|
qcom-spmi-sdam.ko \
|
|
slim_msm_ngd.ko \
|
|
rpmsg_char.ko \
|
|
rmnet.ko \
|
|
usb-audio-qmi.ko \
|
|
msm-vidc.ko \
|
|
ebtables.ko \
|
|
ebtable_broute.ko \
|
|
sctp.ko \
|
|
sctp_diag.ko \
|
|
qrtr-smd.ko \
|
|
msm_drm.ko \
|
|
dm-user.ko \
|
|
|
|
# system_ext.img
|
|
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
|
|
|
|
BOARD_FLASH_BLOCK_SIZE := 131072
|
|
|
|
BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
|
|
BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist
|
|
|
|
include device/google/redbull-sepolicy/redbull-sepolicy.mk
|
|
|
|
QCOM_BOARD_PLATFORMS += lito
|
|
QC_PROP_ROOT := vendor/qcom/sm7250/proprietary
|
|
QC_PROP_PATH := $(QC_PROP_ROOT)
|
|
BOARD_HAVE_BLUETOOTH_QCOM := true
|
|
BOARD_HAVE_QCOM_FM := false
|
|
TARGET_USE_QTI_BT_SAR := true
|
|
TARGET_USE_QTI_BT_CHANNEL_AVOIDANCE := true
|
|
BOARD_USES_COMMON_BLUETOOTH_HAL := true
|
|
|
|
# Camera
|
|
TARGET_USES_AOSP := true
|
|
BOARD_QTI_CAMERA_32BIT_ONLY := false
|
|
CAMERA_DAEMON_NOT_PRESENT := true
|
|
TARGET_USES_ION := true
|
|
|
|
# GPS
|
|
TARGET_NO_RPC := true
|
|
TARGET_USES_HARDWARE_QCOM_GPS := false
|
|
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
|
|
BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET := true
|
|
|
|
# RenderScript
|
|
OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
|
|
|
|
# Sensors
|
|
TARGET_SUPPORT_DIRECT_REPORT := true
|
|
|
|
# CHRE
|
|
CHRE_DAEMON_ENABLED := true
|
|
CHRE_DAEMON_LPMA_ENABLED := true
|
|
CHRE_DAEMON_LOAD_INTO_SENSORSPD := true
|
|
|
|
# wlan
|
|
BOARD_WLAN_DEVICE := qcwcn
|
|
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
|
BOARD_HOSTAPD_DRIVER := NL80211
|
|
WIFI_DRIVER_DEFAULT := qca_cld3
|
|
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
|
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
|
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
|
|
WIFI_HIDL_FEATURE_AWARE := true
|
|
WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true
|
|
WIFI_FEATURE_WIFI_EXT_HAL := true
|
|
WIFI_FEATURE_IMU_DETECTION := true
|
|
WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
|
|
|
|
# Audio
|
|
BOARD_USES_ALSA_AUDIO := true
|
|
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
|
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
|
AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
|
|
BOARD_SUPPORTS_SOUND_TRIGGER := true
|
|
AUDIO_FEATURE_FLICKER_SENSOR_INPUT := true
|
|
#SOUND_TRIGGER_FEATURE_LPMA_ENABLED := true
|
|
AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true
|
|
AUDIO_FEATURE_ENABLED_AUDIO_THERMAL_LISTENER := true
|
|
AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true
|
|
AUDIO_FEATURE_ENABLED_AUDIO_ZOOM := true
|
|
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
|
|
#Cirrus cs35l41 speaker amp
|
|
AUDIO_FEATURE_ENABLED_CS35L41 := true
|
|
AUDIO_FEATURE_ENABLED_CS35L41_CALIBRATION_TOOL := true
|
|
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
|
AUDIO_FEATURE_QSSI_COMPLIANCE := true
|
|
|
|
# Audio hal flag
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_PLATFORM_8974 := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_POSTPROC := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_VOLUME_LISTENER := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_GET_MMAP_DATA_FD := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_APP_TYPE_CFG := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_ACDB_INIT_V2_CVD := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_MAX_TARGET_SPECIFIC_CHANNEL_CNT := "4"
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_INCALL_MUSIC_ENABLED := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_MULTIPLE_HW_VARIANTS_ENABLED := true
|
|
TARGET_USES_HARDWARE_QCOM_AUDIO_INCALL_STEREO_CAPTURE_ENABLED := true
|
|
|
|
# Graphics
|
|
TARGET_USES_GRALLOC1 := true
|
|
TARGET_USES_HWC2 := true
|
|
|
|
# Display
|
|
TARGET_USES_DISPLAY_RENDER_INTENTS := true
|
|
TARGET_USES_COLOR_METADATA := true
|
|
TARGET_USES_DRM_PP := true
|
|
TARGET_HAS_WIDE_COLOR_DISPLAY := true
|
|
TARGET_HAS_HDR_DISPLAY := true
|
|
|
|
# Vendor Interface Manifest
|
|
DEVICE_MANIFEST_FILE := device/google/redbull/manifest.xml
|
|
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
|
|
# Omx is 32 bit only
|
|
DEVICE_MANIFEST_FILE += device/google/redbull/manifest_omx.xml
|
|
endif
|
|
DEVICE_MATRIX_FILE := device/google/redbull/compatibility_matrix.xml
|
|
|
|
# Use mke2fs to create ext4 images
|
|
TARGET_USES_MKE2FS := true
|
|
|
|
# dynamic partition
|
|
BOARD_SUPER_PARTITION_SIZE := 9755951104
|
|
BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
|
|
ifneq ($(PRODUCT_BUILD_SYSTEM_IMAGE),false)
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += system
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_PRODUCT_IMAGE),false)
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += product
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),false)
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += system_ext
|
|
endif
|
|
ifneq ($(PRODUCT_BUILD_VENDOR_IMAGE),false)
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += vendor
|
|
endif
|
|
|
|
#BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to (5GB - 4MB)
|
|
BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 5364514816
|
|
|
|
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
|
|
BOARD_SUPER_PARTITION_ERROR_LIMIT := 9231663104
|
|
|
|
BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
|
|
|
|
-include device/google/redbull/soong/pixel_soong_config.mk
|
|
|
|
# List of modules that should not load automatically
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/redbull/modules.blocklist:$(TARGET_COPY_OUT_VENDOR)/lib/modules/modules.blocklist \
|
|
device/google/redbull/init.insmod.charger.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.charger.cfg \
|
|
|
|
# TARGET_BOOLOADER_BOARD_NAME sensitive common boilerplate
|
|
|
|
TARGET_BOARD_NAME_DIR := device/google/$(TARGET_BOOTLOADER_BOARD_NAME)
|
|
-include $(TARGET_BOARD_NAME_DIR:%/=%)-sepolicy/$(TARGET_BOOTLOADER_BOARD_NAME)-sepolicy.mk
|
|
|
|
TARGET_BOARD_INFO_FILE := $(TARGET_BOARD_NAME_DIR)/board-info.txt
|
|
TARGET_BOARD_COMMON_PATH := $(TARGET_BOARD_NAME_DIR)/sm7250
|
|
|
|
# Common kernel file handling
|
|
ifneq (,$(filter $(TARGET_DEVICE),bramble redfin))
|
|
TARGET_KERNEL_DIR := device/google/redbull-kernel
|
|
else
|
|
TARGET_KERNEL_DIR := $(TARGET_BOARD_NAME_DIR:%/=%)-kernel
|
|
endif
|
|
|
|
# DTBO partition definitions
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
BOARD_PREBUILT_DTBOIMAGE := $(TARGET_KERNEL_DIR)/dtbo.img
|
|
else
|
|
BOARD_PREBUILT_DTBOIMAGE := $(TARGET_KERNEL_DIR)/vintf/dtbo.img
|
|
endif
|
|
TARGET_FS_CONFIG_GEN := $(TARGET_BOARD_NAME_DIR)/config.fs
|
|
|
|
# Kernel modules
|
|
ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kasan, $(TARGET_PRODUCT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/kasan
|
|
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_memory, $(TARGET_PRODUCT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_memory
|
|
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_memory_accounting
|
|
BOARD_KERNEL_CMDLINE += page_owner=on
|
|
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_locking, $(TARGET_PRODUCT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_locking
|
|
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_hang, $(TARGET_PRODUCT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_hang
|
|
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_api, $(TARGET_PRODUCT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_api
|
|
else
|
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)
|
|
else
|
|
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/vintf
|
|
endif
|
|
endif
|
|
|
|
# Copy kheaders.ko to vendor/lib/modules for VTS test
|
|
BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULE_DIR)/kheaders.ko
|
|
|
|
KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
|
|
KERNEL_MODULES_LOAD := $(strip $(shell cat $(firstword $(wildcard \
|
|
$(KERNEL_MODULE_DIR)/modules.load \
|
|
$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)), \
|
|
$(TARGET_KERNEL_DIR)/vintf/modules.load,) \
|
|
$(TARGET_KERNEL_DIR)/modules.load))))
|
|
|
|
# DTB
|
|
BOARD_PREBUILT_DTBIMAGE_DIR := $(KERNEL_MODULE_DIR)
|
|
|
|
ifeq (,$(BOOT_KERNEL_MODULES))
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(KERNEL_MODULES)
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(KERNEL_MODULES_LOAD)
|
|
else
|
|
#
|
|
# BEWARE: This is a tuning exercise to get right, splitting between
|
|
# boot essential drivers, fastboot/recovery drivers, and the remainder
|
|
# used by Android, but not the blocklist (device specific drivers not
|
|
# common between platforms or drivers that must not be autoloaded) which
|
|
# are loaded later.
|
|
#
|
|
# BOOT_KERNEL_MODULES - Modules loaded in first stage init.
|
|
# RECOVERY_KERNEL_MODULES - Additional modules loaded in recovery/fastbootd
|
|
# or in second stage init.
|
|
# file: modules.blocklist - Not autoloaded. loaded on demand product or HAL.
|
|
# Remainder - In second stage init, but after recovery set;
|
|
# minus the blocklist.
|
|
#
|
|
BOOT_KERNEL_MODULES_FILTER := $(foreach m,$(BOOT_KERNEL_MODULES),%/$(m))
|
|
ifneq (,$(RECOVERY_KERNEL_MODULES))
|
|
RECOVERY_KERNEL_MODULES_FILTER := \
|
|
$(foreach m,$(RECOVERY_KERNEL_MODULES),%/$(m))
|
|
endif
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \
|
|
$(filter $(BOOT_KERNEL_MODULES_FILTER) \
|
|
$(RECOVERY_KERNEL_MODULES_FILTER),$(KERNEL_MODULES))
|
|
|
|
# ALL modules land in /vendor/lib/modules so they could be rmmod/insmod'd,
|
|
# and modules.list actually limits us to the ones we intend to load.
|
|
BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES)
|
|
# To limit /vendor/lib/modules to just the ones loaded, use:
|
|
#
|
|
# BOARD_VENDOR_KERNEL_MODULES := $(filter-out \
|
|
# $(BOOT_KERNEL_MODULES_FILTER),$(KERNEL_MODULES))
|
|
|
|
# Group set of /vendor/lib/modules loading order to recovery modules first,
|
|
# then remainder, subtracting both recovery and boot modules.
|
|
BOARD_VENDOR_KERNEL_MODULES_LOAD := \
|
|
$(filter-out $(BOOT_KERNEL_MODULES_FILTER), \
|
|
$(filter $(RECOVERY_KERNEL_MODULES_FILTER),$(KERNEL_MODULES_LOAD)))
|
|
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
|
$(filter-out $(BOOT_KERNEL_MODULES_FILTER) \
|
|
$(RECOVERY_KERNEL_MODULES_FILTER),$(KERNEL_MODULES_LOAD))
|
|
|
|
# NB: Load order governed by modules.load and not by $(BOOT_KERNEL_MODULES)
|
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := \
|
|
$(filter $(BOOT_KERNEL_MODULES_FILTER),$(KERNEL_MODULES_LOAD))
|
|
|
|
ifneq (,$(RECOVERY_KERNEL_MODULES_FILTER))
|
|
# Group set of /vendor/lib/modules loading order to boot modules first,
|
|
# then remainder of recovery modules.
|
|
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD := \
|
|
$(filter $(BOOT_KERNEL_MODULES_FILTER),$(KERNEL_MODULES_LOAD))
|
|
BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += \
|
|
$(filter-out $(BOOT_KERNEL_MODULES_FILTER), \
|
|
$(filter $(RECOVERY_KERNEL_MODULES_FILTER),$(KERNEL_MODULES_LOAD)))
|
|
endif
|
|
endif
|
|
|
|
BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true
|
|
|
|
# Testing related defines
|
|
BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/b5r3-setup.sh
|