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