Page 1 of 1
T1进入深度休眠之后,如何让IO口保持高电平输出
Posted: 2025年 Jul 1日 16:10
by smtlinks
先设定休眠配置如下
gpio_index_map 0x4000002
gpio_edge_map 0x4000002
gpio_stay_hi_map 0x100
gpio_stay_lo_map 0x200
然后调用void bk_enter_deep_sleep_mode ( PS_DEEP_CTRL_PARAM *deep_param );这个接口进入深度休眠。
此时测量GPIO_8的电平,是0.4V左右。
请问如何设置,能让IO输出高电平。
Re: T1进入深度休眠之后,如何让IO口保持高电平输出
Posted: 2025年 Jul 1日 17:03
by JSHANG
休眠前用该函数sctrl_set_deep_sleep_gpio_floating_map设置该GPIO状态保持
Re: T1进入深度休眠之后,如何让IO口保持高电平输出
Posted: 2025年 Jul 2日 09:18
by JSHANG
如果不行,打上如下patch试试:
diff --git a/vendor/T1/T1_os/T1/driver/sys_ctrl/sys_ctrl.c b/vendor/T1/T1_os/T1/driver/sys_ctrl/sys_ctrl.c
index c8c316c..4cc0f83 100755
--- a/vendor/T1/T1_os/T1/driver/sys_ctrl/sys_ctrl.c
+++ b/vendor/T1/T1_os/T1/driver/sys_ctrl/sys_ctrl.c
@@ -2281,10 +2281,10 @@ void sctrl_enter_rtos_deep_sleep(PS_DEEP_CTRL_PARAM *deep_param)
continue;
}
#endif
- if(((i < BITS_INT)&&(deep_param->gpio_stay_lo_map & (0x01UL << i)))
- if(((i < BITS_INT)&&((deep_param->gpio_stay_lo_map deep_param->gpio_stay_hi_map) & (0x01UL << i)))
((deep_param->gpio_index_map & (0x01UL << i)))
||((deep_param->gpio_last_index_map & (0x01UL << i)))
- ||((i >= BITS_INT)&&(deep_param->gpio_stay_hi_map & (0x01UL << (i - BITS_INT)))) )
- ((i >= BITS_INT)&&((deep_param->gpio_stay_lo_map deep_param->gpio_stay_hi_map) & (0x01UL << (i - BITS_INT)))) )
{
continue;
}
Re: T1进入深度休眠之后,如何让IO口保持高电平输出
Posted: 2025年 Jul 2日 11:47
by smtlinks