diff --git a/audio/audio_effects.xml b/audio/audio_effects.xml
index 484b30a..60c5b5c 100644
--- a/audio/audio_effects.xml
+++ b/audio/audio_effects.xml
@@ -11,6 +11,7 @@
+
@@ -29,6 +30,7 @@
+
diff --git a/audio/audio_policy_configuration.xml b/audio/audio_policy_configuration.xml
index df952e1..d9e49a4 100644
--- a/audio/audio_policy_configuration.xml
+++ b/audio/audio_policy_configuration.xml
@@ -50,6 +50,21 @@
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
+
+
+
+
+
+
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,hifi_playback,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload,hifi_playback,voip_rx"/>
+ sources="primary output,deep_buffer,direct_pcm,compressed_offload"/>
- 1,-4000
- 70,-1600
- 84,-800
+ 1,-5300
+ 70,-2390
+ 84,-1010
100,0
- 1,-3200
- 33,-2700
- 66,-2200
- 100,-1700
+ 1,-3800
+ 33,-3300
+ 66,-2800
+ 100,-2300
@@ -62,12 +62,12 @@
- 1,-5000
- 30,-3300
- 43,-2000
- 65,-1200
- 85,-600
- 93,-300
+ 1,-6400
+ 30,-4300
+ 43,-2600
+ 65,-1400
+ 85,-750
+ 93,-500
100,0
diff --git a/audio/sku_yupik/audio_platform_info.xml b/audio/sku_yupik/audio_platform_info.xml
index a39a1c2..e61ad5b 100644
--- a/audio/sku_yupik/audio_platform_info.xml
+++ b/audio/sku_yupik/audio_platform_info.xml
@@ -84,6 +84,7 @@
+
@@ -155,6 +156,7 @@
+
@@ -351,6 +353,7 @@
+
@@ -366,6 +369,7 @@
+
diff --git a/audio/sku_yupik/mixer_paths.xml b/audio/sku_yupik/mixer_paths.xml
index 735c770..074103b 100644
--- a/audio/sku_yupik/mixer_paths.xml
+++ b/audio/sku_yupik/mixer_paths.xml
@@ -165,8 +165,6 @@
-
-
@@ -281,7 +279,6 @@
-
@@ -318,8 +315,6 @@
-
-
@@ -446,17 +441,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -467,6 +451,9 @@
+
+
+
@@ -508,6 +495,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -544,7 +546,6 @@
-
@@ -615,7 +616,6 @@
-
@@ -699,7 +699,6 @@
-
@@ -756,7 +755,6 @@
-
@@ -908,7 +906,6 @@
-
@@ -933,7 +930,6 @@
-
@@ -958,7 +954,6 @@
-
@@ -983,7 +978,6 @@
-
@@ -1161,7 +1155,6 @@
-
@@ -1190,7 +1183,6 @@
-
@@ -1221,7 +1213,6 @@
-
@@ -1250,7 +1241,6 @@
-
@@ -1271,7 +1261,6 @@
-
@@ -1326,7 +1315,6 @@
-
@@ -1351,6 +1339,10 @@
+
+
+
+
@@ -1369,7 +1361,6 @@
-
@@ -1590,10 +1581,18 @@
+
+
+
+
+
+
+
+
@@ -1606,6 +1605,10 @@
+
+
+
+
@@ -1638,6 +1641,10 @@
+
+
+
+
@@ -1661,6 +1668,7 @@
+
@@ -1790,9 +1798,6 @@
-
-
-
@@ -1931,8 +1936,9 @@
-
+
+
@@ -1954,7 +1960,6 @@
-
@@ -1976,6 +1981,7 @@
+
@@ -2065,6 +2071,10 @@
+
+
+
+
diff --git a/resource-overlay/berlna/Frameworks/res/values/config.xml b/resource-overlay/berlna/Frameworks/res/values/config.xml
index 7d9e192..0c17871 100644
--- a/resource-overlay/berlna/Frameworks/res/values/config.xml
+++ b/resource-overlay/berlna/Frameworks/res/values/config.xml
@@ -127,11 +127,10 @@
@see https://www.w3.org/TR/SVG/paths.html#PathData
-->
- M 0,0
- h -35
- v 90
- h 70
- v -90
+ M -50,0
+ L 50,0
+ L 50,115
+ L -50,115
Z
@@ -288,7 +287,7 @@
the framework from using higher refresh rates, even if display modes with higher refresh
rates are available from hardware composer. Only has an effect if the value is
non-zero. -->
- 60
+ 120
motorolaedge
diff --git a/rootdir/bin/init.oem.fingerprint.overlay.sh b/rootdir/bin/init.oem.fingerprint.overlay.sh
new file mode 100644
index 0000000..b44b0dc
--- /dev/null
+++ b/rootdir/bin/init.oem.fingerprint.overlay.sh
@@ -0,0 +1,89 @@
+#!/vendor/bin/sh
+#
+# Identify fingerprint sensor model
+#
+# Copyright (c) 2019 Lenovo
+# All rights reserved.
+#
+# Changed Log:
+# ---------------------------------
+# April 15, 2019 chengql2@lenovo.com Initial version
+# April 28, 2019 chengql2 Add fps_id creating step
+# December 2, 2019 chengql2 Store fps_id into persist fs, and identify sensor
+# again when secure unit boots as factory mode.
+
+script_name=${0##*/}
+script_name=${script_name%.*}
+function log {
+ echo "$script_name: $*" > /dev/kmsg
+}
+
+persist_fps_id=/mnt/vendor/persist/fps/vendor_id
+
+FPS_VENDOR_GOODIX=goodix
+FPS_VENDOR_EGIS=egis
+FPS_VENDOR_NONE=none
+
+function is_file_ready {
+ if [ "$(ls $1)" != "" ]; then
+ return 0
+ fi
+ log "$0 - wait for $1 ..."
+ for i in $(seq 1 100); do
+ if [ "$(ls $1)" == "" ]; then
+ continue
+ fi
+ return 0
+ done
+ log "$0 - timeout"
+ return 1
+}
+
+function ident_fps {
+ log "- install Goodix FPS kernel module"
+ insmod /vendor/lib/modules/goodix_fod_mmi.ko
+
+ log "- identify Goodix fingerprint sensor"
+ is_file_ready /dev/goodix_fp
+ is_file_ready /vendor/firmware_mnt/image/goodixfp.mdt
+ /vendor/bin/hw/goodix_ident
+ if [ $? -eq 0 ]; then
+ log "ok"
+ echo $FPS_VENDOR_GOODIX > $persist_fps_id
+ return 0
+ fi
+
+ log "- uninstall Goodix FPS kernel module"
+ rmmod goodix_fod_mmi
+
+ log "- install Egis FPS kernel module"
+ insmod /vendor/lib/modules/ets_fps_mmi.ko
+ echo $FPS_VENDOR_EGIS > $persist_fps_id
+ return 0
+}
+
+if [ ! -f $persist_fps_id ]; then
+ ident_fps
+ return $?
+fi
+
+fps_vendor=$(cat $persist_fps_id)
+if [ -z $fps_vendor ]; then
+ fps_vendor=$FPS_VENDOR_NONE
+fi
+log "FPS vendor: $fps_vendor"
+
+if [ $fps_vendor == $FPS_VENDOR_EGIS ]; then
+ log "- install EgisTech FPS kernel module"
+ insmod /vendor/lib/modules/ets_fps_mmi.ko
+ return $?
+fi
+
+if [ $fps_vendor == $FPS_VENDOR_GOODIX ]; then
+ log "- install Goodix FPS kernel module"
+ insmod /vendor/lib/modules/goodix_fod_mmi.ko
+ return $?
+fi
+
+ident_fps
+return $?
diff --git a/rootdir/bin/init.oem.fingerprint2.sh b/rootdir/bin/init.oem.fingerprint2.sh
new file mode 100644
index 0000000..8f6d37a
--- /dev/null
+++ b/rootdir/bin/init.oem.fingerprint2.sh
@@ -0,0 +1,109 @@
+#!/vendor/bin/sh
+#
+# Start indicated fingerprint HAL service
+#
+# Copyright (c) 2019 Lenovo
+# All rights reserved.
+#
+# April 15, 2019 chengql2@lenovo.com Initial version
+# December 2, 2019 chengql2 Store fps_id into persist fs
+
+script_name=${0##*/}
+script_name=${script_name%.*}
+function log {
+ echo "$script_name: $*" > /dev/kmsg
+}
+
+persist_fps_id=/mnt/vendor/persist/fps/vendor_id
+persist_fps_id2=/mnt/vendor/persist/fps/last_vendor_id
+MAX_TIMES=20
+
+if [ ! -f $persist_fps_id ]; then
+ log "warn: no associated persist file found"
+ return -1
+fi
+
+FPS_VENDOR_NONE=none
+FPS_VENDOR_EGIS=egis
+FPS_VENDOR_GOODIX=goodix
+
+prop_fps_status=vendor.hw.fingerprint.status
+prop_persist_fps=persist.vendor.hardware.fingerprint
+
+FPS_STATUS_NONE=none
+FPS_STATUS_OK=ok
+
+fps_vendor2=$(cat $persist_fps_id2)
+if [ -z $fps_vendor2 ]; then
+ fps_vendor2=$FPS_VENDOR_NONE
+fi
+log "FPS vendor (last): $fps_vendor2"
+fps_vendor=$(cat $persist_fps_id)
+if [ -z $fps_vendor ]; then
+ fps_vendor=$FPS_VENDOR_NONE
+fi
+log "FPS vendor: $fps_vendor"
+
+if [ $fps_vendor == $FPS_STATUS_NONE ]; then
+ log "warn: boot as the last FPS"
+ fps=$fps_vendor2
+else
+ fps=$fps_vendor
+fi
+
+for i in $(seq 1 2); do
+ setprop $prop_fps_status $FPS_STATUS_NONE
+ if [ $fps == $FPS_VENDOR_GOODIX ]; then
+ log "- start service 'goodix_hal'"
+ start goodix_hal
+ else
+ log "- start service 'ets_hal'"
+ start ets_hal
+ fi
+
+ sleep 1.2
+ fps_status=$(getprop $prop_fps_status)
+ if [ $fps_status == $FPS_STATUS_NONE ]; then
+ log "- wait for fingerprint HAL service ..."
+ for j in $(seq 1 100); do
+ fps_status=$(getprop $prop_fps_status)
+ if [ $fps_status != $FPS_STATUS_NONE ]; then
+ break
+ fi
+ sleep 0.2
+ done
+ fi
+ log "status: $fps_status"
+ if [ $fps_status == $FPS_STATUS_OK ]; then
+ log "HAL success"
+ setprop $prop_persist_fps $fps
+ if [ $fps_vendor2 == $fps ]; then
+ return 0
+ fi
+ log "- update FPS vendor (last)"
+ echo $fps > $persist_fps_id2
+ log "- done"
+ return 0
+ fi
+
+ if [ $fps == $fps_vendor2 ]; then
+ if [ $fps == $FPS_VENDOR_GOODIX ]; then
+ rmmod goodix_fod_mmi
+ insmod /vendor/lib/modules/ets_fps_mmi.ko
+ fps=$FPS_VENDOR_EGIS
+ else
+ rmmod ets_fps_mmi
+ insmod /vendor/lib/modules/goodix_fod_mmi.ko
+ fps=$FPS_VENDOR_GOODIX
+ fi
+ log "- update FPS vendor"
+ echo $fps > $persist_fps_id
+ sleep 1
+ else
+ log "error: HAL fail again"
+ setprop $prop_persist_fps $FPS_VENDOR_NONE
+ echo $FPS_VENDOR_NONE > $persist_fps_id
+ log "- done"
+ return 1
+ fi
+done
diff --git a/rootdir/etc/init/hw/init.mmi.overlay.rc b/rootdir/etc/init/hw/init.mmi.overlay.rc
index 73735e4..60d1b28 100644
--- a/rootdir/etc/init/hw/init.mmi.overlay.rc
+++ b/rootdir/etc/init/hw/init.mmi.overlay.rc
@@ -10,8 +10,7 @@ on early-init
insmod /vendor/lib/modules/bm_adsp_ulog.ko
insmod /vendor/lib/modules/mmi_charger.ko
insmod /vendor/lib/modules/qti_glink_charger.ko
- insmod /vendor/lib/modules/cirrus_wm_adsp.ko
- insmod /vendor/lib/modules/cirrus_cs35l41.ko
+ insmod /vendor/lib/modules/aw882xx_k504.ko
insmod /vendor/lib/modules/mmi_sys_temp.ko
insmod /vendor/lib/modules/wl2864c.ko
insmod /vendor/lib/modules/goodix_mmi.ko
@@ -19,12 +18,10 @@ on early-init
insmod /vendor/lib/modules/aw8695.ko
insmod /vendor/lib/modules/cci_intf.ko
insmod /vendor/lib/modules/qpnp_adaptive_charge.ko
+ insmod /vendor/lib/modules/5.4-gki/camera.ko
+ insmod /vendor/lib/modules/5.4-gki/aw8695.ko
start vendor.mmi_modules
-on fs
- # Goodix fingerprint sensor GF3626 reuses the driver "goodix_fod_mmi.ko"
- insmod /vendor/lib/modules/goodix_fod_mmi.ko
-
on post-fs
# Sensors
chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_enabled
@@ -45,6 +42,7 @@ on post-fs-data
# Param updater data for various modules
mkdir /data/vendor/param 0775 system system
mkdir /data/vendor/tzstorage/goodix 0770 system system
+ exec_start vendor.ident-fps-overlay-sh
on early-boot
# Goodix fingerprint
@@ -52,26 +50,11 @@ on early-boot
chmod 0664 /dev/goodix_fp
on boot
- # allow TCMD to access cci for OIS test
- chmod 0660 /dev/cci_intf
- chown system camera /dev/cci_intf
-
#change adsp pmic test command file access permission
chown vendor_tcmd system /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/tcmd
chown vendor_tcmd system /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/force_pmic_icl
chmod 0660 /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/tcmd
chmod 0660 /sys/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:mmi,qti-glink-charger/force_pmic_icl
- # Touch game mode control
- chown system system /sys/class/touchscreen/primary/rotate
- chmod 0660 /sys/class/touchscreen/primary/rotate
- chown system system /sys/class/touchscreen/primary/interpolation
- chmod 0660 /sys/class/touchscreen/primary/interpolation
- chown system system /sys/class/touchscreen/primary/edge
- chmod 0660 /sys/class/touchscreen/primary/edge
- chown system system /sys/class/touchscreen/primary/first_filter
- chmod 0660 /sys/class/touchscreen/primary/first_filter
- chown system system /sys/class/touchscreen/primary/sensitivity
- chmod 0660 /sys/class/touchscreen/primary/sensitivity
chown system system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/double_click
chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/double_click
chown system system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0049/single_click
@@ -94,5 +77,25 @@ on property:sys.boot_completed=1
start capsense_reset
on property:persist.vendor.paramfile.parse_panel=1
- write /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_parse_para "5"
+ write /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dsi_display_parse_para "1"
+service vendor.ident-fps-overlay-sh /vendor/bin/init.oem.fingerprint.overlay.sh
+ class core
+ user root
+ group drmrpc system
+ oneshot
+ disabled
+
+service vendor.ident-fps-sh /vendor/bin/init.oem.fingerprint.sh
+ class core
+ user root
+ group drmrpc system
+ oneshot
+ disabled
+
+service egis_ident /vendor/bin/egis_ident
+ class late_start
+ user system
+ group system
+ oneshot
+ disabled