1 # 2 # Copyright (C) 2016 The Android Open-Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 include build/make/target/board/BoardConfigMainlineCommon.mk 18 19 TARGET_BOARD_PLATFORM := sdm710 20 TARGET_BOARD_INFO_FILE := device/google/bonito/board-info.txt 21 USES_DEVICE_GOOGLE_B4S4 := true 22 23 TARGET_ARCH := arm64 24 TARGET_ARCH_VARIANT := armv8-a 25 TARGET_CPU_ABI := arm64-v8a 26 TARGET_CPU_ABI2 := 27 TARGET_CPU_VARIANT := generic 28 TARGET_CPU_VARIANT_RUNTIME := cortex-a75 29 30 TARGET_2ND_ARCH := arm 31 TARGET_2ND_ARCH_VARIANT := armv8-a 32 TARGET_2ND_CPU_ABI := armeabi-v7a 33 TARGET_2ND_CPU_ABI2 := armeabi 34 TARGET_2ND_CPU_VARIANT := generic 35 TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a75 36 37 TARGET_BOARD_COMMON_PATH := device/google/bonito/sdm710 38 39 BUILD_BROKEN_DUP_RULES := true 40 BUILD_BROKEN_ENG_DEBUG_TAGS := true 41 42 BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on 43 BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237 44 BOARD_KERNEL_CMDLINE += ehci-hcd.park=3 45 BOARD_KERNEL_CMDLINE += service_locator.enable=1 46 BOARD_KERNEL_CMDLINE += firmware_class.path=/vendor/firmware 47 BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem 48 # STOPSHIP Bringup hack- no low power 49 BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 50 BOARD_KERNEL_CMDLINE += loop.max_part=7 51 BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/7c4000.sdhci 52 53 BOARD_KERNEL_BASE := 0x00000000 54 BOARD_KERNEL_PAGESIZE := 4096 55 ifeq ($(filter-out bonito_kasan sargo_kasan, $(TARGET_PRODUCT)),) 56 BOARD_KERNEL_OFFSET := 0x80000 57 BOARD_KERNEL_TAGS_OFFSET := 0x02500000 58 BOARD_RAMDISK_OFFSET := 0x02700000 59 BOARD_MKBOOTIMG_ARGS := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_KERNEL_TAGS_OFFSET) 60 else 61 BOARD_KERNEL_TAGS_OFFSET := 0x01E00000 62 BOARD_RAMDISK_OFFSET := 0x02000000 63 endif 64 65 BOARD_INCLUDE_DTB_IN_BOOTIMG := true 66 BOARD_BOOT_HEADER_VERSION := 2 67 BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) 68 69 # DTBO partition definitions 70 BOARD_PREBUILT_DTBOIMAGE := device/google/bonito-kernel/dtbo.img 71 BOARD_DTBOIMG_PARTITION_SIZE := 8388608 72 73 TARGET_NO_KERNEL := false 74 BOARD_USES_RECOVERY_AS_BOOT := true 75 BOARD_USES_METADATA_PARTITION := true 76 77 BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 78 79 # Partitions (listed in the file) to be wiped under recovery. 80 TARGET_RECOVERY_WIPE := device/google/bonito/recovery.wipe 81 TARGET_RECOVERY_FSTAB := device/google/bonito/fstab.hardware 82 TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 83 TARGET_RECOVERY_UI_LIB := \ 84 librecovery_ui_bonito \ 85 libnos_citadel_for_recovery \ 86 libnos_for_recovery \ 87 libbootloader_message \ 88 libfstab 89 90 # system.img 91 BOARD_SYSTEMIMAGE_JOURNAL_SIZE := 0 92 93 # persist.img 94 BOARD_PERSISTIMAGE_PARTITION_SIZE := 41943040 95 BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4 96 97 # boot.img 98 BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 99 100 BOARD_EXT4_SHARE_DUP_BLOCKS := true 101 BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions 102 BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \ 103 system \ 104 vendor \ 105 product 106 107 BOARD_SUPER_PARTITION_SIZE := 4072669184 108 BOARD_SUPER_PARTITION_METADATA_DEVICE := system 109 BOARD_SUPER_PARTITION_BLOCK_DEVICES := system vendor 110 BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 3267362816 111 BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 805306368 112 # Assume 4MB metadata size. 113 # TODO(b/117997386): Use correct metadata size. 114 BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4068474880 115 116 BOARD_FLASH_BLOCK_SIZE := 131072 117 118 BOARD_ROOT_EXTRA_SYMLINKS := /mnt/vendor/persist:/persist 119 BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt:/firmware 120 BOARD_ROOT_EXTRA_SYMLINKS += /vendor/dsp:/dsp 121 122 include device/google/bonito-sepolicy/bonito-sepolicy.mk 123 124 TARGET_FS_CONFIG_GEN := device/google/bonito/config.fs 125 126 QCOM_BOARD_PLATFORMS += sdm710 127 BOARD_HAVE_BLUETOOTH_QCOM := true 128 BOARD_USES_COMMON_BLUETOOTH_HAL := true 129 130 # Camera 131 TARGET_USES_AOSP := true 132 BOARD_QTI_CAMERA_32BIT_ONLY := false 133 CAMERA_DAEMON_NOT_PRESENT := true 134 TARGET_USES_ION := true 135 TARGET_USES_EASEL := true 136 BOARD_USES_EASEL := true 137 138 # GPS 139 TARGET_NO_RPC := true 140 BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default 141 BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET := true 142 143 # RenderScript 144 OVERRIDE_RS_DRIVER := libRSDriver_adreno.so 145 146 # Sensors 147 USE_SENSOR_MULTI_HAL := true 148 TARGET_SUPPORT_DIRECT_REPORT := true 149 150 # wlan 151 BOARD_WLAN_DEVICE := qcwcn 152 BOARD_WPA_SUPPLICANT_DRIVER := NL80211 153 BOARD_HOSTAPD_DRIVER := NL80211 154 WIFI_DRIVER_DEFAULT := qca_cld3 155 WPA_SUPPLICANT_VERSION := VER_0_8_X 156 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) 157 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) 158 WIFI_HIDL_FEATURE_AWARE := true 159 WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true 160 161 # Audio 162 BOARD_USES_ALSA_AUDIO := true 163 AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true 164 AUDIO_FEATURE_ENABLED_SND_MONITOR := true 165 AUDIO_FEATURE_ENABLED_USB_TUNNEL := true 166 AUDIO_FEATURE_ENABLED_CIRRUS_SPKR_PROTECTION := true 167 BOARD_SUPPORTS_SOUND_TRIGGER := true 168 AUDIO_FEATURE_FLICKER_SENSOR_INPUT := true 169 SOUND_TRIGGER_FEATURE_LPMA_ENABLED := true 170 AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true 171 BOARD_SUPPORTS_SOUND_TRIGGER_5514 := true 172 AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true 173 174 # Graphics 175 TARGET_USES_GRALLOC1 := true 176 TARGET_USES_HWC2 := true 177 TARGET_USES_NV21_CAMERA_PREVIEW := true 178 179 VSYNC_EVENT_PHASE_OFFSET_NS := 2000000 180 SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000 181 182 # Display 183 TARGET_HAS_WIDE_COLOR_DISPLAY := false 184 TARGET_USES_DISPLAY_RENDER_INTENTS := true 185 TARGET_USES_COLOR_METADATA := true 186 TARGET_USES_DRM_PP := true 187 188 # Vendor Interface Manifest 189 DEVICE_MANIFEST_FILE := device/google/bonito/manifest.xml 190 DEVICE_MATRIX_FILE := device/google/bonito/compatibility_matrix.xml 191 DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/bonito/device_framework_matrix.xml 192 193 # Userdebug only Vendor Interface Manifest 194 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 195 DEVICE_FRAMEWORK_MANIFEST_FILE += device/google/bonito/framework_manifest_userdebug.xml 196 DEVICE_MATRIX_FILE += device/google/bonito/compatibility_matrix_userdebug.xml 197 endif 198 199 ODM_MANIFEST_SKUS := \ 200 G020A \ 201 G020B \ 202 G020C \ 203 G020D \ 204 G020E \ 205 G020F \ 206 G020G \ 207 G020H \ 208 209 ODM_MANIFEST_G020A_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 210 ODM_MANIFEST_G020B_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 211 ODM_MANIFEST_G020C_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 212 ODM_MANIFEST_G020D_FILES := device/google/bonito/nfc/manifest_se_eSE1.xml 213 ODM_MANIFEST_G020E_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 214 ODM_MANIFEST_G020F_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 215 ODM_MANIFEST_G020G_FILES := device/google/bonito/nfc/manifest_se_SIM1.xml 216 ODM_MANIFEST_G020H_FILES := device/google/bonito/nfc/manifest_se_eSE1.xml 217 218 # Use mke2fs to create ext4 images 219 TARGET_USES_MKE2FS := true 220 221 # Kernel modules 222 ifeq (,$(filter-out sargo_kasan bonito_kasan, $(TARGET_PRODUCT))) 223 BOARD_VENDOR_KERNEL_MODULES += \ 224 $(wildcard device/google/bonito-kernel/kasan/*.ko) 225 else ifeq (,$(filter-out sargo_kernel_debug_memory bonito_kernel_debug_memory, $(TARGET_PRODUCT))) 226 BOARD_VENDOR_KERNEL_MODULES += \ 227 $(wildcard device/google/bonito-kernel/debug_memory/*.ko) 228 else ifeq (,$(filter-out sargo_kernel_debug_locking bonito_kernel_debug_locking, $(TARGET_PRODUCT))) 229 BOARD_VENDOR_KERNEL_MODULES += \ 230 $(wildcard device/google/bonito-kernel/debug_locking/*.ko) 231 else ifeq (,$(filter-out sargo_kernel_debug_hang bonito_kernel_debug_hang, $(TARGET_PRODUCT))) 232 BOARD_VENDOR_KERNEL_MODULES += \ 233 $(wildcard device/google/bonito-kernel/debug_hang/*.ko) 234 else ifeq (,$(filter-out sargo_kernel_debug_api bonito_kernel_debug_api, $(TARGET_PRODUCT))) 235 BOARD_VENDOR_KERNEL_MODULES += \ 236 $(wildcard device/google/bonito-kernel/debug_api/*.ko) 237 else 238 BOARD_VENDOR_KERNEL_MODULES += \ 239 $(wildcard device/google/bonito-kernel/*.ko) 240 endif 241 242 # DTB 243 ifeq (,$(filter-out sargo_kasan bonito_kasan, $(TARGET_PRODUCT))) 244 BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/kasan 245 else ifeq (,$(filter-out sargo_kernel_debug_memory bonito_kernel_debug_memory, $(TARGET_PRODUCT))) 246 BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_memory 247 else ifeq (,$(filter-out sargo_kernel_debug_locking bonito_kernel_debug_locking, $(TARGET_PRODUCT))) 248 BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_locking 249 else ifeq (,$(filter-out sargo_kernel_debug_hang bonito_kernel_debug_hang, $(TARGET_PRODUCT))) 250 BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_hang 251 else ifeq (,$(filter-out sargo_kernel_debug_api bonito_kernel_debug_api, $(TARGET_PRODUCT))) 252 BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel/debug_api 253 else 254 BOARD_PREBUILT_DTBIMAGE_DIR := device/google/bonito-kernel 255 endif 256 257 # Testing related defines 258 BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/b4s4-setup.sh 259 260 -include vendor/google_devices/bonito/proprietary/BoardConfigVendor.mk 261