device.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. #
  2. # Copyright (C) 2024 The LineageOS Project
  3. #
  4. # SPDX-License-Identifier: Apache-2.0
  5. #
  6. # Add common symlinks definitions for Qualcomm Samsung
  7. $(call inherit-product, hardware/samsung/symlinks/qcom-common.mk)
  8. # Enable project quotas and casefolding for emulated storage without sdcardfs
  9. $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
  10. # Enforce generic ramdisk allow list
  11. $(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk)
  12. # Dalvik
  13. $(call inherit-product, frameworks/native/build/phone-xhdpi-6144-dalvik-heap.mk)
  14. # Enable updating of APEXes
  15. $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
  16. # Add common definitions for Qualcomm
  17. $(call inherit-product, hardware/qcom-caf/common/common.mk)
  18. # AAPT
  19. PRODUCT_AAPT_CONFIG := normal
  20. PRODUCT_AAPT_PREF_CONFIG := xxxhdpi
  21. # API levels
  22. BOARD_SHIPPING_API_LEVEL := 34
  23. PRODUCT_SHIPPING_API_LEVEL := $(BOARD_SHIPPING_API_LEVEL)
  24. # Audio
  25. PRODUCT_PACKAGES += \
  26. [email protected] \
  27. [email protected] \
  28. android.hardware.audio.service \
  29. android.hardware.bluetooth.audio-impl \
  30. [email protected] \
  31. audioadsprpcd \
  32. audio.bluetooth.default \
  33. audio.r_submix.default \
  34. audio.usb.default \
  35. libagm_compress_plugin \
  36. libagm_mixer_plugin \
  37. libagm_pcm_plugin \
  38. libbatterylistener \
  39. libfmpal \
  40. libhfp_pal \
  41. libqcompostprocbundle \
  42. libqcomvisualizer \
  43. libqcomvoiceprocessing \
  44. libsndcardparser \
  45. libtinycompress \
  46. libvolumelistener \
  47. sound_trigger.primary.pineapple \
  48. [email protected]
  49. AUDIO_HAL_DIR := hardware/qcom-caf/sm8650/audio/primary-hal
  50. PRODUCT_COPY_FILES += \
  51. $(AUDIO_HAL_DIR)/configs/common/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
  52. $(AUDIO_HAL_DIR)/configs/pineapple/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple/audio_effects.conf \
  53. $(AUDIO_HAL_DIR)/configs/pineapple/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_pineapple/audio_effects.xml \
  54. $(AUDIO_HAL_DIR)/configs/pineapple/microphone_characteristics.xml:$(TARGET_COPY_OUT_VENDOR)/etc/microphone_characteristics.xml \
  55. PRODUCT_COPY_FILES += \
  56. frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
  57. frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \
  58. frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
  59. frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
  60. frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml
  61. # Boot animation
  62. TARGET_SCREEN_HEIGHT := 3120
  63. TARGET_SCREEN_WIDTH := 1440
  64. # DebugFS
  65. PRODUCT_SET_DEBUGFS_RESTRICTIONS := true
  66. # Display
  67. PRODUCT_PACKAGES += \
  68. [email protected] \
  69. init.qti.display_boot.rc \
  70. init.qti.display_boot.sh \
  71. vendor.qti.hardware.display.allocator-service \
  72. vendor.qti.hardware.display.composer-service \
  73. vendor.qti.hardware.display.composer-service.rc \
  74. vendor.qti.hardware.display.composer-service.xml \
  75. vendor.qti.hardware.display.demura-service
  76. PRODUCT_COPY_FILES += \
  77. frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml
  78. # fastbootd
  79. PRODUCT_PACKAGES += \
  80. [email protected] \
  81. fastbootd
  82. # Fingerprint
  83. PRODUCT_PACKAGES += \
  84. android.hardware.biometrics.fingerprint-service.samsung
  85. PRODUCT_COPY_FILES += \
  86. frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
  87. # Graphics
  88. PRODUCT_COPY_FILES += \
  89. frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
  90. frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
  91. frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-1.xml \
  92. frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
  93. frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_3.xml \
  94. frameworks/native/data/etc/android.software.opengles.deqp.level-2022-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
  95. frameworks/native/data/etc/android.software.vulkan.deqp.level-2022-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
  96. # Health
  97. PRODUCT_PACKAGES += \
  98. android.hardware.health-service.qti \
  99. android.hardware.health-service.qti_recovery
  100. # HIDL
  101. PRODUCT_PACKAGES += \
  102. libhidltransport.vendor \
  103. libhwbinder.vendor
  104. # IPACM
  105. PRODUCT_PACKAGES += \
  106. ipacm \
  107. IPACM_cfg.xml \
  108. IPACM_Filter_cfg.xml
  109. # Media
  110. PRODUCT_PACKAGES += \
  111. libavservices_minijail.vendor
  112. # Overlays
  113. DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
  114. PRODUCT_ENFORCE_RRO_TARGETS := *
  115. # Power
  116. PRODUCT_PACKAGES += \
  117. android.hardware.power-service-qti
  118. # Partitions
  119. PRODUCT_USE_DYNAMIC_PARTITIONS := true
  120. # Product characteristics
  121. PRODUCT_CHARACTERISTICS := phone
  122. # Protobuf
  123. PRODUCT_PACKAGES += \
  124. libprotobuf-cpp-full-3.9.1-vendorcompat
  125. # QMI
  126. PRODUCT_PACKAGES += \
  127. libcurl.vendor \
  128. libjsoncpp.vendor \
  129. libqti_vndfwk_detect_vendor \
  130. libsqlite.vendor
  131. # RIL
  132. PRODUCT_PACKAGES += \
  133. librilutils \
  134. libnetutils.vendor \
  135. libsecril-client \
  136. secril_config_svc \
  137. sehradiomanager
  138. # Rootdir
  139. PRODUCT_PACKAGES += \
  140. dcc_extension.sh \
  141. hdm_status.sh \
  142. init.class_main.sh \
  143. init.crda.sh \
  144. init.kernel.post_boot-cliffs.sh \
  145. init.kernel.post_boot-pineapple.sh \
  146. init.kernel.post_boot.sh \
  147. init.mdm.sh \
  148. init.qcom.class_core.sh \
  149. init.qcom.coex.sh \
  150. init.qcom.early_boot.sh \
  151. init.qcom.efs.sync.sh \
  152. init.qcom.post_boot.sh \
  153. init.qcom.sdio.sh \
  154. init.qcom.sensors.sh \
  155. init.qcom.sh \
  156. init.qti.qcv.rc \
  157. init.qti.qcv.sh \
  158. init.qti.kernel.debug-cliffs.sh \
  159. init.qti.kernel.debug-pineapple.sh \
  160. init.qti.kernel.debug.sh \
  161. init.qti.kernel.early_debug-pineapple.sh \
  162. init.qti.kernel.early_debug.sh \
  163. init.qti.kernel.sh \
  164. init.qti.media.sh \
  165. init.qti.time.daemon.sh \
  166. init.qti.write.sh \
  167. init.vendor.sensordebug.sh \
  168. init.vendor.sensordebug.ssr_dump.sh \
  169. install-recovery.sh \
  170. qca6234-service.sh \
  171. system_dlkm_modprobe.sh \
  172. ueventd.qcom.rc \
  173. vendor_modprobe.sh \
  174. PRODUCT_PACKAGES += \
  175. fstab.qcom \
  176. init.e3q.rc \
  177. init.qcom.factory.rc \
  178. init.qcom.rc \
  179. init.qti.kernel.rc \
  180. init.qti.ss-ramdump.sh \
  181. init.qti.ufs.rc \
  182. init.samsung.bsp.rc \
  183. init.samsung.display.rc \
  184. init.samsung.dp.rc \
  185. init.samsung.factory.rc \
  186. init.samsung.power.rc \
  187. init.samsung.rc \
  188. init.samsung.user.rc \
  189. init.target.rc \
  190. init.recovery.qcom.rc \
  191. init.recovery.samsung.rc \
  192. PRODUCT_COPY_FILES += \
  193. $(LOCAL_PATH)/rootdir/etc/fstab.qcom:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.qcom
  194. # Sensors
  195. PRODUCT_PACKAGES += \
  196. android.hardware.sensors-service.samsung-multihal \
  197. sensors.dynamic_sensor_hal
  198. PRODUCT_COPY_FILES += \
  199. $(LOCAL_PATH)/configs/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf
  200. PRODUCT_COPY_FILES += \
  201. frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
  202. frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \
  203. frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
  204. frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
  205. frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
  206. frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
  207. frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
  208. frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml
  209. # Soong namespaces
  210. PRODUCT_SOONG_NAMESPACES += \
  211. $(LOCAL_PATH) \
  212. hardware/samsung \
  213. kernel/samsung/sm8650 \
  214. kernel/samsung/sm8650-modules
  215. # Telephony
  216. PRODUCT_PACKAGES += \
  217. qti-telephony-hidl-wrapper \
  218. qti_telephony_hidl_wrapper.xml \
  219. qti-telephony-utils \
  220. qti_telephony_utils.xml \
  221. telephony-ext
  222. PRODUCT_BOOT_JARS += \
  223. telephony-ext
  224. PRODUCT_COPY_FILES += \
  225. frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/vendor.samsung.hardware.telephony.gsm.xml \
  226. frameworks/native/data/etc/android.hardware.telephony.mbms.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.mbms.xml \
  227. frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml
  228. # Thermal
  229. PRODUCT_PACKAGES += \
  230. [email protected]
  231. # Trusted UI
  232. PRODUCT_PACKAGES += \
  233. [email protected] \
  234. [email protected]
  235. # USB
  236. PRODUCT_PACKAGES += \
  237. android.hardware.usb-service.qti \
  238. android.hardware.usb.gadget-service.qti \
  239. init.qcom.usb.rc \
  240. init.qcom.usb.sh
  241. PRODUCT_SOONG_NAMESPACES += \
  242. vendor/qcom/opensource/usb/etc
  243. PRODUCT_COPY_FILES += \
  244. frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
  245. frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml
  246. # Vendor service manager
  247. PRODUCT_PACKAGES += \
  248. vndservicemanager
  249. # Verified Boot
  250. PRODUCT_COPY_FILES += \
  251. frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
  252. # Vibrator
  253. #PRODUCT_PACKAGES += \
  254. #android.hardware.vibrator-service.samsung
  255. # VNDK
  256. PRODUCT_PACKAGES += \
  257. libcrypto-v33
  258. # Wi-Fi
  259. PRODUCT_PACKAGES += \
  260. android.hardware.wifi-service \
  261. hostapd \
  262. libwpa_client \
  263. libwifi-hal-ctrl \
  264. libwifi-hal-qcom \
  265. wpa_supplicant \
  266. wpa_supplicant.conf \
  267. firmware_wlanmdsp.otaupdate_symlink \
  268. firmware_wlan_mac.bin_symlink \
  269. firmware_WCNSS_qcom_cfg.ini_symlink
  270. PRODUCT_COPY_FILES += \
  271. frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml \
  272. frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
  273. frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
  274. frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \
  275. frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
  276. frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml
  277. # Inherit the proprietary files
  278. $(call inherit-product, vendor/samsung/e3q/e3q-vendor.mk)