Home | History | Annotate | Download | only in flounder
      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