summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorWwWangGuan <[email protected]>2024-11-13 22:58:27 +0800
committerMeco Man <[email protected]>2024-11-13 22:56:32 -0500
commitebe2926cd610661e210b70be1a22bac13923f4fb (patch)
tree81ddf4abd569b15a53431d71209a5b6e044ed994 /bsp
parent4c18fa7e21ef1b3fdb781f578855a4693ce5e88a (diff)
[bsp][gd32][fix rtc clock selection]
Diffstat (limited to 'bsp')
-rw-r--r--bsp/gd32/arm/libraries/gd32_drivers/drv_rtc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bsp/gd32/arm/libraries/gd32_drivers/drv_rtc.c b/bsp/gd32/arm/libraries/gd32_drivers/drv_rtc.c
index 4ed2a31f38..0b32389d31 100644
--- a/bsp/gd32/arm/libraries/gd32_drivers/drv_rtc.c
+++ b/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