1# 2# Copyright 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 17KERNEL_SRC_DIR ?= linux/kernel-fugu 18KERNEL_CFG_NAME ?= fugu 19TARGET_KERNEL_ARCH ?= x86_64 20 21 22# Check for availability of kernel source 23ifneq ($(wildcard $(KERNEL_SRC_DIR)/Makefile),) 24 # Give precedence to TARGET_PREBUILT_KERNEL 25 ifeq ($(TARGET_PREBUILT_KERNEL),) 26 TARGET_KERNEL_BUILT_FROM_SOURCE := true 27 endif 28endif 29 30ifneq ($(TARGET_KERNEL_BUILT_FROM_SOURCE), true) 31# Use prebuilt kernel 32ifeq ($(TARGET_PREBUILT_KERNEL),) 33LOCAL_KERNEL := device/asus/fugu-kernel/bzImage 34else 35LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) 36endif 37 38PRODUCT_COPY_FILES += \ 39 $(LOCAL_KERNEL):kernel 40 41endif #TARGET_KERNEL_BUILT_FROM_SOURCE 42 43# Need AppWidget permission to prevent from Launcher's crash. 44# TODO(pattjin): Remove this when the TV Launcher is used, which does not support AppWidget. 45PRODUCT_COPY_FILES += \ 46 frameworks/native/data/etc/android.software.app_widgets.xml:system/etc/permissions/android.software.app_widgets.xml 47 48PRODUCT_AAPT_CONFIG := normal large xlarge hdpi xhdpi 49PRODUCT_AAPT_PREF_CONFIG := xhdpi 50 51# xhdpi, while we are hardcoding the 1080 resolution. 52# when we start doing 720 as well, will need to stop hardcoding this. 53PRODUCT_PROPERTY_OVERRIDES += \ 54 ro.sf.lcd_density=320 55 56# There may be a cleaner way to do this. 57PRODUCT_PROPERTY_OVERRIDES += \ 58 dalvik.vm.heapstartsize=8m \ 59 dalvik.vm.heapgrowthlimit=128m \ 60 dalvik.vm.heapsize=174m 61 62$(call inherit-product-if-exists, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) 63 64PRODUCT_CHARACTERISTICS := nosdcard,tv 65 66DEVICE_PACKAGE_OVERLAYS := \ 67 device/asus/fugu/overlay 68 69PRODUCT_COPY_FILES += \ 70 device/asus/fugu/fstab.fugu:root/fstab.fugu \ 71 device/asus/fugu/init.fugu.rc:root/init.fugu.rc \ 72 device/asus/fugu/init.fugu.usb.rc:root/init.fugu.usb.rc \ 73 device/asus/fugu/ueventd.fugu.rc:root/ueventd.fugu.rc \ 74 device/asus/fugu/init.recovery.fugu.rc:root/init.recovery.fugu.rc 75 76# Audio 77PRODUCT_PACKAGES += \ 78 libtinyalsa \ 79 audio.primary.fugu \ 80 audio.usb.default \ 81 audio.a2dp.default \ 82 audio.r_submix.default \ 83 libaudio-resampler 84 85# http://b/15193147 86# TODO(danalbert): Remove this once stlport is dead and gone. 87PRODUCT_PACKAGES += libstlport 88 89USE_CUSTOM_AUDIO_POLICY := 1 90 91# specific management of audio_policy.conf 92PRODUCT_COPY_FILES += \ 93 device/asus/fugu/audio_policy.conf:system/etc/audio_policy.conf 94 95# Hdmi CEC: Fugu works as a playback device (4). 96PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=4 97 98# Hdmi CEC: Disable 'Set Menu Language' feature. 99PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.set_menu_language=false 100 101# Keep secure decoders in mediaserver process 102PRODUCT_PROPERTY_OVERRIDES += media.stagefright.less-secure=true 103 104# Boot Animation 105PRODUCT_COPY_FILES += \ 106 device/asus/fugu/bootanimation-580-256col.zip:system/media/bootanimation.zip 107 108# Bluetooth 109PRODUCT_PACKAGES += \ 110 bt_bcm4354 111 112PRODUCT_COPY_FILES += \ 113 device/asus/fugu/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf 114 115# IMG graphics 116PRODUCT_PACKAGES += \ 117 IMG_graphics \ 118 hwcomposer.moorefield 119 120#Video 121PRODUCT_COPY_FILES += \ 122 device/asus/fugu/media_profiles.xml:system/etc/media_profiles.xml \ 123 device/asus/fugu/wrs_omxil_components.list:system/etc/wrs_omxil_components.list \ 124 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 125 frameworks/av/media/libstagefright/data/media_codecs_google_tv.xml:system/etc/media_codecs_google_tv.xml \ 126 frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ 127 device/asus/fugu/media_codecs.xml:system/etc/media_codecs.xml \ 128 device/asus/fugu/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \ 129 device/asus/fugu/mfx_omxil_core.conf:system/etc/mfx_omxil_core.conf \ 130 device/asus/fugu/video_isv_profile.xml:system/etc/video_isv_profile.xml \ 131 device/asus/fugu/codec_resources_limitation.xml:system/etc/codec_resources_limitation.xml 132 133 134# psb video 135PRODUCT_PACKAGES += \ 136 pvr_drv_video 137 138# Media SDK and OMX IL components 139PRODUCT_PACKAGES += \ 140 libmfxsw32 \ 141 libmfx_omx_core \ 142 libmfx_omx_components_sw \ 143 libgabi++-mfx \ 144 libstlport-mfx 145 146#video firmware 147PRODUCT_PACKAGES += \ 148 msvdx.bin.0008.0000.0000 \ 149 msvdx.bin.0008.0000.0001 \ 150 msvdx.bin.0008.0002.0001 \ 151 msvdx.bin.0008.0000.0002 \ 152 msvdx.bin.000c.0001.0001 \ 153 topaz.bin.0008.0000.0000 \ 154 topaz.bin.0008.0000.0001 \ 155 topaz.bin.0008.0000.0002 \ 156 topaz.bin.0008.0002.0001 \ 157 topaz.bin.000c.0001.0001 \ 158 vsp.bin.0008.0000.0000 \ 159 vsp.bin.0008.0000.0001 \ 160 vsp.bin.0008.0000.0002 \ 161 vsp.bin.0008.0002.0001 \ 162 vsp.bin.000c.0001.0001 163# libva 164PRODUCT_PACKAGES += \ 165 libva \ 166 libva-android \ 167 libva-tpi \ 168 vainfo 169 170#libstagefrighthw 171PRODUCT_PACKAGES += \ 172 libstagefrighthw 173 174# libmix 175PRODUCT_PACKAGES += \ 176 libmixvbp_mpeg4 \ 177 libmixvbp_h264 \ 178 libmixvbp_h264secure \ 179 libmixvbp_vc1 \ 180 libmixvbp_vp8 \ 181 libmixvbp_mpeg2 \ 182 libmixvbp \ 183 libva_videodecoder \ 184 libva_videoencoder 185 186PRODUCT_PACKAGES += \ 187 libwrs_omxil_common \ 188 libwrs_omxil_core_pvwrapped \ 189 libOMXVideoDecoderAVC \ 190 libOMXVideoDecoderH263 \ 191 libOMXVideoDecoderMPEG4 \ 192 libOMXVideoDecoderWMV \ 193 libOMXVideoDecoderVP8 \ 194 libOMXVideoDecoderMPEG2 \ 195 libOMXVideoDecoderVP9HWR \ 196 libOMXVideoDecoderVP9Hybrid \ 197 libOMXVideoEncoderAVC \ 198 libOMXVideoEncoderH263 \ 199 libOMXVideoEncoderMPEG4 \ 200 libOMXVideoEncoderVP8 201 202#libISV 203PRODUCT_PACKAGES += libisv_omx_core 204 205# pvr 206PRODUCT_PACKAGES += \ 207 libpvr2d 208 209# libdrm 210PRODUCT_PACKAGES += \ 211 libdrm \ 212 dristat \ 213 drmstat 214 215# Wifi 216PRODUCT_PACKAGES += \ 217 libwpa_client \ 218 lib_driver_cmd_bcmdhd \ 219 hostapd \ 220 wpa_supplicant \ 221 bcmdhd.cal \ 222 bcmdhd_sr2.cal 223 224PRODUCT_COPY_FILES += \ 225 device/asus/fugu/wpa_supplicant.conf:/system/etc/wifi/wpa_supplicant.conf 226 227PRODUCT_COPY_FILES += \ 228 frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \ 229 frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \ 230 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ 231 frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ 232 frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ 233 frameworks/native/data/etc/android.hardware.hdmi.cec.xml:system/etc/permissions/android.hardware.hdmi.cec.xml \ 234 frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml 235 236# Key layout files 237PRODUCT_COPY_FILES += \ 238 device/asus/fugu/Nexus_Remote.idc:system/usr/idc/Nexus_Remote.idc \ 239 device/asus/fugu/gpio-keys.idc:system/usr/idc/gpio-keys.idc \ 240 device/asus/fugu/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \ 241 device/asus/fugu/gpio-keys.kcm:system/usr/keychars/gpio-keys.kcm \ 242 device/asus/fugu/Spike.kl:system/usr/keylayout/Spike.kl \ 243 device/asus/fugu/Nexus_Remote.kl:system/usr/keylayout/Nexus_Remote.kl 244 245#GFX Config 246PRODUCT_COPY_FILES += \ 247 device/asus/fugu/powervr.ini:system/etc/powervr.ini \ 248 frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:system/etc/permissions/android.hardware.vulkan.level-0.xml \ 249 frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version-1_0_3.xml 250 251# Thermal itux 252ENABLE_ITUXD := true 253PRODUCT_PACKAGES += \ 254 ituxd 255 256# Power HAL 257PRODUCT_PACKAGES += \ 258 power.fugu 259 260# Debug rc files 261ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 262PRODUCT_COPY_FILES += \ 263 device/asus/fugu/init.fugu.diag.rc.userdebug:root/init.fugu.diag.rc 264endif 265 266# In userdebug, add minidebug info the the boot image and the system server to support 267# diagnosing native crashes. 268ifneq (,$(filter userdebug, $(TARGET_BUILD_VARIANT))) 269 # Boot image. 270 PRODUCT_DEX_PREOPT_BOOT_FLAGS += --generate-mini-debug-info 271 # System server and some of its services. This is just here for completeness and consistency, 272 # as we currently only compile the boot image. 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) 276endif 277 278$(call inherit-product-if-exists, vendor/asus/fugu/device-vendor.mk) 279$(call inherit-product-if-exists, vendor/intel/PRIVATE/fugu/device-vendor.mk) 280$(call inherit-product-if-exists, vendor/intel/moorefield/prebuilts/houdini/houdini.mk) 281 282# Add WiFi Firmware 283$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4354/device-bcm.mk) 284 285# specific management of sep_policy.conf 286PRODUCT_COPY_FILES += \ 287 device/asus/fugu/sep_policy.conf:system/etc/security/sep_policy.conf 288 289#PRODUCT_CHARACTERISTICS := tablet 290 291# Wifi country code 292PRODUCT_COPY_FILES += \ 293 device/asus/fugu/init.fugu.countrycode.sh:system/bin/init.fugu.countrycode.sh 294 295# Get rid of dex preoptimization to save space for the system.img 296# Sorted by *.odex size 297FUGU_DONT_DEXPREOPT_MODULES := \ 298 NoTouchAuthDelegate \ 299 ConfigUpdater \ 300 SecondScreenSetup \ 301 SecondScreenSetupAuthBridge \ 302 TvSettings \ 303 SetupWraith \ 304 GooglePackageInstaller \ 305 GoogleContactsSyncAdapter \ 306 BugReportSender \ 307 ContactsProvider \ 308 PrintSpooler \ 309 CalendarProvider \ 310 CanvasPackageInstaller \ 311 SettingsProvider \ 312 ituxd \ 313 StatementService \ 314 ExternalStorageProvider \ 315 FrameworkPackageStubs \ 316 CertInstaller \ 317 KeyChain \ 318 UserDictionaryProvider 319$(call add-product-dex-preopt-module-config,$(FUGU_DONT_DEXPREOPT_MODULES),disable) 320 321# Some CTS tests will be skipped based on what the initial API level that 322# shipped on device was. 323PRODUCT_PROPERTY_OVERRIDES += \ 324 ro.product.first_api_level=21 325