T1进入深度休眠之后,如何让IO口保持高电平输出

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
Post Reply
smtlinks
Posts: 6

先设定休眠配置如下
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输出高电平。

JSHANG
Posts: 71

Re: T1进入深度休眠之后,如何让IO口保持高电平输出

休眠前用该函数sctrl_set_deep_sleep_gpio_floating_map设置该GPIO状态保持

JSHANG
Posts: 71

Re: T1进入深度休眠之后,如何让IO口保持高电平输出

如果不行,打上如下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;
    }
smtlinks
Posts: 6

Re: T1进入深度休眠之后,如何让IO口保持高电平输出

谢谢。后面这个办法可以解决。

Post Reply