1
+ #
2
+ # Copyright 2014 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
+ # WARNING: This line must come *before* including the proprietary
18
+ # variant, so that it gets overwritten by the parent (which goes
19
+ # against the traditional rules of inheritance).
20
+ # The proprietary variant sets USE_CAMERA_STUB := false, this way
21
+ # we use the camera stub when the vendor tree isn't present, and
22
+ # the true camera library when the vendor tree is available.
23
+ USE_CAMERA_STUB := true
24
+
25
+ # Inherit from the proprietary version
26
+ -include vendor/jsr/d9/BoardConfigVendor.mk
27
+ -include vendor/jsr/msm7x27a-common/BoardConfigVendor.mk
28
+
29
+ BOARD_VENDOR := jsr-qcom
30
+
31
+ # Assert
32
+ TARGET_OTA_ASSERT_DEVICE := d9,msm8625_d9,msm8225_d9,Boost
33
+
34
+ # Compile sys
35
+ TARGET_GCC_VERSION_EXP := 4.8
36
+ DISABLE_DEXPREOPT := true
37
+ # TARGET_SPECIFIC_HEADER_PATH := device/jsr/d9/include
38
+
39
+ # Compiler flags
40
+ # COMMON_GLOBAL_CFLAGS += -DQCOM_BSP_ABI_HACK
41
+ COMMON_GLOBAL_CFLAGS += -DQCOM_BSP
42
+ TARGET_GLOBAL_CFLAGS += -mtune=cortex-a5 -mfpu=neon-vfpv4 -mfloat-abi=softfp
43
+ TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a5 -mfpu=neon-vfpv4 -mfloat-abi=softfp
44
+
45
+ # Qualcomm hardware
46
+ BOARD_USES_QCOM_HARDWARE := true
47
+ COMMON_GLOBAL_CFLAGS += -DUSE_MDP3
48
+ COMMON_GLOBAL_CFLAGS += -DQCOM_HARDWARE
49
+ TARGET_USES_ION := true
50
+ TARGET_USES_QCOM_BSP := true
51
+
52
+ # Bootloader
53
+ TARGET_BOOTLOADER_BOARD_NAME := 7x27
54
+ TARGET_NO_BOOTLOADER := true
55
+ TARGET_NO_RADIOIMAGE := true
56
+
57
+ # Architecture and CPU
58
+ TARGET_ARCH := arm
59
+ TARGET_ARCH_VARIANT := armv7-a-neon
60
+ TARGET_CPU_ABI := armeabi-v7a
61
+ TARGET_CPU_ABI2 := armeabi
62
+ TARGET_CPU_VARIANT := cortex-a5
63
+ TARGET_BOARD_PLATFORM := msm7x27a
64
+ TARGET_CPU_SMP := true
65
+
66
+ # GPU
67
+ TARGET_BOARD_PLATFORM_GPU := qcom-adreno200
68
+ # BOARD_USES_ADRENO_200 := true
69
+
70
+ # Optimisations
71
+ TARGET_USE_QCOM_BIONIC_OPTIMIZATION := true
72
+ TARGET_CORTEX_CACHE_LINE_32 := true
73
+ TARGET_AVOID_DRAW_TEXTURE_EXTENSION := true
74
+ TARGET_USES_16BPPSURFACE_FOR_OPAQUE := true
75
+ ARCH_ARM_HIGH_OPTIMIZATION := true
76
+ ARCH_ARM_HAVE_32_BYTE_CACHE_LINES := true
77
+ TARGET_GRALLOC_USES_ASHMEM := true
78
+
79
+ # Kernel
80
+ TARGET_KERNEL_CONFIG := jsr_d9_defconfig
81
+ BOARD_KERNEL_BASE := 0x00200000
82
+ BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom androidboot.selinux=permissive user_debug=31 debug ignore_loglevel pmemlog=3 reboot=2
83
+ BOARD_PAGE_SIZE := 2048
84
+ TARGET_KERNEL_SOURCE := kernel/jsr/msm8625
85
+
86
+ # These currently have to go to the ramdisk for wlan_detect to pick them up.
87
+ # Hopefully they can join their friends at $(KERNEL_MODULES_OUT) soon. :(
88
+ KERNEL_EXTERNAL_MODULES :
89
+ mkdir -p $(TARGET_ROOT_OUT ) /wifi
90
+ rm -rf $(TARGET_OUT_INTERMEDIATES ) /ath6kl
91
+ cp -a hardware/atheros/wifi/ath6kl $(TARGET_OUT_INTERMEDIATES ) /
92
+ $(MAKE ) -C $(TARGET_OUT_INTERMEDIATES ) /ath6kl/cfg80211 KERNEL_OUT=$(KERNEL_OUT ) ARCH=" arm" CROSS_COMPILE=" arm-eabi-" modules
93
+ $(MAKE ) -C $(TARGET_OUT_INTERMEDIATES ) /ath6kl/ar6000 KERNEL_OUT=$(KERNEL_OUT ) ARCH=" arm" CROSS_COMPILE=" arm-eabi-" modules
94
+ $(TARGET_OBJCOPY ) --strip-unneeded $(TARGET_OUT_INTERMEDIATES ) /ath6kl/cfg80211/cfg80211.ko $(TARGET_ROOT_OUT ) /wifi/cfg80211.ko
95
+ $(TARGET_OBJCOPY ) --strip-unneeded $(TARGET_OUT_INTERMEDIATES ) /ath6kl/ar6000/ar6000.ko $(TARGET_ROOT_OUT ) /wifi/ar6000.ko
96
+
97
+ TARGET_KERNEL_MODULES := KERNEL_EXTERNAL_MODULES
98
+
99
+ # Partitions
100
+ BOARD_SYSTEMIMAGE_PARTITION_SIZE := 471859200
101
+ BOARD_USERDATAIMAGE_PARTITION_SIZE := 984961024
102
+ BOARD_RECOVERYIMAGE_PARTITION_SIZE := 13901824
103
+ BOARD_CACHEIMAGE_PARTITION_SIZE := 104857600
104
+
105
+ BOARD_FLASH_BLOCK_SIZE := 131072
106
+
107
+ TARGET_USERIMAGES_USE_EXT4 := true
108
+
109
+ BOARD_CACHE_DEVICE := /dev/block/mmcblk0p18
110
+ BOARD_CACHE_FILESYSTEM := ext4
111
+ BOARD_CACHE_FILESYSTEM_OPTIONS := rw
112
+
113
+ BOARD_SYSTEM_DEVICE := /dev/block/mmcblk0p17
114
+ BOARD_SYSTEM_FILESYSTEM := ext4
115
+ BOARD_SYSTEM_FILESYSTEM_OPTIONS := rw
116
+
117
+ BOARD_DATA_DEVICE := /dev/block/mmcblk0p21
118
+ BOARD_DATA_FILESYSTEM := ext4
119
+ BOARD_DATA_FILESYSTEM_OPTIONS := rw
120
+
121
+ # Dalvik
122
+ TARGET_ARCH_LOWMEM := true
123
+
124
+ # Low RAM settings
125
+ MALLOC_IMPL := dlmalloc
126
+ TARGET_BOOTANIMATION_TEXTURE_CACHE := false
127
+ AUDIO_FEATURE_ENABLED_INCALL_MUSIC := false
128
+ AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := false
129
+ AUDIO_FEATURE_ENABLED_PROXY_DEVICE := false
130
+
131
+ # Audio
132
+ TARGET_PROVIDES_LIBAUDIO := true
133
+ BOARD_USES_LEGACY_ALSA_AUDIO := true
134
+ TARGET_HAS_QACT := true
135
+
136
+ # Bluetooth
137
+ BOARD_HAVE_BLUETOOTH := true
138
+ BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/jsr/d9/bluetooth
139
+
140
+ # FM
141
+ # BOARD_HAVE_QCOM_FM := true
142
+ # COMMON_GLOBAL_CFLAGS += -DQCOM_FM_ENABLED
143
+ # AUDIO_FEATURE_ENABLED_FM := true
144
+
145
+ # GPS
146
+ QCOM_GPS_PATH := hardware/qcom/gps
147
+ BOARD_USES_QCOM_GPS := true
148
+ BOARD_VENDOR_QCOM_GPS_LOC_API_AMSS_VERSION := 50000
149
+ BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := $(TARGET_BOARD_PLATFORM )
150
+
151
+ # Graphics
152
+ BOARD_ADRENO_DECIDE_TEXTURE_TARGET := true
153
+ BOARD_EGL_CFG := device/jsr/d9/configs/egl.cfg
154
+ # BOARD_EGL_WORKAROUND_BUG_10194508 := true
155
+ # BOARD_USE_MHEAP_SCREENSHOT := true
156
+ # TARGET_DOESNT_USE_FENCE_SYNC := true
157
+ # TARGET_QCOM_DISPLAY_VARIANT := legacy
158
+ TARGET_QCOM_DISPLAY_VARIANT := caf
159
+ USE_OPENGL_RENDERER := true
160
+ TARGET_DISPLAY_USE_RETIRE_FENCE := true
161
+ HWUI_COMPILE_FOR_PERF := true
162
+
163
+ # Camera
164
+ # COMMON_GLOBAL_CFLAGS += -DMR0_CAMERA_BLOB -DNEEDS_VECTORIMPL_SYMBOLS
165
+ USE_DEVICE_SPECIFIC_CAMERA := true
166
+ # USE_CAMERA_STUB :=false
167
+
168
+ # Other
169
+ TARGET_BOOTANIMATION_PRELOAD := true
170
+ TARGET_BOOTANIMATION_TEXTURE_CACHE := true
171
+ BOARD_CHARGER_ENABLE_SUSPEND := true
172
+ # BOARD_HAL_STATIC_LIBRARIES := libhealthd.msm7x27a
173
+ ARCH_ARM_HAVE_TLS_REGISTER := true
174
+ BOARD_WANTS_EMMC_BOOT := true
175
+
176
+ # RIL
177
+ BOARD_RIL_CLASS := ../../../device/jsr/d9/ril/
178
+
179
+ # Hardware
180
+ BOARD_HARDWARE_CLASS := device/jsr/d9/cmhw
181
+
182
+ # Lights
183
+ TARGET_PROVIDES_LIBLIGHTS := true
184
+
185
+ # Media
186
+ TARGET_ENABLE_QC_AV_ENHANCEMENTS := true
187
+ # TARGET_ENABLE_AV_ENHANCEMENTS := false
188
+ # TARGET_QCOM_MEDIA_VARIANT := legacy
189
+ TARGET_QCOM_MEDIA_VARIANT := caf
190
+ # TARGET_QCOM_LEGACY_MMPARSER := true
191
+ COMMON_GLOBAL_CFLAGS += -DQCOM_NO_SECURE_PLAYBACK
192
+ COMMON_GLOBAL_CFLAGS += -DLPA_DEFAULT_BUFFER_SIZE=480
193
+
194
+ # SELinux
195
+ BOARD_SEPOLICY_DIRS += device/jsr/d9/sepolicy
196
+
197
+ BOARD_SEPOLICY_UNION += file_contexts
198
+ BOARD_SEPOLICY_UNION += app.te
199
+ BOARD_SEPOLICY_UNION += file.te
200
+
201
+ # USB
202
+ BOARD_VOLD_EMMC_SHARES_DEV_MAJOR := true
203
+ BOARD_VOLD_MAX_PARTITIONS := 22
204
+ TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/class/android_usb/android0/f_mass_storage/lun%d/file
205
+ TARGET_USE_CUSTOM_SECOND_LUN_NUM := 1
206
+
207
+ # Web Rendering
208
+ # ENABLE_WEBGL := true
209
+ # PRODUCT_PREBUILT_WEBVIEWCHROMIUM := yes
210
+ # TARGET_FORCE_CPU_UPLOAD := true
211
+
212
+ # Recovery
213
+ # TARGET_NO_RECOVERY := true
214
+ # TARGET_NO_SEPARATE_RECOVERY := false
215
+ # RECOVERY_VARIANT := cm
216
+ BOARD_HAS_NO_SELECT_BUTTON := true
217
+ BOARD_RECOVERY_SWIPE := true
218
+ BOARD_SUPPRESS_EMMC_WIPE := true
219
+ COMMON_GLOBAL_CFLAGS += -DNO_SECURE_DISCARD
220
+ DEVICE_RESOLUTION := 540x960
221
+ BOARD_CUSTOM_GRAPHICS := ../../../device/jsr/d9/recovery/graphics.c
222
+ TARGET_RECOVERY_FSTAB := device/jsr/d9/recovery/recovery.fstab
223
+ # BOARD_CUSTOM_RECOVERY_KEYMAPPING := ../../device/jsr/d9/recovery/recovery-keys.c
224
+ # BOARD_UMS_LUNFILE := /sys/class/android_usb/android0/f_mass_storage/lun%d/file
225
+ # TARGET_RECOVERY_INITRC := device/jsr/d9/recovery/init.rc
226
+ TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
227
+
228
+ # Wi-Fi
229
+ BOARD_WPA_SUPPLICANT_DRIVER := NL80211
230
+ BOARD_HOSTAPD_DRIVER := NL80211
231
+ # TARGET_CUSTOM_WIFI := ../../device/jsr/d9/libhardware_legacy/wifi/wifi.c
232
+ WPA_SUPPLICANT_VERSION := VER_0_8_X
233
+ BOARD_HAS_ATH_WLAN := true
234
+ BOARD_WLAN_DEVICE := ath6kl
235
+ BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE )
236
+ BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE )
237
+ WIFI_DRIVER_FW_PATH_AP := "ap"
238
+ WIFI_DRIVER_FW_PATH_STA := "sta"
239
+ WIFI_DRIVER_FW_PATH_P2P := "p2p"
240
+ WIFI_DRIVER_MODULE_PATH := "/system/lib/modules/ath6kl/ath6kl_sdio.ko"
241
+ WIFI_DRIVER_MODULE_NAME := "wlan"
242
+ WIFI_EXT_MODULE_PATH := "/system/lib/modules/ath6kl/cfg80211.ko"
243
+ WIFI_EXT_MODULE_NAME := "cfg80211"
244
+ WIFI_DRIVER_FW_PATH_PARAM := "/data/misc/wifi/fwpath"
245
+
246
+ # Enable dex-preoptimization to speed up first boot sequence
247
+ ifeq ($(HOST_OS ) ,linux)
248
+ ifeq ($(TARGET_BUILD_VARIANT),userdebug)
249
+ ifeq ($(WITH_DEXPREOPT),)
250
+ WITH_DEXPREOPT := true
251
+ endif
252
+ endif
253
+ endif
254
+ WITH_DEXPREOPT_PIC := true
255
+ DONT_DEXPREOPT_PREBUILTS := true
256
+
257
+ # Include an expanded selection of fonts
258
+ EXTENDED_FONT_FOOTPRINT := true
259
+
260
+ # Enable Minikin text layout engine (will be the default soon)
261
+ USE_MINIKIN := true
262
+
0 commit comments