| # |
| # Copyright (C) 2019 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 |
| |
| # Should be uncommented after fixing vndk-sp violation is fixed. |
| PRODUCT_FULL_TREBLE_OVERRIDE := true |
| |
| # HACK : To fix up after bring up multimedia devices. |
| TARGET_SOC := gs101 |
| |
| TARGET_SOC_NAME := google |
| |
| USES_DEVICE_GOOGLE_GS101 := true |
| |
| TARGET_ARCH := arm64 |
| TARGET_ARCH_VARIANT := armv8-a |
| TARGET_CPU_ABI := arm64-v8a |
| TARGET_CPU_VARIANT := generic |
| TARGET_CPU_VARIANT_RUNTIME := cortex-a53 |
| |
| 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-a53 |
| endif |
| |
| BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\" |
| BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 printk.devkmsg=on |
| BOARD_BOOTCONFIG += androidboot.console=ttySAC0 |
| BOARD_BOOTCONFIG += androidboot.selinux=permissive |
| BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs |
| |
| TARGET_NO_BOOTLOADER := true |
| TARGET_NO_KERNEL := false |
| TARGET_NO_RADIOIMAGE := true |
| BOARD_USES_GENERIC_KERNEL_IMAGE := true |
| BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true |
| BOARD_MOVE_GSI_AVB_KEYS_TO_VENDOR_BOOT := true |
| TARGET_RECOVERY_WIPE := device/google/gs101/conf/recovery.wipe |
| TARGET_RECOVERY_FSTAB := device/google/gs101/conf/fstab.gs101 |
| TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888 |
| TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165 |
| TARGET_RECOVERY_UI_LIB := \ |
| librecovery_ui_pixel \ |
| libfstab |
| |
| AB_OTA_UPDATER := true |
| |
| AB_OTA_PARTITIONS += \ |
| system \ |
| system_ext \ |
| product \ |
| vbmeta_system |
| |
| 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 |
| |
| # EMULATOR common modules |
| BOARD_EMULATOR_COMMON_MODULES := liblight |
| |
| OVERRIDE_RS_DRIVER := libRSDriverArm.so |
| BOARD_EGL_CFG := device/google/gs101/conf/egl.cfg |
| #BOARD_USES_HGL := true |
| USE_OPENGL_RENDERER := true |
| NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 |
| BOARD_USES_EXYNOS5_COMMON_GRALLOC := true |
| BOARD_USES_EXYNOS_GRALLOC_VERSION := $(DEVICE_USES_EXYNOS_GRALLOC_VERSION) |
| BOARD_USES_ALIGN_RESTRICTION := false |
| |
| # This should be the same value as USE_SWIFTSHADER in device.mk |
| BOARD_USES_SWIFTSHADER := false |
| |
| # Gralloc4 |
| ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4) |
| SOONG_CONFIG_NAMESPACES += arm_gralloc |
| SOONG_CONFIG_arm_gralloc := \ |
| gralloc_arm_no_external_afbc \ |
| mali_gpu_support_afbc_basic \ |
| mali_gpu_support_afbc_wideblk \ |
| gralloc_init_afbc \ |
| gralloc_ion_sync_on_lock \ |
| dpu_support_1010102_afbc |
| |
| ifeq ($(BOARD_USES_SWIFTSHADER),true) |
| SOONG_CONFIG_arm_gralloc_gralloc_arm_no_external_afbc := true |
| SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_basic := false |
| SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_wideblk := false |
| SOONG_CONFIG_arm_gralloc_gralloc_init_afbc := false |
| SOONG_CONFIG_arm_gralloc_dpu_support_1010102_afbc := false |
| else |
| SOONG_CONFIG_arm_gralloc_gralloc_arm_no_external_afbc := false |
| SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_basic := true |
| SOONG_CONFIG_arm_gralloc_mali_gpu_support_afbc_wideblk := true |
| SOONG_CONFIG_arm_gralloc_gralloc_init_afbc := true |
| SOONG_CONFIG_arm_gralloc_dpu_support_1010102_afbc := true |
| endif # ifeq ($(BOARD_USES_SWIFTSHADER),true) |
| SOONG_CONFIG_arm_gralloc_gralloc_ion_sync_on_lock := $(BOARD_USES_GRALLOC_ION_SYNC) |
| endif # ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4) |
| |
| # libVendorGraphicbuffer |
| SOONG_CONFIG_NAMESPACES += vendorgraphicbuffer |
| SOONG_CONFIG_vendorgraphicbuffer := \ |
| gralloc_version |
| |
| ifeq ($(BOARD_USES_EXYNOS_GRALLOC_VERSION),4) |
| SOONG_CONFIG_vendorgraphicbuffer_gralloc_version := four |
| else |
| SOONG_CONFIG_vendorgraphicbuffer_gralloc_version := three |
| endif |
| |
| # Graphics |
| #BOARD_USES_EXYNOS_DATASPACE_FEATURE := true |
| |
| # 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 |
| |
| TARGET_USERIMAGES_USE_EXT4 := true |
| TARGET_USERIMAGES_USE_F2FS := true |
| BOARD_USERDATAIMAGE_PARTITION_SIZE := 11796480000 |
| BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs |
| PRODUCT_FS_COMPRESSION := 1 |
| BOARD_FLASH_BLOCK_SIZE := 4096 |
| BOARD_MOUNT_SDCARD_RW := true |
| |
| # product.img |
| BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 |
| TARGET_COPY_OUT_PRODUCT := product |
| |
| # system_ext.img |
| BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 |
| TARGET_COPY_OUT_SYSTEM_EXT := system_ext |
| |
| ######################## |
| # Video Codec |
| ######################## |
| # 1. Exynos C2 |
| BOARD_USE_CSC_FILTER := false |
| BOARD_USE_DEC_SW_CSC := true |
| BOARD_USE_ENC_SW_CSC := true |
| BOARD_SUPPORT_MFC_ENC_RGB := true |
| BOARD_USE_BLOB_ALLOCATOR := false |
| ######################## |
| |
| BOARD_SUPER_PARTITION_SIZE := 8531214336 |
| BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions |
| # Set size to BOARD_SUPER_PARTITION_SIZE - overhead (4MiB) (b/182237294) |
| BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 8527020032 |
| BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \ |
| system \ |
| system_ext \ |
| product \ |
| vendor \ |
| vendor_dlkm |
| |
| # Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB |
| BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336 |
| |
| # |
| # AUDIO & VOICE |
| # |
| BOARD_USES_GENERIC_AUDIO := true |
| |
| SOONG_CONFIG_NAMESPACES += aoc_audio_func |
| |
| SOONG_CONFIG_aoc_audio_func += \ |
| ext_hidl |
| |
| SOONG_CONFIG_aoc_audio_func_ext_hidl := true |
| |
| ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) |
| SOONG_CONFIG_aoc_audio_func += \ |
| dump_usecase_data \ |
| hal_socket_control \ |
| record_tunning_keys |
| |
| SOONG_CONFIG_aoc_audio_func_dump_usecase_data := true |
| SOONG_CONFIG_aoc_audio_func_hal_socket_control := true |
| SOONG_CONFIG_aoc_audio_func_record_tunning_keys := true |
| endif |
| |
| # Primary AudioHAL Configuration |
| #BOARD_USE_COMMON_AUDIOHAL := true |
| #BOARD_USE_CALLIOPE_AUDIOHAL := false |
| #BOARD_USE_AUDIOHAL := true |
| |
| # Compress Offload Configuration |
| #BOARD_USE_OFFLOAD_AUDIO := true |
| #BOARD_USE_OFFLOAD_EFFECT := false |
| |
| # SoundTriggerHAL Configuration |
| #BOARD_USE_SOUNDTRIGGER_HAL := false |
| |
| # HWComposer |
| BOARD_HWC_VERSION := libhwc2.1 |
| TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := false |
| BOARD_HDMI_INCAPABLE := true |
| TARGET_USES_HWC2 := true |
| HWC_SKIP_VALIDATE := true |
| HWC_SUPPORT_RENDER_INTENT := true |
| HWC_SUPPORT_COLOR_TRANSFORM := true |
| #BOARD_USES_DISPLAYPORT := true |
| # if AFBC is enabled, must set ro.vendor.ddk.set.afbc=1 |
| BOARD_USES_EXYNOS_AFBC_FEATURE := true |
| #BOARD_USES_HDRUI_GLES_CONVERSION := true |
| |
| BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_gs101 |
| BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin |
| |
| # HWCServices |
| BOARD_USES_HWC_SERVICES := true |
| |
| # WiFiDisplay |
| # BOARD_USES_VIRTUAL_DISPLAY := true |
| # BOARD_USES_VDS_EXYNOS_HWC := true |
| # BOARD_USES_WIFI_DISPLAY:= true |
| # BOARD_USES_EGL_SURFACE_FOR_COMPOSITION_MIXED := true |
| # BOARD_USES_VDS_YUV420SPM := true |
| # BOARD_USES_VDS_OTHERFORMAT := true |
| # BOARD_USES_VDS_DEBUG_FLAG := true |
| # BOARD_USES_DISABLE_COMPOSITIONTYPE_GLES := true |
| # BOARD_USES_SECURE_ENCODER_ONLY := true |
| # BOARD_USES_TSMUX := true |
| |
| # SCALER |
| BOARD_USES_DEFAULT_CSC_HW_SCALER := true |
| BOARD_DEFAULT_CSC_HW_SCALER := 4 |
| BOARD_USES_SCALER_M2M1SHOT := true |
| |
| # Device Tree |
| BOARD_USES_DT := true |
| BOARD_INCLUDE_DTB_IN_BOOTIMG := true |
| BOARD_PREBUILT_DTBIMAGE_DIR := $(TARGET_KERNEL_DIR) |
| BOARD_PREBUILT_DTBOIMAGE := $(BOARD_PREBUILT_DTBIMAGE_DIR)/dtbo.img |
| |
| # PLATFORM LOG |
| TARGET_USES_LOGD := true |
| |
| # LIBHWJPEG |
| #TARGET_USES_UNIVERSAL_LIBHWJPEG := true |
| #LIBHWJPEG_HWSCALER_ID := 0 |
| |
| #Keymaster |
| #BOARD_USES_KEYMASTER_VER1 := true |
| |
| #FMP |
| #BOARD_USES_FMP_DM_CRYPT := true |
| #BOARD_USES_FMP_FSCRYPTO := true |
| BOARD_USES_METADATA_PARTITION := true |
| |
| # SELinux Platform Private policy for gs101 |
| SYSTEM_EXT_PRIVATE_SEPOLICY_DIR := device/google/sepolicy/private |
| |
| # SKIA |
| #BOARD_USES_SKIA_MULTITHREADING := true |
| #BOARD_USES_FIMGAPI_V5X := true |
| |
| # SECCOMP Policy |
| BOARD_SECCOMP_POLICY = device/google/gs101/seccomp_policy |
| |
| #CURL |
| BOARD_USES_CURL := true |
| |
| # Sensor HAL |
| BOARD_USES_EXYNOS_SENSORS_DUMMY := true |
| |
| # VISION |
| # Exynos vision framework (EVF) |
| #TARGET_USES_EVF := true |
| # HW acceleration |
| #TARGET_USES_VPU_KERNEL := true |
| #TARGET_USES_SCORE_KERNEL := true |
| #TARGET_USES_CL_KERNEL := false |
| |
| # exynos RIL |
| TARGET_EXYNOS_RIL_SOURCE := true |
| ENABLE_VENDOR_RIL_SERVICE := true |
| |
| # GNSS |
| # BOARD_USES_EXYNOS_GNSS_DUMMY := true |
| |
| # Bluetooth defines |
| # TODO(b/123695868): Remove the need for this |
| BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := \ |
| build/make/target/board/mainline_arm64/bluetooth |
| |
| TARGET_BOARD_KERNEL_HEADERS := $(TARGET_KERNEL_DIR)/kernel-headers |
| |
| #VNDK |
| BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true |
| BOARD_VNDK_VERSION := current |
| |
| # H/W align restriction of MM IPs |
| BOARD_EXYNOS_S10B_FORMAT_ALIGN := 64 |
| |
| # WiFi |
| BOARD_WLAN_DEVICE := bcmdhd |
| BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_bcmdhd |
| BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_bcmdhd |
| WPA_SUPPLICANT_VERSION := VER_0_8_X |
| BOARD_WPA_SUPPLICANT_DRIVER := NL80211 |
| BOARD_HOSTAPD_DRIVER := NL80211 |
| # Wifi interface combination - {1 STA + 1 AP (bridged or single)} or {2 STA + 1 of (P2P or NAN)} |
| WIFI_HAL_INTERFACE_COMBINATIONS := {{{STA}, 1}, {{AP}, 1}}, {{{STA}, 2}, {{P2P, NAN}, 1}} |
| WIFI_FEATURE_WIFI_EXT_HAL := true |
| WIFI_FEATURE_IMU_DETECTION := true |
| # Avoid Wifi reset on MAC Address change |
| WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true |
| WIFI_FEATURE_HOSTAPD_11AX := true |
| |
| # NeuralNetworks |
| GPU_SOURCE_PRESENT := $(wildcard vendor/arm/mali/valhall) |
| GPU_PREBUILD_PRESENT := $(wildcard vendor/google_devices/zebu/prebuilts/libs) |
| ifneq "$(or $(GPU_SOURCE_PRESENT),$(GPU_PREBUILD_PRESENT))" "" |
| ARMNN_COMPUTE_CL_ENABLE := 1 |
| else |
| ARMNN_COMPUTE_CL_ENABLE := 0 |
| endif |
| ARMNN_COMPUTE_NEON_ENABLE := 1 |
| |
| # Boot.img |
| BOARD_RAMDISK_USE_LZ4 := true |
| #BOARD_KERNEL_BASE := 0x80000000 |
| #BOARD_KERNEL_PAGESIZE := 2048 |
| #BOARD_KERNEL_OFFSET := 0x80000 |
| #BOARD_RAMDISK_OFFSET := 0x4000000 |
| BOARD_BOOT_HEADER_VERSION := 4 |
| BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) |
| |
| # Enable AVB2.0 |
| BOARD_AVB_ENABLE := true |
| BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 |
| BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 0x04000000 |
| BOARD_DTBOIMG_PARTITION_SIZE := 0x01000000 |
| |
| # System As Root |
| BOARD_BUILD_SYSTEM_ROOT_IMAGE := false |
| |
| # Vendor ramdisk image for kernel development |
| BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true |
| |
| # Kernel modules |
| BOARD_VENDOR_KERNEL_MODULES += \ |
| $(wildcard $(TARGET_KERNEL_DIR)/*.ko) |
| |
| BOARD_VENDOR_RAMDISK_KERNEL_MODULES_FILTER += \ |
| $(TARGET_KERNEL_DIR)/bcmdhd43752.ko \ |
| $(TARGET_KERNEL_DIR)/bcmdhd4389.ko \ |
| $(TARGET_KERNEL_DIR)/lwis.ko \ |
| $(TARGET_KERNEL_DIR)/pinctrl-slg51000.ko \ |
| $(TARGET_KERNEL_DIR)/pktgen.ko \ |
| $(TARGET_KERNEL_DIR)/slg51000-core.ko \ |
| $(TARGET_KERNEL_DIR)/slg51000-regulator.ko \ |
| $(TARGET_KERNEL_DIR)/stmvl53l1.ko \ |
| $(TARGET_KERNEL_DIR)/ftm5.ko \ |
| $(TARGET_KERNEL_DIR)/haptics-cs40l2x.ko \ |
| $(TARGET_KERNEL_DIR)/sec_touch.ko |
| |
| BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \ |
| $(filter-out $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_FILTER), $(foreach module, $(notdir \ |
| $(shell cat $(TARGET_KERNEL_DIR)/modules.load)), \ |
| $(TARGET_KERNEL_DIR)/$(module))) |
| |
| # Using BUILD_COPY_HEADERS |
| BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true |
| |
| include device/google/gs101-sepolicy/gs101-sepolicy.mk |
| -include device/google/gs101/soong/pixel_soong_config.mk |
| |
| # Battery options |
| BOARD_KERNEL_CMDLINE += at24.write_timeout=100 |