未验证 提交 c67cbdb3 编写于 作者: L liYang~ 提交者: GitHub

[drv_gpio]为ch32完善gpio驱动 (#6334)

* 修改Kconfig的不足

* update gpio driver

* formatting code
上级 4fa40bce
config SOC_RISCV_FAMILY_CH32 config SOC_RISCV_FAMILY_CH32
bool bool
config SOC_RISCV_SERIES_CH32V103 config SOC_RISCV_SERIES_CH32V1
bool bool
select ARCH_RISCV select ARCH_RISCV
select SOC_RISCV_FAMILY_CH32 select SOC_RISCV_FAMILY_CH32
config SOC_RISCV_SERIES_CH32V307 config SOC_RISCV_SERIES_CH32V3
bool bool
select ARCH_RISCV select ARCH_RISCV
select SOC_RISCV_FAMILY_CH32 select SOC_RISCV_FAMILY_CH32
......
...@@ -4,13 +4,35 @@ ...@@ -4,13 +4,35 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
* *
* Change Logs: * Change Logs:
* Date Author Notes * Date Author Notes
* 2021-08-10 charlown first version * 2022-08-25 liYony first version
*/ */
#ifndef DRV_GPIO_H__ #ifndef __DRV_GPIO_H__
#define DRV_GPIO_H__ #define __DRV_GPIO_H__
#include <board.h>
#include <rtthread.h>
#include "rtdevice.h"
#include <rthw.h>
#ifdef __cplusplus
extern "C" {
#endif
#define __CH32_PORT(port) GPIO##port##_BASE
#define GET_PIN(PORTx,PIN) (rt_base_t)((16 * ( ((rt_base_t)__CH32_PORT(PORTx) - (rt_base_t)GPIOA_BASE)/(0x0400UL) )) + PIN)
struct pin_irq_map
{
rt_uint16_t pinbit;
IRQn_Type irqno;
};
int rt_hw_pin_init(void); int rt_hw_pin_init(void);
#ifdef __cplusplus
}
#endif #endif
#endif /* __DRV_GPIO_H__ */
...@@ -491,7 +491,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 ...@@ -491,7 +491,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_ADT74XX is not set
# CONFIG_PKG_USING_AS7341 is not set # CONFIG_PKG_USING_AS7341 is not set
# CONFIG_PKG_USING_STM32_SDIO is not set # CONFIG_PKG_USING_STM32_SDIO is not set
# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_RTT_ESP_IDF is not set
# CONFIG_PKG_USING_ICM20608 is not set # CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_PCF8574 is not set
...@@ -505,7 +505,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 ...@@ -505,7 +505,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_WM_LIBRARIES is not set # CONFIG_PKG_USING_WM_LIBRARIES is not set
# #
# Kendryte SDK # kendryte-sdk: Kendryte SDK
# #
# CONFIG_PKG_USING_K210_SDK is not set # CONFIG_PKG_USING_K210_SDK is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set # CONFIG_PKG_USING_KENDRYTE_SDK is not set
...@@ -570,7 +570,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 ...@@ -570,7 +570,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_CW2015 is not set # CONFIG_PKG_USING_CW2015 is not set
# CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_RFM300 is not set
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
# #
# AI packages # AI packages
...@@ -646,66 +645,8 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 ...@@ -646,66 +645,8 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_MFBD is not set # CONFIG_PKG_USING_MFBD is not set
# CONFIG_PKG_USING_SLCAN2RTT is not set # CONFIG_PKG_USING_SLCAN2RTT is not set
# CONFIG_PKG_USING_SOEM is not set # CONFIG_PKG_USING_SOEM is not set
# CONFIG_PKG_USING_QPARAM is not set
#
# Privated Packages of RealThread
#
# CONFIG_PKG_USING_CODEC is not set
# CONFIG_PKG_USING_PLAYER is not set
# CONFIG_PKG_USING_MPLAYER is not set
# CONFIG_PKG_USING_PERSIMMON_SRC is not set
# CONFIG_PKG_USING_JS_PERSIMMON is not set
# CONFIG_PKG_USING_JERRYSCRIPT_WIN32 is not set
#
# Network Utilities
#
# CONFIG_PKG_USING_WICED is not set
# CONFIG_PKG_USING_CLOUDSDK is not set
# CONFIG_PKG_USING_POWER_MANAGER is not set
# CONFIG_PKG_USING_RT_OTA is not set
# CONFIG_PKG_USING_RTINSIGHT is not set
# CONFIG_PKG_USING_SMARTCONFIG is not set
# CONFIG_PKG_USING_RTX is not set
# CONFIG_RT_USING_TESTCASE is not set
# CONFIG_PKG_USING_NGHTTP2 is not set
# CONFIG_PKG_USING_AVS is not set
# CONFIG_PKG_USING_ALI_LINKKIT is not set
# CONFIG_PKG_USING_STS is not set
# CONFIG_PKG_USING_DLMS is not set
# CONFIG_PKG_USING_AUDIO_FRAMEWORK is not set
# CONFIG_PKG_USING_ZBAR is not set
# CONFIG_PKG_USING_MCF is not set
# CONFIG_PKG_USING_URPC is not set
# CONFIG_PKG_USING_DCM is not set
# CONFIG_PKG_USING_EMQ is not set
# CONFIG_PKG_USING_CFGM is not set
# CONFIG_PKG_USING_RT_CMSIS_DAP is not set
# CONFIG_PKG_USING_SMODULE is not set
# CONFIG_PKG_USING_SNFD is not set
# CONFIG_PKG_USING_UDBD is not set
# CONFIG_PKG_USING_BENCHMARK is not set
# CONFIG_PKG_USING_UBJSON is not set
# CONFIG_PKG_USING_DATATYPE is not set
# CONFIG_PKG_USING_FASTFS is not set
# CONFIG_PKG_USING_RIL is not set
# CONFIG_PKG_USING_WATCH_DCM_SVC is not set
# CONFIG_PKG_USING_WATCH_APP_FWK is not set
# CONFIG_PKG_USING_GUI_TEST is not set
# CONFIG_PKG_USING_PMEM is not set
# CONFIG_PKG_USING_LWRDP is not set
# CONFIG_PKG_USING_MASAN is not set
# CONFIG_PKG_USING_BSDIFF_LIB is not set
# CONFIG_PKG_USING_PRC_DIFF is not set
#
# RT-Thread Smart
#
# CONFIG_PKG_USING_UKERNEL is not set
# CONFIG_PKG_USING_TRACE_AGENT is not set
CONFIG_SOC_RISCV_FAMILY_CH32=y CONFIG_SOC_RISCV_FAMILY_CH32=y
CONFIG_SOC_RISCV_SERIES_CH32V103=y CONFIG_SOC_RISCV_SERIES_CH32V1=y
# #
# Hardware Drivers Config # Hardware Drivers Config
......
...@@ -2,7 +2,7 @@ menu "Hardware Drivers Config" ...@@ -2,7 +2,7 @@ menu "Hardware Drivers Config"
config SOC_CH32V103R8 config SOC_CH32V103R8
bool bool
select SOC_RISCV_SERIES_CH32V103 select SOC_RISCV_SERIES_CH32V1
select RT_USING_COMPONENTS_INIT select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN select RT_USING_USER_MAIN
default y default y
......
...@@ -157,7 +157,7 @@ ...@@ -157,7 +157,7 @@
/* peripheral libraries and drivers */ /* peripheral libraries and drivers */
/* Kendryte SDK */ /* kendryte-sdk: Kendryte SDK */
/* AI packages */ /* AI packages */
...@@ -172,17 +172,8 @@ ...@@ -172,17 +172,8 @@
/* entertainment: terminal games and other interesting software packages */ /* entertainment: terminal games and other interesting software packages */
/* Privated Packages of RealThread */
/* Network Utilities */
/* RT-Thread Smart */
#define SOC_RISCV_FAMILY_CH32 #define SOC_RISCV_FAMILY_CH32
#define SOC_RISCV_SERIES_CH32V103 #define SOC_RISCV_SERIES_CH32V1
/* Hardware Drivers Config */ /* Hardware Drivers Config */
......
...@@ -646,7 +646,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 ...@@ -646,7 +646,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_SLCAN2RTT is not set # CONFIG_PKG_USING_SLCAN2RTT is not set
# CONFIG_PKG_USING_SOEM is not set # CONFIG_PKG_USING_SOEM is not set
CONFIG_SOC_RISCV_FAMILY_CH32=y CONFIG_SOC_RISCV_FAMILY_CH32=y
CONFIG_SOC_RISCV_SERIES_CH32V307=y CONFIG_SOC_RISCV_SERIES_CH32V3=y
# #
# Hardware Drivers Config # Hardware Drivers Config
......
...@@ -36,7 +36,7 @@ CH32V307V-R1 是 WCH 推出的一款基于 RISC-V 内核的开发板,最高主 ...@@ -36,7 +36,7 @@ CH32V307V-R1 是 WCH 推出的一款基于 RISC-V 内核的开发板,最高主
#### 1、指定RISC-V GCC编译器 #### 1、指定RISC-V GCC编译器
推荐使用RT_Studio软件里面的编译器。 推荐使用RT-Thread Studio软件里面的编译器。
##### 方法一:直接指定编译器路径。 ##### 方法一:直接指定编译器路径。
......
...@@ -2,7 +2,7 @@ menu "Hardware Drivers Config" ...@@ -2,7 +2,7 @@ menu "Hardware Drivers Config"
config SOC_CH32V307VC config SOC_CH32V307VC
bool bool
select SOC_RISCV_SERIES_CH32V307 select SOC_RISCV_SERIES_CH32V3
select RT_USING_COMPONENTS_INIT select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN select RT_USING_USER_MAIN
default y default y
......
...@@ -173,7 +173,7 @@ ...@@ -173,7 +173,7 @@
/* entertainment: terminal games and other interesting software packages */ /* entertainment: terminal games and other interesting software packages */
#define SOC_RISCV_FAMILY_CH32 #define SOC_RISCV_FAMILY_CH32
#define SOC_RISCV_SERIES_CH32V307 #define SOC_RISCV_SERIES_CH32V3
/* Hardware Drivers Config */ /* Hardware Drivers Config */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册