Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bsp/qemu-virt64-aarch64/.config
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ CONFIG_RT_USING_FDTLIB=y
# CONFIG_FDT_USING_DEBUG is not set
CONFIG_RT_USING_RTC=y
# CONFIG_RT_USING_ALARM is not set
# CONFIG_RT_USING_SOFT_RTC is not set
CONFIG_RT_USING_SOFT_RTC=y
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_WDT is not set
Expand Down
11 changes: 11 additions & 0 deletions bsp/qemu-virt64-aarch64/applications/mnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,17 @@ int mnt_init(void)
{
rt_kprintf("file system initialization done!\n");
}
else
{
if (dfs_mount("virtio-blk0", "/", "ext", 0, RT_NULL) == 0)
{
rt_kprintf("file system initialization done!\n");
}
else
{
rt_kprintf("file system initialization fail!\n");
}
}
}

return 0;
Expand Down
3 changes: 3 additions & 0 deletions bsp/qemu-virt64-aarch64/drivers/board.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <rthw.h>
#include <rtthread.h>
#include <mmu.h>
#include <gtimer.h>

#ifdef RT_USING_SMART
#include <lwp_arch.h>
Expand Down Expand Up @@ -98,6 +99,8 @@ void rt_hw_board_init(void)
/* initialize hardware interrupt */
rt_hw_interrupt_init();

rt_hw_gtimer_init();

/* support debug feature before components init */
rt_hw_uart_init();
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
Expand Down
4 changes: 2 additions & 2 deletions bsp/qemu-virt64-aarch64/drivers/drv_rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@ int rt_hw_rtc_init(void)
rtc_device.device.user_data = RT_NULL;

/* register a rtc device */
rt_device_register(&rtc_device.device, "rtc", RT_DEVICE_FLAG_RDWR);

rt_device_register(&rtc_device.device, "rtc0", RT_DEVICE_FLAG_RDWR);
rt_soft_rtc_set_source("rtc0");
return 0;
}
INIT_DEVICE_EXPORT(rt_hw_rtc_init);
Expand Down
46 changes: 0 additions & 46 deletions bsp/qemu-virt64-aarch64/drivers/drv_timer.c

This file was deleted.

16 changes: 0 additions & 16 deletions bsp/qemu-virt64-aarch64/drivers/drv_timer.h

This file was deleted.

1 change: 1 addition & 0 deletions bsp/qemu-virt64-aarch64/rtconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
#define RT_USING_FDT
#define RT_USING_FDTLIB
#define RT_USING_RTC
#define RT_USING_SOFT_RTC
#define RT_USING_DEV_BUS
#define RT_USING_VIRTIO
#define RT_USING_VIRTIO10
Expand Down
12 changes: 7 additions & 5 deletions bsp/qemu-virt64-riscv/.config
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ CONFIG_RT_USING_DEVICE_OPS=y
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=256
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
CONFIG_RT_VER_NUM=0x50000
CONFIG_RT_VER_NUM=0x50001
# CONFIG_RT_USING_STDC_ATOMIC is not set
CONFIG_ARCH_CPU_64BIT=y
CONFIG_RT_USING_CACHE=y
Expand Down Expand Up @@ -122,10 +122,12 @@ CONFIG_FINSH_ARG_MAX=10
CONFIG_RT_USING_DFS=y
CONFIG_DFS_USING_POSIX=y
CONFIG_DFS_USING_WORKDIR=y
# CONFIG_RT_USING_DFS_MNTTABLE is not set
CONFIG_DFS_FD_MAX=32
CONFIG_RT_USING_DFS_V1=y
# CONFIG_RT_USING_DFS_V2 is not set
CONFIG_DFS_FILESYSTEMS_MAX=4
CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
CONFIG_DFS_FD_MAX=32
# CONFIG_RT_USING_DFS_MNTTABLE is not set
CONFIG_RT_USING_DFS_ELMFAT=y

#
Expand Down Expand Up @@ -174,7 +176,7 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_HWTIMER is not set
CONFIG_RT_USING_CPUTIME=y
CONFIG_RT_USING_CPUTIME_RISCV=y
CONFIG_CPUTIME_TIMER_FREQ=300000000
CONFIG_CPUTIME_TIMER_FREQ=10000000
# CONFIG_RT_USING_I2C is not set
# CONFIG_RT_USING_PHY is not set
CONFIG_RT_USING_PIN=y
Expand All @@ -190,7 +192,7 @@ CONFIG_RT_USING_RANDOM=y
# CONFIG_RT_USING_FDT is not set
CONFIG_RT_USING_RTC=y
# CONFIG_RT_USING_ALARM is not set
# CONFIG_RT_USING_SOFT_RTC is not set
CONFIG_RT_USING_SOFT_RTC=y
# CONFIG_RT_USING_SDIO is not set
# CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_WDT is not set
Expand Down
15 changes: 13 additions & 2 deletions bsp/qemu-virt64-riscv/applications/mnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,20 @@ int mnt_init(void)
if (rt_device_find("virtio-blk0"))
{
/* mount virtio-blk as root directory */
if (dfs_mount("virtio-blk0", "/", "elm", 0, RT_NULL) != 0)
if (dfs_mount("virtio-blk0", "/", "elm", 0, RT_NULL) == 0)
{
LOG_E("virtio-blk0 mount failed\n");
rt_kprintf("file system initialization done!\n");
}
else
{
if (dfs_mount("virtio-blk0", "/", "ext", 0, RT_NULL) == 0)
{
rt_kprintf("file system initialization done!\n");
}
else
{
rt_kprintf("file system initialization fail!\n");
}
}
}

Expand Down
8 changes: 5 additions & 3 deletions bsp/qemu-virt64-riscv/rtconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 256
#define RT_CONSOLE_DEVICE_NAME "uart0"
#define RT_VER_NUM 0x50000
#define RT_VER_NUM 0x50001
#define ARCH_CPU_64BIT
#define RT_USING_CACHE
#define RT_USING_HW_ATOMIC
Expand Down Expand Up @@ -83,9 +83,10 @@
#define RT_USING_DFS
#define DFS_USING_POSIX
#define DFS_USING_WORKDIR
#define DFS_FD_MAX 32
#define RT_USING_DFS_V1
#define DFS_FILESYSTEMS_MAX 4
#define DFS_FILESYSTEM_TYPES_MAX 4
#define DFS_FD_MAX 32
#define RT_USING_DFS_ELMFAT

/* elm-chan's FatFs, Generic FAT Filesystem Module */
Expand Down Expand Up @@ -117,12 +118,13 @@
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_CPUTIME
#define RT_USING_CPUTIME_RISCV
#define CPUTIME_TIMER_FREQ 300000000
#define CPUTIME_TIMER_FREQ 10000000
#define RT_USING_PIN
#define RT_USING_NULL
#define RT_USING_ZERO
#define RT_USING_RANDOM
#define RT_USING_RTC
#define RT_USING_SOFT_RTC
#define RT_USING_VIRTIO
#define RT_USING_VIRTIO10
#define RT_USING_VIRTIO_BLK
Expand Down
8 changes: 8 additions & 0 deletions components/drivers/include/drivers/rtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ extern "C" {
#define RT_DEVICE_CTRL_RTC_SET_TIMEVAL (RT_DEVICE_CTRL_BASE(RTC) + 0x04) /**< set timeval for gettimeofday */
#define RT_DEVICE_CTRL_RTC_GET_ALARM (RT_DEVICE_CTRL_BASE(RTC) + 0x05) /**< get alarm */
#define RT_DEVICE_CTRL_RTC_SET_ALARM (RT_DEVICE_CTRL_BASE(RTC) + 0x06) /**< set alarm */
#define RT_DEVICE_CTRL_RTC_GET_TIMESPEC (RT_DEVICE_CTRL_BASE(RTC) + 0x07) /**< get timespec for clock_gettime */
#define RT_DEVICE_CTRL_RTC_SET_TIMESPEC (RT_DEVICE_CTRL_BASE(RTC) + 0x08) /**< set timespec for clock_settime */
#define RT_DEVICE_CTRL_RTC_GET_TIMERES (RT_DEVICE_CTRL_BASE(RTC) + 0x09) /**< get resolution for clock_getres */

/* used for alarm function */
struct rt_rtc_wkalarm
Expand Down Expand Up @@ -64,6 +67,11 @@ rt_err_t set_time(rt_uint32_t hour, rt_uint32_t minute, rt_uint32_t second);
rt_err_t set_timestamp(time_t timestamp);
rt_err_t get_timestamp(time_t *timestamp);

#ifdef RT_USING_SYSTEM_WORKQUEUE
rt_err_t rt_soft_rtc_sync();
rt_err_t rt_soft_rtc_set_source(const char *name);
#endif

#ifdef __cplusplus
}
#endif
Expand Down
Loading