1 # 2 # Copyright (C) 2013 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 PRODUCT_PACKAGES := \ 18 libwpa_client \ 19 hostapd \ 20 wpa_supplicant \ 21 wpa_supplicant.conf 22 23 ifeq ($(TARGET_PREBUILT_KERNEL),) 24 ifeq ($(USE_SVELTE_KERNEL), true) 25 LOCAL_KERNEL := device/htc/flounder_svelte-kernel/Image.gz-dtb 26 else 27 LOCAL_KERNEL := device/htc/flounder-kernel/Image.gz-dtb 28 endif # USE_SVELTE_KERNEL 29 else 30 LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 31 endif 32 33 BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs 34 35 # This ensures the needed build tools are available. 36 # TODO: make non-linux builds happy with external/f2fs-tool; system/extras/f2fs_utils 37 ifeq ($(HOST_OS),linux) 38 TARGET_USERIMAGES_USE_F2FS := true 39 endif 40 41 LOCAL_FSTAB := $(LOCAL_PATH)/fstab.flounder 42 43 44 TARGET_RECOVERY_FSTAB = $(LOCAL_FSTAB) 45 46 PRODUCT_COPY_FILES := \ 47 $(LOCAL_KERNEL):kernel \ 48 $(LOCAL_PATH)/init.flounder.rc:root/init.flounder.rc \ 49 $(LOCAL_PATH)/init.flounder.usb.rc:root/init.flounder.usb.rc \ 50 $(LOCAL_PATH)/init.recovery.flounder.rc:root/init.recovery.flounder.rc \ 51 $(LOCAL_FSTAB):root/fstab.flounder \ 52 $(LOCAL_PATH)/ueventd.flounder.rc:root/ueventd.flounder.rc 53 54 # Copy flounder files as flounder64 so that ${ro.hardware} can find them 55 PRODUCT_COPY_FILES += \ 56 $(LOCAL_PATH)/init.flounder.rc:root/init.flounder64.rc \ 57 $(LOCAL_PATH)/init.flounder.usb.rc:root/init.flounder64.usb.rc \ 58 $(LOCAL_FSTAB):root/fstab.flounder64 \ 59 $(LOCAL_PATH)/init.recovery.flounder.rc:root/init.recovery.flounder64.rc \ 60 $(LOCAL_PATH)/ueventd.flounder.rc:root/ueventd.flounder64.rc 61 62 PRODUCT_COPY_FILES += \ 63 $(LOCAL_PATH)/touch/touch_fusion.cfg:$(TARGET_COPY_OUT_VENDOR)/firmware/touch_fusion.cfg \ 64 $(LOCAL_PATH)/touch/maxim_fp35.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/maxim_fp35.bin \ 65 $(LOCAL_PATH)/touch/touch_fusion.idc:system/usr/idc/touch_fusion.idc \ 66 $(LOCAL_PATH)/touch/touch_fusion:$(TARGET_COPY_OUT_VENDOR)/bin/touch_fusion \ 67 $(LOCAL_PATH)/touch/synaptics_dsx.idc:system/usr/idc/synaptics_dsx.idc 68 69 # headset keylayout 70 PRODUCT_COPY_FILES += \ 71 $(LOCAL_PATH)/h2w_headset.kl:system/usr/keylayout/h2w_headset.kl 72 73 PRODUCT_PACKAGES += \ 74 libwpa_client \ 75 hostapd \ 76 wpa_supplicant \ 77 wpa_supplicant.conf 78 79 PRODUCT_COPY_FILES += \ 80 frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \ 81 frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ 82 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 83 frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ 84 frameworks/native/data/etc/android.hardware.camera.xml:system/etc/permissions/android.hardware.camera.xml \ 85 frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ 86 frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ 87 frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \ 88 frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ 89 frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ 90 frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ 91 frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \ 92 frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \ 93 frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \ 94 frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ 95 frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ 96 frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:system/etc/permissions/android.hardware.sensor.stepcounter.xml \ 97 frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:system/etc/permissions/android.hardware.sensor.stepdetector.xml \ 98 frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \ 99 frameworks/native/data/etc/android.hardware.audio.pro.xml:system/etc/permissions/android.hardware.audio.pro.xml \ 100 frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ 101 frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \ 102 frameworks/native/data/etc/android.hardware.nfc.hcef.xml:system/etc/permissions/android.hardware.nfc.hcef.xml \ 103 frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ 104 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ 105 frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \ 106 frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \ 107 $(LOCAL_PATH)/com.nvidia.nvsi.xml:system/etc/permissions/com.nvidia.nvsi.xml 108 109 PRODUCT_COPY_FILES += \ 110 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 111 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 112 $(LOCAL_PATH)/media_codecs.xml:system/etc/media_codecs.xml \ 113 $(LOCAL_PATH)/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \ 114 $(LOCAL_PATH)/media_profiles.xml:system/etc/media_profiles.xml \ 115 $(LOCAL_PATH)/audio_policy.conf:system/etc/audio_policy.conf \ 116 $(LOCAL_PATH)/mixer_paths_0.xml:system/etc/mixer_paths_0.xml 117 118 PRODUCT_COPY_FILES += \ 119 $(LOCAL_PATH)/enctune.conf:system/etc/enctune.conf 120 121 PRODUCT_COPY_FILES += \ 122 $(LOCAL_PATH)/nvaudio_conf.xml:system/etc/nvaudio_conf.xml \ 123 $(LOCAL_PATH)/nvcamera.conf:system/etc/nvcamera.conf \ 124 $(LOCAL_PATH)/bcmdhd.cal:system/etc/wifi/bcmdhd.cal \ 125 $(LOCAL_PATH)/bcmdhd_lte.cal:system/etc/wifi/bcmdhd_lte.cal 126 127 PRODUCT_COPY_FILES += \ 128 $(LOCAL_PATH)/bluetooth/bcm4350b1.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/bcm4350b1.hcd \ 129 $(LOCAL_PATH)/bluetooth/BCM4354_003.001.012.0319.0690_ORC.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/bcm4350c0.hcd \ 130 $(LOCAL_PATH)/bluetooth/bcm4354.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/bcm4354.hcd \ 131 $(LOCAL_PATH)/bluetooth/bt_vendor.conf:$(TARGET_COPY_OUT_SYSTEM)/etc/bluetooth/bt_vendor.conf 132 133 PRODUCT_COPY_FILES += \ 134 $(LOCAL_PATH)/gps/bcm/gps.bcm47521.conf:system/etc/gps.bcm47521.conf \ 135 $(LOCAL_PATH)/gps/bcm/glgps:system/bin/glgps \ 136 $(LOCAL_PATH)/gps/bcm/gpsconfig.xml:system/etc/gpsconfig.xml \ 137 $(LOCAL_PATH)/gps/bcm/lib64/gps.bcm47521.so:system/lib64/hw/gps.bcm47521.so 138 139 # GPS: QCT MODULES 140 PRODUCT_COPY_FILES += \ 141 $(LOCAL_PATH)/gps/qct/gps.conf:system/etc/gps.conf \ 142 $(LOCAL_PATH)/gps/qct/SuplRootCert:system/etc/SuplRootCert \ 143 $(LOCAL_PATH)/gps/qct/lib/libgeofence.so:system/lib/libgeofence.so \ 144 $(LOCAL_PATH)/gps/qct/lib/libgps.utils.so:system/lib/libgps.utils.so \ 145 $(LOCAL_PATH)/gps/qct/lib/libloc_api_v02.so:system/lib/libloc_api_v02.so \ 146 $(LOCAL_PATH)/gps/qct/lib/libloc_core.so:system/lib/libloc_core.so \ 147 $(LOCAL_PATH)/gps/qct/lib/libloc_ds_api.so:system/lib/libloc_ds_api.so \ 148 $(LOCAL_PATH)/gps/qct/lib/libloc_eng.so:system/lib/libloc_eng.so \ 149 $(LOCAL_PATH)/gps/qct/lib/hw/gps.default.so:system/lib/hw/gps.default.so \ 150 $(LOCAL_PATH)/gps/qct/lib64/libgeofence.so:system/lib64/libgeofence.so \ 151 $(LOCAL_PATH)/gps/qct/lib64/libgps.utils.so:system/lib64/libgps.utils.so \ 152 $(LOCAL_PATH)/gps/qct/lib64/libloc_api_v02.so:system/lib64/libloc_api_v02.so \ 153 $(LOCAL_PATH)/gps/qct/lib64/libloc_core.so:system/lib64/libloc_core.so \ 154 $(LOCAL_PATH)/gps/qct/lib64/libloc_ds_api.so:system/lib64/libloc_ds_api.so \ 155 $(LOCAL_PATH)/gps/qct/lib64/libloc_eng.so:system/lib64/libloc_eng.so \ 156 $(LOCAL_PATH)/gps/qct/lib64/hw/gps.default.so:system/lib64/hw/gps.default.so \ 157 $(LOCAL_PATH)/gps/qct/lib_vendor/libmdmdetect.so:vendor/lib/libmdmdetect.so \ 158 $(LOCAL_PATH)/gps/qct/lib_vendor/libperipheral_client.so:vendor/lib/libperipheral_client.so \ 159 $(LOCAL_PATH)/gps/qct/lib64_vendor/libmdmdetect.so:vendor/lib64/libmdmdetect.so \ 160 $(LOCAL_PATH)/gps/qct/lib64_vendor/libperipheral_client.so:vendor/lib64/libperipheral_client.so 161 162 163 # NFC feature + config files 164 PRODUCT_COPY_FILES += \ 165 frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ 166 frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \ 167 device/htc/flounder/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \ 168 device/htc/flounder/nfc/libnfc-brcm-20795a10.conf:system/etc/libnfc-brcm-20795a10.conf 169 170 PRODUCT_AAPT_CONFIG := normal large xlarge 171 PRODUCT_AAPT_PREF_CONFIG := xhdpi 172 173 PRODUCT_CHARACTERISTICS := tablet,nosdcard 174 175 ifneq ($(filter volantis volantisf, $(TARGET_PRODUCT)),) 176 # Wifi-Only overlays. 177 DEVICE_PACKAGE_OVERLAYS := \ 178 $(LOCAL_PATH)/wifi_only_overlay \ 179 $(LOCAL_PATH)/overlay 180 else 181 DEVICE_PACKAGE_OVERLAYS := \ 182 $(LOCAL_PATH)/overlay 183 endif 184 185 # NFC packages 186 PRODUCT_PACKAGES += \ 187 nfc_nci.bcm2079x.default \ 188 NfcNci \ 189 Tag \ 190 191 PRODUCT_PACKAGES += \ 192 librs_jni \ 193 com.android.future.usb.accessory 194 195 PRODUCT_PACKAGES += \ 196 power.flounder \ 197 lights.flounder \ 198 sensors.flounder \ 199 thermal.flounder 200 201 # Filesystem management tools 202 PRODUCT_PACKAGES += \ 203 fsck.f2fs mkfs.f2fs 204 205 PRODUCT_PROPERTY_OVERRIDES := \ 206 wifi.interface=wlan0 \ 207 ro.opengles.version=196609 \ 208 ro.sf.lcd_density=320 \ 209 ro.hwui.texture_cache_size=72 \ 210 ro.hwui.layer_cache_size=48 \ 211 ro.hwui.r_buffer_cache_size=8 \ 212 ro.hwui.path_cache_size=32 \ 213 ro.hwui.gradient_cache_size=1 \ 214 ro.hwui.drop_shadow_cache_size=6 \ 215 ro.hwui.texture_cache_flushrate=0.4 \ 216 ro.hwui.text_small_cache_width=1024 \ 217 ro.hwui.text_small_cache_height=1024 \ 218 ro.hwui.text_large_cache_width=2048 \ 219 ro.hwui.text_large_cache_height=1024 \ 220 ro.hwui.disable_scissor_opt=true \ 221 ro.bt.bdaddr_path=/sys/module/flounder_bdaddress/parameters/bdaddress \ 222 ro.frp.pst=/dev/block/platform/sdhci-tegra.3/by-name/PST \ 223 ro.ril.def.agps.mode=1 \ 224 persist.tegra.compositor=glcomposer 225 226 # setup dalvik vm configs. 227 $(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) 228 229 # for off charging mode 230 PRODUCT_PACKAGES += \ 231 charger \ 232 charger_res_images 233 234 # for audio 235 PRODUCT_PACKAGES += \ 236 audio.primary.flounder \ 237 audio.a2dp.default \ 238 audio.usb.default \ 239 audio.r_submix.default \ 240 libhtcacoustic \ 241 libnvvisualizer 242 PRODUCT_PROPERTY_OVERRIDES += \ 243 ro.audio.monitorRotation=true 244 245 # for sound trigger on DSP 246 PRODUCT_PACKAGES += \ 247 sound_trigger.primary.flounder 248 249 # for keyboard key mappings 250 PRODUCT_PACKAGES += \ 251 VolantisKeyboard 252 253 # for launcher layout 254 PRODUCT_PACKAGES += \ 255 VolantisLayout 256 257 # Allows healthd to boot directly from charger mode rather than initiating a reboot. 258 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ 259 ro.enable_boot_charger_mode=1 260 261 # Reduce client buffer size for fast audio output tracks 262 # and configure audio low latency for 128 frames per buffer 263 PRODUCT_PROPERTY_OVERRIDES += \ 264 af.fast_track_multiplier=1 \ 265 audio_hal.period_size=128 266 267 # In userdebug, add minidebug info the the boot image and the system server to support 268 # diagnosing native crashes. 269 ifneq (,$(filter userdebug, $(TARGET_BUILD_VARIANT))) 270 # Boot image. 271 PRODUCT_DEX_PREOPT_BOOT_FLAGS += --generate-mini-debug-info 272 # System server and some of its services. 273 # Note: we cannot use PRODUCT_SYSTEM_SERVER_JARS, as it has not been expanded at this point. 274 $(call add-product-dex-preopt-module-config,services,--generate-mini-debug-info) 275 $(call add-product-dex-preopt-module-config,wifi-service,--generate-mini-debug-info) 276 endif 277 278 # add verity dependencies 279 $(call inherit-product, build/target/product/verity.mk) 280 PRODUCT_SUPPORTS_BOOT_SIGNER := false 281 PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/sdhci-tegra.3/by-name/APP 282 PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/sdhci-tegra.3/by-name/VNR 283 284 # for warning 285 PRODUCT_PACKAGES += \ 286 slideshow \ 287 verity_warning_images 288 289 $(call inherit-product-if-exists, hardware/nvidia/tegra132/tegra132.mk) 290 $(call inherit-product-if-exists, vendor/nvidia/proprietary-tegra132/tegra132-vendor.mk) 291 $(call inherit-product-if-exists, vendor/htc/flounder/device-vendor.mk) 292 $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4354/device-bcm.mk) 293 $(call inherit-product-if-exists, vendor/htc/flounder/audio/lifevibes/lvve/device-vendor-lvve.mk) 294 $(call inherit-product-if-exists, vendor/htc/flounder/audio/tfa/device-vendor-tfa.mk) 295 296 # Add dependency of the proprietary keystore.flounder module. 297 PRODUCT_PACKAGES += \ 298 libkeymaster_messages 299