From f55022fc46359cafa2530e42fe8f48374860c9f8 Mon Sep 17 00:00:00 2001 From: Liu_Weichao Date: Wed, 31 Aug 2022 10:51:14 +0800 Subject: [PATCH] delete useless H file on xidatong-riscv64 board --- .../XiZi/board/aiit-riscv64-board/board.c | 1 - .../third_party_driver/ch438/Kconfig | 40 -- .../include/connect_hwtimer.h | 37 -- .../third_party_driver/include/connect_rtc.h | 36 -- .../third_party_driver/include/connect_spi.h | 36 -- .../third_party_driver/include/connect_wdt.h | 36 -- .../include/hardware_hwtimer.h | 171 ------ .../third_party_driver/include/hardware_rtc.h | 443 ---------------- .../third_party_driver/include/hardware_spi.h | 494 ------------------ .../third_party_driver/include/wdt.h | 180 ------- 10 files changed, 1474 deletions(-) delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_hwtimer.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_rtc.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_spi.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_wdt.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_hwtimer.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_rtc.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_spi.h delete mode 100644 Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/wdt.h diff --git a/Ubiquitous/XiZi/board/aiit-riscv64-board/board.c b/Ubiquitous/XiZi/board/aiit-riscv64-board/board.c index 6b5837103..5888283ff 100644 --- a/Ubiquitous/XiZi/board/aiit-riscv64-board/board.c +++ b/Ubiquitous/XiZi/board/aiit-riscv64-board/board.c @@ -173,7 +173,6 @@ struct InitSequenceDesc _board_init[] = { "io_config", IoConfigInit }, #endif #ifdef BSP_USING_CH438 - { "hw_extuart", HwCh438Init }, #endif #ifdef BSP_USING_SPI diff --git a/Ubiquitous/XiZi/board/aiit-riscv64-board/third_party_driver/ch438/Kconfig b/Ubiquitous/XiZi/board/aiit-riscv64-board/third_party_driver/ch438/Kconfig index 2e3d5fa3f..44d35fde9 100644 --- a/Ubiquitous/XiZi/board/aiit-riscv64-board/third_party_driver/ch438/Kconfig +++ b/Ubiquitous/XiZi/board/aiit-riscv64-board/third_party_driver/ch438/Kconfig @@ -92,45 +92,5 @@ if BSP_USING_CH438 int "485 direction pin number for ch438" default 18 - - menuconfig BSP_USING_4G_OR_NB - bool "Select using the ec200t(4G) or bc28(NB-IOT)" - default y - if BSP_USING_4G_OR_NB - choice - prompt "Select using the ec200t(4G) or bc28(NB-IOT)" - default BSP_USING_4G - config BSP_USING_4G - bool "Using ec200t(4G)" - config BSP_USING_NBIOT - bool "Using bc26(NB-IOT)" - endchoice - - - if BSP_USING_4G - config BSP_4G_STATUS - int "STATUS pin number for ec200t" - default 21 - config BSP_4G_POWERKEY - int "POWERKEY pin number for ec200t" - default 37 - endif - - if BSP_USING_NBIOT - config BSP_NB_RESET - int "RESET pin number for bc28" - default 21 - endif - endif - - menuconfig BSP_USING_WIFI_HFA21 - bool "Using the hfa21(WIFI)" - default y - if BSP_USING_WIFI_HFA21 - config BSP_WIFI_RST - int "RESET pin number for hfa21" - default 22 - endif - endif diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_hwtimer.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_hwtimer.h deleted file mode 100644 index a4202d4a0..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_hwtimer.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -* Copyright (c) 2020 AIIT XUOS Lab -* XiUOS is licensed under Mulan PSL v2. -* You can use this software according to the terms and conditions of the Mulan PSL v2. -* You may obtain a copy of Mulan PSL v2 at: -* http://license.coscl.org.cn/MulanPSL2 -* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -* See the Mulan PSL v2 for more details. -*/ - -/** -* @file connect_hwtimer.h -* @brief define kd233-board hwtimer function and struct -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef CONNECT_HWTIMER_H -#define CONNECT_HWTIMER_H - -#include -#include "hardware_hwtimer.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int HwTimerInit(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_rtc.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_rtc.h deleted file mode 100644 index 7ac62d207..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_rtc.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2020 AIIT XUOS Lab -* XiUOS is licensed under Mulan PSL v2. -* You can use this software according to the terms and conditions of the Mulan PSL v2. -* You may obtain a copy of Mulan PSL v2 at: -* http://license.coscl.org.cn/MulanPSL2 -* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -* See the Mulan PSL v2 for more details. -*/ - -/** -* @file connect_rtc.h -* @brief define kd233-board rtc function and struct -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef CONNECT_RTC_H -#define CONNECT_RTC_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int HwRtcInit(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_spi.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_spi.h deleted file mode 100644 index 3f021c704..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_spi.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2020 AIIT XUOS Lab -* XiUOS is licensed under Mulan PSL v2. -* You can use this software according to the terms and conditions of the Mulan PSL v2. -* You may obtain a copy of Mulan PSL v2 at: -* http://license.coscl.org.cn/MulanPSL2 -* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -* See the Mulan PSL v2 for more details. -*/ - -/** -* @file connect_spi.h -* @brief define kd233-board spi function and struct -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef CONNECT_SPI_H -#define CONNECT_SPI_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int HwSpiInit(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_wdt.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_wdt.h deleted file mode 100644 index 03ca7005d..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/connect_wdt.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2020 AIIT XUOS Lab -* XiUOS is licensed under Mulan PSL v2. -* You can use this software according to the terms and conditions of the Mulan PSL v2. -* You may obtain a copy of Mulan PSL v2 at: -* http://license.coscl.org.cn/MulanPSL2 -* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, -* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, -* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. -* See the Mulan PSL v2 for more details. -*/ - -/** -* @file connect_wdt.h -* @brief define kd233-board wdt function and struct -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef CONNECT_WDT_H -#define CONNECT_WDT_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -int HwWdtInit(void); - -#ifdef __cplusplus -} -#endif - -#endif \ No newline at end of file diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_hwtimer.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_hwtimer.h deleted file mode 100644 index 9bb9872b2..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_hwtimer.h +++ /dev/null @@ -1,171 +0,0 @@ -/* Copyright 2018 Canaan Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** -* @file hardware_hwtimer.h -* @brief add from Canaan k210 SDK -* https://canaan-creative.com/developer -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef __HARDWARE_HWTIMER_H__ -#define __HARDWARE_HWTIMER_H__ - -#include -#include -#ifdef __cplusplus -extern "C" { -#endif - -/* clang-format off */ -typedef struct _timer_channel -{ - /* TIMER_N Load Count Register (0x00+(N-1)*0x14) */ - volatile uint32_t load_count; - /* TIMER_N Current Value Register (0x04+(N-1)*0x14) */ - volatile uint32_t current_value; - /* TIMER_N Control Register (0x08+(N-1)*0x14) */ - volatile uint32_t control; - /* TIMER_N Interrupt Clear Register (0x0c+(N-1)*0x14) */ - volatile uint32_t eoi; - /* TIMER_N Interrupt Status Register (0x10+(N-1)*0x14) */ - volatile uint32_t intr_stat; -} __attribute__((packed, aligned(4))) timer_channel_t; - -typedef struct _kendryte_timer -{ - /* TIMER_N Register (0x00-0x4c) */ - volatile timer_channel_t channel[4]; - /* reserverd (0x50-0x9c) */ - volatile uint32_t resv1[20]; - /* TIMER Interrupt Status Register (0xa0) */ - volatile uint32_t intr_stat; - /* TIMER Interrupt Clear Register (0xa4) */ - volatile uint32_t eoi; - /* TIMER Raw Interrupt Status Register (0xa8) */ - volatile uint32_t raw_intr_stat; - /* TIMER Component Version Register (0xac) */ - volatile uint32_t comp_version; - /* TIMER_N Load Count2 Register (0xb0-0xbc) */ - volatile uint32_t load_count2[4]; -} __attribute__((packed, aligned(4))) kendryte_timer_t; - -typedef enum _timer_deivce_number -{ - TIMER_DEVICE_0, - TIMER_DEVICE_1, - TIMER_DEVICE_2, - TIMER_DEVICE_MAX, -} timer_device_number_t; - -typedef enum _timer_channel_number -{ - TIMER_CHANNEL_0, - TIMER_CHANNEL_1, - TIMER_CHANNEL_2, - TIMER_CHANNEL_3, - TIMER_CHANNEL_MAX, -} timer_channel_number_t; - -/* TIMER Control Register */ -#define TIMER_CR_ENABLE 0x00000001 -#define TIMER_CR_MODE_MASK 0x00000002 -#define TIMER_CR_FREE_MODE 0x00000000 -#define TIMER_CR_USER_MODE 0x00000002 -#define TIMER_CR_INTERRUPT_MASK 0x00000004 -#define TIMER_CR_PWM_ENABLE 0x00000008 -/* clang-format on */ - -extern volatile kendryte_timer_t *const timer[3]; - -/** - * @brief Definitions for the timer callbacks - */ -typedef int (*timer_callback_t)(void *ctx); - -/** - * @brief Set timer timeout - * - * @param[in] timer timer - * @param[in] channel channel - * @param[in] nanoseconds timeout - * - * @return the real timeout - */ -size_t timer_set_interval(timer_device_number_t timer_number, timer_channel_number_t channel, size_t nanoseconds); - -/** - * @brief Init timer - * - * @param[in] timer timer - */ -void timer_init(timer_device_number_t timer_number); - -/** - * @brief [DEPRECATED] Set timer timeout function - * - * @param[in] timer timer - * @param[in] channel channel - * @param[in] func timeout function - * @param[in] priority interrupt priority - * - */ -void timer_set_irq(timer_device_number_t timer_number, timer_channel_number_t channel, void(*func)(), uint32_t priority); - -/** - * @brief Register timer interrupt user callback function - * - * @param[in] device The timer device number - * @param[in] channel The channel - * @param[in] is_one_shot Indicates if single shot - * @param[in] priority The priority - * @param[in] callback The callback function - * @param[in] ctx The context - * - * @return result - * - 0 Success - * - Other Fail - */ -int timer_irq_register(timer_device_number_t device, timer_channel_number_t channel, int is_single_shot, uint32_t priority, timer_callback_t callback, void *ctx); - -/** - * @brief Deregister timer interrupt user callback function - * - * @param[in] device The timer device number - * @param[in] channel The channel - * - * @return result - * - 0 Success - * - Other Fail - */ -int timer_irq_unregister(timer_device_number_t device, timer_channel_number_t channel); - -/** - * @brief Enable timer - * - * @param[in] timer timer - * @param[in] channel channel - * @param[in] enable Enable or disable - * - */ -void timer_set_enable(timer_device_number_t timer_number, timer_channel_number_t channel, uint32_t enable); - -#ifdef __cplusplus -} -#endif - -#endif /* __TIMER_H__ */ diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_rtc.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_rtc.h deleted file mode 100644 index 3f35e3d2f..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_rtc.h +++ /dev/null @@ -1,443 +0,0 @@ -/* Copyright 2018 Canaan Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** -* @file hardware_rtc.h -* @brief add from Canaan k210 SDK -* https://canaan-creative.com/developer -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef __HARDWARE_RTC_H__ -#define __HARDWARE_RTC_H__ - -#include -#include -#include "platform.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief RTC timer mode - * - * Timer mode selector - * | Mode | Description | - * |------|------------------------| - * | 0 | Timer pause | - * | 1 | Timer time running | - * | 2 | Timer time setting | - */ -typedef enum _rtc_timer_mode_e -{ - /* 0: Timer pause */ - RTC_TIMER_PAUSE, - /* 1: Timer time running */ - RTC_TIMER_RUNNING, - /* 2: Timer time setting */ - RTC_TIMER_SETTING, - /* Max count of this enum*/ - RTC_TIMER_MAX -} rtc_timer_mode_t; - -/* - * @brief RTC tick interrupt mode - * - * Tick interrupt mode selector - * | Mode | Description | - * |------|------------------------| - * | 0 | Interrupt every second | - * | 1 | Interrupt every minute | - * | 2 | Interrupt every hour | - * | 3 | Interrupt every day | - */ -typedef enum _rtc_tick_interrupt_mode_e -{ - /* 0: Interrupt every second */ - RTC_INT_SECOND, - /* 1: Interrupt every minute */ - RTC_INT_MINUTE, - /* 2: Interrupt every hour */ - RTC_INT_HOUR, - /* 3: Interrupt every day */ - RTC_INT_DAY, - /* Max count of this enum*/ - RTC_INT_MAX -} rtc_tick_interrupt_mode_t; - -/** - * @brief RTC mask structure - * - * RTC mask structure for common use - */ -typedef struct _rtc_mask -{ - /* Reserved */ - uint32_t resv : 1; - /* Second mask */ - uint32_t second : 1; - /* Minute mask */ - uint32_t minute : 1; - /* Hour mask */ - uint32_t hour : 1; - /* Week mask */ - uint32_t week : 1; - /* Day mask */ - uint32_t day : 1; - /* Month mask */ - uint32_t month : 1; - /* Year mask */ - uint32_t year : 1; -} __attribute__((packed, aligned(1))) rtc_mask_t; - -/** - * @brief RTC register - * - * @note RTC register table - * - * | Offset | Name | Description | - * |-----------|----------------|-------------------------------------| - * | 0x00 | date | Timer date information | - * | 0x04 | time | Timer time information | - * | 0x08 | alarm_date | Alarm date information | - * | 0x0c | alarm_time | Alarm time information | - * | 0x10 | initial_count | Timer counter initial value | - * | 0x14 | current_count | Timer counter current value | - * | 0x18 | interrupt_ctrl | RTC interrupt settings | - * | 0x1c | register_ctrl | RTC register settings | - * | 0x20 | reserved0 | Reserved | - * | 0x24 | reserved1 | Reserved | - * | 0x28 | extended | Timer extended information | - * - */ - - -/** - * @brief Timer date information - * - * No. 0 Register (0x00) - */ -typedef struct _rtc_date -{ - /* Week. Range [0,6]. 0 is Sunday. */ - uint32_t week : 3; - /* Reserved */ - uint32_t resv0 : 5; - /* Day. Range [1,31] or [1,30] or [1,29] or [1,28] */ - uint32_t day : 5; - /* Reserved */ - uint32_t resv1 : 3; - /* Month. Range [1,12] */ - uint32_t month : 4; - /* Year. Range [0,99] */ - uint32_t year : 12; -} __attribute__((packed, aligned(4))) rtc_date_t; - -/** - * @brief Timer time information - * - * No. 1 Register (0x04) - */ -typedef struct _rtc_time -{ - /* Reserved */ - uint32_t resv0 : 10; - /* Second. Range [0,59] */ - uint32_t second : 6; - /* Minute. Range [0,59] */ - uint32_t minute : 6; - /* Reserved */ - uint32_t resv1 : 2; - /* Hour. Range [0,23] */ - uint32_t hour : 5; - /* Reserved */ - uint32_t resv2 : 3; -} __attribute__((packed, aligned(4))) rtc_time_t; - -/** - * @brief Alarm date information - * - * No. 2 Register (0x08) - */ -typedef struct _rtc_alarm_date -{ - /* Alarm Week. Range [0,6]. 0 is Sunday. */ - uint32_t week : 3; - /* Reserved */ - uint32_t resv0 : 5; - /* Alarm Day. Range [1,31] or [1,30] or [1,29] or [1,28] */ - uint32_t day : 5; - /* Reserved */ - uint32_t resv1 : 3; - /* Alarm Month. Range [1,12] */ - uint32_t month : 4; - /* Alarm Year. Range [0,99] */ - uint32_t year : 12; -} __attribute__((packed, aligned(4))) rtc_alarm_date_t; - -/** - * @brief Alarm time information - * - * No. 3 Register (0x0c) - */ -typedef struct _rtc_alarm_time -{ - /* Reserved */ - uint32_t resv0 : 10; - /* Alarm Second. Range [0,59] */ - uint32_t second : 6; - /* Alarm Minute. Range [0,59] */ - uint32_t minute : 6; - /* Reserved */ - uint32_t resv1 : 2; - /* Alarm Hour. Range [0,23] */ - uint32_t hour : 5; - /* Reserved */ - uint32_t resv2 : 3; -} __attribute__((packed, aligned(4))) rtc_alarm_time_t; - -/** - * @brief Timer counter initial value - * - * No. 4 Register (0x10) - */ -typedef struct _rtc_initial_count -{ - /* RTC counter initial value */ - uint32_t count : 32; -} __attribute__((packed, aligned(4))) rtc_initial_count_t; - -/** - * @brief Timer counter current value - * - * No. 5 Register (0x14) - */ -typedef struct _rtc_current_count -{ - /* RTC counter current value */ - uint32_t count : 32; -} __attribute__((packed, aligned(4))) rtc_current_count_t; - -/** - * @brief RTC interrupt settings - * - * No. 6 Register (0x18) - */ -typedef struct _rtc_interrupt_ctrl -{ - /* Reserved */ - uint32_t tick_enable : 1; - /* Alarm interrupt enable */ - uint32_t alarm_enable : 1; - /* Tick interrupt enable */ - uint32_t tick_int_mode : 2; - /* Reserved */ - uint32_t resv : 20; - /* Alarm compare mask for interrupt */ - uint32_t alarm_compare_mask : 8; -} __attribute__((packed, aligned(4))) rtc_interrupt_ctrl_t; - -/** - * @brief RTC register settings - * - * No. 7 Register (0x1c) - */ -typedef struct _rtc_register_ctrl -{ - /* RTC timer read enable */ - uint32_t read_enable : 1; - /* RTC timer write enable */ - uint32_t write_enable : 1; - /* Reserved */ - uint32_t resv0 : 11; - /* RTC timer mask */ - uint32_t TimerMask : 8; - /* RTC alarm mask */ - uint32_t alarm_mask : 8; - /* RTC counter initial count value mask */ - uint32_t initial_count_mask : 1; - /* RTC interrupt register mask */ - uint32_t interrupt_register_mask : 1; - /* Reserved */ - uint32_t resv1 : 1; -} __attribute__((packed, aligned(4))) rtc_register_ctrl_t; - -/** - * @brief Reserved - * - * No. 8 Register (0x20) - */ -typedef struct _rtc_reserved0 -{ - /* Reserved */ - uint32_t resv : 32; -} __attribute__((packed, aligned(4))) rtc_reserved0_t; - -/** - * @brief Reserved - * - * No. 9 Register (0x24) - */ -typedef struct _rtc_reserved1 -{ - /* Reserved */ - uint32_t resv : 32; -} __attribute__((packed, aligned(4))) rtc_reserved1_t; - -/** - * @brief Timer extended information - * - * No. 10 Register (0x28) - */ -typedef struct _rtc_extended -{ - /* Century. Range [0,31] */ - uint32_t century : 5; - /* Is leap year. 1 is leap year, 0 is not leap year */ - uint32_t leap_year : 1; - /* Reserved */ - uint32_t resv : 26; -} __attribute__((packed, aligned(4))) rtc_extended_t; - - -/** - * @brief Real-time clock struct - * - * A real-time clock (RTC) is a computer clock that keeps track of - * the current time. - */ -typedef struct _rtc -{ - /* No. 0 (0x00): Timer date information */ - rtc_date_t date; - /* No. 1 (0x04): Timer time information */ - rtc_time_t time; - /* No. 2 (0x08): Alarm date information */ - rtc_alarm_date_t alarm_date; - /* No. 3 (0x0c): Alarm time information */ - rtc_alarm_time_t alarm_time; - /* No. 4 (0x10): Timer counter initial value */ - rtc_initial_count_t initial_count; - /* No. 5 (0x14): Timer counter current value */ - rtc_current_count_t current_count; - /* No. 6 (0x18): RTC interrupt settings */ - rtc_interrupt_ctrl_t interrupt_ctrl; - /* No. 7 (0x1c): RTC register settings */ - rtc_register_ctrl_t register_ctrl; - /* No. 8 (0x20): Reserved */ - rtc_reserved0_t reserved0; - /* No. 9 (0x24): Reserved */ - rtc_reserved1_t reserved1; - /* No. 10 (0x28): Timer extended information */ - rtc_extended_t extended; -} __attribute__((packed, aligned(4))) rtc_t; - - -/** - * @brief Real-time clock object - */ -extern volatile rtc_t *const rtc; -extern volatile uint32_t *const rtc_base; - -/** - * @brief Set date time to RTC - * - * @param[in] year The year - * @param[in] month The month - * @param[in] day The day - * @param[in] hour The hour - * @param[in] minute The minute - * @param[in] second The second - * - * @return result - * - 0 Success - * - Other Fail - */ -int rtc_timer_set(int year, int month, int day, int hour, int minute, int second); - -/** - * @brief Get date time from RTC - * - * @param year The year - * @param month The month - * @param day The day - * @param hour The hour - * @param minute The minute - * @param second The second - * - * @return result - * - 0 Success - * - Other Fail - */ -int rtc_timer_get(int *year, int *month, int *day, int *hour, int *minute, int *second); - -/** - * @brief Initialize RTC - * - * @return Result - * - 0 Success - * - Other Fail - */ -int rtc_init(void); - -/** - * @brief Set RTC in protect mode or not - * - * @param enable Enable flag - * - * @return result - * - 0 Success - * - Other Fail - */ -int rtc_protect_set(int enable); - -/** - * @brief Set RTC timer mode - * - * @param timer_mode Timer mode - * - */ -void rtc_timer_set_mode(rtc_timer_mode_t timer_mode); - -/** - * @brief Set RTC timer clock frequency - * - * @param frequency Frequency - * - * @return result - * - 0 Success - * - Other Fail - */ -int rtc_timer_set_clock_frequency(unsigned int frequency); - -/** - * @brief Set RTC timer clock count value - * - * @param count Count - * - * @return result - * - 0 Success - * - Other Fail - */ -int rtc_timer_set_clock_count_value(unsigned int count); - -#ifdef __cplusplus -} -#endif - -#endif /* _DRIVER_RTC_H */ diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_spi.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_spi.h deleted file mode 100644 index 697d796a1..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/hardware_spi.h +++ /dev/null @@ -1,494 +0,0 @@ -/* Copyright 2018 Canaan Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** -* @file hardware_spi.h -* @brief add from Canaan k210 SDK -* https://canaan-creative.com/developer -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef __HARDWARE_SPI_H__ -#define __HARDWARE_SPI_H__ - -#include -#include -#include "dmac.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* clang-format off */ -typedef struct _spi -{ - /* SPI Control Register 0 (0x00)*/ - volatile uint32_t ctrlr0; - /* SPI Control Register 1 (0x04)*/ - volatile uint32_t ctrlr1; - /* SPI Enable Register (0x08)*/ - volatile uint32_t ssienr; - /* SPI Microwire Control Register (0x0c)*/ - volatile uint32_t mwcr; - /* SPI Slave Enable Register (0x10)*/ - volatile uint32_t ser; - /* SPI Baud Rate Select (0x14)*/ - volatile uint32_t baudr; - /* SPI Transmit FIFO Threshold Level (0x18)*/ - volatile uint32_t txftlr; - /* SPI Receive FIFO Threshold Level (0x1c)*/ - volatile uint32_t rxftlr; - /* SPI Transmit FIFO Level Register (0x20)*/ - volatile uint32_t txflr; - /* SPI Receive FIFO Level Register (0x24)*/ - volatile uint32_t rxflr; - /* SPI Status Register (0x28)*/ - volatile uint32_t sr; - /* SPI Interrupt Mask Register (0x2c)*/ - volatile uint32_t imr; - /* SPI Interrupt Status Register (0x30)*/ - volatile uint32_t isr; - /* SPI Raw Interrupt Status Register (0x34)*/ - volatile uint32_t risr; - /* SPI Transmit FIFO Overflow Interrupt Clear Register (0x38)*/ - volatile uint32_t txoicr; - /* SPI Receive FIFO Overflow Interrupt Clear Register (0x3c)*/ - volatile uint32_t rxoicr; - /* SPI Receive FIFO Underflow Interrupt Clear Register (0x40)*/ - volatile uint32_t rxuicr; - /* SPI Multi-Master Interrupt Clear Register (0x44)*/ - volatile uint32_t msticr; - /* SPI Interrupt Clear Register (0x48)*/ - volatile uint32_t icr; - /* SPI DMA Control Register (0x4c)*/ - volatile uint32_t dmacr; - /* SPI DMA Transmit Data Level (0x50)*/ - volatile uint32_t dmatdlr; - /* SPI DMA Receive Data Level (0x54)*/ - volatile uint32_t dmardlr; - /* SPI Identification Register (0x58)*/ - volatile uint32_t idr; - /* SPI DWC_ssi component version (0x5c)*/ - volatile uint32_t ssic_version_id; - /* SPI Data Register 0-36 (0x60 -- 0xec)*/ - volatile uint32_t dr[36]; - /* SPI RX Sample Delay Register (0xf0)*/ - volatile uint32_t rx_sample_delay; - /* SPI SPI Control Register (0xf4)*/ - volatile uint32_t spi_ctrlr0; - /* reserved (0xf8)*/ - volatile uint32_t resv; - /* SPI XIP Mode bits (0xfc)*/ - volatile uint32_t xip_mode_bits; - /* SPI XIP INCR transfer opcode (0x100)*/ - volatile uint32_t xip_incr_inst; - /* SPI XIP WRAP transfer opcode (0x104)*/ - volatile uint32_t xip_wrap_inst; - /* SPI XIP Control Register (0x108)*/ - volatile uint32_t xip_ctrl; - /* SPI XIP Slave Enable Register (0x10c)*/ - volatile uint32_t xip_ser; - /* SPI XIP Receive FIFO Overflow Interrupt Clear Register (0x110)*/ - volatile uint32_t xrxoicr; - /* SPI XIP time out register for continuous transfers (0x114)*/ - volatile uint32_t xip_cnt_time_out; - volatile uint32_t endian; -} __attribute__((packed, aligned(4))) spi_t; -/* clang-format on */ - -typedef enum _spi_device_num -{ - SPI_DEVICE_0, - SPI_DEVICE_1, - SPI_DEVICE_2, - SPI_DEVICE_3, - SPI_DEVICE_MAX, -} spi_device_num_t; - -typedef enum _spi_work_mode -{ - SPI_WORK_MODE_0, - SPI_WORK_MODE_1, - SPI_WORK_MODE_2, - SPI_WORK_MODE_3, -} spi_work_mode_t; - -typedef enum _spi_frame_format -{ - SPI_FF_STANDARD, - SPI_FF_DUAL, - SPI_FF_QUAD, - SPI_FF_OCTAL -} spi_frame_format_t; - -typedef enum _spi_instruction_address_trans_mode -{ - SPI_AITM_STANDARD, - SPI_AITM_ADDR_STANDARD, - SPI_AITM_AS_FRAME_FORMAT -} spi_instruction_address_trans_mode_t; - -typedef enum _spi_transfer_mode -{ - SPI_TMOD_TRANS_RECV, - SPI_TMOD_TRANS, - SPI_TMOD_RECV, - SPI_TMOD_EEROM -} spi_transfer_mode_t; - - -typedef enum _spi_transfer_width -{ - SPI_TRANS_CHAR = 0x1, - SPI_TRANS_SHORT = 0x2, - SPI_TRANS_INT = 0x4, -} spi_transfer_width_t; - -typedef enum _spi_chip_select -{ - SPI_CHIP_SELECT_0, - SPI_CHIP_SELECT_1, - SPI_CHIP_SELECT_2, - SPI_CHIP_SELECT_3, - SPI_CHIP_SELECT_MAX, -} spi_chip_select_t; - -typedef enum -{ - WRITE_CONFIG, - READ_CONFIG, - WRITE_DATA_BYTE, - READ_DATA_BYTE, - WRITE_DATA_BLOCK, - READ_DATA_BLOCK, -} spi_slave_command_e; - -typedef struct -{ - uint8_t cmd; - uint8_t err; - uint32_t addr; - uint32_t len; -} spi_slave_command_t; - -typedef enum -{ - IDLE, - COMMAND, - TRANSFER, -} spi_slave_status_e; - -typedef int (*spi_slave_receive_callback_t)(void *ctx); - -typedef struct _spi_slave_instance -{ - uint8_t int_pin; - uint8_t ready_pin; - dmac_channel_number_t dmac_channel; - uint8_t dfs; - uint8_t slv_oe; - uint8_t work_mode; - size_t data_bit_length; - volatile spi_slave_status_e status; - volatile spi_slave_command_t command; - volatile uint8_t *config_ptr; - uint32_t config_len; - spi_slave_receive_callback_t callback; -} spi_slave_instance_t; - -typedef struct _spi_data_t -{ - dmac_channel_number_t tx_channel; - dmac_channel_number_t rx_channel; - uint32_t *tx_buf; - size_t tx_len; - uint32_t *rx_buf; - size_t rx_len; - spi_transfer_mode_t TransferMode; - bool fill_mode; -} spi_data_t; - -extern volatile spi_t *const spi[4]; - -/** - * @brief Set spi configuration - * - * @param[in] spi_num Spi bus number - * @param[in] mode Spi mode - * @param[in] frame_format Spi frame format - * @param[in] data_bit_length Spi data bit length - * @param[in] endian 0:little-endian 1:big-endian - * - * @return Void - */ -void spi_init(spi_device_num_t spi_num, spi_work_mode_t work_mode, spi_frame_format_t frame_format, - size_t data_bit_length, uint32_t endian); - -/** - * @brief Set multiline configuration - * - * @param[in] spi_num Spi bus number - * @param[in] instruction_length Instruction length - * @param[in] address_length Address length - * @param[in] wait_cycles Wait cycles - * @param[in] instruction_address_trans_mode Spi transfer mode - * - */ -void spi_init_non_standard(spi_device_num_t spi_num, uint32_t instruction_length, uint32_t address_length, - uint32_t wait_cycles, spi_instruction_address_trans_mode_t instruction_address_trans_mode); - -/** - * @brief Spi send data - * - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] tx_buff Spi transmit buffer point - * @param[in] tx_len Spi transmit buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_send_data_standard(spi_device_num_t spi_num, spi_chip_select_t chip_select, const uint8_t *CmdBuff, - size_t CmdLen, const uint8_t *tx_buff, size_t tx_len); - -/** - * @brief Spi receive data - * - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] rx_buff Spi receive buffer point - * @param[in] rx_len Spi receive buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_receive_data_standard(spi_device_num_t spi_num, spi_chip_select_t chip_select, const uint8_t *CmdBuff, - size_t CmdLen, uint8_t *rx_buff, size_t rx_len); - -/** - * @brief Spi special receive data - * - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] rx_buff Spi receive buffer point - * @param[in] rx_len Spi receive buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_receive_data_multiple(spi_device_num_t spi_num, spi_chip_select_t chip_select, const uint32_t *CmdBuff, - size_t CmdLen, uint8_t *rx_buff, size_t rx_len); - -/** - * @brief Spi special send data - * - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] tx_buff Spi transmit buffer point - * @param[in] tx_len Spi transmit buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_send_data_multiple(spi_device_num_t spi_num, spi_chip_select_t chip_select, const uint32_t *CmdBuff, - size_t CmdLen, const uint8_t *tx_buff, size_t tx_len); - -/** - * @brief Spi send data by dma - * - * @param[in] channel_num Dmac channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] tx_buff Spi transmit buffer point - * @param[in] tx_len Spi transmit buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_send_data_standard_dma(dmac_channel_number_t channel_num, spi_device_num_t spi_num, - spi_chip_select_t chip_select, - const uint8_t *CmdBuff, size_t CmdLen, const uint8_t *tx_buff, size_t tx_len); - -/** - * @brief Spi receive data by dma - * - * @param[in] w_channel_num Dmac write channel number - * @param[in] r_channel_num Dmac read channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] rx_buff Spi receive buffer point - * @param[in] rx_len Spi receive buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_receive_data_standard_dma(dmac_channel_number_t dma_send_channel_num, - dmac_channel_number_t dma_receive_channel_num, - spi_device_num_t spi_num, spi_chip_select_t chip_select, const uint8_t *CmdBuff, - size_t CmdLen, uint8_t *rx_buff, size_t rx_len); - -/** - * @brief Spi special send data by dma - * - * @param[in] channel_num Dmac channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] tx_buff Spi transmit buffer point - * @param[in] tx_len Spi transmit buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_send_data_multiple_dma(dmac_channel_number_t channel_num, spi_device_num_t spi_num, - spi_chip_select_t chip_select, - const uint32_t *CmdBuff, size_t CmdLen, const uint8_t *tx_buff, size_t tx_len); - -/** - * @brief Spi special receive data by dma - * - * @param[in] dma_send_channel_num Dmac write channel number - * @param[in] dma_receive_channel_num Dmac read channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] CmdBuff Spi command buffer point - * @param[in] CmdLen Spi command length - * @param[in] rx_buff Spi receive buffer point - * @param[in] rx_len Spi receive buffer length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_receive_data_multiple_dma(dmac_channel_number_t dma_send_channel_num, - dmac_channel_number_t dma_receive_channel_num, - spi_device_num_t spi_num, spi_chip_select_t chip_select, const uint32_t *CmdBuff, - size_t CmdLen, uint8_t *rx_buff, size_t rx_len); - -/** - * @brief Spi fill dma - * - * @param[in] channel_num Dmac channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] tx_buff Spi command buffer point - * @param[in] tx_len Spi command length - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_fill_data_dma(dmac_channel_number_t channel_num, spi_device_num_t spi_num, spi_chip_select_t chip_select, - const uint32_t *tx_buff, size_t tx_len); - -/** - * @brief Spi normal send by dma - * - * @param[in] channel_num Dmac channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] tx_buff Spi transmit buffer point - * @param[in] tx_len Spi transmit buffer length - * @param[in] stw Spi transfer width - * - * @return Result - * - 0 Success - * - Other Fail - */ -void spi_send_data_normal_dma(dmac_channel_number_t channel_num, spi_device_num_t spi_num, - spi_chip_select_t chip_select, - const void *tx_buff, size_t tx_len, spi_transfer_width_t spi_transfer_width); - -/** - * @brief Spi normal send by dma - * - * @param[in] spi_num Spi bus number - * @param[in] spi_clk Spi clock rate - * - * @return The real spi clock rate - */ -uint32_t spi_set_clk_rate(spi_device_num_t spi_num, uint32_t spi_clk); - -/** - * @brief Spi full duplex send receive data by dma - * - * @param[in] dma_send_channel_num Dmac write channel number - * @param[in] dma_receive_channel_num Dmac read channel number - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] tx_buf Spi send buffer - * @param[in] tx_len Spi send buffer length - * @param[in] rx_buf Spi receive buffer - * @param[in] rx_len Spi receive buffer length - * - */ -void spi_dup_send_receive_data_dma(dmac_channel_number_t dma_send_channel_num, - dmac_channel_number_t dma_receive_channel_num, - spi_device_num_t spi_num, spi_chip_select_t chip_select, - const uint8_t *tx_buf, size_t tx_len, uint8_t *rx_buf, size_t rx_len); - -/** - * @brief Set spi slave configuration - * - * @param[in] int_pin SPI master starts sending data interrupt. - * @param[in] ready_pin SPI slave ready. - * @param[in] dmac_channel Dmac channel number for block. - * @param[in] data_bit_length Spi data bit length - * @param[in] data SPI slave device data buffer. - * @param[in] len The length of SPI slave device data buffer. - * @param[in] callback Callback of spi slave. - * - * @return Void - */ -void spi_slave_config(uint8_t int_pin, uint8_t ready_pin, dmac_channel_number_t dmac_channel, size_t data_bit_length, uint8_t *data, uint32_t len, spi_slave_receive_callback_t callback); - -/** - * @brief Spi handle transfer data operations - * - * @param[in] spi_num Spi bus number - * @param[in] chip_select Spi chip select - * @param[in] data Spi transfer data information - * @param[in] cb Spi DMA callback - * - */ -void spi_handle_data_dma(spi_device_num_t spi_num, spi_chip_select_t chip_select, spi_data_t data, plic_interrupt_t *cb); - -#ifdef __cplusplus -} -#endif - -#endif /* __HARDWARE_SPI_H__ */ diff --git a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/wdt.h b/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/wdt.h deleted file mode 100644 index b5a04fc74..000000000 --- a/Ubiquitous/XiZi/board/xidatong-riscv64/third_party_driver/include/wdt.h +++ /dev/null @@ -1,180 +0,0 @@ -/* Copyright 2018 Canaan Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** -* @file wdt.h -* @brief add from Canaan k210 SDK -* https://canaan-creative.com/developer -* @version 1.0 -* @author AIIT XUOS Lab -* @date 2022-07-25 -*/ - -#ifndef __WDT_H__ -#define __WDT_H__ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* clang-format off */ -typedef struct _wdt -{ - /* WDT Control Register (0x00) */ - volatile uint32_t cr; - /* WDT Timeout Range Register (0x04) */ - volatile uint32_t torr; - /* WDT Current Counter Value Register (0x08) */ - volatile uint32_t ccvr; - /* WDT Counter Restart Register (0x0c) */ - volatile uint32_t crr; - /* WDT Interrupt Status Register (0x10) */ - volatile uint32_t stat; - /* WDT Interrupt Clear Register (0x14) */ - volatile uint32_t eoi; - /* reserverd (0x18) */ - volatile uint32_t resv1; - /* WDT Protection level Register (0x1c) */ - volatile uint32_t prot_level; - /* reserved (0x20-0xe0) */ - volatile uint32_t resv4[49]; - /* WDT Component Parameters Register 5 (0xe4) */ - volatile uint32_t comp_param_5; - /* WDT Component Parameters Register 4 (0xe8) */ - volatile uint32_t comp_param_4; - /* WDT Component Parameters Register 3 (0xec) */ - volatile uint32_t comp_param_3; - /* WDT Component Parameters Register 2 (0xf0) */ - volatile uint32_t comp_param_2; - /* WDT Component Parameters Register 1 (0xf4) */ - volatile uint32_t comp_param_1; - /* WDT Component Version Register (0xf8) */ - volatile uint32_t comp_version; - /* WDT Component Type Register (0xfc) */ - volatile uint32_t comp_type; -} __attribute__((packed, aligned(4))) wdt_t; - -typedef enum _wdt_device_number -{ - WDT_DEVICE_0, - WDT_DEVICE_1, - WDT_DEVICE_MAX, -} wdt_device_number_t; - - -#define WDT_RESET_ALL 0x00000000U -#define WDT_RESET_CPU 0x00000001U - -/* WDT Control Register */ -#define WDT_CR_ENABLE 0x00000001U -#define WDT_CR_RMOD_MASK 0x00000002U -#define WDT_CR_RMOD_RESET 0x00000000U -#define WDT_CR_RMOD_INTERRUPT 0x00000002U -#define WDT_CR_RPL_MASK 0x0000001CU -#define WDT_CR_RPL(x) ((x) << 2) -/* WDT Timeout Range Register */ -#define WDT_TORR_TOP_MASK 0x000000FFU -#define WDT_TORR_TOP(x) ((x) << 4 | (x) << 0) -/* WDT Current Counter Value Register */ -#define WDT_CCVR_MASK 0xFFFFFFFFU -/* WDT Counter Restart Register */ -#define WDT_CRR_MASK 0x00000076U -/* WDT Interrupt Status Register */ -#define WDT_STAT_MASK 0x00000001U -/* WDT Interrupt Clear Register */ -#define WDT_EOI_MASK 0x00000001U -/* WDT Protection level Register */ -#define WDT_PROT_LEVEL_MASK 0x00000007U -/* WDT Component Parameter Register 5 */ -#define WDT_COMP_PARAM_5_CP_WDT_USER_TOP_MAX_MASK 0xFFFFFFFFU -/* WDT Component Parameter Register 4 */ -#define WDT_COMP_PARAM_4_CP_WDT_USER_TOP_INIT_MAX_MASK 0xFFFFFFFFU -/* WDT Component Parameter Register 3 */ -#define WDT_COMP_PARAM_3_CD_WDT_TOP_RST_MASK 0xFFFFFFFFU -/* WDT Component Parameter Register 2 */ -#define WDT_COMP_PARAM_3_CP_WDT_CNT_RST_MASK 0xFFFFFFFFU -/* WDT Component Parameter Register 1 */ -#define WDT_COMP_PARAM_1_WDT_ALWAYS_EN_MASK 0x00000001U -#define WDT_COMP_PARAM_1_WDT_DFLT_RMOD_MASK 0x00000002U -#define WDT_COMP_PARAM_1_WDT_DUAL_TOP_MASK 0x00000004U -#define WDT_COMP_PARAM_1_WDT_HC_RMOD_MASK 0x00000008U -#define WDT_COMP_PARAM_1_WDT_HC_RPL_MASK 0x00000010U -#define WDT_COMP_PARAM_1_WDT_HC_TOP_MASK 0x00000020U -#define WDT_COMP_PARAM_1_WDT_USE_FIX_TOP_MASK 0x00000040U -#define WDT_COMP_PARAM_1_WDT_PAUSE_MASK 0x00000080U -#define WDT_COMP_PARAM_1_APB_DATA_WIDTH_MASK 0x00000300U -#define WDT_COMP_PARAM_1_WDT_DFLT_RPL_MASK 0x00001C00U -#define WDT_COMP_PARAM_1_WDT_DFLT_TOP_MASK 0x000F0000U -#define WDT_COMP_PARAM_1_WDT_DFLT_TOP_INIT_MASK 0x00F00000U -#define WDT_COMP_PARAM_1_WDT_CNT_WIDTH_MASK 0x1F000000U -/* WDT Component Version Register */ -#define WDT_COMP_VERSION_MASK 0xFFFFFFFFU -/* WDT Component Type Register */ -#define WDT_COMP_TYPE_MASK 0xFFFFFFFFU -/* clang-format on */ - -/** - * @brief Feed wdt - */ -void wdt_feed(wdt_device_number_t id); - -/** - * @brief Start wdt - * - * @param[in] id Wdt id 0 or 1 - * @param[in] time_out_ms Wdt trigger time - * @param[in] on_irq Wdt interrupt callback - * - */ -void wdt_start(wdt_device_number_t id, uint64_t time_out_ms, plic_irq_callback_t on_irq); - -/** - * @brief Start wdt - * - * @param[in] id Wdt id 0 or 1 - * @param[in] time_out_ms Wdt trigger time - * @param[in] on_irq Wdt interrupt callback - * @param[in] ctx Param of callback - * - * @return Wdt time - * - */ -uint32_t wdt_init(wdt_device_number_t id, uint64_t time_out_ms, plic_irq_callback_t on_irq, void *ctx); - -/** - * @brief Stop wdt - * - * @param[in] id Wdt id 0 or 1 - * - */ -void wdt_stop(wdt_device_number_t id); - -/** - * @brief Clear wdt interrupt - * - * @param[in] id Wdt id 0 or 1 - * - */ -void wdt_clear_interrupt(wdt_device_number_t id); - -#ifdef __cplusplus -} -#endif - -#endif /* __WDT_H__ */