• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
17include build/make/target/board/BoardConfigMainlineCommon.mk
18include build/make/target/board/BoardConfigPixelCommon.mk
19
20TARGET_BOARD_PLATFORM := sm6150
21TARGET_BOARD_INFO_FILE := device/google/sunfish/board-info.txt
22USES_DEVICE_GOOGLE_SUNFISH := true
23
24TARGET_ARCH := arm64
25TARGET_ARCH_VARIANT := armv8-a
26TARGET_CPU_ABI := arm64-v8a
27TARGET_CPU_ABI2 :=
28TARGET_CPU_VARIANT := generic
29TARGET_CPU_VARIANT_RUNTIME := cortex-a76
30
31TARGET_2ND_ARCH := arm
32TARGET_2ND_ARCH_VARIANT := armv8-a
33TARGET_2ND_CPU_ABI := armeabi-v7a
34TARGET_2ND_CPU_ABI2 := armeabi
35TARGET_2ND_CPU_VARIANT := generic
36TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
37
38BUILD_BROKEN_DUP_RULES := true
39BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true
40
41TARGET_BOARD_COMMON_PATH := device/google/sunfish/sm7150
42
43BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on
44BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237
45BOARD_KERNEL_CMDLINE += ehci-hcd.park=3
46BOARD_KERNEL_CMDLINE += service_locator.enable=1
47BOARD_KERNEL_CMDLINE += androidboot.memcg=1 cgroup.memory=nokmem
48BOARD_KERNEL_CMDLINE += lpm_levels.sleep_disabled=1 #STOPSHIP
49BOARD_KERNEL_CMDLINE += usbcore.autosuspend=7
50BOARD_KERNEL_CMDLINE += loop.max_part=7
51BOARD_KERNEL_CMDLINE += loop.hw_queue_depth=31
52BOARD_KERNEL_CMDLINE += androidboot.usbcontroller=a600000.dwc3 swiotlb=1
53BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/1d84000.ufshc
54BOARD_KERNEL_CMDLINE += cgroup_disable=pressure
55
56#BOARD_KERNEL_CMDLINE += video=vfb:640x400,bpp=32,memsize=3072000 service_locator.enable=1 earlycon=msm_geni_serial,0x880000
57
58BOARD_KERNEL_BASE        := 0x00000000
59BOARD_KERNEL_PAGESIZE    := 4096
60BOARD_KERNEL_TAGS_OFFSET := 0x01E00000
61BOARD_RAMDISK_OFFSET     := 0x02000000
62
63BOARD_INCLUDE_DTB_IN_BOOTIMG := true
64BOARD_BOOT_HEADER_VERSION := 2
65BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION)
66
67# DTBO partition definitions
68BOARD_PREBUILT_DTBOIMAGE := device/google/sunfish-kernel/dtbo.img
69BOARD_DTBOIMG_PARTITION_SIZE := 8388608
70
71TARGET_NO_KERNEL := false
72BOARD_USES_RECOVERY_AS_BOOT := true
73BOARD_USES_METADATA_PARTITION := true
74
75AB_OTA_UPDATER := true
76
77AB_OTA_PARTITIONS += \
78     boot \
79     system \
80     vbmeta \
81     dtbo \
82     product \
83     system_ext \
84     vbmeta_system
85
86# Partitions (listed in the file) to be wiped under recovery.
87TARGET_RECOVERY_WIPE := device/google/sunfish/recovery.wipe
88TARGET_RECOVERY_FSTAB := device/google/sunfish/fstab.hardware
89TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
90TARGET_RECOVERY_UI_LIB := \
91    librecovery_ui_pixel \
92    libfstab
93
94# Enable chain partition for system.
95BOARD_AVB_VBMETA_SYSTEM := system system_ext product
96BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
97BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
98BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
99BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 1
100
101# product.img
102BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
103
104# system_ext.img
105BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
106
107# userdata.img
108TARGET_USERIMAGES_USE_F2FS := true
109BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240
110BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
111
112# persist.img
113BOARD_PERSISTIMAGE_PARTITION_SIZE := 33554432
114BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
115
116# boot.img
117BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
118
119BOARD_FLASH_BLOCK_SIZE := 131072
120
121BOARD_ROOT_EXTRA_SYMLINKS := /vendor/dsp:/dsp
122BOARD_ROOT_EXTRA_SYMLINKS += /mnt/vendor/persist:/persist
123
124include device/google/sunfish-sepolicy/sunfish-sepolicy.mk
125
126TARGET_FS_CONFIG_GEN := device/google/sunfish/config.fs
127
128QCOM_BOARD_PLATFORMS += sm6150
129MSMSTEPPE = sm6150
130QC_PROP_ROOT := vendor/qcom/sm8150/proprietary
131QC_PROP_PATH := $(QC_PROP_ROOT)
132BOARD_HAVE_BLUETOOTH_QCOM := true
133BOARD_HAVE_QCOM_FM := false
134TARGET_USE_QTI_BT_SAR := true
135TARGET_USE_QTI_BT_CHANNEL_AVOIDANCE := true
136BOARD_USES_COMMON_BLUETOOTH_HAL := true
137
138# Camera
139TARGET_USES_AOSP := true
140BOARD_QTI_CAMERA_32BIT_ONLY := false
141CAMERA_DAEMON_NOT_PRESENT := true
142TARGET_USES_ION := true
143
144# GPS
145TARGET_NO_RPC := true
146TARGET_USES_HARDWARE_QCOM_GPS := false
147BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := default
148BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET := true
149
150# RenderScript
151OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
152
153# Sensors
154USE_SENSOR_MULTI_HAL := true
155TARGET_SUPPORT_DIRECT_REPORT := true
156# Enable sensor Version V_2
157USE_SENSOR_HAL_VER := 2.0
158
159# CHRE
160CHRE_DAEMON_ENABLED := true
161CHRE_DAEMON_LPMA_ENABLED := true
162CHRE_DAEMON_LOAD_INTO_SENSORSPD := true
163
164# wlan
165BOARD_WLAN_DEVICE := qcwcn
166BOARD_WPA_SUPPLICANT_DRIVER := NL80211
167BOARD_HOSTAPD_DRIVER := NL80211
168WIFI_DRIVER_DEFAULT := qca_cld3
169WPA_SUPPLICANT_VERSION := VER_0_8_X
170BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
171BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE)
172WIFI_HIDL_FEATURE_AWARE := true
173WIFI_HIDL_FEATURE_DUAL_INTERFACE:= true
174WIFI_FEATURE_WIFI_EXT_HAL := true
175WIFI_FEATURE_IMU_DETECTION := true
176WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
177
178# Audio
179BOARD_USES_ALSA_AUDIO := true
180AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
181AUDIO_FEATURE_ENABLED_SND_MONITOR := true
182AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
183BOARD_SUPPORTS_SOUND_TRIGGER := true
184AUDIO_FEATURE_FLICKER_SENSOR_INPUT := true
185AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true
186BOARD_SUPPORTS_SOUND_TRIGGER_5514 := true
187AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true
188AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
189#Cirrus cs35l41 speaker amp
190AUDIO_FEATURE_ENABLED_CS35L41 := true
191AUDIO_FEATURE_ENABLED_CS35L41_CALIBRATION_TOOL := true
192
193# Graphics
194TARGET_USES_GRALLOC1 := true
195TARGET_USES_HWC2 := true
196TARGET_USES_NV21_CAMERA_PREVIEW := true
197
198# Display
199TARGET_HAS_WIDE_COLOR_DISPLAY := true
200TARGET_HAS_HDR_DISPLAY := true
201TARGET_USES_DISPLAY_RENDER_INTENTS := true
202TARGET_USES_COLOR_METADATA := true
203TARGET_USES_DRM_PP := true
204
205# Vendor Interface Manifest
206DEVICE_MANIFEST_FILE := device/google/sunfish/manifest.xml
207DEVICE_MATRIX_FILE := device/google/sunfish/compatibility_matrix.xml
208# Install product specific framework compatibility matrix
209# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
210# It must be split into the FCM of each partition.
211DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/sunfish/device_framework_matrix_product.xml
212
213# Use mke2fs to create ext4 images
214TARGET_USES_MKE2FS := true
215
216# Kernel modules
217ifeq (,$(filter-out sunfish_kasan, $(TARGET_PRODUCT)))
218BOARD_VENDOR_KERNEL_MODULES += \
219    $(wildcard device/google/sunfish-kernel/kasan/*.ko)
220else ifeq (,$(filter-out sunfish_kernel_debug_memory, $(TARGET_PRODUCT)))
221BOARD_VENDOR_KERNEL_MODULES += \
222    $(wildcard device/google/sunfish-kernel/debug_memory/*.ko)
223else ifeq (,$(filter-out sunfish_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
224BOARD_VENDOR_KERNEL_MODULES += \
225    $(wildcard device/google/sunfish-kernel/debug_memory_accounting/*.ko)
226BOARD_KERNEL_CMDLINE += page_owner=on
227else ifeq (,$(filter-out sunfish_kernel_debug_locking, $(TARGET_PRODUCT)))
228BOARD_VENDOR_KERNEL_MODULES += \
229    $(wildcard device/google/sunfish-kernel/debug_locking/*.ko)
230else ifeq (,$(filter-out sunfish_kernel_debug_hang, $(TARGET_PRODUCT)))
231BOARD_VENDOR_KERNEL_MODULES += \
232    $(wildcard device/google/sunfish-kernel/debug_hang/*.ko)
233else ifeq (,$(filter-out sunfish_kernel_debug_api, $(TARGET_PRODUCT)))
234BOARD_VENDOR_KERNEL_MODULES += \
235    $(wildcard device/google/sunfish-kernel/debug_api/*.ko)
236else
237BOARD_VENDOR_KERNEL_MODULES += \
238    $(wildcard device/google/sunfish-kernel/*.ko)
239endif
240
241# dynamic partition
242BOARD_SUPER_PARTITION_SIZE := 9755951104
243BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
244BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
245    system \
246    vendor \
247    product \
248    system_ext
249
250#BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to BOARD_SUPER_PARTITION_SIZE / 2 - 4MB
251BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4873781248
252
253# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
254BOARD_SUPER_PARTITION_ERROR_LIMIT := 9231663104
255
256# DTB
257ifeq (,$(filter-out sunfish_kasan, $(TARGET_PRODUCT)))
258BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/kasan
259else ifeq (,$(filter-out sunfish_kernel_debug_memory, $(TARGET_PRODUCT)))
260BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_memory
261else ifeq (,$(filter-out sunfish_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
262BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_memory_accounting
263else ifeq (,$(filter-out sunfish_kernel_debug_locking, $(TARGET_PRODUCT)))
264BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_locking
265else ifeq (,$(filter-out sunfish_kernel_debug_hang, $(TARGET_PRODUCT)))
266BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_hang
267else ifeq (,$(filter-out sunfish_kernel_debug_api, $(TARGET_PRODUCT)))
268BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel/debug_api
269else
270BOARD_PREBUILT_DTBIMAGE_DIR := device/google/sunfish-kernel
271endif
272
273# Testing related defines
274#BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/s5-setup.sh
275
276-include vendor/google_devices/sunfish/proprietary/BoardConfigVendor.mk
277