• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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