# # 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 := sm6150 TARGET_BOARD_INFO_FILE := device/google/sunfish/board-info.txt USES_DEVICE_GOOGLE_SUNFISH := 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 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 BUILD_BROKEN_DUP_RULES := true BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true # GOOGLE: workaround for https://android-review.googlesource.com/c/platform/system/sepolicy/+/1532995 BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE := true TARGET_BOARD_COMMON_PATH := device/google/sunfish/sm7150 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 BOARD_KERNEL_CMDLINE += usbcore.autosuspend=7 BOARD_KERNEL_CMDLINE += loop.max_part=7 BOARD_KERNEL_CMDLINE += loop.hw_queue_depth=31 BOARD_KERNEL_CMDLINE += androidboot.usbcontroller=a600000.dwc3 swiotlb=1 BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc BOARD_KERNEL_CMDLINE += cgroup_disable=pressure #BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 service_locator.enable=1 earlycon=msm_geni_serial,0x880000 BOARD_KERNEL_BASE := 0x00000000 BOARD_KERNEL_PAGESIZE := 4096 BOARD_KERNEL_TAGS_OFFSET := 0x01E00000 BOARD_RAMDISK_OFFSET := 0x02000000 BOARD_INCLUDE_DTB_IN_BOOTIMG := true BOARD_BOOT_HEADER_VERSION := 2 BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) # DTBO partition definitions BOARD_PREBUILT_DTBOIMAGE := device/google/sunfish-kernel/dtbo.img BOARD_DTBOIMG_PARTITION_SIZE := 8388608 TARGET_NO_KERNEL := false BOARD_USES_RECOVERY_AS_BOOT := true BOARD_USES_METADATA_PARTITION := true AB_OTA_UPDATER := true AB_OTA_PARTITIONS += \ boot \ system \ vbmeta \ dtbo \ product \ system_ext \ vbmeta_system # Partitions (listed in the file) to be wiped under recovery. TARGET_RECOVERY_WIPE := device/google/sunfish/recovery.wipe TARGET_RECOVERY_FSTAB := device/google/sunfish/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 # product.img BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 # system_ext.img BOARD_SYSTEM_EXTIMAGE_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 := 0x04000000 BOARD_FLASH_BLOCK_SIZE := 131072 BOARD_ROOT_EXTRA_SYMLINKS := /vendor/dsp:/dsp BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist include device/google/sunfish-sepolicy/sunfish-sepolicy.mk TARGET_FS_CONFIG_GEN := device/google/sunfish/config.fs QCOM_BOARD_PLATFORMS += sm6150 MSMSTEPPE = sm6150 QC_PROP_ROOT := vendor/qcom/sm8150/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 USE_SENSOR_MULTI_HAL := true TARGET_SUPPORT_DIRECT_REPORT := true # Enable sensor Version V_2 USE_SENSOR_HAL_VER := 2.0 # 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 AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true BOARD_SUPPORTS_SOUND_TRIGGER_5514 := true AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true AUDIO_FEATURE_ENABLED_INSTANCE_ID := true #Cirrus cs35l41 speaker amp AUDIO_FEATURE_ENABLED_CS35L41 := true AUDIO_FEATURE_ENABLED_CS35L41_CALIBRATION_TOOL := true # Graphics TARGET_USES_GRALLOC1 := true TARGET_USES_HWC2 := true TARGET_USES_NV21_CAMERA_PREVIEW := true # Display TARGET_HAS_WIDE_COLOR_DISPLAY := true TARGET_HAS_HDR_DISPLAY := true TARGET_USES_DISPLAY_RENDER_INTENTS := true TARGET_USES_COLOR_METADATA := true TARGET_USES_DRM_PP := true # Vendor Interface Manifest DEVICE_MANIFEST_FILE := device/google/sunfish/manifest.xml DEVICE_MATRIX_FILE := device/google/sunfish/compatibility_matrix.xml # Install product specific framework compatibility matrix # (TODO: b/169535506) This includes the FCM for system_ext and product partition. # It must be split into the FCM of each partition. DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/sunfish/device_framework_matrix_product.xml # Use mke2fs to create ext4 images TARGET_USES_MKE2FS := true # Kernel modules ifeq (,$(filter-out sunfish_kasan, $(TARGET_PRODUCT))) BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/kasan/*.ko) else ifeq (,$(filter-out sunfish_kernel_debug_memory, $(TARGET_PRODUCT))) BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/debug_memory/*.ko) else ifeq (,$(filter-out sunfish_kernel_debug_memory_accounting, $(TARGET_PRODUCT))) BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/debug_memory_accounting/*.ko) BOARD_KERNEL_CMDLINE += page_owner=on else ifeq (,$(filter-out sunfish_kernel_debug_locking, $(TARGET_PRODUCT))) BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/debug_locking/*.ko) else ifeq (,$(filter-out sunfish_kernel_debug_hang, $(TARGET_PRODUCT))) BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/debug_hang/*.ko) else ifeq (,$(filter-out sunfish_kernel_debug_api, $(TARGET_PRODUCT))) BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/debug_api/*.ko) else BOARD_VENDOR_KERNEL_MODULES += \ $(wildcard device/google/sunfish-kernel/*.ko) endif # dynamic partition BOARD_SUPER_PARTITION_SIZE := 9755951104 BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \ system \ vendor \ product \ system_ext #BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to BOARD_SUPER_PARTITION_SIZE / 2 - 4MB BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4873781248 # Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB BOARD_SUPER_PARTITION_ERROR_LIMIT := 9231663104 # DTB ifeq (,$(filter-out sunfish_kasan, $(TARGET_PRODUCT))) BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/kasan else ifeq (,$(filter-out sunfish_kernel_debug_memory, $(TARGET_PRODUCT))) BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_memory else ifeq (,$(filter-out sunfish_kernel_debug_memory_accounting, $(TARGET_PRODUCT))) BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_memory_accounting else ifeq (,$(filter-out sunfish_kernel_debug_locking, $(TARGET_PRODUCT))) BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_locking else ifeq (,$(filter-out sunfish_kernel_debug_hang, $(TARGET_PRODUCT))) BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_hang else ifeq (,$(filter-out sunfish_kernel_debug_api, $(TARGET_PRODUCT))) BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_api else BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel endif # Testing related defines #BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/s5-setup.sh -include vendor/google_devices/sunfish/proprietary/BoardConfigVendor.mk