device-lynx.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. #
  2. # Copyright (C) 2021 The Android Open-Source Project
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. #
  16. ifdef RELEASE_GOOGLE_LYNX_KERNEL_VERSION
  17. TARGET_LINUX_KERNEL_VERSION := $(RELEASE_GOOGLE_LYNX_KERNEL_VERSION)
  18. endif
  19. ifdef RELEASE_GOOGLE_LYNX_KERNEL_DIR
  20. # Keeps flexibility for kasan and ufs builds
  21. TARGET_KERNEL_DIR ?= $(RELEASE_GOOGLE_LYNX_KERNEL_DIR)
  22. TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_GOOGLE_LYNX_KERNEL_DIR)/kernel-headers
  23. else
  24. TARGET_KERNEL_DIR ?= device/google/lynx-kernel
  25. TARGET_BOARD_KERNEL_HEADERS ?= device/google/lynx-kernel/kernel-headers
  26. endif
  27. $(call inherit-product-if-exists, vendor/google_devices/lynx/prebuilts/device-vendor-lynx.mk)
  28. $(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
  29. $(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
  30. $(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/lynx/device-vendor-lynx.mk)
  31. $(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/device-vendor.mk)
  32. $(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/WallpapersLynx.mk)
  33. DEVICE_PACKAGE_OVERLAYS += device/google/lynx/lynx/overlay
  34. include device/google/lynx/audio/lynx/audio-tables.mk
  35. include device/google/gs201/device-shipping-common.mk
  36. include hardware/google/pixel/vibrator/cs40l26/device.mk
  37. include device/google/gs-common/touch/gti/gti.mk
  38. include device/google/gs-common/wlan/dump.mk
  39. # go/lyric-soong-variables
  40. $(call soong_config_set,lyric,camera_hardware,lynx)
  41. $(call soong_config_set,lyric,tuning_product,lynx)
  42. $(call soong_config_set,google3a_config,target_device,lynx)
  43. # Init files
  44. PRODUCT_COPY_FILES += \
  45. device/google/lynx/conf/init.lynx.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.lynx.rc
  46. # Recovery files
  47. PRODUCT_COPY_FILES += \
  48. device/google/lynx/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.lynx.rc
  49. # insmod files
  50. PRODUCT_COPY_FILES += \
  51. device/google/lynx/init.insmod.lynx.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.lynx.cfg
  52. # Camera
  53. PRODUCT_COPY_FILES += \
  54. device/google/lynx/media_profiles_lynx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
  55. # Media Performance Class 13
  56. PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=33
  57. # Display Config
  58. PRODUCT_COPY_FILES += \
  59. device/google/lynx/lynx/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \
  60. device/google/lynx/lynx/display_golden_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_cal0.pb
  61. # Display
  62. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
  63. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=1000
  64. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
  65. #config of primary display frames to reach LHBM peak brightness
  66. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.primarydisplay.lhbm.frames_to_reach_peak_brightness=2
  67. # NFC
  68. PRODUCT_COPY_FILES += \
  69. frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
  70. frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
  71. frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
  72. frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
  73. frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
  74. device/google/lynx/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
  75. device/google/lynx/nfc/libnfc-nci-lynx.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
  76. PRODUCT_PACKAGES += \
  77. $(RELEASE_PACKAGE_NFC_STACK) \
  78. Tag \
  79. android.hardware.nfc-service.st \
  80. NfcOverlayLynx
  81. # SecureElement
  82. PRODUCT_PACKAGES += \
  83. [email protected] \
  84. [email protected]
  85. PRODUCT_COPY_FILES += \
  86. frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
  87. frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
  88. device/google/lynx/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
  89. device/google/lynx/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
  90. DEVICE_MANIFEST_FILE += \
  91. device/google/lynx/nfc/manifest_se.xml
  92. # Thermal Config
  93. PRODUCT_COPY_FILES += \
  94. device/google/lynx/thermal_info_config_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
  95. device/google/lynx/thermal_info_config_charge_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json
  96. # Power HAL config
  97. PRODUCT_COPY_FILES += \
  98. device/google/lynx/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
  99. # PowerStats HAL
  100. PRODUCT_SOONG_NAMESPACES += \
  101. device/google/lynx/powerstats \
  102. device/google/lynx
  103. # Bluetooth HAL and Pixel extension
  104. include device/google/lynx/bluetooth/qti_default.mk
  105. # Keymaster HAL
  106. #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
  107. # Gatekeeper HAL
  108. #LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= [email protected]
  109. # Gatekeeper
  110. # PRODUCT_PACKAGES += \
  111. # [email protected]
  112. # Keymint replaces Keymaster
  113. # PRODUCT_PACKAGES += \
  114. # android.hardware.security.keymint-service
  115. # Keymaster
  116. #PRODUCT_PACKAGES += \
  117. # [email protected] \
  118. # [email protected]
  119. #PRODUCT_PACKAGES += [email protected]
  120. #PRODUCT_PACKAGES += [email protected]
  121. #LOCAL_KEYMASTER_PRODUCT_PACKAGE := [email protected]
  122. #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
  123. # PRODUCT_PROPERTY_OVERRIDES += \
  124. # ro.hardware.keystore_desede=true \
  125. # ro.hardware.keystore=software \
  126. # ro.hardware.gatekeeper=software
  127. # Fingerprint HAL
  128. GOODIX_CONFIG_BUILD_VERSION := g7_trusty
  129. ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
  130. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/firmware/fingerprint/24Q1
  131. else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
  132. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/firmware/fingerprint/24Q2
  133. else ifneq (,$(filter AP3%,$(RELEASE_PLATFORM_VERSION)))
  134. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/firmware/fingerprint/24Q3
  135. else
  136. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/firmware/fingerprint/trunk
  137. endif
  138. $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
  139. ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
  140. $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
  141. else
  142. $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_factory.mk)
  143. endif
  144. # Vibrator HAL
  145. ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1
  146. PRODUCT_VENDOR_PROPERTIES += \
  147. ro.vendor.vibrator.hal.supported_primitives=243 \
  148. ro.vendor.vibrator.hal.f0.comp.enabled=1 \
  149. ro.vendor.vibrator.hal.redc.comp.enabled=0 \
  150. persist.vendor.vibrator.hal.context.enable=false \
  151. persist.vendor.vibrator.hal.context.scale=40 \
  152. persist.vendor.vibrator.hal.context.fade=true \
  153. persist.vendor.vibrator.hal.context.cooldowntime=1600 \
  154. persist.vendor.vibrator.hal.context.settlingtime=5000
  155. # Trusty liboemcrypto.so
  156. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts
  157. ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
  158. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/trusty/24Q1
  159. else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
  160. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/trusty/24Q2
  161. else ifneq (,$(filter AP3%,$(RELEASE_PLATFORM_VERSION)))
  162. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/trusty/24Q3
  163. else
  164. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts/trusty/trunk
  165. endif
  166. # GPS xml
  167. ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
  168. PRODUCT_COPY_FILES += \
  169. device/google/lynx/location/gps.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
  170. device/google/lynx/location/lhd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
  171. device/google/lynx/location/scd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
  172. else
  173. PRODUCT_COPY_FILES += \
  174. device/google/lynx/location/gps_user.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
  175. device/google/lynx/location/lhd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
  176. device/google/lynx/location/scd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
  177. endif
  178. # Wifi HAL
  179. PRODUCT_SOONG_NAMESPACES += hardware/qcom/wlan/wcn6740
  180. # DCK properties based on target
  181. PRODUCT_PROPERTY_OVERRIDES += \
  182. ro.gms.dck.eligible_wcc=2 \
  183. ro.gms.dck.se_capability=1
  184. # WIFI COEX
  185. PRODUCT_COPY_FILES += \
  186. device/google/lynx/wifi/coex_table.xml:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/coex_table.xml
  187. # WiFi Overlay
  188. PRODUCT_PACKAGES += \
  189. WifiOverlay2023Mid
  190. # Wifi Aware Interface
  191. PRODUCT_PROPERTY_OVERRIDES += \
  192. wifi.aware.interface=wifi-aware0
  193. # Set zram size
  194. PRODUCT_VENDOR_PROPERTIES += \
  195. vendor.zram.size=3g
  196. # Increment the SVN for any official public releases
  197. PRODUCT_VENDOR_PROPERTIES += \
  198. ro.vendor.build.svn=41
  199. # Set support hide display cutout feature
  200. PRODUCT_PRODUCT_PROPERTIES += \
  201. ro.support_hide_display_cutout=true
  202. # Set support One-handed mode
  203. PRODUCT_PRODUCT_PROPERTIES += \
  204. ro.support_one_handed_mode=true
  205. # Fingerprint als feed forward
  206. PRODUCT_VENDOR_PROPERTIES += \
  207. persist.vendor.udfps.als_feed_forward_supported=true \
  208. persist.vendor.udfps.lhbm_controlled_in_hal_supported=true
  209. # Hide cutout overlays
  210. PRODUCT_PACKAGES += \
  211. NoCutoutOverlay \
  212. AvoidAppsInCutoutOverlay
  213. # MIPI Coex Configs
  214. PRODUCT_COPY_FILES += \
  215. device/google/lynx/lynx/radio/lynx_display_primary_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_mipi_coex_table.csv
  216. # Camera
  217. PRODUCT_PROPERTY_OVERRIDES += \
  218. persist.vendor.camera.extended_launch_boost=1 \
  219. persist.vendor.camera.optimized_tnr_freq=1 \
  220. persist.vendor.camera.raise_buf_allocation_priority=1 \
  221. persist.vendor.camera.start_cpu_throttling_at_moderate_thermal=1
  222. # Enable camera 1080P 60FPS binning mode
  223. PRODUCT_VENDOR_PROPERTIES += \
  224. persist.vendor.camera.1080P_60fps_binning=true
  225. # Increase thread priority for nodes stop
  226. PRODUCT_VENDOR_PROPERTIES += \
  227. persist.vendor.camera.increase_thread_priority_nodes_stop=true
  228. # OIS with system imu
  229. PRODUCT_VENDOR_PROPERTIES += \
  230. persist.vendor.camera.ois_with_system_imu=true
  231. # Enable camera exif model/make reporting
  232. PRODUCT_VENDOR_PROPERTIES += \
  233. persist.vendor.camera.exif_reveal_make_model=true
  234. # Enable front camera always binning for 720P or smaller resolution
  235. PRODUCT_VENDOR_PROPERTIES += \
  236. persist.vendor.camera.front_720P_always_binning=true
  237. # Device features
  238. PRODUCT_COPY_FILES += \
  239. frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
  240. # The default value of this variable is false and should only be set to true when
  241. # the device allows users to enable the seamless transfer feature.
  242. PRODUCT_PRODUCT_PROPERTIES += \
  243. euicc.seamless_transfer_enabled_in_non_qs=true
  244. ##Audio Vendor property
  245. PRODUCT_PROPERTY_OVERRIDES += \
  246. persist.vendor.audio.cca.enabled=false
  247. # userdebug specific
  248. ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
  249. PRODUCT_COPY_FILES += \
  250. device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc
  251. endif
  252. # SKU specific RROs
  253. PRODUCT_PACKAGES += \
  254. SettingsOverlayG82U8 \
  255. SettingsOverlayG0DZQ \
  256. SettingsOverlayGHL1X \
  257. SettingsOverlayGWKK3
  258. # Enable DeviceAsWebcam support
  259. PRODUCT_VENDOR_PROPERTIES += \
  260. ro.usb.uvc.enabled=true
  261. # Quick Start device-specific settings
  262. PRODUCT_PRODUCT_PROPERTIES += \
  263. ro.quick_start.oem_id=00e0 \
  264. ro.quick_start.device_id=lynx