• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1PRODUCT_SOONG_NAMESPACES += device/amlogic/yukawa
2
3ifeq ($(TARGET_PREBUILT_KERNEL),)
4LOCAL_KERNEL := device/amlogic/yukawa-kernel/$(TARGET_KERNEL_USE)/Image.lz4
5else
6LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
7endif
8
9PRODUCT_COPY_FILES +=  $(LOCAL_KERNEL):kernel
10
11# Build and run only ART
12PRODUCT_RUNTIMES := runtime_libart_default
13
14# Enable updating of APEXes
15$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
16
17# Enable Scoped Storage related
18$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
19
20DEVICE_PACKAGE_OVERLAYS := device/amlogic/yukawa/overlay
21ifeq ($(TARGET_USE_TABLET_LAUNCHER), true)
22# Setup tablet build
23$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk)
24$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
25else
26# Setup TV Build
27USE_OEM_TV_APP := true
28$(call inherit-product, device/google/atv/products/atv_base.mk)
29PRODUCT_CHARACTERISTICS := tv
30PRODUCT_AAPT_PREF_CONFIG := tvdpi
31PRODUCT_IS_ATV := true
32endif
33
34PRODUCT_PACKAGES += llkd
35
36ifeq ($(TARGET_USE_AB_SLOT), true)
37# A/B support
38PRODUCT_PACKAGES += \
39    otapreopt_script \
40    cppreopts.sh \
41    update_engine \
42    update_verifier
43AB_OTA_POSTINSTALL_CONFIG += \
44    RUN_POSTINSTALm=true \
45    POSTINSTALL_PATH=system/bin/otapreopt_script \
46    FILESYSTEM_TYPE=ext4 \
47    POSTINSTALL_OPTIONAL=true
48
49PRODUCT_PACKAGES += \
50    update_engine_sideload \
51    sg_write_buffer \
52    f2fs_io
53
54# The following modules are included in debuggable builds only.
55PRODUCT_PACKAGES_DEBUG += \
56    bootctl \
57    update_engine_client
58
59# Write flags to the vendor space in /misc partition.
60PRODUCT_PACKAGES += \
61    misc_writer
62
63PRODUCT_PACKAGES += \
64    fs_config_dirs \
65    fs_config_files
66
67# Boot control
68PRODUCT_PACKAGES += \
69    android.hardware.boot@1.0-impl \
70    android.hardware.boot@1.0-impl.recovery \
71    android.hardware.boot@1.0-service \
72	bootctrl.yukawa.recovery \
73	bootctrl.yukawa
74endif
75
76# Dynamic partitions
77PRODUCT_BUILD_SUPER_PARTITION := true
78PRODUCT_USE_DYNAMIC_PARTITIONS := true
79PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
80
81PRODUCT_PACKAGES += \
82	android.hardware.fastboot@1.0 \
83	android.hardware.fastboot@1.0-impl-mock \
84	fastbootd
85
86# All VNDK libraries (HAL interfaces, VNDK, VNDK-SP, LL-NDK)
87PRODUCT_PACKAGES += vndk_package
88
89PRODUCT_PACKAGES += \
90    android.hardware.health@2.0-service.yukawa \
91    android.hardware.health@2.0-service
92
93ifeq ($(TARGET_USE_AB_SLOT), true)
94ifeq ($(TARGET_AVB_ENABLE), true)
95PRODUCT_COPY_FILES += \
96    $(LOCAL_PATH)/fstab.yukawa.avb.ab:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.yukawa \
97    $(LOCAL_PATH)/fstab.yukawa.avb.ab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.yukawa
98else
99PRODUCT_COPY_FILES += \
100    $(LOCAL_PATH)/fstab.yukawa.ab:$(TARGET_COPY_OUT_RECOVERY)/root/first_stage_ramdisk/fstab.yukawa \
101    $(LOCAL_PATH)/fstab.yukawa.ab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.yukawa
102endif
103else
104ifeq ($(TARGET_AVB_ENABLE), true)
105PRODUCT_COPY_FILES += \
106    $(LOCAL_PATH)/fstab.ramdisk.common.avb:$(TARGET_COPY_OUT_RAMDISK)/fstab.yukawa \
107    $(LOCAL_PATH)/fstab.yukawa:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.yukawa
108else
109PRODUCT_COPY_FILES += \
110    $(LOCAL_PATH)/fstab.ramdisk.common:$(TARGET_COPY_OUT_RAMDISK)/fstab.yukawa \
111    $(LOCAL_PATH)/fstab.yukawa:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.yukawa
112endif
113endif
114
115PRODUCT_COPY_FILES += \
116    $(LOCAL_PATH)/init.yukawa.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.yukawa.rc \
117    $(LOCAL_PATH)/init.yukawa.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.yukawa.usb.rc \
118    $(LOCAL_PATH)/init.recovery.hardware.rc:recovery/root/init.recovery.yukawa.rc \
119    $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
120    $(LOCAL_PATH)/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
121    $(LOCAL_PATH)/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
122    $(LOCAL_PATH)/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
123    $(LOCAL_PATH)/binaries/bt-wifi-firmware/BCM.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/BCM4359C0.hcd \
124    $(LOCAL_PATH)/binaries/bt-wifi-firmware/fw_bcm4359c0_ag.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/fw_bcm4359c0_ag.bin \
125    $(LOCAL_PATH)/binaries/bt-wifi-firmware/nvram.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/nvram.txt \
126
127
128ifeq ($(TARGET_USE_TABLET_LAUNCHER), true)
129# Use Launcher3QuickStep
130PRODUCT_PACKAGES += Launcher3QuickStep
131else
132ifeq ($(TARGET_USE_SAMPLE_LAUNCHER), true)
133PRODUCT_PACKAGES += \
134    TvSampleLeanbackLauncher
135endif
136
137# TV Specific Packages
138PRODUCT_PACKAGES += \
139    LiveTv \
140    google-tv-pairing-protocol \
141    LeanbackSampleApp \
142    tv_input.default \
143    com.android.media.tv.remoteprovider \
144    InputDevices
145
146PRODUCT_PACKAGES += \
147    LeanbackIME
148
149ifeq (,$(filter $(TARGET_PRODUCT),yukawa_gms yukawa32_gms yukawa_sei510_gms))
150PRODUCT_PACKAGES += \
151    TvProvision \
152    TVLauncherNoGms \
153    TVRecommendationsNoGms
154endif
155endif
156
157PRODUCT_PACKAGES += \
158    libhidltransport \
159    libhwbinder
160
161PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=320
162
163PRODUCT_PACKAGES +=  libGLES_mali
164PRODUCT_PACKAGES +=  libGLES_android
165
166# Vulkan
167PRODUCT_COPY_FILES += \
168    frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:vendor/etc/permissions/android.hardware.vulkan.version.xml \
169    frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:vendor/etc/permissions/android.hardware.vulkan.compute.xml \
170    frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:vendor/etc/permissions/android.hardware.vulkan.level.xml
171
172PRODUCT_PACKAGES +=  vulkan.yukawa.so
173
174# Bluetooth
175PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.btlinux
176
177# Wifi
178PRODUCT_PACKAGES += libwpa_client wpa_supplicant hostapd wificond wpa_cli
179PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0 \
180                              wifi.supplicant_scan_interval=15
181
182# Build default bluetooth a2dp and usb audio HALs
183PRODUCT_PACKAGES += \
184    audio.usb.default \
185    audio.primary.yukawa \
186    audio.r_submix.default \
187    audio.bluetooth.default \
188    audio.hearing_aid.default \
189    audio.a2dp.default \
190    tinyplay \
191    tinycap \
192    tinymix \
193    tinypcminfo \
194    cplay
195
196# Video
197PRODUCT_COPY_FILES += \
198    $(LOCAL_PATH)/binaries/video_firmware/g12a_h264.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/g12a_h264.bin \
199    $(LOCAL_PATH)/binaries/video_firmware/g12a_hevc_mmu.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/g12a_hevc_mmu.bin \
200    $(LOCAL_PATH)/binaries/video_firmware/g12a_vp9.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/g12a_vp9.bin \
201    $(LOCAL_PATH)/binaries/video_firmware/gxl_mpeg4_5.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/gxl_mpeg4_5.bin \
202    $(LOCAL_PATH)/binaries/video_firmware/gxl_mpeg12.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/gxl_mpeg12.bin \
203    $(LOCAL_PATH)/binaries/video_firmware/gxl_mjpeg.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/gxl_mjpeg.bin \
204    $(LOCAL_PATH)/binaries/video_firmware/sm1_hevc_mmu.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/sm1_hevc_mmu.bin \
205    $(LOCAL_PATH)/binaries/video_firmware/sm1_vp9_mmu.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/sm1_vp9_mmu.bin
206
207PRODUCT_PACKAGES += \
208    android.hardware.audio@2.0-service \
209    android.hardware.audio@6.0-impl \
210    android.hardware.audio.effect@6.0-impl \
211    android.hardware.soundtrigger@2.2-impl \
212
213# Hardware Composer HAL
214#
215PRODUCT_PACKAGES += \
216    hwcomposer.drm_meson \
217    android.hardware.drm@1.0-impl \
218    android.hardware.drm@1.0-service \
219    android.hardware.drm@1.4-service.widevine \
220    android.hardware.drm@1.4-service.clearkey
221
222# CEC
223PRODUCT_PACKAGES += \
224    android.hardware.tv.cec@1.0-impl \
225    android.hardware.tv.cec@1.0-service \
226    hdmi_cec.yukawa
227
228PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=4 \
229    persist.sys.hdmi.keep_awake=false
230
231PRODUCT_COPY_FILES += \
232    $(LOCAL_PATH)/input/Generic.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Generic.kl \
233    frameworks/native/data/etc/android.hardware.hdmi.cec.xml:system/etc/permissions/android.hardware.hdmi.cec.xml
234
235# Memtrack
236PRODUCT_PACKAGES += memtrack.default \
237    android.hardware.memtrack@1.0-service \
238    android.hardware.memtrack@1.0-impl
239
240PRODUCT_PACKAGES += \
241    gralloc.yukawa \
242    android.hardware.graphics.composer@2.1-impl \
243    android.hardware.graphics.composer@2.1-service \
244    android.hardware.graphics.allocator@2.0-service \
245    android.hardware.graphics.allocator@2.0-impl \
246    android.hardware.graphics.mapper@2.0-impl
247
248# PowerHAL
249PRODUCT_PACKAGES += \
250    power.default \
251    android.hardware.power@1.0-impl \
252    android.hardware.power@1.0-service
253
254# ThermalHAL
255PRODUCT_PACKAGES += \
256    thermal.default \
257    android.hardware.thermal@1.0-impl \
258    android.hardware.thermal@1.0-service
259
260# Sensor HAL
261ifneq ($(TARGET_SENSOR_MEZZANINE),)
262TARGET_USES_NANOHUB_SENSORHAL := true
263NANOHUB_SENSORHAL_LID_STATE_ENABLED := true
264NANOHUB_SENSORHAL_SENSORLIST := $(LOCAL_PATH)/sensorhal/sensorlist_$(TARGET_SENSOR_MEZZANINE).cpp
265NANOHUB_SENSORHAL_DIRECT_REPORT_ENABLED := true
266NANOHUB_SENSORHAL_DYNAMIC_SENSOR_EXT_ENABLED := true
267
268PRODUCT_PACKAGES += \
269    context_hub.default \
270    sensors.yukawa \
271    android.hardware.sensors@1.0-service \
272    android.hardware.sensors@1.0-impl \
273    android.hardware.contexthub@1.0-service \
274    android.hardware.contexthub@1.0-impl
275
276# Nanohub tools
277PRODUCT_PACKAGES += stm32_flash nanoapp_cmd nanotool
278
279PRODUCT_COPY_FILES += \
280    device/amlogic/yukawa/init.common.nanohub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.nanohub.rc
281
282# Copy sensors config file(s)
283PRODUCT_COPY_FILES += \
284    frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
285    frameworks/native/data/etc/android.hardware.sensor.ambient_temperature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.ambient_temperature.xml \
286    frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
287    frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
288    frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
289    frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \
290    frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
291    frameworks/native/data/etc/android.hardware.sensor.relative_humidity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.relative_humidity.xml \
292    frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
293    frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
294
295# Argonkey VL53L0X proximity driver is not available yet. So we are going to copy conf file for neonkey only
296ifeq ($(TARGET_SENSOR_MEZZANINE),neonkey)
297PRODUCT_COPY_FILES += \
298    frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml
299endif
300endif
301
302# Software Gatekeeper HAL
303PRODUCT_PACKAGES += \
304    android.hardware.gatekeeper@1.0-service.software
305
306PRODUCT_PACKAGES += \
307    android.hardware.keymaster@3.0-impl \
308    android.hardware.keymaster@3.0-service
309
310# USB
311PRODUCT_PACKAGES += \
312    android.hardware.usb@1.1-service
313
314PRODUCT_COPY_FILES +=  \
315    frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
316    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
317    frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
318    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
319    frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml \
320    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
321    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
322    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
323    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
324    frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \
325    frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml
326
327# audio policy configuration
328USE_XML_AUDIO_POLICY_CONF := 1
329PRODUCT_COPY_FILES += \
330    device/amlogic/yukawa/hal/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
331    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
332    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
333    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
334    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
335    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
336    frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml
337
338AUDIO_DEFAULT_OUTPUT ?= speaker
339ifeq ($(AUDIO_DEFAULT_OUTPUT),hdmi)
340PRODUCT_COPY_FILES += \
341    device/amlogic/yukawa/hal/audio/audio_policy_configuration_hdmi_only.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
342DEVICE_PACKAGE_OVERLAYS += \
343    device/amlogic/yukawa/hal/audio/overlay_hdmi_only
344else
345PRODUCT_COPY_FILES += \
346    device/amlogic/yukawa/hal/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml
347endif
348
349# Copy media codecs config file
350PRODUCT_COPY_FILES += \
351    device/amlogic/yukawa/media_xml/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
352    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
353
354# Enable BT Pairing with button BTN_0 (key 256)
355PRODUCT_PACKAGES += YukawaService YukawaAndroidOverlay
356PRODUCT_COPY_FILES += \
357    device/amlogic/yukawa/input/Vendor_0001_Product_0001.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Vendor_0001_Product_0001.kl
358
359
360# Light HAL
361PRODUCT_PACKAGES += \
362    android.hardware.light-service \
363    lights-yukawa
364
365# Enable USB Camera
366PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-impl
367PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-external-service
368PRODUCT_COPY_FILES += \
369    device/amlogic/yukawa/hal/camera/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
370
371# Include Virtualization APEX
372$(call inherit-product, packages/modules/Virtualization/apex/product_packages.mk)
373