1include device/linaro/dragonboard/BoardConfigCommon.mk
2
3# Primary Arch
4TARGET_ARCH := arm64
5TARGET_ARCH_VARIANT := armv8-2a
6TARGET_CPU_VARIANT := kryo385
7TARGET_CPU_ABI := arm64-v8a
8
9ifeq ($(TARGET_64BIT_ONLY), false)
10  # Secondary Arch
11  TARGET_2ND_ARCH := arm
12  TARGET_2ND_ARCH_VARIANT := armv8-2a
13  TARGET_2ND_CPU_VARIANT := kryo385
14  TARGET_2ND_CPU_ABI := armeabi-v7a
15  TARGET_2ND_CPU_ABI2 := armeabi
16endif
17
18# Board Information
19TARGET_BOOTLOADER_BOARD_NAME := db845c
20TARGET_BOARD_PLATFORM := db845c
21
22TARGET_NO_KERNEL := false
23BOARD_INCLUDE_DTB_IN_BOOTIMG := true
24ifeq ($(TARGET_SDCARD_BOOT), true)
25  BOARD_BOOT_HEADER_VERSION := 2
26  # Older kernel versions define mmc@ nodes as sdhci@ nodes in their device tree
27  ifneq ($(filter 5.4 5.10 5.15, $(TARGET_KERNEL_USE)),)
28    BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc@0/8804000.sdhci
29  else
30    BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc@0/8804000.mmc
31  endif
32  BOARD_KERNEL_CMDLINE += androidboot.hardware=db845c
33  BOARD_KERNEL_CMDLINE += androidboot.verifiedbootstate=orange
34  # In case we are booting from U-Boot directly and androidboot.slot_suffix
35  # is not set. Otherwise we run into the following error:
36  # "init: [libfstab] Error updating for slotselect"
37  BOARD_KERNEL_CMDLINE += androidboot.slot_suffix=_a
38else ifeq ($(TARGET_USES_BOOT_HDR_V3), true)
39    BOARD_BOOT_HEADER_VERSION := 3
40    BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc@0/1d84000.ufshc
41    BOARD_KERNEL_CMDLINE += androidboot.hardware=db845c
42    BOARD_KERNEL_CMDLINE += androidboot.verifiedbootstate=orange
43  else
44    BOARD_BOOT_HEADER_VERSION := 4
45    BOARD_BOOTCONFIG += androidboot.boot_devices=soc@0/1d84000.ufshc
46    BOARD_BOOTCONFIG += androidboot.hardware=db845c
47    BOARD_BOOTCONFIG += androidboot.verifiedbootstate=orange
48    ifeq ($(TARGET_USES_LMP), true)
49      BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true
50    endif
51endif
52BOARD_MKBOOTIMG_ARGS := --header_version $(BOARD_BOOT_HEADER_VERSION)
53BOARD_KERNEL_BASE := 0x80000000
54BOARD_MKBOOTIMG_ARGS += --pagesize 4096
55INTERNAL_VENDOR_BOOTIMAGE_ARGS += --pagesize 4096
56BOARD_KERNEL_CMDLINE += earlycon firmware_class.path=/vendor/firmware/
57BOARD_KERNEL_CMDLINE += init=/init printk.devkmsg=on
58BOARD_KERNEL_CMDLINE += deferred_probe_timeout=30
59BOARD_KERNEL_CMDLINE += pcie_pme=nomsi #For WiFi to work on rb5
60BOARD_KERNEL_CMDLINE += qcom_geni_serial.con_enabled=1
61BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8
62
63ifeq ($(TARGET_BOOTS_16K), true)
64  BOARD_EROFS_BLOCKSIZE := 16384
65  BOARD_F2FS_BLOCKSIZE := 16384
66endif
67
68# Image Configuration
69BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296 #96M
70BOARD_FLASH_BLOCK_SIZE := 4096
71ifeq ($(TARGET_SDCARD_BOOT), true)
72  BOARD_USERDATAIMAGE_PARTITION_SIZE := 8589934592 #8G
73  BOARD_SUPER_PARTITION_SIZE := 4294967296 #4G
74  BOARD_DB_DYNAMIC_PARTITIONS_SIZE := 4290772992 # Reserve 4M for DAP metadata
75  BOARD_SEPOLICY_DIRS += device/linaro/dragonboard/shared/utils/sdcard-boot/sepolicy/
76else
77  BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296 #96M
78  BOARD_USERDATAIMAGE_PARTITION_SIZE := 21474836480 #20G
79  BOARD_SUPER_PARTITION_SIZE := 12437225472
80  BOARD_DB_DYNAMIC_PARTITIONS_SIZE := 12433031168 # Reserve 4M for DAP metadata
81endif
82BOARD_SUPER_PARTITION_METADATA_DEVICE := super
83BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE := true
84BOARD_DB_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor system_ext product
85
86# dlkm partitions
87include device/linaro/dragonboard/shared/utils/dlkm_loader/BoardConfig.mk
88BOARD_DB_DYNAMIC_PARTITIONS_PARTITION_LIST += system_dlkm vendor_dlkm
89BOARD_SEPOLICY_DIRS += device/linaro/dragonboard/shared/utils/dlkm_loader/sepolicy/
90
91# Graphics
92include device/linaro/dragonboard/shared/graphics/drm_hwcomposer/BoardConfig.mk
93include device/linaro/dragonboard/shared/graphics/mesa/BoardConfig.mk
94BOARD_SEPOLICY_DIRS += device/linaro/dragonboard/shared/graphics/minigbm_msm/sepolicy/
95