1PRODUCT_SOONG_NAMESPACES += device/amlogic/yukawa 2 3ifeq ($(TARGET_PREBUILT_KERNEL),) 4LOCAL_KERNEL := device/amlogic/yukawa-kernel/Image.lz4-$(TARGET_KERNEL_USE) 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# Setup TV Build 18USE_OEM_TV_APP := true 19$(call inherit-product, device/google/atv/products/atv_base.mk) 20PRODUCT_CHARACTERISTICS := tv 21PRODUCT_AAPT_PREF_CONFIG := tvdpi 22PRODUCT_IS_ATV := true 23DEVICE_PACKAGE_OVERLAYS := device/amlogic/yukawa/overlay 24DEVICE_PACKAGE_OVERLAYS += device/google/atv/overlay 25 26PRODUCT_PACKAGES += llkd 27 28# All VNDK libraries (HAL interfaces, VNDK, VNDK-SP, LL-NDK) 29PRODUCT_PACKAGES += vndk_package 30 31PRODUCT_PACKAGES += \ 32 android.hardware.health@2.0-service.yukawa \ 33 android.hardware.health@2.0-service 34 35PRODUCT_COPY_FILES += \ 36 $(LOCAL_PATH)/fstab.yukawa:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.yukawa \ 37 $(LOCAL_PATH)/init.yukawa.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.yukawa.rc \ 38 $(LOCAL_PATH)/init.yukawa.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.yukawa.usb.rc \ 39 $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ 40 $(LOCAL_PATH)/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \ 41 $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ 42 $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ 43 $(LOCAL_PATH)/bt-wifi-firmware/BCM.hcd:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/BCM.hcd \ 44 $(LOCAL_PATH)/bt-wifi-firmware/fw_bcm4359c0_ag.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/fw_bcm4359c0_ag.bin \ 45 $(LOCAL_PATH)/bt-wifi-firmware/nvram.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/brcm/nvram.txt \ 46 47# TV Specific Packages 48PRODUCT_PACKAGES += \ 49 LiveTv \ 50 google-tv-pairing-protocol \ 51 TvProvision \ 52 LeanbackSampleApp \ 53 TvSampleLeanbackLauncher \ 54 tv_input.default \ 55 com.android.media.tv.remoteprovider \ 56 InputDevices 57 58PRODUCT_PACKAGES += \ 59 LeanbackIME 60 61ifeq (,$(filter $(TARGET_PRODUCT),yukawa_gms yukawa_sei510_gms)) 62PRODUCT_PACKAGES += \ 63 TVLauncherNoGms \ 64 TVRecommendationsNoGms 65endif 66 67PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=320 68 69PRODUCT_PACKAGES += libGLES_mali 70PRODUCT_PACKAGES += libGLES_android 71 72# Vulkan 73PRODUCT_COPY_FILES += \ 74 frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:vendor/etc/permissions/android.hardware.vulkan.version.xml \ 75 frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:vendor/etc/permissions/android.hardware.vulkan.compute.xml \ 76 frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:vendor/etc/permissions/android.hardware.vulkan.level.xml 77 78PRODUCT_PACKAGES += vulkan.yukawa.so 79 80# Bluetooth 81PRODUCT_PACKAGES += android.hardware.bluetooth@1.1-service.btlinux 82 83# Wifi 84PRODUCT_PACKAGES += libwpa_client wpa_supplicant hostapd wificond wifilogd wpa_cli 85PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0 \ 86 wifi.supplicant_scan_interval=15 87 88# Build default bluetooth a2dp and usb audio HALs 89PRODUCT_PACKAGES += \ 90 audio.usb.default \ 91 audio.primary.yukawa \ 92 audio.r_submix.default \ 93 audio.bluetooth.default \ 94 audio.hearing_aid.default \ 95 audio.a2dp.default \ 96 tinyplay \ 97 tinycap \ 98 tinymix \ 99 tinypcminfo \ 100 cplay 101 102# Video 103PRODUCT_COPY_FILES += \ 104 $(LOCAL_PATH)/video_firmware/g12a_h264.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/g12a_h264.bin \ 105 $(LOCAL_PATH)/video_firmware/g12a_hevc_mmu.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/g12a_hevc_mmu.bin \ 106 $(LOCAL_PATH)/video_firmware/g12a_vp9.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/g12a_vp9.bin \ 107 $(LOCAL_PATH)/video_firmware/gxl_mpeg4_5.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/gxl_mpeg4_5.bin \ 108 $(LOCAL_PATH)/video_firmware/gxl_mpeg12.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/gxl_mpeg12.bin \ 109 $(LOCAL_PATH)/video_firmware/gxl_mjpeg.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/gxl_mjpeg.bin \ 110 $(LOCAL_PATH)/video_firmware/sm1_hevc_mmu.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/sm1_hevc_mmu.bin \ 111 $(LOCAL_PATH)/video_firmware/sm1_vp9_mmu.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/meson/vdec/sm1_vp9_mmu.bin 112 113PRODUCT_PACKAGES += \ 114 android.hardware.audio@2.0-service \ 115 android.hardware.audio@6.0-impl \ 116 android.hardware.audio.effect@6.0-impl \ 117 android.hardware.soundtrigger@2.2-impl \ 118 119# Hardware Composer HAL 120# 121PRODUCT_PACKAGES += \ 122 hwcomposer.drm_meson \ 123 android.hardware.drm@1.0-impl \ 124 android.hardware.drm@1.0-service \ 125 126# CEC 127PRODUCT_PACKAGES += \ 128 android.hardware.tv.cec@1.0-impl \ 129 android.hardware.tv.cec@1.0-service \ 130 hdmi_cec.yukawa 131 132PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=4 133 134PRODUCT_COPY_FILES += \ 135 $(LOCAL_PATH)/Generic.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Generic.kl \ 136 frameworks/native/data/etc/android.hardware.hdmi.cec.xml:system/etc/permissions/android.hardware.hdmi.cec.xml 137 138# Memtrack 139PRODUCT_PACKAGES += memtrack.default \ 140 android.hardware.memtrack@1.0-service \ 141 android.hardware.memtrack@1.0-impl 142 143PRODUCT_PACKAGES += \ 144 gralloc.yukawa \ 145 android.hardware.graphics.composer@2.1-impl \ 146 android.hardware.graphics.composer@2.1-service \ 147 android.hardware.graphics.allocator@2.0-service \ 148 android.hardware.graphics.allocator@2.0-impl \ 149 android.hardware.graphics.mapper@2.0-impl 150 151# PowerHAL 152PRODUCT_PACKAGES += \ 153 power.default \ 154 android.hardware.power@1.0-impl \ 155 android.hardware.power@1.0-service 156 157# ThermalHAL 158PRODUCT_PACKAGES += \ 159 thermal.default \ 160 android.hardware.thermal@1.0-impl \ 161 android.hardware.thermal@1.0-service 162 163# Software Gatekeeper HAL 164PRODUCT_PACKAGES += \ 165 android.hardware.gatekeeper@1.0-service.software 166 167PRODUCT_PACKAGES += \ 168 android.hardware.keymaster@3.0-impl \ 169 android.hardware.keymaster@3.0-service 170 171# USB 172PRODUCT_PACKAGES += \ 173 android.hardware.usb@1.1-service 174 175PRODUCT_COPY_FILES += \ 176 frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ 177 frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ 178 frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ 179 frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ 180 frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml \ 181 frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ 182 frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ 183 frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ 184 frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ 185 frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ 186 frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml 187 188# audio policy configuration 189USE_XML_AUDIO_POLICY_CONF := 1 190PRODUCT_COPY_FILES += \ 191 device/amlogic/yukawa/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ 192 device/amlogic/yukawa/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ 193 frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ 194 frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ 195 frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ 196 frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ 197 frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ 198 frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml 199 200# Copy media codecs config file 201PRODUCT_COPY_FILES += \ 202 device/amlogic/yukawa/media_xml/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ 203 frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml 204 205# Enable AVB 206BOARD_AVB_ENABLE := false 207BOARD_AVB_ALGORITHM := SHA256_RSA2048 208BOARD_AVB_ROLLBACK_INDEX := 0 209 210# Enable BT Pairing with button BTN_0 (key 256) 211PRODUCT_PACKAGES += YukawaService YukawaAndroidOverlay 212PRODUCT_COPY_FILES += \ 213 device/amlogic/yukawa/Vendor_0001_Product_0001.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Vendor_0001_Product_0001.kl 214