--- a/u-boot/drivers/power/pmic/rk8xx.c
+++ b/u-boot/drivers/power/pmic/rk8xx.c
@@ -6,6 +6,7 @@
*/
#include <common.h>
+#include <boot_rkimg.h>
#include <dm.h>
#include <errno.h>
#include <irq-generic.h>
@@ -482,6 +483,7 @@ static int rk8xx_probe(struct udevice *dev)
uint8_t power_en0, power_en1, power_en2, power_en3;
uint8_t on, off;
uint8_t value;
+ int mode;
/* read Chip variant */
if (device_is_compatible(dev, "rockchip,rk817") ||
@@ -615,6 +617,26 @@ static int rk8xx_probe(struct udevice *dev)
return ret;
}
+ /* 10*100ms */
+ mode = rockchip_get_boot_mode();
+ printf("xxxx: mode: %d\n", mode);
+ printf("pmic 0xf0 = %x\n", pmic_reg_read(dev, 0xf0));
+ printf("pmic 0xf5 = %x\n", pmic_reg_read(dev, 0xf5));
+ if ((pmic_reg_read(dev, 0xf0) & 0x80) && (pmic_reg_read(dev, 0xf5) & 0x80) &&
+ mode == BOOT_MODE_UNDEFINE) {
+ i = 0;
+ while (i < 10) {
+ value = pmic_reg_read(dev, 0xf0);
+ if (value & 0x80) {
+ printf("xxxx: power off\n");
+ rk8xx_shutdown(dev);
+ }
+ mdelay(100);
+ i++;
+ }
+ printf("xxxx: power on\n");
+ }
+
return 0;
}
rk3326插电不开机
最新推荐文章于 2024-06-08 21:35:58 发布