From 511b111543524704f6182b374e489f5d0e51db8c Mon Sep 17 00:00:00 2001
From: huangcm <1263938474@qq.com>
Date: Fri, 11 Apr 2025 08:00:37 +0000
Subject: [PATCH] fix(battery): fix suspend err & add usb en

---
 longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts       |    8 ++++----
 longan/brandy/brandy-2.0/u-boot-2018/board/sunxi/power_manage.c |   13 ++++++++++---
 longan/kernel/linux-4.9/kernel/printk/printk.c                  |    3 ++-
 3 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/longan/brandy/brandy-2.0/u-boot-2018/board/sunxi/power_manage.c b/longan/brandy/brandy-2.0/u-boot-2018/board/sunxi/power_manage.c
index 23ba577..da87f35 100644
--- a/longan/brandy/brandy-2.0/u-boot-2018/board/sunxi/power_manage.c
+++ b/longan/brandy/brandy-2.0/u-boot-2018/board/sunxi/power_manage.c
@@ -454,6 +454,7 @@
 	char bootreason[16] = {0};
 	int ret = 0, bat_exist = 0;
     int dcin_exist = pmu_get_reg_value(AXP81X_STATUS);
+    int sys_mode = 0;
 
 	ret = script_parser_fetch(FDT_PATH_POWER_SPLY, "battery_exist", &bat_exist, 1);
 	if (ret < 0) {
@@ -470,7 +471,8 @@
 	val = gd->pmu_saved_status;
 #endif
 #endif
-    printf("kickpi pmu_get_sys_mode = %d\n", pmu_get_sys_mode());
+    sys_mode = pmu_get_sys_mode();
+    printf("kickpi pmu_get_sys_mode = %d\n", sys_mode);
 	if ((val == -1) && (pmu_get_sys_mode() == SUNXI_CHARGING_FLAG)) {
 		val = AXP_BOOT_SOURCE_CHARGER;
 		pmu_set_sys_mode(0);
@@ -478,11 +480,16 @@
 
     if (bat_exist == 1) {
         /* When the battery exists, it can only be turned on by power key */
-        if (pmu_axp707_get_poweron_source() != AXP_BOOT_SOURCE_BUTTON) {
+        if (pmu_axp707_get_poweron_source() != AXP_BOOT_SOURCE_BUTTON &&
+                sys_mode != 66 ) {
             val = AXP_BOOT_SOURCE_CHARGER;
-            pmu_set_sys_mode(0);
+            pmu_set_sys_mode(66);
             printf("kickpi[bat_exist] not power key up when boot on \n");
         }
+
+        if (sys_mode == 66) {
+            pmu_set_sys_mode(0);
+        }
     }
 
 	switch (val) {
diff --git a/longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts b/longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts
index 86f742f..5639763 100755
--- a/longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts
+++ b/longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts
@@ -1336,10 +1336,10 @@
 			pinctrl-names = "default";
 			status = "okay";
 
-			sysled {
-				label = "sysled";
-				gpios = <&r_pio PL 10 1 0 1 1>;
-				linux,default_trigger = "heartbeat";
+			usb2_en {
+				label = "usb2_en";
+				gpios = <&r_pio PL 10 1 0 1 0>;
+				linux,default_trigger = "default-on";
 			};
 
             spk_en {
diff --git a/longan/kernel/linux-4.9/kernel/printk/printk.c b/longan/kernel/linux-4.9/kernel/printk/printk.c
index 21f3c10..c91f8e3 100644
--- a/longan/kernel/linux-4.9/kernel/printk/printk.c
+++ b/longan/kernel/linux-4.9/kernel/printk/printk.c
@@ -2151,12 +2151,13 @@
 	return __add_preferred_console(name, idx, options, NULL);
 }
 
-bool console_suspend_enabled = true;
+bool console_suspend_enabled = false;
 EXPORT_SYMBOL(console_suspend_enabled);
 
 static int __init console_suspend_disable(char *str)
 {
 	console_suspend_enabled = false;
+    // console_suspend_enabled = true;
 	return 1;
 }
 __setup("no_console_suspend", console_suspend_disable);

--
Gitblit v1.6.2