-
Notifications
You must be signed in to change notification settings - Fork 69
/
device_base.mk
227 lines (185 loc) · 8.73 KB
/
device_base.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# Portions Copyright (C) 2012 VMware, Inc. All Rights Reserved.
# Copyright (C) 2010 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This file is the device-specific product definition file for
# crespo. It lists all the overlays, files, modules and properties
# that are specific to this hardware: i.e. those are device-specific
# drivers, configuration files, settings, etc...
# Note that crespo is not a fully open device. Some of the drivers
# aren't publicly available in all circumstances, which means that some
# of the hardware capabilities aren't present in builds where those
# drivers aren't available. Such cases are handled by having this file
# separated into two halves: this half here contains the parts that
# are available to everyone, while another half in the vendor/ hierarchy
# augments that set with the parts that are only relevant when all the
# associated drivers are available. Aspects that are irrelevant but
# harmless in no-driver builds should be kept here for simplicity and
# transparency. There are two variants of the half that deals with
# the unavailable drivers: one is directly checked into the unreleased
# vendor tree and is used by engineers who have access to it. The other
# is generated by setup-makefile.sh in the same directory as this files,
# and is used by people who have access to binary versions of the drivers
# but not to the original vendor tree. Be sure to update both.
# These is the hardware-specific overlay, which points to the location
# of hardware-specific resource overrides, typically the frameworks and
# application settings that are stored in resourced.
DEVICE_PACKAGE_OVERLAYS += device/samsung/crespo/overlay
# These are the hardware-specific configuration files
PRODUCT_COPY_FILES := \
device/samsung/crespo/egl.cfg:system/lib/egl/egl.cfg
# Init files
PRODUCT_COPY_FILES += \
device/samsung/crespo/init.herring.rc:root/init.herring.rc \
device/samsung/crespo/init.herring.usb.rc:root/init.herring.usb.rc \
device/samsung/crespo/fstab.herring:root/fstab.herring \
device/samsung/crespo/ueventd.herring.rc:root/ueventd.herring.rc
# Prebuilt kl and kcm keymaps
PRODUCT_COPY_FILES += \
device/samsung/crespo/s3c-keypad.kl:system/usr/keylayout/s3c-keypad.kl \
device/samsung/crespo/s3c-keypad.kcm:system/usr/keychars/s3c-keypad.kcm \
device/samsung/crespo/herring-keypad.kl:system/usr/keylayout/herring-keypad.kl \
device/samsung/crespo/herring-keypad.kcm:system/usr/keychars/herring-keypad.kcm \
device/samsung/crespo/cypress-touchkey.kl:system/usr/keylayout/cypress-touchkey.kl \
device/samsung/crespo/cypress-touchkey.kcm:system/usr/keychars/cypress-touchkey.kcm \
device/samsung/crespo/sec_jack.kl:system/usr/keylayout/sec_jack.kl \
device/samsung/crespo/sec_jack.kcm:system/usr/keychars/sec_jack.kcm \
device/samsung/crespo/mxt224_ts_input.kl:system/usr/keylayout/mxt224_ts_input.kl \
device/samsung/crespo/mxt224_ts_input.kcm:system/usr/keychars/mxt224_ts_input.kcm
#NVRAM setup
PRODUCT_COPY_FILES += \
device/samsung/crespo/nvram_net.txt:system/vendor/firmware/nvram_net.txt
#MFC Firmware
PRODUCT_COPY_FILES += \
device/samsung/crespo/samsung_mfc_fw.bin:system/vendor/firmware/samsung_mfc_fw.bin
# NFC
PRODUCT_PACKAGES += \
libnfc \
libnfc_jni \
Nfc \
Tag
# Commands to migrate prefs from com.android.nfc3 to com.android.nfc
PRODUCT_COPY_FILES += \
packages/apps/Nfc/migrate_nfc.txt:system/etc/updatecmds/migrate_nfc.txt
# file that declares the MIFARE NFC constant
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/com.nxp.mifare.xml:system/etc/permissions/com.nxp.mifare.xml
# NFC EXTRAS add-on API
PRODUCT_PACKAGES += \
com.android.nfc_extras
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml
# NFCEE access control
ifeq ($(TARGET_BUILD_VARIANT),user)
NFCEE_ACCESS_PATH := device/samsung/crespo/nfcee_access.xml
else
NFCEE_ACCESS_PATH := device/samsung/crespo/nfcee_access_debug.xml
endif
PRODUCT_COPY_FILES += \
$(NFCEE_ACCESS_PATH):system/etc/nfcee_access.xml
# Generated kcm keymaps
PRODUCT_PACKAGES += \
s3c-keypad.kcm \
cypress-touchkey.kcm
# Filesystem management tools
PRODUCT_PACKAGES += \
setup_fs
PRODUCT_CHARACTERISTICS := nosdcard
# These are the OpenMAX IL configuration files
PRODUCT_COPY_FILES += \
hardware/samsung/exynos3/s5pc110/sec_mm/sec_omx/sec_omx_core/secomxregistry:system/etc/secomxregistry \
device/samsung/crespo/media_profiles.xml:system/etc/media_profiles.xml \
device/samsung/crespo/media_codecs.xml:system/etc/media_codecs.xml
# These are the OpenMAX IL modules
PRODUCT_PACKAGES += \
libSEC_OMX_Core \
libOMX.SEC.AVC.Decoder \
libOMX.SEC.M4V.Decoder \
libOMX.SEC.M4V.Encoder \
libOMX.SEC.AVC.Encoder
# Misc other modules
PRODUCT_PACKAGES += \
lights.herring \
hwcomposer.s5pc110 \
sensors.herring \
power.s5pc110 \
libs3cjpeg
# Torch
PRODUCT_PACKAGES += \
Torch
# Camera
PRODUCT_PACKAGES += \
camera.herring
# audio
PRODUCT_PACKAGES += \
audio_policy.herring \
audio.primary.herring \
audio.a2dp.default \
audio.usb.default
PRODUCT_COPY_FILES += \
device/samsung/crespo/libaudio/audio_policy.conf:system/etc/audio_policy.conf
# NFC
PRODUCT_PACKAGES += \
nfc.herring
# Libs
PRODUCT_PACKAGES += \
libcamera \
libstagefrighthw \
com.android.future.usb.accessory
# Input device calibration files
PRODUCT_COPY_FILES += \
device/samsung/crespo/mxt224_ts_input.idc:system/usr/idc/mxt224_ts_input.idc
# legacy version of skia
# fixes the app switcher previews
PRODUCT_PACKAGES += \
libskia_legacy
# These are the hardware-specific features
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml \
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \
frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \
frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \
frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
packages/wallpapers/LivePicker/android.software.live_wallpaper.xml:system/etc/permissions/android.software.live_wallpaper.xml
# The OpenGL ES API level that is natively supported by this device.
# This is a 16.16 fixed point number
PRODUCT_PROPERTY_OVERRIDES := \
ro.opengles.version=131072
# These are the hardware-specific settings that are stored in system properties.
# Note that the only such settings should be the ones that are too low-level to
# be reachable from resources or other mechanisms.
PRODUCT_PROPERTY_OVERRIDES += \
wifi.interface=wlan0
# Set default USB interface
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
persist.sys.usb.config=mass_storage
# Disable scissor optimizations
PRODUCT_PROPERTY_OVERRIDES += \
ro.hwui.disable_scissor_opt=true
PRODUCT_PROPERTY_OVERRIDES += \
ro.bq.gpu_to_cpu_unsupported=1
include frameworks/native/build/phone-hdpi-512-dalvik-heap.mk
# we have enough storage space to hold precise GC data
PRODUCT_TAGS += dalvik.gc.type-precise
# Screen size is "normal", density is "hdpi"
PRODUCT_AAPT_CONFIG := normal hdpi
$(call inherit-product-if-exists, vendor/nxp/pn544/nxp-pn544-fw-vendor.mk)
WIFI_BAND := 802_11_BG
$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4329/device-bcm.mk)