1PRODUCT_SOONG_NAMESPACES += device/linaro/poplar/proprietary
2
3# 1. bootimage
4# 1.1 kernel and dtb
5LOCAL_KERNEL := device/linaro/poplar-kernel/Image
6PRODUCT_COPY_FILES += $(LOCAL_KERNEL):kernel
7LOCAL_DTB := device/linaro/poplar-kernel/hi3798cv200-poplar.dtb
8PRODUCT_COPY_FILES += $(LOCAL_DTB):2ndbootloader
9
10# 1.2 rootfs
11PRODUCT_COPY_FILES += \
12    $(LOCAL_PATH)/vendor/ueventd.poplar.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
13    $(LOCAL_PATH)/vendor/fstab.poplar:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.poplar
14
15PRODUCT_COPY_FILES += \
16    $(LOCAL_PATH)/vendor/init.poplar.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.poplar.rc \
17    $(LOCAL_PATH)/vendor/init.poplar.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.poplar.usb.rc
18
19
20# feature declaration
21PRODUCT_COPY_FILES += \
22    frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
23    frameworks/native/data/etc/android.hardware.screen.landscape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.screen.landscape.xml \
24    frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
25    frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
26    frameworks/native/data/etc/android.software.webview.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.webview.xml \
27    frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml
28
29
30# framework properties
31PRODUCT_PROPERTY_OVERRIDES += \
32    dalvik.vm.heapstartsize=5m \
33    dalvik.vm.heapgrowthlimit=96m \
34    dalvik.vm.heapsize=256m \
35    dalvik.vm.heaptargetutilization=0.75 \
36    dalvik.vm.heapminfree=512k \
37    dalvik.vm.heapmaxfree=2m \
38    ro.sf.lcd_density=160 \
39    ro.opengles.version=196609
40
41
42# start HAL audio >>>>>>>>
43## feature declaration
44PRODUCT_COPY_FILES += \
45    frameworks/native/data/etc/android.hardware.audio.output.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.output.xml \
46    frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
47## build packages
48PRODUCT_PACKAGES += \
49    android.hardware.audio@4.0-impl \
50    android.hardware.audio@4.0-service \
51    android.hardware.audio.effect@4.0-impl \
52    android.hardware.soundtrigger@4.0-impl \
53    audio.usb.default \
54    audio.r_submix.default \
55    audio.primary.poplar
56## runtime configs
57PRODUCT_COPY_FILES += \
58    $(LOCAL_PATH)/audio/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf
59
60
61# start HAL drm >>>>>>>>
62## build packages
63PRODUCT_PACKAGES += \
64    android.hardware.drm@1.0-impl
65# raw instructions - do I have a better place to go?
66ifeq ($(TARGET_TEE_IS_OPTEE), true)
67   $(call inherit-product-if-exists, device/linaro/poplar/optee/optee-packages.mk)
68endif
69## service init.rc scripts
70PRODUCT_COPY_FILES += \
71    $(LOCAL_PATH)/optee/optee.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/optee.rc
72
73
74# start HAL graphics >>>>>>>>
75## build packages
76PRODUCT_PACKAGES += \
77    libion \
78    android.hardware.graphics.mapper@2.0 \
79    android.hardware.graphics.mapper@2.0-impl \
80    android.hardware.graphics.allocator@2.0 \
81    android.hardware.graphics.allocator@2.0-impl \
82    android.hardware.graphics.allocator@2.0-service \
83    android.hardware.graphics.composer@2.1 \
84    android.hardware.graphics.composer@2.1-impl \
85    android.hardware.graphics.composer@2.1-service
86## copy packages
87PRODUCT_PACKAGES += \
88    libGLES_mali \
89    hwcomposer.poplar \
90    libhi_gfx2d \
91    overlay.poplar \
92    gralloc.poplar \
93    libion_ext
94
95# Property required by HiSilicon gralloc
96PRODUCT_PROPERTY_OVERRIDES += \
97    ro.config.build.name=poplar.androidp
98
99
100# start HAL keymaster >>>>>>>>
101## build packages
102PRODUCT_PACKAGES += \
103    android.hardware.keymaster@3.0-impl \
104    android.hardware.keymaster@3.0-service
105
106
107# start HAL media.codec >>>>>>>>
108## copy packages
109PRODUCT_PACKAGES += \
110    libstagefrighthw \
111    libhi_common \
112    libhi_msp \
113    libhi_vfmw \
114    libOMX_Core \
115    libOMX.hisi.video.decoder \
116    libhiavplayer \
117    libhiavplayer_adp \
118    libhiavplayerservice \
119    hiavplayer
120## service init.rc scripts
121PRODUCT_COPY_FILES += \
122    $(LOCAL_PATH)/vendor/hiavplayer.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hiavplayer.rc
123## runtime configs
124PRODUCT_COPY_FILES += \
125    $(LOCAL_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
126    frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
127    frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml
128
129
130# start HAL bt >>>>>>>>
131## feature declaration
132PRODUCT_COPY_FILES += \
133    frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
134    frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml
135## build packages
136PRODUCT_PACKAGES += \
137    android.hardware.bluetooth@1.0-service \
138    android.hardware.bluetooth@1.0-service.rc \
139    android.hardware.bluetooth@1.0-impl
140## copy packages
141PRODUCT_PACKAGES += \
142    libbt-vendor
143## config files
144PRODUCT_COPY_FILES += \
145    $(LOCAL_PATH)/bluetooth/rtkbt.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/rtkbt.conf
146## firmwares
147PRODUCT_COPY_FILES += \
148    $(LOCAL_PATH)/proprietary/bt-wifi/rtl8822b_config:$(TARGET_COPY_OUT_VENDOR)/firmware/rtl8822b_config \
149    $(LOCAL_PATH)/proprietary/bt-wifi/rtl8822b_fw:$(TARGET_COPY_OUT_VENDOR)/firmware/rtl8822b_fw
150## service init.rc scripts
151PRODUCT_COPY_FILES += \
152    $(LOCAL_PATH)/bluetooth/bt.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/bt.rc
153
154
155# start HAL wifi >>>>>>>>
156## feature declaration
157PRODUCT_COPY_FILES += \
158    frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
159    frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
160## build packages
161PRODUCT_PACKAGES += \
162    android.hardware.wifi@1.0-service \
163    wificond \
164    libwpa_client \
165    wpa_supplicant \
166    hostapd
167## config files
168PRODUCT_COPY_FILES += \
169    $(LOCAL_PATH)/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
170    $(LOCAL_PATH)/wifi/p2p_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant.conf
171## service init.rc scripts
172PRODUCT_COPY_FILES += \
173    $(LOCAL_PATH)/wifi/wifi.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/wifi.rc
174## feature wifi properties
175PRODUCT_PROPERTY_OVERRIDES += \
176    wifi.interface=wlan0 \
177    wifi.supplicant_scan_interval=15
178
179# Cuttlefish Health HAL:
180PRODUCT_PACKAGES += \
181    android.hardware.health@2.1-impl-cuttlefish \
182    android.hardware.health@2.1-service
183
184# Software Gatekeeper HAL
185PRODUCT_PACKAGES += \
186    android.hardware.gatekeeper@1.0-service.software
187
188# manifest.xml
189DEVICE_MANIFEST_FILE := $(LOCAL_PATH)/manifest.xml
190
191# VNDK libraries
192PRODUCT_PACKAGES += vndk_package
193