Home | History | Annotate | Download | only in dragon
      1 #
      2 # Copyright (C) 2015 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 # There are three modes for TLK components, controlled by SECURE_OS_BUILD:
     18 #
     19 # "SECURE_OS_BUILD = tlk" will build everything from source.
     20 # "SECURE_OS_BUILD = client_only" will build TLK client components from
     21 #                    source but use a prebuilt version of the secure OS.
     22 # "SECURE_OS_BUILD = false" will will use prebuilts for TLK and client
     23 #                    components.
     24 
     25 # By default build TLK from source if it is available, otherwise use
     26 # prebuilts.  To force using the prebuilt while having the source, set:
     27 # SECURE_OS_BUILD=false
     28 ifeq ($(wildcard vendor/nvidia/dragon-tlk/tlk),vendor/nvidia/dragon-tlk/tlk)
     29     SECURE_OS_BUILD ?= tlk
     30 endif
     31 
     32 ifeq ($(TARGET_PREBUILT_KERNEL),)
     33 LOCAL_KERNEL := device/google/dragon-kernel/Image.fit
     34 else
     35 LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
     36 endif
     37 
     38 ifeq ($(TARGET_PRODUCT), ryu_kasan)
     39 LOCAL_FSTAB := $(LOCAL_PATH)/fstab.dragon.nocrypt
     40 else
     41 LOCAL_FSTAB := $(LOCAL_PATH)/fstab.dragon
     42 endif
     43 
     44 TARGET_RECOVERY_FSTAB = $(LOCAL_FSTAB)
     45 
     46 PRODUCT_COPY_FILES := \
     47     $(LOCAL_KERNEL):kernel \
     48     $(LOCAL_PATH)/dump_bq25892.sh:system/bin/dump_bq25892.sh \
     49     $(LOCAL_PATH)/touchfwup.sh:system/bin/touchfwup.sh \
     50     $(LOCAL_PATH)/init.dragon.rc:root/init.dragon.rc \
     51     $(LOCAL_PATH)/init.dragon.usb.rc:root/init.dragon.usb.rc \
     52     $(LOCAL_PATH)/init.recovery.dragon.rc:root/init.recovery.dragon.rc \
     53     $(LOCAL_PATH)/init_regions.sh:system/bin/init_regions.sh \
     54     $(LOCAL_PATH)/tune-thermal-gov.sh:system/bin/tune-thermal-gov.sh \
     55     $(LOCAL_FSTAB):root/fstab.dragon \
     56     $(LOCAL_PATH)/ueventd.dragon.rc:root/ueventd.dragon.rc \
     57     $(LOCAL_PATH)/speakerdsp.ini:system/etc/cras/speakerdsp.ini \
     58     $(LOCAL_PATH)/bcmdhd.cal:system/etc/wifi/bcmdhd.cal \
     59     $(LOCAL_PATH)/com.nvidia.nvsi.xml:system/etc/permissions/com.nvidia.nvsi.xml
     60 
     61 PRODUCT_PACKAGES += \
     62     android.hardware.wifi@1.0-service \
     63     libwpa_client \
     64     hostapd \
     65     wificond \
     66     wifilogd \
     67     wpa_supplicant \
     68     wpa_supplicant.conf \
     69     fs_config_files \
     70     crash_dispatcher \
     71     crash_collector \
     72     CrashReportProvider \
     73     fwtool
     74 
     75 ifeq ($(TARGET_BUILD_VARIANT),eng)
     76 PRODUCT_PACKAGES += \
     77     tinyplay \
     78     tinycap \
     79     tinymix
     80 endif
     81 
     82 PRODUCT_COPY_FILES += \
     83     frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml \
     84     frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
     85     frameworks/native/data/etc/android.hardware.camera.autofocus.xml:system/etc/permissions/android.hardware.camera.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.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
     89     frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
     90     frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:system/etc/permissions/android.hardware.wifi.passpoint.xml \
     91     frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml \
     92     frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
     93     frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
     94     frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \
     95     frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
     96     frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \
     97     frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml \
     98     frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \
     99     frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \
    100     frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
    101     frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
    102     frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml \
    103     frameworks/native/data/etc/android.software.verified_boot.xml:system/etc/permissions/android.software.verified_boot.xml \
    104     frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:system/etc/permissions/android.hardware.vulkan.level.xml \
    105     frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml
    106 
    107 PRODUCT_COPY_FILES += \
    108     frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:system/etc/a2dp_audio_policy_configuration.xml \
    109     frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:system/etc/usb_audio_policy_configuration.xml \
    110     frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:system/etc/r_submix_audio_policy_configuration.xml \
    111     frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
    112     $(LOCAL_PATH)/audio_policy_configuration.xml:system/etc/audio_policy_configuration.xml \
    113     $(LOCAL_PATH)/audio_policy_volumes_drc.xml:system/etc/audio_policy_volumes_drc.xml \
    114     $(LOCAL_PATH)/mixer_paths_0.xml:system/etc/mixer_paths_0.xml
    115 
    116 PRODUCT_COPY_FILES += \
    117     frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
    118     frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \
    119     $(LOCAL_PATH)/media_codecs.xml:system/etc/media_codecs.xml \
    120     $(LOCAL_PATH)/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
    121     $(LOCAL_PATH)/media_profiles.xml:system/etc/media_profiles.xml
    122 
    123 PRODUCT_COPY_FILES += \
    124     $(LOCAL_PATH)/bluetooth/BCM4350C0_003.001.012.0364.0754.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/bcm4350c0.hcd \
    125     $(LOCAL_PATH)/bluetooth/bt_vendor.conf:$(TARGET_COPY_OUT_SYSTEM)/etc/bluetooth/bt_vendor.conf
    126 
    127 # Bluetooth HAL
    128 PRODUCT_PACKAGES += \
    129     libbt-vendor \
    130     android.hardware.bluetooth@1.0-impl-dragon
    131 
    132 # Copy dsp firmware to the vendor parition so it is available when hotwording
    133 # starts
    134 PRODUCT_COPY_FILES += \
    135     $(LOCAL_PATH)/rt5677_elf_vad:vendor/firmware/rt5677_elf_vad
    136 
    137 PRODUCT_COPY_FILES += \
    138     $(LOCAL_PATH)/enctune.conf:system/etc/enctune.conf
    139 
    140 PRODUCT_COPY_FILES += \
    141     device/google/dragon/audio_effects.conf:system/etc/audio_effects.conf
    142 
    143 PRODUCT_AAPT_CONFIG := normal large xlarge hdpi xhdpi xxhdpi
    144 PRODUCT_AAPT_PREF_CONFIG := xhdpi
    145 
    146 PRODUCT_CHARACTERISTICS := tablet,nosdcard
    147 
    148 DEVICE_PACKAGE_OVERLAYS := \
    149     $(LOCAL_PATH)/overlay
    150 
    151 PRODUCT_TAGS += dalvik.gc.type-precise
    152 
    153 PRODUCT_PACKAGES += \
    154     librs_jni \
    155     com.android.future.usb.accessory
    156 
    157 PRODUCT_PACKAGES += \
    158     power.dragon \
    159     sensors.dragon \
    160     android.hardware.sensors@1.0-impl \
    161     android.hardware.power@1.0-impl
    162 
    163 # Health HAL
    164 PRODUCT_PACKAGES += \
    165     android.hardware.health@1.0-impl
    166 
    167 # Light HAL
    168 PRODUCT_PACKAGES += \
    169     lights.dragon \
    170     android.hardware.light@2.0-impl
    171 
    172 # Keymaster HAL
    173 PRODUCT_PACKAGES += \
    174     android.hardware.keymaster@3.0-impl
    175 
    176 # Gatekeeper HAL
    177 PRODUCT_PACKAGES += \
    178     android.hardware.gatekeeper@1.0-impl
    179 
    180 # Dumpstate HAL
    181 PRODUCT_PACKAGES += \
    182     android.hardware.dumpstate@1.0-service.dragon
    183 
    184 # Gralloc HAL
    185 PRODUCT_PACKAGES += \
    186     android.hardware.graphics.mapper@2.0-impl \
    187     android.hardware.graphics.allocator@2.0-impl \
    188     android.hardware.graphics.allocator@2.0-service
    189 
    190 #TODO(dgreid) is this right?
    191 PRODUCT_PROPERTY_OVERRIDES := \
    192     wifi.interface=wlan0 \
    193     ro.hwui.texture_cache_size=86 \
    194     ro.hwui.layer_cache_size=56 \
    195     ro.hwui.r_buffer_cache_size=8 \
    196     ro.hwui.path_cache_size=40 \
    197     ro.hwui.gradient_cache_size=1 \
    198     ro.hwui.drop_shadow_cache_size=6 \
    199     ro.hwui.texture_cache_flushrate=0.4 \
    200     ro.hwui.text_small_cache_width=1024 \
    201     ro.hwui.text_small_cache_height=1024 \
    202     ro.hwui.text_large_cache_width=2048 \
    203     ro.hwui.text_large_cache_height=1024 \
    204     ro.hwui.disable_scissor_opt=true
    205 
    206 # The default locale should be determined from VPD, not from build.prop.
    207 PRODUCT_SYSTEM_PROPERTY_BLACKLIST := \
    208     ro.product.locale
    209 
    210 # OEM Unlock reporting
    211 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
    212     ro.oem_unlock_supported=1
    213 
    214 # setup dalvik vm configs.
    215 $(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
    216 
    217 # set default USB configuration
    218 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
    219     ro.adb.secure=1 \
    220     ro.sf.lcd_density=320 \
    221     ro.opengles.version=196610
    222 
    223 # for audio
    224 #TODO(dgreid) do we need libnvvisualizer?
    225 PRODUCT_PACKAGES += \
    226     audio.primary.dragon \
    227     sound_trigger.primary.dragon \
    228     audio.a2dp.default \
    229     audio.usb.default \
    230     audio.r_submix.default
    231 
    232 PRODUCT_PACKAGES += \
    233     android.hardware.audio@2.0-impl \
    234     android.hardware.audio.effect@2.0-impl \
    235     android.hardware.soundtrigger@2.0-impl
    236 
    237 PRODUCT_PACKAGES += \
    238     android.hardware.drm@1.0-impl
    239 
    240 PRODUCT_PACKAGES += \
    241     android.hardware.graphics.composer@2.1-impl
    242 
    243 PRODUCT_PROPERTY_OVERRIDES += \
    244     ro.audio.monitorRotation=true \
    245     ro.frp.pst=/dev/block/platform/700b0600.sdhci/by-name/PST
    246 
    247 # Default OMX service to non-Treble
    248 PRODUCT_PROPERTY_OVERRIDES += \
    249     persist.media.treble_omx=false
    250 
    251 # ro.product.first_api_level indicates the first api level the device has commercially launched on.
    252 PRODUCT_PROPERTY_OVERRIDES += \
    253     ro.product.first_api_level=23
    254 
    255 # for keyboard key mappings
    256 PRODUCT_PACKAGES += \
    257     DragonKeyboard
    258 
    259 # Vibrator HAL
    260 PRODUCT_PACKAGES += \
    261     android.hardware.vibrator@1.0-impl
    262 
    263 # Allows healthd to boot directly from charger mode rather than initiating a reboot.
    264 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
    265     ro.enable_boot_charger_mode=1
    266 
    267 # TODO(dgreid) - Add back verity dependencies like flounder has.
    268 
    269 $(call inherit-product, build/target/product/vboot.mk)
    270 $(call inherit-product, build/target/product/verity.mk)
    271 # including verity.mk automatically enabled boot signer which conflicts with
    272 # vboot
    273 PRODUCT_SUPPORTS_BOOT_SIGNER := false
    274 PRODUCT_SUPPORTS_VERITY_FEC := false
    275 PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/700b0600.sdhci/by-name/APP
    276 PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/700b0600.sdhci/by-name/VNR
    277 
    278 # The following group is necessary to support building the NVIDIA vendor
    279 # HALs and prebuilts.
    280 BOARD_SUPPORT_NVOICE := true
    281 BOARD_SUPPORT_NVAUDIOFX :=true
    282 BOARD_USES_LIBDRM := true
    283 NVRM_GPU_SUPPORT_NOUVEAU := 1
    284 NV_GPU_USE_SYNC_FD := 1
    285 USE_DRM_HWCOMPOSER := 1
    286 
    287 PRODUCT_PROPERTY_OVERRIDES += \
    288     ro.hardware.vulkan=tegra
    289 
    290 $(call inherit-product-if-exists, hardware/nvidia/tegra132/tegra132.mk)
    291 $(call inherit-product-if-exists, vendor/google_devices/dragon/device-vendor.mk)
    292 $(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/config/config-bcm.mk)
    293 
    294 ENABLE_LIBDRM := true
    295 BOARD_GPU_DRIVERS := tegra
    296 USE_XML_AUDIO_POLICY_CONF := 1
    297 PRODUCT_PACKAGES += \
    298     f54test \
    299     hwcomposer.drm \
    300     libdrm \
    301     rmi4update \
    302     rmihidtool
    303 
    304 # Vendor seccomp policy files for media components:
    305 PRODUCT_COPY_FILES += \
    306     device/google/dragon/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy
    307 
    308 $(call inherit-product-if-exists, vendor/nvidia/dragon/dragon-vendor.mk)
    309