Browse Source

[bsp][gd32][fix rtc clock selection]

WwWangGuan 6 tháng trước cách đây
mục cha
commit
ebe2926cd6
1 tập tin đã thay đổi với 9 bổ sung0 xóa
  1. 9 0
      bsp/gd32/arm/libraries/gd32_drivers/drv_rtc.c

+ 9 - 0
bsp/gd32/arm/libraries/gd32_drivers/drv_rtc.c

@@ -102,12 +102,21 @@ static int rt_hw_rtc_init(void)
     rcu_bkp_reset_enable();
     rcu_bkp_reset_disable();
     rcu_periph_clock_enable(RCU_RTC);
+#ifdef BSP_RTC_USING_LSE
     rcu_osci_on(RCU_LXTAL);
     if (SUCCESS == rcu_osci_stab_wait(RCU_LXTAL))
     {
         /* set lxtal as rtc clock source */
         rcu_rtc_clock_config(RCU_RTCSRC_LXTAL);
     }
+#elifdef BSP_RTC_USING_LSI
+    rcu_osci_on(RCU_IRC40K);
+    if (SUCCESS == rcu_osci_stab_wait(RCU_IRC40K))
+    {
+        /* set IRC40K as rtc clock source */
+        rcu_rtc_clock_config(RCU_RTCSRC_IRC40K);
+    }
+#endif
     set_rtc_timestamp(rtc_counter);
 
 #ifdef RT_USING_DEVICE_OPS