device-lynx.mk 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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. TARGET_KERNEL_DIR ?= device/google/lynx-kernel
  17. TARGET_BOARD_KERNEL_HEADERS := device/google/lynx-kernel/kernel-headers
  18. $(call inherit-product-if-exists, vendor/google_devices/lynx/prebuilts/device-vendor-lynx.mk)
  19. $(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk)
  20. $(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk)
  21. $(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/lynx/device-vendor-lynx.mk)
  22. $(call inherit-product-if-exists, vendor/google_devices/lynx/proprietary/device-vendor.mk)
  23. DEVICE_PACKAGE_OVERLAYS += device/google/lynx/lynx/overlay
  24. include device/google/lynx/audio/lynx/audio-tables.mk
  25. include device/google/gs201/device-shipping-common.mk
  26. include hardware/google/pixel/vibrator/cs40l26/device.mk
  27. $(call soong_config_set,lyric,tuning_product,lynx)
  28. $(call soong_config_set,google3a_config,target_device,lynx)
  29. # Init files
  30. PRODUCT_COPY_FILES += \
  31. device/google/lynx/conf/init.lynx.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.lynx.rc
  32. # Recovery files
  33. PRODUCT_COPY_FILES += \
  34. device/google/lynx/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.lynx.rc
  35. # insmod files
  36. PRODUCT_COPY_FILES += \
  37. device/google/lynx/init.insmod.lynx.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.lynx.cfg
  38. # Camera
  39. PRODUCT_COPY_FILES += \
  40. device/google/lynx/media_profiles_lynx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
  41. # Media Performance Class 13
  42. PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=33
  43. # Display Config
  44. PRODUCT_COPY_FILES += \
  45. device/google/lynx/lynx/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb
  46. # Display
  47. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1
  48. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=1500
  49. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
  50. # NFC
  51. PRODUCT_COPY_FILES += \
  52. frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
  53. frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
  54. frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
  55. frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
  56. frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \
  57. device/google/lynx/nfc/libnfc-hal-st.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-hal-st.conf \
  58. device/google/lynx/nfc/libnfc-nci-lynx.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
  59. PRODUCT_PACKAGES += \
  60. NfcNci \
  61. Tag \
  62. android.hardware.nfc-service.st
  63. # SecureElement
  64. PRODUCT_PACKAGES += \
  65. [email protected] \
  66. [email protected]
  67. PRODUCT_COPY_FILES += \
  68. frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
  69. frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
  70. device/google/lynx/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
  71. device/google/lynx/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
  72. DEVICE_MANIFEST_FILE += \
  73. device/google/lynx/nfc/manifest_se.xml
  74. # Thermal Config
  75. PRODUCT_COPY_FILES += \
  76. device/google/lynx/thermal_info_config_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
  77. device/google/lynx/thermal_info_config_charge_lynx.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json
  78. # Power HAL config
  79. PRODUCT_COPY_FILES += \
  80. device/google/lynx/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
  81. # PowerStats HAL
  82. PRODUCT_SOONG_NAMESPACES += device/google/lynx/powerstats
  83. # Bluetooth HAL and Pixel extension
  84. include device/google/lynx/bluetooth/qti_default.mk
  85. # Keymaster HAL
  86. #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
  87. # Gatekeeper HAL
  88. #LOCAL_GATEKEEPER_PRODUCT_PACKAGE ?= [email protected]
  89. # Gatekeeper
  90. # PRODUCT_PACKAGES += \
  91. # [email protected]
  92. # Keymint replaces Keymaster
  93. # PRODUCT_PACKAGES += \
  94. # android.hardware.security.keymint-service
  95. # Keymaster
  96. #PRODUCT_PACKAGES += \
  97. # [email protected] \
  98. # [email protected]
  99. #PRODUCT_PACKAGES += [email protected]
  100. #PRODUCT_PACKAGES += [email protected]
  101. #LOCAL_KEYMASTER_PRODUCT_PACKAGE := [email protected]
  102. #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= [email protected]
  103. # PRODUCT_PROPERTY_OVERRIDES += \
  104. # ro.hardware.keystore_desede=true \
  105. # ro.hardware.keystore=software \
  106. # ro.hardware.gatekeeper=software
  107. # Fingerprint HAL
  108. GOODIX_CONFIG_BUILD_VERSION := g7_trusty
  109. include device/google/gs101/fingerprint/udfps_common.mk
  110. ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
  111. include device/google/gs101/fingerprint/udfps_shipping.mk
  112. else
  113. include device/google/gs101/fingerprint/udfps_factory.mk
  114. endif
  115. # Vibrator HAL
  116. PRODUCT_VENDOR_PROPERTIES += \
  117. ro.vendor.vibrator.hal.supported_primitives=243
  118. # Trusty liboemcrypto.so
  119. PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts
  120. # GPS xml
  121. ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
  122. PRODUCT_COPY_FILES += \
  123. device/google/lynx/location/gps.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
  124. device/google/lynx/location/lhd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
  125. device/google/lynx/location/scd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
  126. else
  127. PRODUCT_COPY_FILES += \
  128. device/google/lynx/location/gps_user.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
  129. device/google/lynx/location/lhd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
  130. device/google/lynx/location/scd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
  131. endif
  132. # DCK properties based on target
  133. PRODUCT_PROPERTY_OVERRIDES += \
  134. ro.gms.dck.eligible_wcc=2
  135. # WIFI COEX
  136. PRODUCT_COPY_FILES += \
  137. device/google/lynx/wifi/coex_table.xml:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/coex_table.xml
  138. # WiFi Overlay
  139. PRODUCT_PACKAGES += \
  140. WifiOverlay2023Mid
  141. # Wifi Aware Interface
  142. PRODUCT_PROPERTY_OVERRIDES += \
  143. wifi.aware.interface=wifi-aware0
  144. # Set zram size
  145. PRODUCT_VENDOR_PROPERTIES += \
  146. vendor.zram.size=3g
  147. # Set support hide display cutout feature
  148. PRODUCT_PRODUCT_PROPERTIES += \
  149. ro.support_hide_display_cutout=true
  150. # Set support One-handed mode
  151. PRODUCT_PRODUCT_PROPERTIES += \
  152. ro.support_one_handed_mode=true
  153. # Hide cutout overlays
  154. PRODUCT_PACKAGES += \
  155. NoCutoutOverlay \
  156. AvoidAppsInCutoutOverlay
  157. # MIPI Coex Configs
  158. PRODUCT_COPY_FILES += \
  159. device/google/lynx/lynx/radio/lynx_display_primary_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_primary_mipi_coex_table.csv
  160. # Camera
  161. PRODUCT_PROPERTY_OVERRIDES += \
  162. persist.vendor.camera.extended_launch_boost=1 \
  163. persist.vendor.camera.raise_buf_allocation_priority=1
  164. # Enable camera 1080P 60FPS binning mode
  165. PRODUCT_VENDOR_PROPERTIES += \
  166. persist.vendor.camera.1080P_60fps_binning=true
  167. # Limit camera 1080P 60FPS binning mode to not rear main camera
  168. PRODUCT_VENDOR_PROPERTIES += \
  169. persist.vendor.camera.1080P_60fps_binning_except_rear_main=true
  170. # OIS with system imu
  171. PRODUCT_VENDOR_PROPERTIES += \
  172. persist.vendor.camera.ois_with_system_imu=true
  173. # Device features
  174. PRODUCT_COPY_FILES += \
  175. frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
  176. # Enable adpf cpu hint session for SurfaceFlinger
  177. PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
  178. debug.sf.enable_adpf_cpu_hint=true
  179. # userdebug specific
  180. ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
  181. PRODUCT_COPY_FILES += \
  182. device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc
  183. endif