├── Android.mk ├── AndroidProducts.mk ├── BoardConfig.mk ├── README.md ├── audio ├── audio_platform_info_intcodec.xml ├── audio_policy_engine_configuration.xml ├── audio_policy_engine_default_stream_volumes.xml ├── audio_policy_engine_product_strategies.xml ├── audio_policy_engine_stream_volumes.xml ├── audio_policy_volumes.xml ├── mixer_paths_idp.xml └── sound_trigger_mixer_paths.xml ├── board-info.txt ├── configs └── sensors │ └── hals.conf ├── device.mk ├── extract-files.py ├── init ├── Android.bp └── init_davinci.cpp ├── lineage.dependencies ├── lineage_davinci.mk ├── manifest.xml ├── manifest_davinci.xml ├── nfc ├── libnfc-nci.conf ├── libnfc-nxp.conf └── libnfc-nxp_RF.conf ├── overlay ├── frameworks │ └── base │ │ ├── core │ │ └── res │ │ │ └── res │ │ │ ├── values │ │ │ └── config.xml │ │ │ └── xml │ │ │ └── power_profile.xml │ │ └── packages │ │ └── SystemUI │ │ └── res │ │ ├── drawable-nodpi │ │ └── udfps_icon_pressed.png │ │ └── values │ │ ├── config.xml │ │ └── dimens.xml └── packages │ └── apps │ ├── Aperture │ └── app │ │ └── src │ │ └── main │ │ └── res │ │ └── values │ │ └── config.xml │ └── Settings │ └── res │ └── values │ ├── config.xml │ ├── derp_strings.xml │ └── dimens.xml ├── power └── powerhint.json ├── product.prop ├── proprietary-files.txt ├── reorder-libs.py ├── rootdir ├── Android.mk └── etc │ ├── fstab.default │ ├── fstab.recovery │ └── init.davinci.rc ├── rro_overlays ├── WifiOverlayF10C │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml ├── WifiOverlayF10G │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ │ └── values │ │ └── config.xml └── WifiOverlayF10I │ ├── Android.bp │ ├── AndroidManifest.xml │ └── res │ └── values │ └── config.xml ├── setup-makefiles.py ├── update-sha1sums.py └── vendor.prop /Android.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | LOCAL_PATH := $(call my-dir) 8 | 9 | ifneq ($(filter davinci,$(TARGET_DEVICE)),) 10 | include $(call all-makefiles-under,$(LOCAL_PATH)) 11 | endif 12 | -------------------------------------------------------------------------------- /AndroidProducts.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | PRODUCT_MAKEFILES := \ 8 | $(LOCAL_DIR)/lineage_davinci.mk 9 | 10 | COMMON_LUNCH_CHOICES := \ 11 | lineage_davinci-user \ 12 | lineage_davinci-userdebug \ 13 | lineage_davinci-eng 14 | -------------------------------------------------------------------------------- /BoardConfig.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019-2020 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # Boot 8 | BOARD_BOOT_HEADER_VERSION := 1 9 | 10 | # Display density 11 | TARGET_SCREEN_DENSITY := 440 12 | 13 | # Inherit from sm6150-common 14 | include device/xiaomi/sm6150-common/BoardConfigCommon.mk 15 | 16 | DEVICE_PATH := device/xiaomi/davinci 17 | 18 | # Properties 19 | TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop 20 | TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop 21 | 22 | # Assert 23 | TARGET_OTA_ASSERT_DEVICE := davinci,davinciin 24 | 25 | # Audio 26 | AUDIO_FEATURE_ENABLED_EXT_AMPLIFIER := true 27 | 28 | # Fingerprint 29 | TARGET_USES_FOD_ZPOS := true 30 | SOONG_CONFIG_xiaomiVars_uses_fod_extension := $(TARGET_USES_FOD_ZPOS) 31 | 32 | # Kernel 33 | BOARD_KERNEL_BASE := 0x00000000 34 | BOARD_KERNEL_CMDLINE += androidboot.hardware.revision=V1 35 | TARGET_KERNEL_CONFIG := vendor/davinci_defconfig vendor/debugfs.config 36 | 37 | # Partitions 38 | BOARD_SUPER_PARTITION_BLOCK_DEVICES := vendor system cust 39 | BOARD_SUPER_PARTITION_METADATA_DEVICE := system 40 | BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 1610612736 41 | BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 3758096384 42 | BOARD_SUPER_PARTITION_CUST_DEVICE_SIZE := 1073741824 43 | BOARD_SUPER_PARTITION_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE) + $(BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE) + $(BOARD_SUPER_PARTITION_CUST_DEVICE_SIZE) ) 44 | 45 | BOARD_SUPER_PARTITION_GROUPS := davinci_dynpart 46 | BOARD_DAVINCI_DYNPART_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304 ) 47 | BOARD_DAVINCI_DYNPART_PARTITION_LIST := odm product system system_ext vendor 48 | 49 | BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 50 | BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 51 | BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 52 | 53 | TARGET_COPY_OUT_ODM := odm 54 | TARGET_COPY_OUT_PRODUCT := product 55 | TARGET_COPY_OUT_SYSTEM_EXT := system_ext 56 | 57 | # Recovery 58 | TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.recovery 59 | 60 | # HIDL 61 | DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml 62 | 63 | ODM_MANIFEST_SKUS += \ 64 | davinci 65 | 66 | ODM_MANIFEST_DAVINCI_FILES := $(DEVICE_PATH)/manifest_davinci.xml 67 | 68 | # Inherit from the proprietary version 69 | include vendor/xiaomi/davinci/BoardConfigVendor.mk 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Copyright (C) 2019-2020 - The LineageOS Project 2 | 3 | The Xiaomi Mi 9T/Redmi K20 (codenamed _"davinci/davinciin"_) are mid range smartphones from Xiaomi. 4 | 5 | Both were announced and released in June 2019. 6 | 7 | ## Device specifications 8 | 9 | | Device | Xiaomi Mi 9T/Redmi K20 | 10 | | -----------: | :---------------------------------------------- | 11 | | SoC | Qualcomm SM7150-AA Snapdragon 730 | 12 | | CPU | 2x2.2 GHz Kryo 470 & 6x1.8 GHz Kryo 470 | 13 | | GPU | Adreno 618 | 14 | | Memory | 6GB RAM (LPDDR4X) | 15 | | Shipped Android version | 9.0 with MIUI 10 | 16 | | Storage | 128GB UFS 2.1 flash storage | 17 | | Battery | Non-removable Li-Po 4000 mAh | 18 | | Dimensions | 156.7 x 74.3 x 8.8 mm | 19 | | Display | 2340 x 1080 (19.5:9), 6.3 inch | 20 | | Rear camera 1 | 48 MP, f/1.8, Dual-LED flash, HDR, panorama | 21 | | Rear camera 2 | 8 MP, f/2.4 | 22 | | Rear camera 3 | 13 MP, f/2.4 | 23 | | Front camera | 20MP, f/2.2 Motorized pop-up, 1080p@30fps | 24 | 25 | ## Device picture 26 | 27 | ![Xiaomi Mi 9T/Redmi K20](https://i01.appmifile.com/webfile/globalimg/products/pc/redmi-k20/blue-slider-1_03.png "Xiaomi Redmi K20 in blue") 28 | 29 | #### Proprietary-files.txt 30 | All unpinned blobs are extracted from [miui_DAVINCI_V12.5.2.0.RFJCNXM_8e20b56805_11.0.zip](https://bigota.d.miui.com/V12.5.2.0.RFJCNXM/miui_DAVINCI_V12.5.2.0.RFJCNXM_8e20b56805_11.0.zip). 31 | -------------------------------------------------------------------------------- /audio/audio_platform_info_intcodec.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 238 | 243 | 248 | 249 | 250 | 251 | 252 | 253 | 255 | 257 | 259 | 260 | 261 | 263 | 264 | 265 | 267 | 268 | 269 | 271 | 272 | 273 | 275 | 276 | 277 | 279 | 280 | 281 | 283 | 285 | 286 | 287 | 289 | 291 | 292 | 293 | 295 | 297 | 299 | 300 | 301 | 303 | 305 | 306 | 307 | 309 | 311 | 312 | 313 | 315 | 317 | 318 | 319 | 321 | 323 | 324 | 325 | 327 | 329 | 331 | 332 | 333 | 335 | 337 | 339 | 340 | 341 | 343 | 345 | 347 | 348 | 349 | 351 | 353 | 355 | 356 | 357 | 359 | 360 | 361 | 363 | 365 | 366 | 367 | 369 | 371 | 373 | 374 | 375 | 377 | 379 | 380 | 381 | 383 | 385 | 387 | 388 | 389 | 390 | 391 | 392 | -------------------------------------------------------------------------------- /audio/audio_policy_engine_configuration.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /audio/audio_policy_engine_default_stream_volumes.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 0,0 22 | 100,0 23 | 24 | 25 | 0,-9600 26 | 100,-9600 27 | 28 | 29 | 30 | 1,-2400 31 | 33,-1800 32 | 66,-1200 33 | 100,-600 34 | 35 | 36 | 37 | 1,-5800 38 | 20,-4000 39 | 60,-1700 40 | 100,0 41 | 42 | 43 | 44 | 1,-4950 45 | 33,-3350 46 | 66,-1700 47 | 100,0 48 | 49 | 50 | 51 | 1,-5800 52 | 20,-4000 53 | 60,-1700 54 | 100,0 55 | 56 | 57 | 58 | 1,-4680 59 | 42,-2070 60 | 85,-540 61 | 100,0 62 | 63 | 64 | 65 | 1,-4950 66 | 33,-3350 67 | 66,-1700 68 | 100,0 69 | 70 | 71 | 72 | 1,-5800 73 | 20,-4000 74 | 60,-2100 75 | 100,-1000 76 | 77 | 78 | 79 | 1,-12700 80 | 20,-8000 81 | 60,-4000 82 | 100,0 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 0,-5800 92 | 20,-4000 93 | 60,-1700 94 | 100,0 95 | 96 | 97 | 98 | 99 | 0,-4950 100 | 33,-3350 101 | 66,-1700 102 | 100,0 103 | 104 | 105 | 106 | 107 | 0,-5800 108 | 20,-4000 109 | 60,-1700 110 | 100,0 111 | 112 | 113 | 114 | 115 | 0,-4950 116 | 33,-3350 117 | 66,-1700 118 | 100,0 119 | 120 | 121 | 122 | 123 | 0,-5800 124 | 20,-4000 125 | 60,-2100 126 | 100,-1000 127 | 128 | 129 | 130 | 131 | 0,-12700 132 | 20,-8000 133 | 60,-4000 134 | 100,0 135 | 136 | 137 | -------------------------------------------------------------------------------- /audio/audio_policy_engine_product_strategies.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 21 | 22 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /audio/audio_policy_engine_stream_volumes.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 24 | 25 | 26 | 27 | voice_call 28 | 1 29 | 5 30 | 31 | 0,-4200 32 | 33,-2800 33 | 66,-1400 34 | 100,0 35 | 36 | 37 | 0,-2400 38 | 33,-1600 39 | 66,-800 40 | 100,0 41 | 42 | 43 | 0,-2400 44 | 33,-1600 45 | 66,-800 46 | 100,0 47 | 48 | 49 | 50 | 51 | 52 | 53 | system 54 | 0 55 | 15 56 | 57 | 1,-3000 58 | 33,-2600 59 | 66,-2200 60 | 100,-1800 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | ring 70 | 0 71 | 15 72 | 73 | 74 | 1,-2970 75 | 33,-2010 76 | 66,-1020 77 | 100,0 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | music 86 | 0 87 | 150 88 | 89 | 1,-4950 90 | 33,-3350 91 | 66,-1500 92 | 100,0 93 | 94 | 95 | 1,-7000 96 | 7,-6300 97 | 14,-5100 98 | 21,-4500 99 | 28,-4000 100 | 35,-3200 101 | 42,-3000 102 | 50,-2500 103 | 57,-2200 104 | 64,-1700 105 | 71,-1200 106 | 78,-900 107 | 85,-600 108 | 92,-300 109 | 100,0 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | assistant 118 | 0 119 | 15 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | alarm 129 | 1 130 | 15 131 | 132 | 133 | 0,-2970 134 | 33,-2010 135 | 66,-1020 136 | 100,0 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | notification 145 | 0 146 | 15 147 | 148 | 149 | 1,-2970 150 | 33,-2010 151 | 66,-1020 152 | 100,0 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | bluetooth_sco 161 | 1 162 | 15 163 | 164 | 0,-420 165 | 33,-280 166 | 66,-140 167 | 100,0 168 | 169 | 170 | 0,-2400 171 | 33,-1600 172 | 66,-800 173 | 100,0 174 | 175 | 176 | 0,-4200 177 | 33,-2800 178 | 66,-1400 179 | 100,0 180 | 181 | 182 | 183 | 184 | 185 | 186 | enforced_audible 187 | 0 188 | 7 189 | 190 | 1,-3000 191 | 33,-2600 192 | 66,-2200 193 | 100,-1800 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | dtmf 204 | 0 205 | 15 206 | 207 | 1,-3000 208 | 33,-2600 209 | 66,-2200 210 | 100,-1800 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | tts 220 | 0 221 | 15 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | accessibility 231 | 1 232 | 15 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | -------------------------------------------------------------------------------- /audio/audio_policy_volumes.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 24 | 25 | 26 | 27 | 0,-3000 28 | 100,0 29 | 30 | 31 | 0,-2400 32 | 66,-950 33 | 83,-600 34 | 100,0 35 | 36 | 37 | 0,-3000 38 | 100,0 39 | 40 | 42 | 44 | 45 | 1,-3000 46 | 33,-2600 47 | 66,-2200 48 | 100,-1800 49 | 50 | 52 | 54 | 56 | 58 | 60 | 61 | 1,-2970 62 | 33,-2010 63 | 66,-1020 64 | 100,0 65 | 66 | 68 | 70 | 72 | 73 | 1,-4950 74 | 33,-3350 75 | 66,-1500 76 | 100,0 77 | 78 | 79 | 1,-7000 80 | 7,-6300 81 | 14,-5100 82 | 21,-4500 83 | 28,-4000 84 | 35,-3200 85 | 42,-3000 86 | 50,-2500 87 | 57,-2200 88 | 64,-1700 89 | 71,-1200 90 | 78,-900 91 | 85,-600 92 | 92,-300 93 | 100,0 94 | 95 | 97 | 99 | 101 | 103 | 104 | 0,-2970 105 | 33,-2010 106 | 66,-1020 107 | 100,0 108 | 109 | 111 | 113 | 115 | 117 | 118 | 1,-2970 119 | 33,-2010 120 | 66,-1020 121 | 100,0 122 | 123 | 125 | 127 | 129 | 130 | 0,-420 131 | 33,-280 132 | 66,-140 133 | 100,0 134 | 135 | 136 | 0,-2400 137 | 33,-1600 138 | 66,-800 139 | 100,0 140 | 141 | 142 | 0,-4200 143 | 33,-2800 144 | 66,-1400 145 | 100,0 146 | 147 | 149 | 151 | 152 | 1,-3000 153 | 33,-2600 154 | 66,-2200 155 | 100,-1800 156 | 157 | 159 | 161 | 163 | 165 | 166 | 1,-3000 167 | 33,-2600 168 | 66,-2200 169 | 100,-1800 170 | 171 | 173 | 175 | 177 | 179 | 181 | 183 | 185 | 187 | 189 | 191 | 193 | 195 | 197 | 199 | 201 | 203 | 205 | 207 | 209 | 211 | 213 | 215 | 217 | 219 | 220 | 221 | -------------------------------------------------------------------------------- /audio/sound_trigger_mixer_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | -------------------------------------------------------------------------------- /board-info.txt: -------------------------------------------------------------------------------- 1 | require version-cn=CN,4.3.c5-00123,V12.5.2.0.RFJCNXM 2 | require version-in=INDIA,4.3.c5-00100,V12.1.4.0.RFJINXM 3 | require version-eea=GLOBAL,4.3.c5-00100,V12.1.4.0.RFJMIXM 4 | -------------------------------------------------------------------------------- /configs/sensors/hals.conf: -------------------------------------------------------------------------------- 1 | sensors.ssc.so 2 | sensors.udfps.so 3 | -------------------------------------------------------------------------------- /device.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019-2020 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | $(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk) 8 | 9 | # Overlays 10 | DEVICE_PACKAGE_OVERLAYS += \ 11 | $(LOCAL_PATH)/overlay 12 | 13 | PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += \ 14 | $(LOCAL_PATH)/overlay/frameworks/base/packages/SystemUI 15 | 16 | # Permissions 17 | PRODUCT_COPY_FILES += \ 18 | frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/android.hardware.nfc.xml \ 19 | frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/android.hardware.nfc.ese.xml \ 20 | frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/android.hardware.nfc.hce.xml \ 21 | frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/android.hardware.nfc.hcef.xml \ 22 | frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/android.hardware.nfc.uicc.xml \ 23 | frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ 24 | frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/com.android.nfc_extras.xml \ 25 | frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_davinci/com.nxp.mifare.xml 26 | 27 | # Audio 28 | PRODUCT_PACKAGES += \ 29 | audio_amplifier.sm6150:32 30 | 31 | PRODUCT_COPY_FILES += \ 32 | $(LOCAL_PATH)/audio/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \ 33 | $(call find-copy-subdir-files,*,$(LOCAL_PATH)/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) 34 | 35 | # Dynamic Partitions 36 | PRODUCT_USE_DYNAMIC_PARTITIONS := true 37 | 38 | # Fastbootd 39 | PRODUCT_PACKAGES += \ 40 | fastbootd 41 | 42 | # Fingerprint 43 | $(call soong_config_set,surfaceflinger,udfps_lib,//hardware/xiaomi:libudfps_extension.xiaomi) 44 | 45 | # Fstab 46 | PRODUCT_PACKAGES += \ 47 | fstab.default \ 48 | fstab.default_ramdisk 49 | 50 | # Init scripts 51 | PRODUCT_COPY_FILES += \ 52 | $(LOCAL_PATH)/rootdir/etc/init.davinci.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.davinci.rc 53 | 54 | # NFC 55 | PRODUCT_PACKAGES += \ 56 | com.android.nfc_extras \ 57 | Tag \ 58 | android.hardware.nfc@1.2-service 59 | 60 | PRODUCT_COPY_FILES += \ 61 | $(LOCAL_PATH)/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf \ 62 | $(LOCAL_PATH)/nfc/libnfc-nxp_RF.conf:$(TARGET_COPY_OUT_VENDOR)/libnfc-nxp_RF.conf \ 63 | $(LOCAL_PATH)/nfc/libnfc-nxp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nxp.conf 64 | 65 | # Power 66 | PRODUCT_COPY_FILES += \ 67 | $(LOCAL_PATH)/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json 68 | 69 | # Sensor 70 | PRODUCT_PACKAGES += \ 71 | android.hardware.sensors@1.0-impl:64 \ 72 | android.hardware.sensors@1.0-service \ 73 | sensors.udfps 74 | 75 | PRODUCT_COPY_FILES += \ 76 | $(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf 77 | 78 | # Wi-Fi 79 | PRODUCT_PACKAGES += \ 80 | WifiOverlayF10C \ 81 | WifiOverlayF10G \ 82 | WifiOverlayF10I 83 | 84 | # Vendor init 85 | $(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):libinit_davinci) 86 | 87 | # Get non-open-source specific aspects 88 | $(call inherit-product, vendor/xiaomi/davinci/davinci-vendor.mk) 89 | 90 | # Inherit from sm6150-common 91 | $(call inherit-product, device/xiaomi/sm6150-common/sm6150.mk) 92 | -------------------------------------------------------------------------------- /extract-files.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3 2 | # 3 | # SPDX-FileCopyrightText: 2024 The LineageOS Project 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from extract_utils.fixups_blob import ( 8 | blob_fixup, 9 | blob_fixups_user_type, 10 | ) 11 | from extract_utils.fixups_lib import ( 12 | lib_fixup_remove, 13 | lib_fixups, 14 | lib_fixups_user_type, 15 | ) 16 | from extract_utils.main import ( 17 | ExtractUtils, 18 | ExtractUtilsModule, 19 | ) 20 | 21 | namespace_imports = [ 22 | 'hardware/qcom-caf/sm8150', 23 | 'hardware/xiaomi', 24 | 'vendor/qcom/opensource/display', 25 | 'vendor/xiaomi/sm6150-common', 26 | ] 27 | 28 | lib_fixups: lib_fixups_user_type = { 29 | **lib_fixups, 30 | } 31 | 32 | blob_fixups: blob_fixups_user_type = { 33 | 'vendor/etc/camera/camxoverridesettings.txt': blob_fixup() 34 | .regex_replace(r'0x10080', '0') 35 | .regex_replace(r'0x1F', '0x0'), 36 | 'vendor/etc/init/vendor.sensors.qti.rc': blob_fixup() 37 | .add_line_if_missing(' disabled'), 38 | 'vendor/lib64/camera/components/com.qti.node.watermark.so': blob_fixup() 39 | .add_needed('libpiex_shim.so'), 40 | ('vendor/lib64/libalAILDC.so', 'vendor/lib64/libalLDC.so', 'vendor/lib64/libalhLDC.so'): blob_fixup() 41 | .clear_symbol_version('AHardwareBuffer_allocate') 42 | .clear_symbol_version('AHardwareBuffer_describe') 43 | .clear_symbol_version('AHardwareBuffer_lock') 44 | .clear_symbol_version('AHardwareBuffer_release') 45 | .clear_symbol_version('AHardwareBuffer_unlock'), 46 | ('vendor/lib64/libVDSuperPhotoAPI.so', 'vendor/lib64/libarcsoft_dualcam_refocus_front.so', 'vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so', 'vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so'): blob_fixup() 47 | .clear_symbol_version('remote_handle_close') 48 | .clear_symbol_version('remote_handle_invoke') 49 | .clear_symbol_version('remote_handle_open') 50 | .clear_symbol_version('remote_register_buf_attr') 51 | .clear_symbol_version('remote_register_buf'), 52 | } # fmt: skip 53 | 54 | module = ExtractUtilsModule( 55 | 'davinci', 56 | 'xiaomi', 57 | blob_fixups=blob_fixups, 58 | lib_fixups=lib_fixups, 59 | namespace_imports=namespace_imports, 60 | ) 61 | 62 | if __name__ == '__main__': 63 | utils = ExtractUtils.device_with_common( 64 | module, 'sm6150-common', module.vendor 65 | ) 66 | utils.run() 67 | -------------------------------------------------------------------------------- /init/Android.bp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (C) 2019 The LineageOS 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 | cc_library_static { 17 | name: "libinit_davinci", 18 | srcs: ["init_davinci.cpp"], 19 | recovery_available: true, 20 | include_dirs: [ 21 | "system/core/init", 22 | ], 23 | shared_libs: ["libbase"], 24 | } 25 | -------------------------------------------------------------------------------- /init/init_davinci.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2015, The Linux Foundation. All rights reserved. 3 | Copyright (C) 2016 The CyanogenMod Project. 4 | Copyright (C) 2019-2020 The LineageOS Project. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are 8 | met: 9 | * Redistributions of source code must retain the above copyright 10 | notice, this list of conditions and the following disclaimer. 11 | * Redistributions in binary form must reproduce the above 12 | copyright notice, this list of conditions and the following 13 | disclaimer in the documentation and/or other materials provided 14 | with the distribution. 15 | * Neither the name of The Linux Foundation nor the names of its 16 | contributors may be used to endorse or promote products derived 17 | from this software without specific prior written permission. 18 | THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 19 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 22 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 25 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 26 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 27 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 28 | IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | #include 33 | #include 34 | 35 | #include 36 | #define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ 37 | #include 38 | 39 | #include "vendor_init.h" 40 | 41 | using android::base::GetProperty; 42 | 43 | constexpr const char *RO_PROP_SOURCES[] = { 44 | nullptr, "product.", "product_services.", "odm.", 45 | "vendor.", "system.", "bootimage.", 46 | }; 47 | 48 | constexpr const char *PRODUCTS[] = { 49 | "davinci", 50 | "davinciin", 51 | }; 52 | 53 | constexpr const char *DEVICES[] = { 54 | "Mi 9T", 55 | "Redmi K20", 56 | }; 57 | 58 | constexpr const char *BUILD_DESCRIPTION[] = { 59 | "davinci-user 11 RKQ1.200826.002 V12.5.2.0.RFJCNXM release-keys", 60 | "davinci-user 11 RKQ1.200826.002 V12.1.4.0.RFJMIXM release-keys", 61 | "davinciin-user 11 RKQ1.200826.002 V12.1.4.0.RFJINXM release-keys", 62 | }; 63 | 64 | constexpr const char *CLIENT_ID[] = { 65 | "android-xiaomi", 66 | "android-xiaomi-rev1", 67 | }; 68 | 69 | void property_override(char const prop[], char const value[], bool add = true) { 70 | prop_info *pi; 71 | 72 | pi = (prop_info *)__system_property_find(prop); 73 | if (pi) 74 | __system_property_update(pi, value, strlen(value)); 75 | else if (add) 76 | __system_property_add(prop, strlen(prop), value, strlen(value)); 77 | } 78 | 79 | void load_props(const char *model, bool is_9t = false, bool is_in = false) { 80 | const auto ro_prop_override = [](const char *source, const char *prop, 81 | const char *value, bool product) { 82 | std::string prop_name = "ro."; 83 | 84 | if (product) 85 | prop_name += "product."; 86 | if (source != nullptr) 87 | prop_name += source; 88 | if (!product) 89 | prop_name += "build."; 90 | prop_name += prop; 91 | 92 | property_override(prop_name.c_str(), value); 93 | }; 94 | 95 | for (const auto &source : RO_PROP_SOURCES) { 96 | ro_prop_override(source, "device", is_in ? PRODUCTS[1] : PRODUCTS[0], true); 97 | ro_prop_override(source, "model", model, true); 98 | if (!is_in) { 99 | ro_prop_override(source, "name", PRODUCTS[0], true); 100 | } else { 101 | ro_prop_override(source, "name", PRODUCTS[1], true); 102 | } 103 | } 104 | if (!is_in) { 105 | ro_prop_override(nullptr, "description", 106 | is_9t ? BUILD_DESCRIPTION[1] : BUILD_DESCRIPTION[0], 107 | false); 108 | property_override("ro.boot.product.hardware.sku", PRODUCTS[0]); 109 | } else { 110 | ro_prop_override(nullptr, "description", BUILD_DESCRIPTION[2], false); 111 | } 112 | ro_prop_override(nullptr, "product", model, false); 113 | 114 | if (is_9t) { 115 | ro_prop_override(nullptr, "com.google.clientidbase", CLIENT_ID[0], false); 116 | } else if (is_in) { 117 | ro_prop_override(nullptr, "com.google.clientidbase", CLIENT_ID[0], false); 118 | ro_prop_override(nullptr, "com.google.clientidbase.ms", CLIENT_ID[1], 119 | false); 120 | } 121 | } 122 | 123 | void vendor_load_properties() { 124 | std::string region; 125 | region = GetProperty("ro.boot.hwc", ""); 126 | 127 | if (region == "CN") { 128 | load_props(DEVICES[1], false, false); 129 | } else if (region == "INDIA") { 130 | load_props(DEVICES[1], false, true); 131 | } else if (region == "GLOBAL") { 132 | load_props(DEVICES[0], true, false); 133 | } 134 | } 135 | -------------------------------------------------------------------------------- /lineage.dependencies: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "repository" : "DerpFest-Devices/kernel_xiaomi_sm6150", 4 | "target_path" : "kernel/xiaomi/sm6150" 5 | }, 6 | { 7 | "repository" : "DerpFest-Devices/device_xiaomi_davinci", 8 | "target_path" : "device/xiaomi/davinci" 9 | }, 10 | { 11 | "repository" : "DerpFest-Devices/device_xiaomi_sm6150-common", 12 | "target_path" : "device/xiaomi/sm6150-common" 13 | }, 14 | { 15 | "repository" : "DerpFest-Devices/vendor_xiaomi_davinci", 16 | "target_path" : "vendor/xiaomi/davinci" 17 | }, 18 | { 19 | "repository" : "DerpFest-Devices/vendor_xiaomi_sm6150-common", 20 | "target_path" : "vendor/xiaomi/sm6150-common" 21 | }, 22 | { 23 | "repository": "LineageOS/android_hardware_xiaomi", 24 | "target_path": "hardware/xiaomi" 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /lineage_davinci.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019-2020 The LineageOS Project 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # Inherit from davinci device 8 | $(call inherit-product, device/xiaomi/davinci/device.mk) 9 | TARGET_SUPPORTS_OMX_SERVICE := false 10 | 11 | # Inherit some common DerpFest stuff. 12 | $(call inherit-product, vendor/lineage/config/common_full_phone.mk) 13 | DERPFEST_BUILD_TYPE := Official 14 | DERPFEST_BUILD_VARIANT := Stable 15 | 16 | # Device identifier. This must come after all inclusions. 17 | PRODUCT_NAME := lineage_davinci 18 | PRODUCT_DEVICE := davinci 19 | PRODUCT_BRAND := Xiaomi 20 | PRODUCT_MANUFACTURER := Xiaomi 21 | 22 | PRODUCT_BUILD_PROP_OVERRIDES += \ 23 | BuildDesc="davinci-user 11 RKQ1.200826.002 V12.1.4.0.RFJMIXM release-keys" \ 24 | BuildFingerprint=Xiaomi/davinci/davinci:11/RKQ1.200826.002/V12.1.4.0.RFJMIXM:user/release-keys \ 25 | DeviceProduct=davinci \ 26 | SystemName=davinci 27 | -------------------------------------------------------------------------------- /manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | vendor.goodix.hardware.biometrics.fingerprint 4 | hwbinder 5 | @2.1::IGoodixFingerprintDaemon/default 6 | 7 | 8 | vendor.xiaomi.hardware.motor 9 | hwbinder 10 | @1.0::IMotor/default 11 | 12 | 13 | -------------------------------------------------------------------------------- /manifest_davinci.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | android.hardware.nfc 4 | hwbinder 5 | @1.2::INfc/default 6 | 7 | 8 | -------------------------------------------------------------------------------- /nfc/libnfc-nci.conf: -------------------------------------------------------------------------------- 1 | ########################## Start of libnfc-nci.conf ########################### 2 | ############################################################################### 3 | # Application options 4 | NFC_DEBUG_ENABLED=1 5 | 6 | ############################################################################### 7 | # performance measurement 8 | # Change this setting to control how often USERIAL log the performance (throughput) 9 | # data on read/write/poll 10 | # defailt is to log performance dara for every 100 read or write 11 | #REPORT_PERFORMANCE_MEASURE=100 12 | 13 | ############################################################################### 14 | # File used for NFA storage 15 | NFA_STORAGE="/data/nfc" 16 | 17 | ############################################################################### 18 | # Configure the default NfcA/IsoDep techology and protocol route. Can be 19 | # either a secure element (e.g. 0xF4) or the host (0x00) 20 | #DEFAULT_ISODEP_ROUTE=0x00 21 | 22 | ############################################################################### 23 | ## Default poll duration (in ms) 24 | ## The defualt is 500ms if not set 25 | NFA_DM_DISC_DURATION_POLL=500 26 | 27 | ############################################################################### 28 | # Force UICC to only listen to the following technology(s). 29 | # The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. 30 | # Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F 31 | UICC_LISTEN_TECH_MASK=0x07 32 | 33 | ############################################################################### 34 | # Force HOST listen feature enable or disable. 35 | # 0: Disable 36 | # 1: Enable 37 | HOST_LISTEN_ENABLE=0x01 38 | 39 | ############################################################################### 40 | # When screen is turned off, specify the desired power state of the controller. 41 | # 0: power-off-sleep state; DEFAULT 42 | # 1: full-power state 43 | # 2: screen-off card-emulation (CE4/CE3/CE1 modes are used) 44 | SCREEN_OFF_POWER_STATE=1 45 | 46 | ############################################################################### 47 | # Force tag polling for the following technology(s). 48 | # The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. 49 | # Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | 50 | # NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 | 51 | # NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO | 52 | # NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE. 53 | # 54 | # Notable bits: 55 | # NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */ 56 | # NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */ 57 | # NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */ 58 | # NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */ 59 | # NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */ 60 | # NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology active mode */ 61 | POLLING_TECH_MASK=0x2F 62 | 63 | ############################################################################### 64 | # Force P2P to only listen for the following technology(s). 65 | # The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. 66 | # Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F | 67 | # NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE 68 | # 69 | # Notable bits: 70 | # NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */ 71 | # NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */ 72 | # NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */ 73 | # NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */ 74 | P2P_LISTEN_TECH_MASK=0x00 75 | 76 | ############################################################################### 77 | PRESERVE_STORAGE=0x01 78 | 79 | ############################################################################### 80 | # Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h. 81 | # The value is set to 3 by default as it assumes we will discover 0xF2, 82 | # 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced 83 | # so that the stack will not wait any longer than necessary. 84 | # Maximum EE supported number 85 | # NXP PN547C2 0x02 86 | # NXP PN65T 0x03 87 | # NXP PN548C2 0x02 88 | # NXP PN66T 0x03 89 | NFA_MAX_EE_SUPPORTED=0x03 90 | 91 | ############################################################################## 92 | # Deactivate notification wait time out in seconds used in ETSI Reader mode 93 | # 0 - Infinite wait 94 | NFA_DM_DISC_NTF_TIMEOUT=100 95 | 96 | ############################################################################### 97 | # AID_MATCHING constants 98 | # AID_MATCHING_EXACT_ONLY 0x00 99 | # AID_MATCHING_EXACT_OR_PREFIX 0x01 100 | # AID_MATCHING_PREFIX_ONLY 0x02 101 | #AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03 102 | AID_MATCHING_MODE=0x03 103 | 104 | ############################################################################### 105 | # Preferred Secure Element for Technology based routing 106 | # eSE 0x01 107 | # UICC 0x02 108 | NXP_PRFD_TECH_SE=0x01 109 | 110 | ################################################################################ 111 | #Set bit to 1 , black list is enabled 112 | #Set bit to 0, to disable balcklist 113 | NFA_AID_BLOCK_ROUTE=0x01 114 | 115 | ################################################################################ 116 | # Maximum WTX requests entertained by MW 117 | NXP_WM_MAX_WTX_COUNT=50 118 | 119 | ################################################################################ 120 | #Set the default Felica T3T System Code : 121 | #This settings will be used when application does not set this parameter 122 | DEFAULT_SYS_CODE={FE:FF} 123 | 124 | ######################################################################### 125 | #Set NCI credit notification timeout value 126 | NXP_NCI_CREDIT_NTF_TIMEOUT=2 127 | -------------------------------------------------------------------------------- /nfc/libnfc-nxp.conf: -------------------------------------------------------------------------------- 1 | #################### This file is used by NXP NFC NCI HAL ##################### 2 | ############################################################################### 3 | # Application options 4 | # Logging Levels 5 | # NXPLOG_DEFAULT_LOGLEVEL 0x01 6 | # ANDROID_LOG_DEBUG 0x03 7 | # ANDROID_LOG_WARN 0x02 8 | # ANDROID_LOG_ERROR 0x01 9 | # ANDROID_LOG_SILENT 0x00 10 | NXPLOG_EXTNS_LOGLEVEL=0x03 11 | NXPLOG_NCIHAL_LOGLEVEL=0x03 12 | NXPLOG_NCIX_LOGLEVEL=0x03 13 | NXPLOG_NCIR_LOGLEVEL=0x03 14 | NXPLOG_FWDNLD_LOGLEVEL=0x03 15 | NXPLOG_TML_LOGLEVEL=0x03 16 | NFC_DEBUG_ENABLED=1 17 | 18 | ############################################################################### 19 | # Nfc Device Node name 20 | NXP_NFC_DEV_NODE="/dev/nq-nci" 21 | 22 | ################################################################################# 23 | #VEN Toggle Config 24 | #Disable = 0x00 25 | #Enable = 0x01 26 | ENABLE_VEN_TOGGLE=0x00 27 | 28 | ############################################################################### 29 | # Extension for Mifare reader enable 30 | MIFARE_READER_ENABLE=0x01 31 | 32 | ############################################################################### 33 | # File name for Firmware 34 | NXP_FW_NAME="libsn100u_fw.so" 35 | 36 | ############################################################################### 37 | # System clock source selection configuration 38 | #define CLK_SRC_XTAL 1 39 | #define CLK_SRC_PLL 2 40 | NXP_SYS_CLK_SRC_SEL=0x02 41 | 42 | ############################################################################### 43 | # System clock frequency selection configuration 44 | #define CLK_FREQ_13MHZ 1 45 | #define CLK_FREQ_19_2MHZ 2 46 | #define CLK_FREQ_24MHZ 3 47 | #define CLK_FREQ_26MHZ 4 48 | #define CLK_FREQ_38_4MHZ 5 49 | #define CLK_FREQ_52MHZ 6 50 | NXP_SYS_CLK_FREQ_SEL=0x02 51 | 52 | ############################################################################### 53 | # The timeout value to be used for clock request acknowledgment 54 | # min value = 0x01 to max = 0x06 55 | #NXP_SYS_CLOCK_TO_CFG=0x06 56 | 57 | ############################################################################### 58 | # The delay to try to start PLL/XTAL when using sys clock 256/fc units = ~18.8 us 59 | # min value = 0x01 to max = 0x1F 60 | NXP_CLOCK_REQ_DELAY=0x1F 61 | 62 | ############################################################################### 63 | # NXP proprietary settings 64 | NXP_ACT_PROP_EXTN={2F, 02, 00} 65 | 66 | ############################################################################### 67 | # NFC forum profile settings 68 | NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00} 69 | 70 | ############################################################################### 71 | # NXP TVDD configurations settings 72 | # Allow NFCC to configure External TVDD, two configurations (1 and 2) supported, 73 | # out of them only one can be configured at a time. 74 | #NXP_EXT_TVDD_CFG=0x02 75 | 76 | ############################################################################### 77 | #config1:SLALM, 3.3V for both RM and CM 78 | #NXP_EXT_TVDD_CFG_1={20, 02, 0F, 01, A0, 0E, 0B, 31, 01, 01, 31, 00, 00, 00, 01, 00, D0, 0C} 79 | 80 | ############################################################################### 81 | #config2: use DCDC in CE, use Tx_Pwr_Req, set CFG2 mode, SLALM, 82 | #monitoring 5V from DCDC, 3.3V for both RM and CM, DCDCWaitTime=4.2ms 83 | #NXP_EXT_TVDD_CFG_2={20, 02, 0F, 01, A0, 0E, 0B, 11, 01, C2, B2, 00, B2, 1E, 1F, 00, D0, 0C} 84 | 85 | ############################################################################### 86 | # Core configuration rf field filter settings to enable set to 01 to disable set 87 | # to 00 last bit 88 | #NXP_CORE_RF_FIELD={ 20, 02, 05, 01, A0, 62, 01, 00 } 89 | 90 | ############################################################################### 91 | # To enable i2c fragmentation set i2c fragmentation enable 0x01 to disable set 92 | # to 0x00 93 | #NXP_I2C_FRAGMENTATION_ENABLED=0x00 94 | 95 | ############################################################################### 96 | #set autonomous mode 97 | # disable autonomous 0x00 98 | # enable autonomous 0x01 99 | NXP_AUTONOMOUS_ENABLE=0x00 100 | 101 | ############################################################################### 102 | #Enable SWP full power mode when phone is power off 103 | #NXP_SWP_FULL_PWR_ON=0x00 104 | 105 | ################################################################################ 106 | #This is used to configure UICC2 at boot time. 107 | # UICC2 0x03 108 | NXP_DEFAULT_UICC2_SELECT=0x03 109 | 110 | ############################################################################### 111 | # CE when Screen state is locked 112 | # This setting is for DEFAULT_AID_ROUTE, 113 | # DEFAULT_DESFIRE_ROUTE and DEFAULT_MIFARE_CLT_ROUTE 114 | # Disable 0x00 115 | # Enable 0x01 116 | NXP_CE_ROUTE_STRICT_DISABLE=0x01 117 | 118 | ############################################################################### 119 | #Timeout in secs 120 | NXP_SWP_RD_TAG_OP_TIMEOUT=0x01 121 | 122 | ############################################################################### 123 | #Set the default AID route Location : 124 | #This settings will be used when application does not set this parameter 125 | # host 0x00 126 | # eSE 0x01 127 | # UICC 0x02 128 | # UICC2 0x03 129 | DEFAULT_AID_ROUTE=0x01 130 | 131 | ############################################################################### 132 | #Set the Mifare Desfire route Location : 133 | #This settings will be used when application does not set this parameter 134 | # host 0x00 135 | # eSE 0x01 136 | # UICC 0x02 137 | # UICC2 0x03 138 | DEFAULT_ISODEP_ROUTE=0x01 139 | 140 | ############################################################################### 141 | #Set the Mifare CLT route Location : 142 | #This settings will be used when application does not set this parameter 143 | # host 0x00 144 | # eSE 0x01 145 | # UICC 0x02 146 | # UICC2 0x03 147 | DEFAULT_MIFARE_CLT_ROUTE=0x01 148 | 149 | ############################################################################### 150 | #Set the Felica CLT route Location : 151 | #This settings will be used when application does not set this parameter 152 | # eSE 0x01 153 | # UICC 0x02 154 | # UICC2 0x03 155 | DEFAULT_FELICA_CLT_ROUTE=0x01 156 | 157 | ############################################################################### 158 | #Set the default AID Power state : 159 | #This settings will be used when application does not set this parameter 160 | # bit pos 0 = Switch On 161 | # bit pos 1 = Switch Off 162 | # bit pos 2 = Battery Off 163 | # bit pos 3 = Screen off unlock 164 | # bit pos 4 = Screen On lock 165 | # bit pos 5 = Screen Off lock 166 | DEFAULT_AID_PWR_STATE=0x3B 167 | 168 | ############################################################################### 169 | #Set the Mifare Desfire Power state : 170 | #This settings will be used when application does not set this parameter 171 | # bit pos 0 = Switch On 172 | # bit pos 1 = Switch Off 173 | # bit pos 2 = Battery Off 174 | # bit pos 3 = Screen off unlock 175 | # bit pos 4 = Screen On lock 176 | # bit pos 5 = Screen Off lock 177 | DEFAULT_DESFIRE_PWR_STATE=0x3B 178 | 179 | ############################################################################### 180 | #Set the Mifare CLT Power state : 181 | #This settings will be used when application does not set this parameter 182 | # bit pos 0 = Switch On 183 | # bit pos 1 = Switch Off 184 | # bit pos 2 = Battery Off 185 | # bit pos 3 = Screen off unlock 186 | # bit pos 4 = Screen On lock 187 | # bit pos 5 = Screen Off lock 188 | DEFAULT_MIFARE_CLT_PWR_STATE=0x3B 189 | 190 | ############################################################################### 191 | #Set the Felica CLT Power state : 192 | #This settings will be used when application does not set this parameter 193 | # bit pos 0 = Switch On 194 | # bit pos 1 = Switch Off 195 | # bit pos 2 = Battery Off 196 | # bit pos 3 = Screen off unlock 197 | # bit pos 4 = Screen On lock 198 | # bit pos 5 = Screen Off lock 199 | DEFAULT_FELICA_CLT_PWR_STATE=0x3B 200 | 201 | ############################################################################### 202 | #Set the default Felica T3T System Code OffHost route Location : 203 | #This settings will be used when application does not set this parameter 204 | # host 0x00 205 | # eSE 0x01 206 | # UICC 0x02 207 | # UICC2 0x03 208 | DEFAULT_SYS_CODE_ROUTE=0x00 209 | 210 | ############################################################################### 211 | # AID Matching platform options 212 | # AID_MATCHING_L 0x01 213 | # AID_MATCHING_K 0x02 214 | #AID_MATCHING_PLATFORM=0x01 215 | 216 | ############################################################################### 217 | # eSE interface options 218 | # NFC 0x01 219 | # SPI 0x02 220 | NXP_P61_LS_DEFAULT_INTERFACE=0x02 221 | 222 | ############################################################################### 223 | #CHINA_TIANJIN_RF_SETTING 224 | #Enable 0x01 225 | #Disable 0x00 226 | #NXP_CHINA_TIANJIN_RF_ENABLED=0x01 227 | 228 | ############################################################################### 229 | #SWP_SWITCH_TIMEOUT_SETTING 230 | # Allowed range of swp timeout setting is 0x00 to 0x3C [0 - 60]. 231 | # Timeout in milliseconds, for example 232 | # No Timeout 0x00 233 | # 10 millisecond timeout 0x0A 234 | #NXP_SWP_SWITCH_TIMEOUT=0x0A 235 | 236 | ############################################################################### 237 | # Flashing Options Configurations 238 | # FLASH_UPPER_VERSION 0x01 239 | # FLASH_DIFFERENT_VERSION 0x02 240 | # FLASH_ALWAYS 0x03 241 | NXP_FLASH_CONFIG=0x02 242 | 243 | ############################################################################### 244 | # eSE interface options for JCOP Download 245 | # NFC 0x01 246 | # SPI 0x02 247 | NXP_P61_JCOP_DEFAULT_INTERFACE=0x02 248 | 249 | ############################################################################### 250 | # Option to perform LS update every boot 251 | # Enable 0x01 252 | # Disable 0x00 253 | NXP_LS_FORCE_UPDATE_REQUIRED=0x00 254 | 255 | ############################################################################### 256 | # Option to perform JCOP update every boot 257 | # Enable 0x01 258 | # Disable 0x00 259 | NXP_JCOP_FORCE_UPDATE_REQUIRED=0x00 260 | 261 | ############################################################################### 262 | # Bail out mode 263 | # If set to 1, NFCC is using bail out mode for either Type A or Type B poll. 264 | # Set this parameter value to 1 if Android Beam is enabled, else set to 0. 265 | NFA_POLL_BAIL_OUT_MODE=0x00 266 | 267 | ############################################################################### 268 | # White list of Hosts 269 | # This values will be the Hosts(NFCEEs) in the HCI Network. 270 | DEVICE_HOST_WHITE_LIST={C0, 80} 271 | 272 | ############################################################################### 273 | # Choose the presence-check algorithm for type-4 tag. If not defined, the default value is 1. 274 | # 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm 275 | # 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block 276 | # 2 NFA_RW_PRES_CHK_ISO_DEP_NAK; Type - 4 tag protocol iso-dep nak presence check 277 | # command is sent waiting for rsp and ntf. 278 | PRESENCE_CHECK_ALGORITHM=2 279 | 280 | ############################################################################### 281 | # Enable/Disable checking default proto SE Id 282 | # Disable 0x00 283 | # Enable 0x01 284 | NXP_CHECK_DEFAULT_PROTO_SE_ID=0x01 285 | 286 | ############################################################################### 287 | # Vendor Specific Proprietary Protocol & Discovery Configuration 288 | # Set to 0xFF if unsupported 289 | # byte[0] NCI_PROTOCOL_18092_ACTIVE 290 | # byte[1] NCI_PROTOCOL_B_PRIME 291 | # byte[2] NCI_PROTOCOL_DUAL 292 | # byte[3] NCI_PROTOCOL_15693 293 | # byte[4] NCI_PROTOCOL_KOVIO 294 | # byte[5] NCI_PROTOCOL_MIFARE 295 | # byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO 296 | # byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME 297 | # byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME 298 | NFA_PROPRIETARY_CFG={05, FF, FF, 06, 81, 80, 70, FF, FF} 299 | 300 | ############################################################################### 301 | #NXP_CN_TRANSIT_BLK_NUM_CHECK_ENABLE 302 | #Enable/Disable block number checks for china transit use case 303 | #Enable 0x01 304 | #Disable 0x00 305 | #NXP_CN_TRANSIT_BLK_NUM_CHECK_ENABLE=0x01 306 | 307 | ################################################################################################### 308 | #This flags will enable different modes of Lx Debug based on bits of the Byte0 & Byte1 309 | #Byte 0: 310 | # |_________Bit Mask_______| Debug Mode 311 | # b7|b6|b5|b4|b3|b2|b1|b0| 312 | # | | |X | | | | | Enable L1 Events (ISO14443-4, ISO18092) 313 | # | | | |X | | | | Enable L2 Reader Events(ROW specific) 314 | # | | | | |X | | | Enable Felica SystemCode 315 | # | | | | | |X | | Enable Felica RF (all Felica CM events) 316 | # | | | | | | |X | Enable L2 Events Card Emulation (ISO14443-3, Modulation detected, RF Field ON/OFF) 317 | #Byte 1: 318 | # Enable RSSI 0x01 Byte1 Byte0 319 | # Disable RSSI 0x00 \__ __/ 320 | # e.g. NXP_CORE_PROP_SYSTEM_DEBUG=0x0110 ==> L1 with RSSI 321 | #NXP_CORE_PROP_SYSTEM_DEBUG=0x11 322 | 323 | ############################################################################### 324 | #Enable NXP NCI runtime parser library 325 | #Enable 0x01 326 | #Disable 0x00 327 | NXP_NCI_PARSER_LIBRARY=0x00 328 | 329 | ############################################################################### 330 | # Timeout value in milliseconds for JCOP OS download to complete 331 | OS_DOWNLOAD_TIMEOUT_VALUE=60000 332 | 333 | ############################################################################### 334 | # Forcing HOST to listen for a selected protocol 335 | # 0x00 : Disable Host Listen 336 | # 0x01 : Enable Host to Listen (A) for ISO-DEP tech A 337 | # 0x02 : Enable Host to Listen (B) for ISO-DEP tech B 338 | # 0x04 : Enable Host to Listen (F) for T3T Tag Type Protocol tech F 339 | # 0x07 : Enable Host to Listen (ABF)for ISO-DEP tech AB & T3T Tag Type Protocol tech F 340 | HOST_LISTEN_TECH_MASK=0x07 341 | 342 | ############################################################################### 343 | # Enable forward functionality 344 | # Disable 0x00 345 | # Enable 0x01 346 | FORWARD_FUNCTIONALITY_ENABLE=0x01 347 | 348 | ############################################################################### 349 | # Configure the NFC Extras to open and use a static pipe. If the value is 350 | # not set or set to 0, then the default is use a dynamic pipe based on a 351 | # destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value 352 | # for each EE (ESE/SIM) 353 | OFF_HOST_ESE_PIPE_ID=0x16 354 | OFF_HOST_SIM_PIPE_ID=0x0A 355 | 356 | ############################################################################### 357 | #Set the Felica T3T System Code Power state : 358 | #This settings will be used when application does not set this parameter 359 | #Update Power state as per NCI2.0 360 | DEFAULT_SYS_CODE_PWR_STATE=0x39 361 | 362 | ############################################################################### 363 | #Default Secure Element route id 364 | DEFAULT_OFFHOST_ROUTE=0x02 365 | 366 | ############################################################################### 367 | #Maximum SMB transceive wait for response 368 | NXP_SMB_TRANSCEIVE_TIMEOUT=2000 369 | 370 | ############################################################################### 371 | # Firmware file type 372 | #.so file 0x01 373 | #.bin file 0x02 374 | NXP_FW_TYPE=0x01 375 | 376 | ############################################################################ 377 | # Extended APDU length for ISO_DEP 378 | ISO_DEP_MAX_TRANSCEIVE=0xFEFF 379 | 380 | ######################################################################### 381 | # Support for Amendment I SEMS specification 382 | # Support SEMS Amendment I 0x01 383 | # Support NXP LS client 0x00 384 | NXP_GP_AMD_I_SEMS_SUPPORTED=0x01 385 | 386 | ############################################################################### 387 | # Assign terminal number to each interface based on system config 388 | NXP_SPI_SE_TERMINAL_NUM="eSE1" 389 | NXP_NFC_SE_TERMINAL_NUM="eSE2" 390 | #NXP_VISO_SE_TERMINAL_NUM="eSE3" 391 | 392 | ############################################################################### 393 | #For static or dynamic dual UICC feature support 394 | #Enable static dual uicc feature by setting value 0x00 395 | #Enable dynamic dual uicc feature by setting value 0x01 396 | NXP_DUAL_UICC_ENABLE=0x01 397 | 398 | ############################################################################### 399 | # Time to wait by DH when NFCC will report eSE Cold Temp Error. 400 | # The value is as per the UM and in seconds 401 | NXP_SE_COLD_TEMP_ERROR_DELAY=0x05 402 | 403 | ############################################################################### 404 | # Set configuration optimization decision setting 405 | # Enable = 0x01 406 | # Disable = 0x00 407 | NXP_SET_CONFIG_ALWAYS=0x01 408 | ############################################################################### 409 | #OffHost ESE route location for MultiSE 410 | #ESE = 01 411 | OFFHOST_ROUTE_ESE={01} 412 | ############################################################################### 413 | #OffHost UICC route location for MultiSE 414 | #UICC1 = 02 415 | #UICC2 = 03 416 | OFFHOST_ROUTE_UICC={02:03} 417 | ################################################################################ 418 | # This will enable power state required for GSMA testing. 419 | # When this is enabled , then default AID route power state is added with this power state 420 | # If any aid with power state 0 is added, then this power state is used. 421 | # bit pos 0 = Switch On 422 | # bit pos 1 = Switch Off 423 | # bit pos 2 = Battery Off 424 | # bit pos 3 = Screen off unlock 425 | # bit pos 4 = Screen On lock 426 | # bit pos 5 = Screen Off lock 427 | #DEFUALT_GSMA_PWR_STATE=0x3B 428 | ################################################################################# 429 | -------------------------------------------------------------------------------- /nfc/libnfc-nxp_RF.conf: -------------------------------------------------------------------------------- 1 | ############################################################## 2 | ## F10 libnfc-nxp_RF.conf FW15 modify by Kevin 5th, Dec 2018##### 3 | ## F10 libnfc-nxp_RF.conf FW15 Hybrid mode 12th, Dec 2018####### 4 | ## F10 libnfc-nxp_RF.conf FW18 BCTC 15th, Apil 2019######### 5 | ############################################################################### 6 | # NXP RF configuration ALM/PLM settings 7 | # This section needs to be updated with the correct values based on the platform 8 | #PMU_CFG 9 | 10 | NXP_RF_CONF_BLK_1={20, 02, 53, 03, 11 | A0, 0E, 2C, F0, 00, 3E, 11, E4, E4, E4, 00, 00, 00, 00, 00, A7, 8E, FF, FF, 23, 23, 23, 23, 0A, 00, 00, 00, 00, 02, 00, 00, 01, 00, 10, 00, 04, 00, 00, 00, 17, 40, FF, 07, 13, 07, 05, 13, 12 | A0, A5, 0D, 3B, 3B, 3B, 3B, 3B, 3B, FF, 03, 1F, 00, 00, 00, 00, 13 | A0, 6A, 10, 64, 00, 64, 00, 64, 00, 64, 00, B4, 00, B4, 00, B4, 00, B4, 00 14 | } 15 | 16 | NXP_RF_CONF_BLK_2={20, 02, ED, 04, 17 | A0, AF, 09, 11, 2F, 00, 23, 11, 2F, 00, 23, 00, 18 | A0, 98, 05, 2F, 97, 1C, 80, 23, 19 | A0, 34, C8, 23, 04, 3D, 01, 02, 18, 4B, 09, 00, 00, DE, 0C, 00, 00, DE, 0C, 00, 00, DE, 11, 00, 00, DE, 11, 00, 00, DE, 11, 00, 00, DE, 11, 00, 00, DE, 11, 00, 00, 3B, 17, 00, 00, 3B, 17, 00, 00, 04, 19, 00, 00, 97, 1C, 00, 00, 97, 1C, 00, 00, 2A, 20, 00, 00, 2A, 20, 00, 00, F3, 21, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 98, 3A, 00, 00, 02, 18, 40, 06, 00, 00, 6C, 07, 00, 00, 6C, 07, 00, 00, 66, 08, 00, 00, 66, 08, 00, 00, 92, 09, 00, 00, 92, 09, 00, 00, B8, 0B, 00, 00, C0, 0D, 00, 00, C0, 0D, 00, 00, 4A, 10, 00, 00, 4A, 10, 00, 00, 4A, 10, 00, 00, 4A, 10, 00, 00, 4A, 10, 00, 00, 4A, 10, 00, 00, 4A, 10, 00, 00, 64, 14, 00, 00, 64, 14, 00, 00, 64, 14, 00, 00, 64, 14, 00, 00, 64, 14, 00, 00, 64, 14, 00, 00, 64, 14, 00, 00, 20 | A0, 9E, 0A, 03, 97, 1C, 64, 00, 96, 00, 2B, 52, 03} 21 | 22 | NXP_RF_CONF_BLK_3={20, 02, F1, 01, A0, A9, ED, 00, 2A, FF, 01, 24, FF, 02, 1F, FF, 03, 1A, FF, 04, 16, FF, 05, 12, FF, 06, 0F, FF, 07, 0C, FF, 08, 09, FF, 09, 07, FF, 0A, 05, FF, 0B, 03, FF, 0C, 01, FF, 0D, 00, F5, 0E, 00, DC, 0F, 00, C6, 10, 00, B3, 11, 00, A2, 12, 00, 92, 13, 00, 84, 14, 00, 77, 15, 00, 6B, 16, 00, 60, 17, 00, 57, 18, 00, 4E, 19, 00, 46, 1A, 00, 3F, 1B, 00, 39, 1C, 00, 33, 1D, 00, 2E, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A, 1E, 00, 2A} 23 | 24 | NXP_RF_CONF_BLK_4={20, 02, C5, 02, 25 | A0, 0B, BB, 00, 1D, 01, 14, 6A, 2A, E8, 03, E8, 03, 06, 10, 0E, 2C, 01, 78, 13, 00, 00, 78, 13, 00, 00, 78, 13, 00, 00, 78, 13, 00, 00, 78, 13, 00, 00, 78, 13, 00, 00, 78, 13, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 0A, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 78, 00, 00, 00, 3C, 00, 00, 00, 3C, 00, 00, 00, 3C, 00, 00, 00, 00, 00, 00, 00, 26 | A0, A6, 03, C0, 08, 08 27 | } 28 | 29 | NXP_RF_CONF_BLK_5={20, 02, D8, 04, 30 | A0, AB, 82, 27, 1B, 33, 04, 42, 04, 55, 04, 75, 04, 9E, 04, C7, 04, F0, 04, 20, 05, 4F, 05, 7F, 05, B8, 05, F2, 05, 2B, 06, 72, 06, BA, 06, 02, 07, 49, 07, 91, 07, F0, 07, 50, 08, AF, 08, 0F, 09, 6E, 09, E1, 09, 54, 0A, C6, 0A, 56, 0B, E5, 0B, 74, 0C, 04, 0D, 93, 0D, 52, 0E, 11, 0F, D0, 0F, 8F, 10, 4F, 11, 0E, 12, 2C, 13, 4B, 14, 6A, 15, 88, 16, A7, 17, C6, 18, 44, 1A, C2, 1B, 41, 1D, BF, 1E, 9D, 20, 7B, 22, 58, 24, 96, 26, D3, 28, 11, 2B, 4E, 2D, 4B, 30, 47, 33, 44, 36, 40, 39, 3D, 3C, A2, 3F, 07, 43, 6C, 46, E6, 4A, 61, 4F, 31 | A0, A7, 0B, 00, 02, 77, 17, 1F, 1F, 1F, 0A, FF, 19, 05, 32 | A0, A8, 38, 00, 33, 33, 10, 00, 33, 23, 10, 00, 33, 24, 10, 4B, 23, 44, 10, CF, 22, 43, 10, CF, 22, 43, 10, CF, 22, 43, 10, CE, 22, 43, 10, CF, 22, 43, 10, CE, 22, 43, 10, 00, 33, 22, 10, C0, 22, 23, 10, 00, 33, 22, 10, C0, 22, 23, 10, 33 | A0, 1F, 06, 63, 00, 42, 00, 14, 00 34 | } 35 | 36 | NXP_RF_CONF_BLK_6={ 37 | 20, 02, F8, 19, 38 | A0, 99, 07, 03, 00, 80, 00, 00, 80, 00, 39 | A0, 68, 2A, 06, 40, 60, 03, 19, 00, 00, 00, 00, 83, 04, 00, C0, 05, 00, 0F, E0, 00, 00, 0F, A0, 00, A0, 00, 03, FA, 00, 00, 00, 4C, 00, 14, 00, 7D, 00, 05, 7F, 00, 00, 01, 00, 03, 40 | A0, 0D, 03, 24, 29, 07, 41 | A0, 0D, 03, 24, 30, 07, 42 | A0, 0D, 03, 25, 29, 01, 43 | A0, 0D, 03, 25, 30, 01, 44 | A0, 0D, 06, 40, 42, F0, C1, 37, CC, 45 | A0, 0D, 06, 41, 45, 31, 12, 00, 00, 46 | A0, 0D, 03, 42, 7C, 54, 47 | A0, 0D, 06, 42, 8D, 00, A0, A4, 64, 48 | A0, 0D, 06, 42, 8B, 00, A2, 23, 00, 49 | A0, 0D, 06, 42, 89, 7F, 12, BD, 01, 50 | A0, 0D, 06, 42, 44, 00, B0, 26, 01, 51 | A0, 0D, 06, 42, 43, A5, 24, 4D, ED, 52 | A0, 0D, 06, 42, 41, FF, FF, 5F, F0, 53 | A0, 0D, 06, 42, 40, 20, 77, 33, 3A, 54 | A0, 0D, 06, 42, 4A, 0E, 83, 81, 0D, 55 | A0, 0D, 06, 42, 49, 79, 46, 26, 00, 56 | A0, 0D, 06, 51, 40, 12, 77, 33, 3A, 57 | A0, 0D, 06, 43, 44, 00, 34, 12, 01, 58 | A0, 0D, 06, 43, 43, A5, 64, 4C, AD, 59 | A0, 0D, 06, 43, 40, 05, 77, 33, 3D, 60 | A0, 0D, 06, 43, 4A, 00, 00, 00, 00, 61 | A0, 0D, 06, 43, 49, 00, 00, 00, 00, 62 | A0, 0D, 06, 44, 44, 00, 34, 12, 01 63 | } 64 | 65 | NXP_RF_CONF_BLK_7={ 66 | 20, 02, FD, 1C, 67 | A0, 0D, 06, 44, 43, A5, 64, 4C, AD, 68 | A0, 0D, 06, 44, 40, 05, 77, 33, 3D, 69 | A0, 0D, 06, 44, 4A, 00, 00, 00, 00, 70 | A0, 0D, 06, 44, 49, 00, 00, 00, 00, 71 | A0, 0D, 06, 45, 44, 00, 34, 12, 01, 72 | A0, 0D, 06, 45, 43, A5, 64, 4C, AD, 73 | A0, 0D, 06, 45, 40, 05, 77, 33, 3D, 74 | A0, 0D, 06, 45, 4A, 00, 00, 00, 00, 75 | A0, 0D, 06, 45, 49, 00, 00, 00, 00, 76 | A0, 0D, 06, 46, 45, 39, 12, 00, 00, 77 | A0, 0D, 06, 46, 44, 00, 34, 12, 01, 78 | A0, 0D, 06, 47, 43, A5, 64, 4C, ED, 79 | A0, 0D, 06, 47, 40, 05, 77, 33, 3D, 80 | A0, 0D, 06, 47, 4A, 20, AA, 0B, 81, 81 | A0, 0D, 06, 47, 49, B5, 44, 22, 00, 82 | A0, 0D, 06, 48, 43, A5, 64, 4C, AD, 83 | A0, 0D, 06, 48, 40, 05, 77, 33, 3D, 84 | A0, 0D, 06, 48, 4A, 00, 00, 00, 00, 85 | A0, 0D, 06, 48, 49, 00, 00, 00, 00, 86 | A0, 0D, 06, 49, 43, A5, 64, 4C, AD, 87 | A0, 0D, 06, 49, 40, 05, 77, 33, 3D, 88 | A0, 0D, 06, 49, 4A, 00, 00, 00, 00, 89 | A0, 0D, 06, 49, 49, 00, 00, 00, 00, 90 | A0, 0D, 06, 4A, 8B, 48, 02, F0, 80, 91 | A0, 0D, 06, 4A, 43, A5, 64, 4C, AD, 92 | A0, 0D, 06, 4A, 40, 05, 77, 33, 3D, 93 | A0, 0D, 06, 4A, 4A, 00, 00, 00, 00, 94 | A0, 0D, 06, 4A, 49, 00, 00, 00, 00 95 | } 96 | 97 | NXP_RF_CONF_BLK_8={ 98 | 20, 02, C4, 16, 99 | A0, 0D, 06, 4B, 43, A5, 64, 4C, 6D, 100 | A0, 0D, 06, 4B, 40, 85, 51, 33, 3D, 101 | A0, 0D, 06, 4C, 44, 00, 34, 12, 01, 102 | A0, 0D, 06, 4C, 4A, 00, 00, 00, 00, 103 | A0, 0D, 06, 4C, 49, 00, 00, 00, 00, 104 | A0, 0D, 06, 4D, 44, 00, 34, 12, 01, 105 | A0, 0D, 06, 4D, 4A, 00, 00, 00, 00, 106 | A0, 0D, 06, 4D, 49, 00, 00, 00, 00, 107 | A0, 0D, 06, 4E, 45, 31, 12, 00, 00, 108 | A0, 0D, 03, 4E, 7C, 50, 109 | A0, 0D, 06, 4E, 8D, 00, 00, 00, 06, 110 | A0, 0D, 06, 4E, 8B, 00, A2, 24, 00, 111 | A0, 0D, 06, 4E, 89, 7D, 84, 05, 08, 112 | A0, 0D, 06, 4E, 44, 00, B0, 26, 01, 113 | A0, 0D, 06, 4E, 43, A5, 64, 5C, AD, 114 | A0, 0D, 06, 4E, 41, FF, FF, 5F, F0, 115 | A0, 0D, 06, 4E, 40, 07, 77, 33, 3D, 116 | A0, 0D, 06, 4E, 4A, 2A, 8E, 8D, 2A, 117 | A0, 0D, 06, 4E, 49, 5D, 27, 27, 00, 118 | A0, 0D, 06, 60, 4E, FF, FF, FF, 01, 119 | A0, 0D, 06, 60, 4F, FF, FF, FF, 01, 120 | A0, 0D, 06, 60, 50, FF, FF, FF, 3F 121 | } 122 | 123 | NXP_RF_CONF_BLK_9={20, 02, 4F, 09, 124 | A0, 0D, 03, 61, 09, 7E, 125 | A0, 0D, 06, 60, AB, FF, FF, 00, 00, 126 | A0, 0D, 06, 60, 95, FF, FF, 0F, 00, 127 | A0, 0D, 06, 60, 97, FF, FF, 0F, 00, 128 | A0, 0D, 06, 60, 4C, 20, 0A, 00, 00, 129 | A0, 0D, 06, 82, 82, 47, 80, 00, 00, 130 | A0, 0D, 06, 80, 82, 47, 80, 00, 00, 131 | A0, 0D, 06, 62, 32, AE, 00, 7F, 00, 132 | A0, 0D, 06, 67, 32, AE, 00, 1F, 00 133 | } 134 | 135 | NXP_RF_CONF_MAX_NUM=9 136 | 137 | ############################################################################### 138 | # Core configuration extensions 139 | # It includes 140 | # Wired mode settings A0ED, A0EE 141 | # Tag Detector A040, A041, A043 142 | # Low Power mode A007 143 | # Clock settings A002, A003 144 | # PbF settings A008 145 | # Clock timeout settings A004 146 | # eSE (SVDD) PWR REQ settings A0F2 147 | # Window size A0D8 148 | # DWP Speed A0D5 149 | # How eSE connected to PN553 A012 150 | # UICC2 bit rate A0D1 151 | # SWP1A interface A0D4 152 | # DWP intf behavior config, SVDD Load activated by default if set to 0x31 A037 153 | NXP_CORE_CONF_EXTN={20, 02, 12, 04, 154 | A0, EC, 01, 01, 155 | A0, ED, 01, 01, 156 | A0, 07, 01, 01, 157 | A0, 47, 02, 00, 27 158 | } 159 | 160 | # A0, 40, 01, 00 161 | # A0, 41, 01, 02, 162 | # A0, 43, 01, 04, 163 | # } 164 | 165 | ############################################################################### 166 | # Core configuration settings 167 | NXP_CORE_CONF={ 20, 02, 30, 10, 168 | 28, 01, 00, 169 | 21, 01, 00, 170 | 30, 01, 04, 171 | 31, 01, 00, 172 | 32, 01, 60, 173 | 38, 01, 01, 174 | 33, 00, 175 | 54, 01, 06, 176 | 50, 01, 02, 177 | 5B, 01, 00, 178 | 80, 01, 01, 179 | 81, 01, 01, 180 | 82, 01, 0E, 181 | 18, 01, 01, 182 | 68, 01, 01, 183 | 85, 01, 01 184 | } 185 | ############################################################################### 186 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | 25 | true 26 | 27 | 29 | -1 30 | 31 | 32 | -15 33 | 34 | 35 | 15 36 | 37 | 38 | -40 39 | 40 | 41 | 40 42 | 43 | 44 | 35.0dip 45 | 46 | 49 | @dimen/status_bar_height_default 50 | 51 | 52 | 53 | 540 54 | 2026 55 | 95 56 | 57 | 58 | 59 | 0 60 | 61 | 62 | true 63 | 64 | 65 | org.lineageos.sensor.udfps 66 | 67 | 68 | 69 | restart 70 | restart_recovery 71 | restart_bootloader 72 | restart_fastboot 73 | 74 | 75 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/xml/power_profile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 4000 5 | 6 | 7 | 8 | 6 9 | 2 10 | 11 | 12 | 13 | 5.6 14 | 15 | 5.4 16 | 17 | 19 | 8.4 20 | 21 | 23 | 2 24 | 26 | 2.2 27 | 28 | 30 | 31 | 300000 32 | 576000 33 | 768000 34 | 1017600 35 | 1248000 36 | 1324800 37 | 1497600 38 | 1612800 39 | 1708800 40 | 1804800 41 | 42 | 44 | 45 | 300000 46 | 652800 47 | 806400 48 | 979200 49 | 1094400 50 | 1209600 51 | 1324800 52 | 1555200 53 | 1708800 54 | 1843200 55 | 1939200 56 | 2169600 57 | 2208000 58 | 59 | 60 | 62 | 63 | 34.55 64 | 46.57 65 | 54.84 66 | 68.16 67 | 80.70 68 | 86.6 69 | 99.13 70 | 111.05 71 | 119.59 72 | 128.45 73 | 74 | 76 | 77 | 42.23 78 | 56.92 79 | 63.41 80 | 73.03 81 | 80.38 82 | 87.17 83 | 96.55 84 | 125.61 85 | 145.51 86 | 182.94 87 | 198.92 88 | 238.54 89 | 266.21 90 | 91 | 92 | 93 | 29 94 | 95 | 96 | 85 97 | 99 | 250 100 | 101 | 102 | 240.47 103 | 107 | 900 108 | 109 | 110 | 25 111 | 112 | 75 113 | 114 | 115 | 0 116 | 128 117 | 111 118 | 119 | 118 120 | 163 121 | 225 122 | 277 123 | 363 124 | 125 | 3700 126 | 127 | 128 | 129 | 34 130 | 6 131 | 132 | 3700 133 | 134 | 135 | 95 136 | 137 | 138 138 | 139 | 387 140 | 141 | 3700 142 | 143 | 0 144 | 4.43 145 | 0.9 146 | 0.5 147 | 135.59 148 | 19.46 149 | 20.71 150 | 40.63 151 | 59.39 152 | 165.56 153 | 45 154 | 155 | 9.48 156 | 9.48 157 | 158 | 7.44 159 | 160 | .0002 161 | .002 162 | .02 163 | .2 164 | 2 165 | 166 | 167 | 0.01 168 | 169 | 9 170 | 171 | 7 172 | 173 | 3300 174 | 175 | -------------------------------------------------------------------------------- /overlay/frameworks/base/packages/SystemUI/res/drawable-nodpi/udfps_icon_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DerpFest-Devices/device_xiaomi_davinci/b978a1cef5370b86b4ce8873f68145acf0450e49/overlay/frameworks/base/packages/SystemUI/res/drawable-nodpi/udfps_icon_pressed.png -------------------------------------------------------------------------------- /overlay/frameworks/base/packages/SystemUI/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 21 | 22 | 23 | #00ffffff 24 | 25 | 26 | 950px 27 | 28 | 29 | 1900px 30 | 31 | -------------------------------------------------------------------------------- /overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 2dp 21 | 22 | 23 | 40dp 24 | 25 | 26 | 62.98 27 | 28 | -------------------------------------------------------------------------------- /overlay/packages/apps/Aperture/app/src/main/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 4 6 | 5 7 | 6 8 | 7 9 | 8 10 | 9 11 | 10 12 | 13 | 14 | -------------------------------------------------------------------------------- /overlay/packages/apps/Settings/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 100 16 | 17 | -------------------------------------------------------------------------------- /overlay/packages/apps/Settings/res/values/derp_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | Adi (@adi20_01) 15 | 16 | -------------------------------------------------------------------------------- /overlay/packages/apps/Settings/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 78% 16 | 17 | 18 | -------------------------------------------------------------------------------- /power/powerhint.json: -------------------------------------------------------------------------------- 1 | { 2 | "Nodes": [ 3 | { 4 | "Name": "CPULittleClusterMaxFreq", 5 | "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq", 6 | "Values": [ 7 | "9999999", 8 | "1248000" 9 | ], 10 | "DefaultIndex": 0, 11 | "ResetOnInit": true 12 | }, 13 | { 14 | "Name": "CPULittleClusterMinFreq", 15 | "Path": "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", 16 | "Values": [ 17 | "9999999", 18 | "1248000", 19 | "576000" 20 | ], 21 | "ResetOnInit": true 22 | }, 23 | { 24 | "Name": "CPUBigClusterMaxFreq", 25 | "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq", 26 | "Values": [ 27 | "9999999", 28 | "1939200", 29 | "1555200" 30 | ], 31 | "DefaultIndex": 0, 32 | "ResetOnInit": true 33 | }, 34 | { 35 | "Name": "CPUBigClusterMinFreq", 36 | "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_min_freq", 37 | "Values": [ 38 | "9999999", 39 | "1555200", 40 | "1248000", 41 | "652800" 42 | ], 43 | "ResetOnInit": true 44 | }, 45 | { 46 | "Name": "GPUMaxFreq", 47 | "Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel", 48 | "Values": [ 49 | "0", 50 | "3", 51 | "7" 52 | ], 53 | "DefaultIndex": 0, 54 | "ResetOnInit": true 55 | }, 56 | { 57 | "Name": "GPUMinFreq", 58 | "Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel", 59 | "Values": [ 60 | "0", 61 | "3", 62 | "7" 63 | ], 64 | "ResetOnInit": true 65 | }, 66 | { 67 | "Name": "GPUBusMinFreq", 68 | "Path": "/sys/class/devfreq/soc:qcom,gpubw/min_freq", 69 | "Values": [ 70 | "6881", 71 | "5931", 72 | "3879", 73 | "0" 74 | ], 75 | "ResetOnInit": true 76 | }, 77 | { 78 | "Name": "GPUForceRailOn", 79 | "Path": "/sys/class/kgsl/kgsl-3d0/force_rail_on", 80 | "Values": [ 81 | "1", 82 | "0" 83 | ], 84 | "ResetOnInit": true 85 | }, 86 | { 87 | "Name": "GPUForceClkOn", 88 | "Path": "/sys/class/kgsl/kgsl-3d0/force_clk_on", 89 | "Values": [ 90 | "1", 91 | "0" 92 | ], 93 | "ResetOnInit": true 94 | }, 95 | { 96 | "Name": "GPUIdleTimer", 97 | "Path": "/sys/class/kgsl/kgsl-3d0/idle_timer", 98 | "Values": [ 99 | "10000", 100 | "80" 101 | ], 102 | "ResetOnInit": true 103 | }, 104 | { 105 | "Name": "TASchedtuneBoost", 106 | "Path": "/dev/stune/top-app/schedtune.boost", 107 | "Values": [ 108 | "30", 109 | "10" 110 | ], 111 | "ResetOnInit": true 112 | }, 113 | { 114 | "Name": "TASchedtuneHighCap", 115 | "Path": "/dev/stune/top-app/schedtune.prefer_high_cap", 116 | "Values": [ 117 | "1", 118 | "0" 119 | ], 120 | "ResetOnInit": true 121 | }, 122 | { 123 | "Name": "CPUBWHystTriggerCount", 124 | "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_trigger_count", 125 | "Values": [ 126 | "0", 127 | "3" 128 | ], 129 | "ResetOnInit": true 130 | }, 131 | { 132 | "Name": "CPUBWHistMemory", 133 | "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hist_memory", 134 | "Values": [ 135 | "0", 136 | "20" 137 | ], 138 | "ResetOnInit": true 139 | }, 140 | { 141 | "Name": "CPUBWHystLength", 142 | "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/hyst_length", 143 | "Values": [ 144 | "0", 145 | "10" 146 | ], 147 | "ResetOnInit": true 148 | }, 149 | { 150 | "Name": "CPUBWSampleMs", 151 | "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms", 152 | "Values": [ 153 | "10", 154 | "4" 155 | ], 156 | "ResetOnInit": true 157 | }, 158 | { 159 | "Name": "CPUBWIOPercent", 160 | "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent", 161 | "Values": [ 162 | "80", 163 | "68" 164 | ], 165 | "ResetOnInit": true 166 | }, 167 | { 168 | "Name": "CPUBWMinFreq", 169 | "Path": "/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq", 170 | "Values": [ 171 | "14236", 172 | "9155", 173 | "7110", 174 | "4577" 175 | ], 176 | "ResetOnInit": true 177 | }, 178 | { 179 | "Name": "LLCCBWMinFreq", 180 | "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq", 181 | "Values": [ 182 | "6881", 183 | "2597", 184 | "762" 185 | ], 186 | "ResetOnInit": true 187 | }, 188 | { 189 | "Name": "LLCCBWSampleMs", 190 | "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms", 191 | "Values": [ 192 | "10", 193 | "4" 194 | ], 195 | "ResetOnInit": true 196 | }, 197 | { 198 | "Name": "LLCCBWHistMemory", 199 | "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/hist_memory", 200 | "Values": [ 201 | "0", 202 | "20" 203 | ], 204 | "ResetOnInit": true 205 | }, 206 | { 207 | "Name": "LLCCBWHystLength", 208 | "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/hyst_length", 209 | "Values": [ 210 | "0", 211 | "10" 212 | ], 213 | "ResetOnInit": true 214 | }, 215 | { 216 | "Name": "L3LittleClusterMinFreq", 217 | "Path": "/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/min_freq", 218 | "Values": [ 219 | "1459200000", 220 | "300000000" 221 | ], 222 | "ResetOnInit": true 223 | }, 224 | { 225 | "Name": "L3BigClusterMinFreq", 226 | "Path": "/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/min_freq", 227 | "Values": [ 228 | "1459200000", 229 | "300000000" 230 | ], 231 | "ResetOnInit": true 232 | }, 233 | { 234 | "Name": "CameraHalCpuset", 235 | "Path": "/dev/cpuset/camera-daemon/cpus", 236 | "Values": [ 237 | "0-5", 238 | "0-7" 239 | ], 240 | "ResetOnInit": true 241 | }, 242 | { 243 | "Name": "LLCCBWHystTriggerCount", 244 | "Path": "/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/hyst_trigger_count", 245 | "Values": [ 246 | "0", 247 | "3" 248 | ], 249 | "ResetOnInit": true 250 | }, 251 | { 252 | "Name": "PMQoSCpuDmaLatency", 253 | "Path": "/dev/cpu_dma_latency", 254 | "Values": [ 255 | "0x00000043", 256 | "0x00000064" 257 | ], 258 | "HoldFd": true 259 | }, 260 | { 261 | "Name": "ForegroundCpuset", 262 | "Path": "/dev/cpuset/foreground/cpus", 263 | "Values": [ 264 | "0-5", 265 | "0-5,7" 266 | ], 267 | "ResetOnInit": true 268 | }, 269 | { 270 | "Name": "UfsClkGateEnable", 271 | "Path": "/sys/devices/platform/soc/1d84000.ufshc/clkgate_enable", 272 | "Values": [ 273 | "0", 274 | "1" 275 | ], 276 | "ResetOnInit": true 277 | }, 278 | { 279 | "Name": "EnergyAware", 280 | "Path": "/proc/sys/kernel/sched_energy_aware", 281 | "Values": [ 282 | "0", 283 | "1" 284 | ], 285 | "ResetOnInit": true 286 | }, 287 | { 288 | "Name": "DisplayWakeup", 289 | "Path": "/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/sde-crtc-0/early_wakeup", 290 | "Values": [ 291 | "1", 292 | "0" 293 | ] 294 | }, 295 | { 296 | "Name": "UpMigrate", 297 | "Path": "/proc/sys/kernel/sched_upmigrate", 298 | "Values": [ 299 | "0x5F", 300 | "0x32" 301 | ] 302 | }, 303 | { 304 | "Name": "DownMigrate", 305 | "Path": "/proc/sys/kernel/sched_downmigrate", 306 | "Values": [ 307 | "0x55", 308 | "0x28" 309 | ] 310 | }, 311 | { 312 | "Name": "PowerHALMainState", 313 | "Path": "vendor.powerhal.state", 314 | "Values": [ 315 | "SUSTAINED_PERFORMANCE", 316 | "" 317 | ], 318 | "Type": "Property" 319 | }, 320 | { 321 | "Name": "PowerHALAudioState", 322 | "Path": "vendor.powerhal.audio", 323 | "Values": [ 324 | "AUDIO_STREAMING_LOW_LATENCY", 325 | "" 326 | ], 327 | "Type": "Property" 328 | }, 329 | { 330 | "Name": "PowerHALRenderingState", 331 | "Path": "vendor.powerhal.rendering", 332 | "Values": [ 333 | "EXPENSIVE_RENDERING", 334 | "" 335 | ], 336 | "Type": "Property" 337 | }, 338 | { 339 | "Name": "PowerHALPerfProfileState", 340 | "Path": "vendor.powerhal.perf_profile", 341 | "Values": [ 342 | "POWER_SAVE", 343 | "BIAS_POWER_SAVE", 344 | "BIAS_PERFORMANCE", 345 | "HIGH_PERFORMANCE" 346 | ], 347 | "Type": "Property" 348 | } 349 | ], 350 | "Actions": [ 351 | { 352 | "PowerHint": "SUSTAINED_PERFORMANCE", 353 | "Node": "PowerHALMainState", 354 | "Duration": 0, 355 | "Value": "SUSTAINED_PERFORMANCE" 356 | }, 357 | { 358 | "PowerHint": "SUSTAINED_PERFORMANCE", 359 | "Node": "CPUBigClusterMaxFreq", 360 | "Duration": 0, 361 | "Value": "1555200" 362 | }, 363 | { 364 | "PowerHint": "SUSTAINED_PERFORMANCE", 365 | "Node": "CPULittleClusterMaxFreq", 366 | "Duration": 0, 367 | "Value": "1248000" 368 | }, 369 | { 370 | "PowerHint": "SUSTAINED_PERFORMANCE", 371 | "Node": "GPUMaxFreq", 372 | "Duration": 0, 373 | "Value": "0" 374 | }, 375 | { 376 | "PowerHint": "INTERACTION", 377 | "Node": "CPULittleClusterMinFreq", 378 | "Duration": 0, 379 | "Value": "1248000" 380 | }, 381 | { 382 | "PowerHint": "INTERACTION", 383 | "Node": "TASchedtuneBoost", 384 | "Duration": 0, 385 | "Value": "30" 386 | }, 387 | { 388 | "PowerHint": "INTERACTION", 389 | "Node": "TASchedtuneHighCap", 390 | "Duration": 0, 391 | "Value": "1" 392 | }, 393 | { 394 | "PowerHint": "INTERACTION", 395 | "Node": "CPUBWHystTriggerCount", 396 | "Duration": 0, 397 | "Value": "0" 398 | }, 399 | { 400 | "PowerHint": "INTERACTION", 401 | "Node": "CPUBWHystLength", 402 | "Duration": 0, 403 | "Value": "0" 404 | }, 405 | { 406 | "PowerHint": "INTERACTION", 407 | "Node": "CPUBWHistMemory", 408 | "Duration": 0, 409 | "Value": "0" 410 | }, 411 | { 412 | "PowerHint": "INTERACTION", 413 | "Node": "CPUBWMinFreq", 414 | "Duration": 0, 415 | "Value": "9155" 416 | }, 417 | { 418 | "PowerHint": "INTERACTION", 419 | "Node": "LLCCBWMinFreq", 420 | "Duration": 0, 421 | "Value": "2597" 422 | }, 423 | { 424 | "PowerHint": "INTERACTION", 425 | "Node": "UfsClkGateEnable", 426 | "Duration": 200, 427 | "Value": "0" 428 | }, 429 | { 430 | "PowerHint": "LAUNCH", 431 | "Node": "ForegroundCpuset", 432 | "Duration": 2000, 433 | "Value": "0-5" 434 | }, 435 | { 436 | "PowerHint": "LAUNCH", 437 | "Node": "EnergyAware", 438 | "Duration": 2000, 439 | "Value": "0" 440 | }, 441 | { 442 | "PowerHint": "LAUNCH", 443 | "Node": "CPUBigClusterMaxFreq", 444 | "Duration": 2000, 445 | "Value": "9999999" 446 | }, 447 | { 448 | "PowerHint": "LAUNCH", 449 | "Node": "CPUBigClusterMinFreq", 450 | "Duration": 2000, 451 | "Value": "9999999" 452 | }, 453 | { 454 | "PowerHint": "LAUNCH", 455 | "Node": "CPULittleClusterMinFreq", 456 | "Duration": 2000, 457 | "Value": "9999999" 458 | }, 459 | { 460 | "PowerHint": "LAUNCH", 461 | "Node": "PMQoSCpuDmaLatency", 462 | "Duration": 2000, 463 | "Value": "0x00000043" 464 | }, 465 | { 466 | "PowerHint": "LAUNCH", 467 | "Node": "CPUBWHystTriggerCount", 468 | "Duration": 2000, 469 | "Value": "0" 470 | }, 471 | { 472 | "PowerHint": "LAUNCH", 473 | "Node": "CPUBWHystLength", 474 | "Duration": 2000, 475 | "Value": "0" 476 | }, 477 | { 478 | "PowerHint": "LAUNCH", 479 | "Node": "CPUBWHistMemory", 480 | "Duration": 2000, 481 | "Value": "0" 482 | }, 483 | { 484 | "PowerHint": "LAUNCH", 485 | "Node": "CPUBWMinFreq", 486 | "Duration": 2000, 487 | "Value": "14236" 488 | }, 489 | { 490 | "PowerHint": "LAUNCH", 491 | "Node": "GPUForceClkOn", 492 | "Duration": 2000, 493 | "Value": "1" 494 | }, 495 | { 496 | "PowerHint": "LAUNCH", 497 | "Node": "GPUForceRailOn", 498 | "Duration": 2000, 499 | "Value": "1" 500 | }, 501 | { 502 | "PowerHint": "LAUNCH", 503 | "Node": "GPUIdleTimer", 504 | "Duration": 2000, 505 | "Value": "10000" 506 | }, 507 | { 508 | "PowerHint": "LAUNCH", 509 | "Node": "LLCCBWMinFreq", 510 | "Duration": 2000, 511 | "Value": "6881" 512 | }, 513 | { 514 | "PowerHint": "LAUNCH", 515 | "Node": "L3BigClusterMinFreq", 516 | "Duration": 2000, 517 | "Value": "1459200000" 518 | }, 519 | { 520 | "PowerHint": "LAUNCH", 521 | "Node": "UfsClkGateEnable", 522 | "Duration": 2000, 523 | "Value": "0" 524 | }, 525 | { 526 | "PowerHint": "LAUNCH", 527 | "Node": "UpMigrate", 528 | "Duration": 2000, 529 | "Value": "0x32" 530 | }, 531 | { 532 | "PowerHint": "LAUNCH", 533 | "Node": "DownMigrate", 534 | "Duration": 2000, 535 | "Value": "0x28" 536 | }, 537 | { 538 | "PowerHint": "AUDIO_LAUNCH", 539 | "Node": "PMQoSCpuDmaLatency", 540 | "Duration": 2000, 541 | "Value": "0x00000043" 542 | }, 543 | { 544 | "PowerHint": "AUDIO_STREAMING_LOW_LATENCY", 545 | "Node": "PowerHALAudioState", 546 | "Duration": 0, 547 | "Value": "AUDIO_STREAMING_LOW_LATENCY" 548 | }, 549 | { 550 | "PowerHint": "AUDIO_STREAMING_LOW_LATENCY", 551 | "Node": "PMQoSCpuDmaLatency", 552 | "Duration": 0, 553 | "Value": "0x00000043" 554 | }, 555 | { 556 | "PowerHint": "EXPENSIVE_RENDERING", 557 | "Node": "PowerHALRenderingState", 558 | "Duration": 0, 559 | "Value": "EXPENSIVE_RENDERING" 560 | }, 561 | { 562 | "PowerHint": "EXPENSIVE_RENDERING", 563 | "Node": "GPUMinFreq", 564 | "Duration": 0, 565 | "Value": "3" 566 | }, 567 | { 568 | "PowerHint": "EXPENSIVE_RENDERING", 569 | "Node": "GPUMaxFreq", 570 | "Duration": 0, 571 | "Value": "0" 572 | }, 573 | { 574 | "PowerHint": "NOT_INTERACTIVE", 575 | "Node": "TASchedtuneHighCap", 576 | "Duration": 0, 577 | "Value": "0" 578 | }, 579 | { 580 | "PowerHint": "DISPLAY_UPDATE_IMMINENT", 581 | "Node": "DisplayWakeup", 582 | "Duration": 60, 583 | "Value": "1" 584 | } 585 | ] 586 | } 587 | -------------------------------------------------------------------------------- /product.prop: -------------------------------------------------------------------------------- 1 | # Alipay 2 | ro.hardware.fp.udfps=true 3 | persist.vendor.sys.fp.udfps.location.X_Y=445,1931 4 | persist.vendor.sys.fp.udfps.size.width_height=190,190 5 | 6 | # Fastbootd 7 | ro.fastbootd.available=true 8 | -------------------------------------------------------------------------------- /proprietary-files.txt: -------------------------------------------------------------------------------- 1 | # ACDB 2 | vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb 3 | vendor/etc/acdbdata/Forte/Forte_Codec_cal.acdb 4 | vendor/etc/acdbdata/Forte/Forte_General_cal.acdb 5 | vendor/etc/acdbdata/Forte/Forte_Global_cal.acdb 6 | vendor/etc/acdbdata/Forte/Forte_Handset_cal.acdb 7 | vendor/etc/acdbdata/Forte/Forte_Hdmi_cal.acdb 8 | vendor/etc/acdbdata/Forte/Forte_Headset_cal.acdb 9 | vendor/etc/acdbdata/Forte/Forte_Speaker_cal.acdb 10 | vendor/etc/acdbdata/Forte/Forte_workspaceFile.qwsp 11 | vendor/etc/acdbdata/adsp_avs_config.acdb 12 | 13 | # ADSP Modules 14 | vendor/lib/rfsa/adsp/libSuperSensor_skel.so 15 | vendor/lib/rfsa/adsp/libVDHexagonSuperPhoto_skel.so 16 | vendor/lib/rfsa/adsp/libarcsoft_dualcam_refocus_skel.so 17 | vendor/lib/rfsa/adsp/libhexagon_nn_skel_secondary.so 18 | vendor/lib/rfsa/adsp/misound_karaoke_res.bin 19 | vendor/lib/rfsa/adsp/misound_karaokemix_res.bin 20 | vendor/lib/rfsa/adsp/misound_res.bin 21 | 22 | # Audio (speaker amplifier) firmware 23 | vendor/firmware/tfa98xx.cnt 24 | 25 | # Camera 26 | vendor/bin/remosaic_daemon 27 | vendor/etc/camera/CFR_para_T.bin 28 | vendor/etc/camera/CFR_para_UW.bin 29 | vendor/etc/camera/CFR_para_W.bin 30 | vendor/etc/camera/LDC_FPC_TUNING_DATA.bin 31 | vendor/etc/camera/LDC_PACKDATA_VENDORID_0x01.bin 32 | vendor/etc/camera/LDC_PACKDATA_VENDORID_0x07.bin 33 | vendor/etc/camera/LDC_table_src1.dat 34 | vendor/etc/camera/LDC_table_src2.dat 35 | vendor/etc/camera/Miui-Light.ttf 36 | vendor/etc/camera/Roboto-Thin.ttf 37 | vendor/etc/camera/almalence_sr_params_tele.config 38 | vendor/etc/camera/almalence_sr_params_wide.config 39 | vendor/etc/camera/beauty_ui9_intelligent_params.config 40 | vendor/etc/camera/body_slim_ui9_params.config 41 | vendor/etc/camera/camxoverridesettings.txt 42 | vendor/etc/camera/eisoverridesettings.txt 43 | vendor/etc/camera/eyelineblush.cng 44 | vendor/etc/camera/female_bg.png 45 | vendor/etc/camera/female_icon.png 46 | vendor/etc/camera/fonts.xml 47 | vendor/etc/camera/golden_rear_dc_cal_wu.bin 48 | vendor/etc/camera/hdr_ui9_params.config 49 | vendor/etc/camera/lf_facerank_model.bin 50 | vendor/etc/camera/male_bg.png 51 | vendor/etc/camera/male_icon.png 52 | vendor/etc/camera/mibokeh_712_opencl.bin 53 | vendor/etc/camera/mibokeh_712_parameter.bin 54 | vendor/etc/camera/sceneDetection.xml 55 | vendor/etc/camera/score_bg.png 56 | vendor/etc/camera/score_icon.png 57 | vendor/etc/camera/sdm_ys_32p_120_21_5_perturb50.bin 58 | vendor/etc/camera/visidon_clearshot_params_algoup.xml 59 | vendor/etc/camera/watermark_font_2300_3199.dat 60 | vendor/lib64/camera/components/etc/morpho_lowlight4.0.xml 61 | vendor/lib64/camera/components/etc/morpho_lowlight4.0_3hdr.xml 62 | vendor/lib64/camera/components/etc/morpho_lowlight4.0_adrc_high.xml 63 | vendor/lib64/camera/components/etc/morpho_lowlight4.0_adrc_high_1.xml 64 | vendor/lib64/camera/components/etc/visidon_clearshot_params.xml 65 | vendor/lib64/camera/components/com.almalence.node.sr.so 66 | vendor/lib64/camera/components/com.altek.node.depurple.so 67 | vendor/lib64/camera/components/com.altek.node.distortioncorrection.so 68 | vendor/lib64/camera/components/com.arcsoft.node.bodyslim.so 69 | vendor/lib64/camera/components/com.arcsoft.node.capturebokeh.so 70 | vendor/lib64/camera/components/com.arcsoft.node.capturefusion.so 71 | vendor/lib64/camera/components/com.arcsoft.node.deflicker.so 72 | vendor/lib64/camera/components/com.arcsoft.node.distortioncorrection.so 73 | vendor/lib64/camera/components/com.arcsoft.node.hdr.so 74 | vendor/lib64/camera/components/com.arcsoft.node.hdrchecker.so 75 | vendor/lib64/camera/components/com.arcsoft.node.realtimebokeh.so 76 | vendor/lib64/camera/components/com.arcsoft.node.skinbeautifier.so 77 | vendor/lib64/camera/components/com.arcsoft.node.smooth_transition.so 78 | vendor/lib64/camera/components/com.arcsoft.node.superlowlight.so 79 | vendor/lib64/camera/components/com.mi.node.aiasd.so 80 | vendor/lib64/camera/components/com.qti.camx.chiiqutils.so 81 | vendor/lib64/camera/components/com.qti.eisv2.so 82 | vendor/lib64/camera/components/com.qti.eisv3.so 83 | vendor/lib64/camera/components/com.qti.hvx.addconstant.so 84 | vendor/lib64/camera/components/com.qti.hvx.binning.so 85 | vendor/lib64/camera/components/com.qti.node.depth.so 86 | vendor/lib64/camera/components/com.qti.node.dummyrtb.so 87 | vendor/lib64/camera/components/com.qti.node.dummysat.so 88 | vendor/lib64/camera/components/com.qti.node.eisv2.so 89 | vendor/lib64/camera/components/com.qti.node.eisv3.so 90 | vendor/lib64/camera/components/com.qti.node.fcv.so 91 | vendor/lib64/camera/components/com.qti.node.gpu.so 92 | vendor/lib64/camera/components/com.qti.node.memcpy.so 93 | vendor/lib64/camera/components/com.qti.node.photosolid.so 94 | vendor/lib64/camera/components/com.qti.node.remosaic.so 95 | vendor/lib64/camera/components/com.qti.node.stich.so 96 | vendor/lib64/camera/components/com.qti.node.swregistration.so 97 | vendor/lib64/camera/components/com.qti.node.watermark.so 98 | vendor/lib64/camera/components/com.qti.node.xiaomigenderage.so 99 | vendor/lib64/camera/components/com.qti.stats.aec.so 100 | vendor/lib64/camera/components/com.qti.stats.af.so 101 | vendor/lib64/camera/components/com.qti.stats.afd.so 102 | vendor/lib64/camera/components/com.qti.stats.asd.so 103 | vendor/lib64/camera/components/com.qti.stats.awb.so 104 | vendor/lib64/camera/components/com.qti.stats.awbwrapper.so 105 | vendor/lib64/camera/components/com.qti.stats.haf.so 106 | vendor/lib64/camera/components/com.qti.stats.hafoverride.so 107 | vendor/lib64/camera/components/com.qti.stats.localhistogram.so 108 | vendor/lib64/camera/components/com.qti.stats.pdlib.so 109 | vendor/lib64/camera/components/com.qti.stats.pdlibsony.so 110 | vendor/lib64/camera/components/com.qti.stats.pdlibwrapper.so 111 | vendor/lib64/camera/components/com.qtistatic.stats.aec.so 112 | vendor/lib64/camera/components/com.qtistatic.stats.af.so 113 | vendor/lib64/camera/components/com.qtistatic.stats.awb.so 114 | vendor/lib64/camera/components/com.qtistatic.stats.pdlib.so 115 | vendor/lib64/camera/components/com.vidhance.node.eis.so 116 | vendor/lib64/camera/components/com.vidhance.stats.aec_dmbr.so 117 | vendor/lib64/camera/components/com.visidon.node.clearshot.so 118 | vendor/lib64/camera/components/com.visidon.node.sr.so 119 | vendor/lib64/camera/components/com.xiaomi.node.mibokeh.so 120 | vendor/lib64/camera/components/com.xiaomi.node.mifragment.so 121 | vendor/lib64/camera/components/com.xiaomi.node.misegment.so 122 | vendor/lib64/camera/components/libdepthmapwrapper.so 123 | vendor/lib64/camera/components/libmmcamera_cac3.so 124 | vendor/lib64/camera/com.qti.sensor.imx582_davinci.so 125 | vendor/lib64/camera/com.qti.sensor.imx586_davinci.so 126 | vendor/lib64/camera/com.qti.sensor.ov8856_davinci.so 127 | vendor/lib64/camera/com.qti.sensor.s5k3l6_davinci.so 128 | vendor/lib64/camera/com.qti.sensor.s5k3t2_davinci.so 129 | vendor/lib64/camera/com.qti.sensormodule.davinci_luxvisions_imx582.bin 130 | vendor/lib64/camera/com.qti.sensormodule.davinci_luxvisions_imx586.bin 131 | vendor/lib64/camera/com.qti.sensormodule.davinci_luxvisions_ov8856.bin 132 | vendor/lib64/camera/com.qti.sensormodule.davinci_luxvisions_s5k3l6.bin 133 | vendor/lib64/camera/com.qti.sensormodule.davinci_ofilm_imx582.bin 134 | vendor/lib64/camera/com.qti.sensormodule.davinci_ofilm_imx586.bin 135 | vendor/lib64/camera/com.qti.sensormodule.davinci_ofilm_ov8856.bin 136 | vendor/lib64/camera/com.qti.sensormodule.davinci_ofilm_s5k3l6.bin 137 | vendor/lib64/camera/com.qti.sensormodule.davinci_sunny_s5k3t2.bin 138 | vendor/lib64/camera/com.qti.tuned.davinci_luxvisions_imx582.bin 139 | vendor/lib64/camera/com.qti.tuned.davinci_luxvisions_imx586.bin 140 | vendor/lib64/camera/com.qti.tuned.davinci_luxvisions_ov8856.bin 141 | vendor/lib64/camera/com.qti.tuned.davinci_luxvisions_s5k3l6.bin 142 | vendor/lib64/camera/com.qti.tuned.davinci_ofilm_imx582.bin 143 | vendor/lib64/camera/com.qti.tuned.davinci_ofilm_imx586.bin 144 | vendor/lib64/camera/com.qti.tuned.davinci_ofilm_ov8856.bin 145 | vendor/lib64/camera/com.qti.tuned.davinci_ofilm_s5k3l6.bin 146 | vendor/lib64/camera/com.qti.tuned.davinci_sunny_s5k3t2.bin 147 | vendor/lib64/camera/com.qti.tuned.default.bin 148 | vendor/lib64/camera/fdconfigpreview.bin 149 | vendor/lib64/camera/fdconfigpreviewlite.bin 150 | vendor/lib64/camera/fdconfigvideo.bin 151 | vendor/lib64/camera/fdconfigvideolite.bin 152 | vendor/lib64/hw/camera.qcom.so 153 | vendor/lib64/hw/com.qti.chi.override.so 154 | vendor/lib64/libFaceGrade.so 155 | vendor/lib64/libHalSuperSensorServer.so 156 | vendor/lib64/libSuperSensor.so 157 | vendor/lib64/libSuperSensorCPU.so 158 | vendor/lib64/libVDClearShot.so 159 | vendor/lib64/libVDSuperPhotoAPI.so 160 | vendor/lib64/libXMFD_AgeGender.so 161 | vendor/lib64/lib_denoiser3.so 162 | vendor/lib64/libalAILDC.so 163 | vendor/lib64/libalCFR.so 164 | vendor/lib64/libalLDC.so 165 | vendor/lib64/libalhLDC.so 166 | vendor/lib64/libarcsat.so 167 | vendor/lib64/libarcsoft_beautyshot.so 168 | vendor/lib64/libarcsoft_bodyslim.so 169 | vendor/lib64/libarcsoft_distortion_correction.so 170 | vendor/lib64/libarcsoft_dualcam_image_optical_zoom.so 171 | vendor/lib64/libarcsoft_dualcam_optical_zoom_control.so 172 | vendor/lib64/libarcsoft_dualcam_refocus.so 173 | vendor/lib64/libarcsoft_dualcam_refocus_front.so 174 | vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so 175 | vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so 176 | vendor/lib64/libarcsoft_high_dynamic_range.so 177 | vendor/lib64/libarcsoft_low_light_hdr.so 178 | vendor/lib64/libarcsoft_portrait_lighting.so 179 | vendor/lib64/libarcsoft_portrait_lighting_c.so 180 | vendor/lib64/libarcsoft_preview_deflicker.so 181 | vendor/lib64/libarcsoft_supernight.so 182 | vendor/lib64/libc++_shared.so 183 | vendor/lib64/libcamera_nn_stub.so 184 | vendor/lib64/libcamera_scene.so 185 | vendor/lib64/libcamxfdalgov7.so 186 | vendor/lib64/libcamxfdalgov8.so 187 | vendor/lib64/libcamxfdengine.so 188 | vendor/lib64/libcamxstatscore.so 189 | vendor/lib64/libcamxswprocessalgo.so 190 | vendor/lib64/libcamxtintlessalgo.so 191 | vendor/lib64/libcom.qti.chinodeutils.so 192 | vendor/lib64/libft2vendor.so 193 | vendor/lib64/libmialgo_fs.so 194 | vendor/lib64/libmialgo_rfs.so 195 | vendor/lib64/libmialgo_sd.so 196 | vendor/lib64/libmialgo_utils.so 197 | vendor/lib64/libmialgoengine.so 198 | vendor/lib64/libmibokeh_712.so 199 | vendor/lib64/libmpbase.so 200 | vendor/lib64/libnanopb.so 201 | vendor/lib64/libnpu.so 202 | vendor/lib64/libremosaic_daemon.so 203 | vendor/lib64/libremosaiclib.so 204 | vendor/lib64/libswregistrationalgo.so 205 | vendor/lib64/libsysmon_cdsp_skel.so 206 | vendor/lib64/libtriplecam_optical_zoom_control.so 207 | vendor/lib64/libtriplecam_video_optical_zoom.so 208 | vendor/lib64/libvidhance.so 209 | 210 | # Camera Firmware 211 | vendor/firmware/CAMERA_ICP.elf 212 | 213 | # Camera Motor 214 | system/media/audio/ui/popup_cangmen_down.ogg:system_ext/media/audio/ui/popup_cangmen_down.ogg 215 | system/media/audio/ui/popup_cangmen_up.ogg:system_ext/media/audio/ui/popup_cangmen_up.ogg 216 | system/media/audio/ui/popup_chilun_down.ogg:system_ext/media/audio/ui/popup_chilun_down.ogg 217 | system/media/audio/ui/popup_chilun_up.ogg:system_ext/media/audio/ui/popup_chilun_up.ogg 218 | system/media/audio/ui/popup_jijia_down.ogg:system_ext/media/audio/ui/popup_jijia_down.ogg 219 | system/media/audio/ui/popup_jijia_up.ogg:system_ext/media/audio/ui/popup_jijia_up.ogg 220 | system/media/audio/ui/popup_mofa_down.ogg:system_ext/media/audio/ui/popup_mofa_down.ogg 221 | system/media/audio/ui/popup_mofa_up.ogg:system_ext/media/audio/ui/popup_mofa_up.ogg 222 | system/media/audio/ui/popup_muqin_down.ogg:system_ext/media/audio/ui/popup_muqin_down.ogg 223 | system/media/audio/ui/popup_muqin_up.ogg:system_ext/media/audio/ui/popup_muqin_up.ogg 224 | system/media/audio/ui/popup_yingyan_down.ogg:system_ext/media/audio/ui/popup_yingyan_down.ogg 225 | system/media/audio/ui/popup_yingyan_up.ogg:system_ext/media/audio/ui/popup_yingyan_up.ogg 226 | vendor/bin/hw/vendor.xiaomi.hardware.motor@1.0-service 227 | vendor/etc/step_motor/mi_camera_config.xml 228 | vendor/lib64/hw/vendor.xiaomi.hardware.motor@1.0-impl.so 229 | vendor/lib64/libmivendor_module_calibration.so 230 | vendor/lib64/libmivendor_module_hall.so 231 | vendor/lib64/libmivendor_module_motor.so 232 | vendor/lib64/mi.motor.daemon.so 233 | 234 | # Display calibration 235 | vendor/etc/hdr_config.cfg 236 | vendor/etc/sdr_config.cfg 237 | 238 | # Fingerprint 239 | vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.sm6150.so;FIX_SONAME 240 | vendor/lib64/libgf_hal.so 241 | 242 | # GPU (Firmware) 243 | vendor/firmware/a615_zap.b00 244 | vendor/firmware/a615_zap.b01 245 | vendor/firmware/a615_zap.b02 246 | vendor/firmware/a615_zap.elf 247 | vendor/firmware/a615_zap.mdt 248 | vendor/firmware/a618_gmu.bin 249 | vendor/firmware/a630_sqe.fw 250 | 251 | # IPA (Firmware) 252 | vendor/firmware/ipa_fws.b00 253 | vendor/firmware/ipa_fws.b01 254 | vendor/firmware/ipa_fws.b02 255 | vendor/firmware/ipa_fws.b03 256 | vendor/firmware/ipa_fws.b04 257 | vendor/firmware/ipa_fws.elf 258 | vendor/firmware/ipa_fws.mdt 259 | 260 | # NFC 261 | vendor/lib/libsn100u_fw.so 262 | 263 | # QDCM - ea - from raphael 12.5.4.0 MIUI release 264 | vendor/etc/qdcm_calib_data_ss_ea_fhd_cmd_dsi_panel.xml|4a04fcc172cf45ba84728714953230d377a7d2ea 265 | 266 | # QDCM - eb - from latest miui stable Q 267 | vendor/etc/qdcm_calib_data_ss_eb_fhd_cmd_dsi_panel.xml|9592ec2725e2be9b43a13d7ba87ef2a10ba5e249 268 | 269 | # Sensors 270 | vendor/bin/sensors.qti 271 | vendor/etc/init/init.vendor.sensors.rc 272 | vendor/etc/init/vendor.sensors.qti.rc 273 | vendor/etc/sensors/config/adux1050_0.json 274 | vendor/etc/sensors/config/ak991x_dri_0.json 275 | vendor/etc/sensors/config/icm4x6xx_0.json 276 | vendor/etc/sensors/config/lsm6ds3c_0.json 277 | vendor/etc/sensors/config/sm6150_adux1050_0.json 278 | vendor/etc/sensors/config/sm6150_ak991x_0.json 279 | vendor/etc/sensors/config/sm6150_icm4x6xx_0.json 280 | vendor/etc/sensors/config/sm6150_lsm6ds3c_0.json 281 | vendor/etc/sensors/config/sm6150_power_0.json 282 | vendor/etc/sensors/config/sm6150_tcs3701.json 283 | vendor/etc/sensors/config/sns_amd.json 284 | vendor/etc/sensors/config/sns_amd_sw_disabled.json 285 | vendor/etc/sensors/config/sns_aod.json 286 | vendor/etc/sensors/config/sns_basic_gestures.json 287 | vendor/etc/sensors/config/sns_bring_to_ear.json 288 | vendor/etc/sensors/config/sns_ccd.json 289 | vendor/etc/sensors/config/sns_cm.json 290 | vendor/etc/sensors/config/sns_dae.json 291 | vendor/etc/sensors/config/sns_device_orient.json 292 | vendor/etc/sensors/config/sns_diag_filter.json 293 | vendor/etc/sensors/config/sns_distance_bound.json 294 | vendor/etc/sensors/config/sns_dpc.json 295 | vendor/etc/sensors/config/sns_facing.json 296 | vendor/etc/sensors/config/sns_fmv.json 297 | vendor/etc/sensors/config/sns_geomag_rv.json 298 | vendor/etc/sensors/config/sns_gyro_cal.json 299 | vendor/etc/sensors/config/sns_mag_cal.json 300 | vendor/etc/sensors/config/sns_multishake.json 301 | vendor/etc/sensors/config/sns_nonui.json 302 | vendor/etc/sensors/config/sns_pedometer.json 303 | vendor/etc/sensors/config/sns_rmd.json 304 | vendor/etc/sensors/config/sns_rotv.json 305 | vendor/etc/sensors/config/sns_smd.json 306 | vendor/etc/sensors/config/sns_tilt.json 307 | vendor/etc/sensors/config/sns_tilt_sw_enabled.json 308 | vendor/etc/sensors/config/sns_tilt_to_wake.json 309 | vendor/etc/sensors/config/tcs3701.json 310 | vendor/etc/sensors/sns_reg_config 311 | vendor/lib64/libsensorcal.so 312 | vendor/lib64/libsensorslog.so 313 | vendor/lib64/libsns_device_mode_stub.so 314 | vendor/lib64/libsns_fastRPC_util.so 315 | vendor/lib64/libsns_low_lat_stream_stub.so 316 | vendor/lib64/libsnsapi.so 317 | vendor/lib64/libsnsdiaglog.so 318 | vendor/lib64/libssc.so 319 | vendor/lib64/libssc_default_listener.so 320 | vendor/lib64/sensors.ssc.so 321 | 322 | # Touchfeature 323 | vendor/bin/hw/vendor.xiaomi.hardware.touchfeature@1.0-service 324 | vendor/etc/init/vendor.xiaomi.hardware.touchfeature@1.0-service.rc 325 | vendor/lib64/hw/vendor.xiaomi.hardware.touchfeature@1.0-impl.so 326 | 327 | # Thermal 328 | vendor/bin/mi_thermald 329 | vendor/etc/init/init.mi_thermald.rc 330 | vendor/etc/thermal-arvr.conf 331 | vendor/etc/thermal-camera.conf 332 | vendor/etc/thermal-chg-only.conf 333 | vendor/etc/thermal-map.conf 334 | vendor/etc/thermal-nolimits.conf 335 | vendor/etc/thermal-normal.conf 336 | vendor/etc/thermal-phone.conf 337 | vendor/etc/thermal-tgame.conf 338 | vendor/etc/thermal-youtube.conf 339 | vendor/etc/thermald-devices.conf 340 | 341 | # Touchscreen 342 | vendor/firmware/goodix_gt9886_limit_f10_first.tporder 343 | vendor/firmware/goodix_gt9886_limit_f10_second.tporder 344 | -------------------------------------------------------------------------------- /reorder-libs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright (C) 2021 The LineageOS Project 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from functools import cmp_to_key 9 | from locale import LC_ALL, setlocale, strcoll 10 | from pathlib import Path 11 | 12 | FILES = [Path(file) for file in [ 13 | "proprietary-files.txt", 14 | ]] 15 | 16 | setlocale(LC_ALL, "C") 17 | 18 | def strcoll_extract_utils(string1: str, string2: str) -> int: 19 | # Skip logic if one of the string if empty 20 | if not string1 or not string2: 21 | return strcoll(string1, string2) 22 | 23 | # Remove '-' from strings if there, 24 | # it is used to indicate a build target 25 | string1 = string1.removeprefix('-') 26 | string2 = string2.removeprefix('-') 27 | 28 | # If no directories, compare normally 29 | if not "/" in string1 and not "/" in string2: 30 | return strcoll(string1, string2) 31 | 32 | string1_dir = string1.rsplit("/", 1)[0] + "/" 33 | string2_dir = string2.rsplit("/", 1)[0] + "/" 34 | if string1_dir == string2_dir: 35 | # Same directory, compare normally 36 | return strcoll(string1, string2) 37 | 38 | if string1_dir.startswith(string2_dir): 39 | # First string dir is a subdirectory of the second one, 40 | # return string1 > string2 41 | return -1 42 | 43 | if string2_dir.startswith(string1_dir): 44 | # Second string dir is a subdirectory of the first one, 45 | # return string2 > string1 46 | return 1 47 | 48 | # Compare normally 49 | return strcoll(string1, string2) 50 | 51 | for file in FILES: 52 | if not file.is_file(): 53 | print(f"File {str(file)} not found") 54 | continue 55 | 56 | with open(file, 'r') as f: 57 | sections = f.read().split("\n\n") 58 | 59 | ordered_sections = [] 60 | for section in sections: 61 | section_list = [line.strip() for line in section.splitlines()] 62 | section_list.sort(key=cmp_to_key(strcoll_extract_utils)) 63 | ordered_sections.append("\n".join(section_list)) 64 | 65 | with open(file, 'w') as f: 66 | f.write("\n\n".join(ordered_sections).strip() + "\n") 67 | -------------------------------------------------------------------------------- /rootdir/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(call my-dir) 2 | 3 | # Fstabs 4 | 5 | include $(CLEAR_VARS) 6 | LOCAL_MODULE := fstab.default_ramdisk 7 | LOCAL_MODULE_STEM := fstab.default 8 | LOCAL_MODULE_TAGS := optional 9 | LOCAL_MODULE_CLASS := ETC 10 | LOCAL_SRC_FILES := etc/fstab.default 11 | LOCAL_MODULE_PATH := $(TARGET_RAMDISK_OUT) 12 | include $(BUILD_PREBUILT) 13 | 14 | include $(CLEAR_VARS) 15 | LOCAL_MODULE := fstab.default 16 | LOCAL_MODULE_TAGS := optional 17 | LOCAL_MODULE_CLASS := ETC 18 | LOCAL_SRC_FILES := etc/fstab.default 19 | LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) 20 | include $(BUILD_PREBUILT) 21 | -------------------------------------------------------------------------------- /rootdir/etc/fstab.default: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018,2019 The Linux Foundation. All rights reserved. 2 | # 3 | # Redistribution and use in source and binary forms, with or without 4 | # modification, are permitted provided that the following conditions are 5 | # met: 6 | # * Redistributions of source code must retain the above copyright 7 | # notice, this list of conditions and the following disclaimer. 8 | # * Redistributions in binary form must reproduce the above 9 | # copyright notice, this list of conditions and the following 10 | # disclaimer in the documentation and/or other materials provided 11 | # with the distribution. 12 | # * Neither the name of The Linux Foundation nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | 28 | # Android fstab file. 29 | # The filesystem that contains the filesystem checker binary (typically /system) cannot 30 | # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 31 | 32 | #TODO: Add 'check' as fs_mgr_flags with data partition. 33 | # Currently we dont have e2fsck compiled. So fs check would failed. 34 | 35 | # 36 | system /system ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey,readahead_size_kb=128 37 | system_ext /system_ext ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 38 | product /product ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 39 | vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 40 | odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 41 | /dev/block/bootdevice/by-name/boot /boot emmc defaults recoveryonly 42 | /dev/block/bootdevice/by-name/recovery /recovery emmc defaults recoveryonly 43 | /dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait 44 | # Add fs_mgr flag - sysfs_path=/sys/devices/platform/soc/xxxx.[ufshc|sdhci] to userdata entry, based on UFS|eMMC device. 45 | /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,metadata_encryption=aes-256-xts:wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,quota,checkpoint=fs,readahead_size_kb=128 46 | /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable 47 | /devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer 48 | /devices/platform/soc/1da4000.ufshc_card/host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer 49 | /dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait 50 | /dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait 51 | /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait 52 | /dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait 53 | /devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.0.auto* auto auto defaults wait,voldmanaged=usbotg:auto 54 | # Need to have this entry in here even though the mount point itself is no longer needed. 55 | # The update_engine code looks for this entry in order to determine the boot device address 56 | # and fails if it does not find it. 57 | /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults 58 | /dev/block/zram0 none swap defaults zramsize=3221225472 59 | -------------------------------------------------------------------------------- /rootdir/etc/fstab.recovery: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018,2019 The Linux Foundation. All rights reserved. 2 | # 3 | # Redistribution and use in source and binary forms, with or without 4 | # modification, are permitted provided that the following conditions are 5 | # met: 6 | # * Redistributions of source code must retain the above copyright 7 | # notice, this list of conditions and the following disclaimer. 8 | # * Redistributions in binary form must reproduce the above 9 | # copyright notice, this list of conditions and the following 10 | # disclaimer in the documentation and/or other materials provided 11 | # with the distribution. 12 | # * Neither the name of The Linux Foundation nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | 28 | # Android fstab file. 29 | # The filesystem that contains the filesystem checker binary (typically /system) cannot 30 | # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 31 | 32 | #TODO: Add 'check' as fs_mgr_flags with data partition. 33 | # Currently we dont have e2fsck compiled. So fs check would failed. 34 | 35 | # 36 | system /system ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey,readahead_size_kb=128 37 | system_ext /system_ext ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 38 | product /product ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 39 | vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 40 | odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,readahead_size_kb=128 41 | /dev/block/bootdevice/by-name/boot /boot emmc defaults recoveryonly 42 | /dev/block/bootdevice/by-name/recovery /recovery emmc defaults recoveryonly 43 | /dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait 44 | # Add fs_mgr flag - sysfs_path=/sys/devices/platform/soc/xxxx.[ufshc|sdhci] to userdata entry, based on UFS|eMMC device. 45 | /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,quota,checkpoint=fs,readahead_size_kb=128 46 | /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable 47 | /devices/platform/soc/8804000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer 48 | /devices/platform/soc/1da4000.ufshc_card/host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer 49 | /dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait 50 | /dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait 51 | /dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait 52 | /dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait 53 | /devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.0.auto* auto auto defaults wait,voldmanaged=usbotg:auto 54 | # Need to have this entry in here even though the mount point itself is no longer needed. 55 | # The update_engine code looks for this entry in order to determine the boot device address 56 | # and fails if it does not find it. 57 | /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults 58 | /dev/block/zram0 none swap defaults zramsize=3221225472,zram_backingdev_size=512M 59 | -------------------------------------------------------------------------------- /rootdir/etc/init.davinci.rc: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. 2 | # 3 | # Redistribution and use in source and binary forms, with or without 4 | # modification, are permitted provided that the following conditions are 5 | # met: 6 | # * Redistributions of source code must retain the above copyright 7 | # notice, this list of conditions and the following disclaimer. 8 | # * Redistributions in binary form must reproduce the above 9 | # copyright notice, this list of conditions and the following 10 | # disclaimer in the documentation and/or other materials provided 11 | # with the distribution. 12 | # * Neither the name of The Linux Foundation nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17 | # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20 | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23 | # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25 | # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26 | # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | # 28 | # 29 | 30 | on post-fs-data 31 | mkdir /data/vendor/nfc 0770 nfc nfc 32 | 33 | on init 34 | write /sys/class/leds/green/max_brightness 32 35 | write /sys/class/leds/blue/max_brightness 32 36 | 37 | on charger 38 | chown system system /sys/class/leds/blue/brightness 39 | chown system system /sys/class/leds/green/brightness 40 | write /sys/class/leds/blue/brightness 255 41 | write /sys/class/leds/green/brightness 255 42 | 43 | on init && property:ro.boot.hwc=GLOBAL 44 | setprop bluetooth.device.default_name "Xiaomi Mi 9T" 45 | 46 | on init && property:ro.boot.hwc=CN 47 | setprop bluetooth.device.default_name "Xiaomi Redmi K20" 48 | 49 | on init && property:ro.boot.hwc=INDIA 50 | setprop bluetooth.device.default_name "Xiaomi Redmi K20" 51 | 52 | on property:ro.boot.product.hardware.sku=davinci 53 | enable vendor.nfc_hal_service 54 | 55 | service vendor.nfc_hal_service /vendor/bin/hw/android.hardware.nfc@1.2-service 56 | override 57 | class hal 58 | user nfc 59 | group nfc 60 | disabled 61 | 62 | service vendor.motor /vendor/bin/hw/vendor.xiaomi.hardware.motor@1.0-service 63 | class hal 64 | user system 65 | group system 66 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10C/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "WifiOverlayF10C", 3 | theme: "WifiOverlayF10C", 4 | sdk_version: "current", 5 | product_specific: true 6 | } 7 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10C/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 21 | 22 | 29 | 30 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10C/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | Xiaomi Redmi K20 25 | 26 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10G/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "WifiOverlayF10G", 3 | theme: "WifiOverlayF10G", 4 | sdk_version: "current", 5 | product_specific: true 6 | } 7 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10G/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 21 | 22 | 29 | 30 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10G/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | Xiaomi Mi 9T 25 | 26 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10I/Android.bp: -------------------------------------------------------------------------------- 1 | runtime_resource_overlay { 2 | name: "WifiOverlayF10I", 3 | theme: "WifiOverlayF10I", 4 | sdk_version: "current", 5 | product_specific: true 6 | } 7 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10I/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 21 | 22 | 29 | 30 | -------------------------------------------------------------------------------- /rro_overlays/WifiOverlayF10I/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | Xiaomi Redmi K20 25 | 26 | -------------------------------------------------------------------------------- /setup-makefiles.py: -------------------------------------------------------------------------------- 1 | #!./extract-files.py --regenerate_makefiles 2 | -------------------------------------------------------------------------------- /update-sha1sums.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # 3 | # Copyright (C) 2016 The CyanogenMod Project 4 | # Copyright (C) 2017-2018 The LineageOS Project 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | from hashlib import sha1 20 | import sys 21 | 22 | device='davinci' 23 | vendor='xiaomi' 24 | 25 | lines = [ line for line in open('proprietary-files.txt', 'r') ] 26 | vendorPath = '../../../vendor/' + vendor + '/' + device + '/proprietary' 27 | needSHA1 = False 28 | 29 | def cleanup(): 30 | for index, line in enumerate(lines): 31 | # Remove '\n' character 32 | line = line[:-1] 33 | 34 | # Skip empty or commented lines 35 | if len(line) == 0 or line[0] == '#': 36 | continue 37 | 38 | # Drop SHA1 hash, if existing 39 | if '|' in line: 40 | line = line.split('|')[0] 41 | lines[index] = '%s\n' % (line) 42 | 43 | def update(): 44 | for index, line in enumerate(lines): 45 | # Remove '\n' character 46 | line = line[:-1] 47 | 48 | # Skip empty lines 49 | if len(line) == 0: 50 | continue 51 | 52 | # Check if we need to set SHA1 hash for the next files 53 | if line[0] == '#': 54 | needSHA1 = (' - from' in line) 55 | continue 56 | 57 | if needSHA1: 58 | # Remove existing SHA1 hash 59 | line = line.split('|')[0] 60 | filePath = line.split(':')[1] if len(line.split(':')) == 2 else line 61 | 62 | if filePath[0] == '-': 63 | file = open('%s/%s' % (vendorPath, filePath[1:]), 'rb').read() 64 | else: 65 | file = open('%s/%s' % (vendorPath, filePath), 'rb').read() 66 | 67 | hash = sha1(file).hexdigest() 68 | lines[index] = '%s|%s\n' % (line, hash) 69 | 70 | if len(sys.argv) == 2 and sys.argv[1] == '-c': 71 | cleanup() 72 | else: 73 | update() 74 | 75 | with open('proprietary-files.txt', 'w') as file: 76 | for line in lines: 77 | file.write(line) 78 | 79 | file.close() 80 | -------------------------------------------------------------------------------- /vendor.prop: -------------------------------------------------------------------------------- 1 | # Audio 2 | persist.vendor.audio.hifi=false 3 | ro.vendor.audio.sdk.fluencetype=fluence 4 | vendor.audio.feature.compr_voip.enable=false 5 | vendor.voice.path.for.pcm.voip=false 6 | 7 | # ACDB 8 | persist.vendor.audio.calfile0=/vendor/etc/acdbdata/Forte/Forte_Speaker_cal.acdb 9 | persist.vendor.audio.calfile1=/vendor/etc/acdbdata/Forte/Forte_Headset_cal.acdb 10 | persist.vendor.audio.calfile2=/vendor/etc/acdbdata/Forte/Forte_General_cal.acdb 11 | persist.vendor.audio.calfile3=/vendor/etc/acdbdata/Forte/Forte_Codec_cal.acdb 12 | persist.vendor.audio.calfile4=/vendor/etc/acdbdata/Forte/Forte_Bluetooth_cal.acdb 13 | persist.vendor.audio.calfile5=/vendor/etc/acdbdata/Forte/Forte_Hdmi_cal.acdb 14 | persist.vendor.audio.calfile6=/vendor/etc/acdbdata/Forte/Forte_Global_cal.acdb 15 | persist.vendor.audio.calfile7=/vendor/etc/acdbdata/Forte/Forte_Handset_cal.acdb 16 | 17 | # Display post-processing 18 | ro.vendor.display.ad=1 19 | ro.vendor.display.ad.hdr_calib_data=/vendor/etc/hdr_config.cfg 20 | ro.vendor.display.ad.sdr_calib_data=/vendor/etc/sdr_config.cfg 21 | --------------------------------------------------------------------------------