huangcm
2024-10-12 d3acb07ae52cd1e07661d853cb07895d324a847f
feat(board): fix poweroff & eth & hp pro

1. no deep sleep
2. eth use random ether addr
3. always plug in hp state
5 files modified
25 ■■■■ changed files
android/device/softwinner/ceres-c3/ceres_c3.mk 4 ●●●● patch | view | raw | blame | history
android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml 2 ●●● patch | view | raw | blame | history
android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java 5 ●●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c 7 ●●●●● patch | view | raw | blame | history
longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c 7 ●●●● patch | view | raw | blame | history
android/device/softwinner/ceres-c3/ceres_c3.mk
....@@ -305,6 +305,10 @@
305305 persist.sys.country=US \
306306 persist.sys.language=en
307307
308
+# holding wake lock
309
+PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
310
+ persist.sys.kickpi_holding_wakelock=true
311
+
308312 # stoarge
309313 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
310314 persist.fw.force_adoptable=true
android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
....@@ -127,7 +127,7 @@
127127 <integer name="def_multi_press_timeout_millis">300</integer>
128128
129129 <!-- Default for Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD -->
130
- <bool name="def_show_ime_with_hard_keyboard">false</bool>
130
+ <bool name="def_show_ime_with_hard_keyboard">true</bool>
131131
132132 <!-- Default for Settings.System.POINTER_SPEED -->
133133 <integer name="def_pointer_speed">0</integer>
android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java
....@@ -2701,6 +2701,11 @@
27012701 }
27022702 }
27032703
2704
+ if (SystemProperties.getBoolean("persist.sys.kickpi_holding_wakelock", false)){
2705
+ Slog.d(TAG, "Holding wake lock suspend blocker");
2706
+ return;
2707
+ }
2708
+
27042709 // Then release suspend blockers if needed.
27052710 if (!needWakeLockSuspendBlocker && mHoldingWakeLockSuspendBlocker) {
27062711 mWakeLockSuspendBlocker.release();
longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c
....@@ -904,12 +904,13 @@
904904 for (i = 0; i < ETH_ALEN; i++, p++)
905905 ndev->dev_addr[i] = simple_strtoul(p, &p, 16);
906906
907
- if (!is_valid_ether_addr(ndev->dev_addr))
908
- geth_chip_hwaddr(ndev->dev_addr);
907
+ // if (!is_valid_ether_addr(ndev->dev_addr)) {
908
+ // geth_chip_hwaddr(ndev->dev_addr);
909
+ // }
909910
910911 if (!is_valid_ether_addr(ndev->dev_addr)) {
911912 random_ether_addr(ndev->dev_addr);
912
- pr_warn("%s: Use random mac address\n", ndev->name);
913
+ pr_err("%s: Use random mac address\n", ndev->name);
913914 }
914915 }
915916 }
longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c
....@@ -364,7 +364,8 @@
364364 regval &= ~(0x1 << JACK_DET_IIN_ST);
365365 regval |= 0x1 << JACK_DET_OUT_ST;
366366 snd_soc_write(priv->codec, SUNXI_HMIC_STS, regval);
367
- priv->detect_state = PLUG_OUT;
367
+ // priv->detect_state = PLUG_OUT;
368
+ priv->detect_state = PLUG_IN; // always plugin
368369 schedule_delayed_work(&priv->hs_detect_work,
369370 msecs_to_jiffies(10));
370371 }
....@@ -815,7 +816,7 @@
815816 * initial the parameters for judge switch state
816817 */
817818 priv->HEADSET_DATA = 0x10;
818
- priv->detect_state = PLUG_OUT;
819
+ priv->detect_state = PLUG_IN;
819820 INIT_DELAYED_WORK(&priv->hs_detect_work, sunxi_check_hs_detect_status);
820821 INIT_DELAYED_WORK(&priv->hs_button_work, sunxi_check_hs_button_status);
821822 INIT_DELAYED_WORK(&priv->hs_init_work, sunxi_hs_init_work);
....@@ -838,6 +839,8 @@
838839
839840 dev_warn(&pdev->dev, "[%s] register card finished.\n", __func__);
840841
842
+ schedule_delayed_work(&priv->hs_detect_work, msecs_to_jiffies(10));
843
+
841844 return 0;
842845
843846 err_devm_kfree: