#ifndef __BSP_DRIVER_H__
#define __BSP_DRIVER_H__
#if defined (GD32F30X_HD) || defined (GD32F30X_XD) || defined (GD32F30X_CL)
#include "gd32f30x.h"
#include "bsp/gd32/gpio.h"
#include "bsp/gd32/gd32_bkp.h"
#include "bsp/gd32/gd32_rtc.h"
#include "bsp/gd32/can.h"
#include "bsp/gd32/i2c.h"
#include "bsp/gd32/fmc_flash.h"
#include "bsp/gd32/can.h"
#include "bsp/gd32/pwm.h"
#include "bsp/gd32/adc.h"
#include "bsp/gd32/fan_pwm.h"
#include "bsp/gd32/enc_intf.h"
#include "bsp/gd32/sched_timer.h"
#include "bsp/gd32/uart.h"
#elif defined AT32F413RCT7
#include "at32f413.h"
#include "bsp/at32/gpio.h"
#include "bsp/at32/can.h"
#include "bsp/at32/fmc_flash.h"
#include "bsp/at32/can.h"
#include "bsp/at32/pwm.h"
#include "bsp/at32/adc.h"
#include "bsp/at32/fan_pwm.h"
#include "bsp/at32/enc_intf.h"
#include "bsp/at32/sched_timer.h"
#include "bsp/at32/uart.h"
#elif defined N32G45X
#include "n32g45x.h"
#include "bsp/n32/gpio.h"
#include "bsp/n32/can.h"
#include "bsp/n32/fmc_flash.h"
#include "bsp/n32/can.h"
#include "bsp/n32/pwm.h"
#include "bsp/n32/adc.h"
#include "bsp/n32/fan_pwm.h"
#include "bsp/n32/enc_intf.h"
#include "bsp/n32/sched_timer.h"
#include "bsp/n32/uart.h"
#endif
#include "bsp/delay.h"

void bsp_init(void);
void wdog_reload(void);
void system_reboot(void);
int wdog_set_timeout(int wdog_time);
void systick_open(void);
u8 mcu_chip_id(u8 *buff);
u32 get_mcu_reset_source(void);
#endif /* __BSP_DRIVER_H__ */
