mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-11-09 20:45:41 +08:00
add raspi4 gpio interrupt
This commit is contained in:
1 parent
0a7e38c5a1
commit
72d4e2ed50
5 files changed
+360
-13
No files matched your search
@@ -65,7 +65,7 @@ CONFIG_RT_USING_DEVICE=y
|
||||
# CONFIG_RT_USING_INTERRUPT_INFO is not set
|
||||
CONFIG_RT_USING_CONSOLE=y
|
||||
CONFIG_RT_CONSOLEBUF_SIZE=128
|
||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
|
||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||
CONFIG_RT_VER_NUM=0x40003
|
||||
# CONFIG_RT_USING_CPU_FFS is not set
|
||||
CONFIG_ARCH_ARMV8=y
|
||||
@@ -331,7 +331,6 @@ CONFIG_RT_USING_POSIX=y
|
||||
# CONFIG_PKG_USING_LWEXT4 is not set
|
||||
# CONFIG_PKG_USING_PARTITION is not set
|
||||
# CONFIG_PKG_USING_FAL is not set
|
||||
# CONFIG_PKG_USING_FLASHDB is not set
|
||||
# CONFIG_PKG_USING_SQLITE is not set
|
||||
# CONFIG_PKG_USING_RTI is not set
|
||||
# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
|
||||
@@ -388,7 +387,6 @@ CONFIG_RT_USING_POSIX=y
|
||||
# CONFIG_PKG_USING_BEEP is not set
|
||||
# CONFIG_PKG_USING_EASYBLINK is not set
|
||||
# CONFIG_PKG_USING_PMS_SERIES is not set
|
||||
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
||||
|
||||
#
|
||||
# miscellaneous packages
|
||||
@@ -425,6 +423,38 @@ CONFIG_RT_USING_POSIX=y
|
||||
# CONFIG_PKG_USING_VT100 is not set
|
||||
# CONFIG_PKG_USING_ULAPACK is not set
|
||||
# CONFIG_PKG_USING_UKAL 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_RDBD_SRC 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_BCM2711_SOC=y
|
||||
# CONFIG_BSP_SUPPORT_FPU is not set
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -17,6 +17,14 @@
|
||||
#include "board.h"
|
||||
#include "interrupt.h"
|
||||
|
||||
struct gpio_irq_def
|
||||
{
|
||||
void *irq_arg[32];
|
||||
void (*irq_cb[32])(void *param);
|
||||
rt_uint8_t irq_type[32];
|
||||
rt_uint8_t state[32];
|
||||
};
|
||||
|
||||
#define GPIO_REG_GPFSEL0(BASE) HWREG32(BASE + 0x00)
|
||||
#define GPIO_REG_GPFSEL1(BASE) HWREG32(BASE + 0x04)
|
||||
#define GPIO_REG_GPFSEL2(BASE) HWREG32(BASE + 0x08)
|
||||
@@ -59,6 +67,10 @@
|
||||
#define GPIO_REG_GPPUDCLK1(BASE) HWREG32(BASE + 0x9C)
|
||||
#define GPIO_REG_REV9(BASE) HWREG32(BASE + 0xA0)
|
||||
#define GPIO_REG_TEST(BASE) HWREG32(BASE + 0xA4)
|
||||
#define GPIO_PUP_PDN_CNTRL_REG0(BASE) HWREG32(BASE + 0xE4)
|
||||
#define GPIO_PUP_PDN_CNTRL_REG1(BASE) HWREG32(BASE + 0xE8)
|
||||
#define GPIO_PUP_PDN_CNTRL_REG2(BASE) HWREG32(BASE + 0xEC)
|
||||
#define GPIO_PUP_PDN_CNTRL_REG3(BASE) HWREG32(BASE + 0xF0)
|
||||
|
||||
typedef enum {
|
||||
GPIO_PIN_0,
|
||||
@@ -115,6 +127,12 @@ typedef enum {
|
||||
ALT5 = 0b010
|
||||
} GPIO_FUNC;
|
||||
|
||||
typedef enum {
|
||||
RASPI_NO_RESISTOR = 0x00,
|
||||
RASPI_PULL_UP = 0x01,
|
||||
RASPI_PULL_DOWN = 0x10
|
||||
} GPIO_PUPD_FUNC;
|
||||
|
||||
void prev_raspi_pin_mode(GPIO_PIN pin, GPIO_FUNC mode);
|
||||
int rt_hw_gpio_init(void);
|
||||
|
||||
|
||||
@@ -29,6 +29,11 @@
|
||||
|
||||
/* GPIO */
|
||||
#define GPIO_BASE (PER_BASE + GPIO_BASE_OFFSET)
|
||||
#define GPIO_IRQ_NUM (3) //40 pin mode
|
||||
#define IRQ_GPIO0 (96 + 49) //bank0 (0 to 27)
|
||||
#define IRQ_GPIO1 (96 + 50) //bank1 (28 to 45)
|
||||
#define IRQ_GPIO2 (96 + 51) //bank2 (46 to 57)
|
||||
#define IRQ_GPIO3 (96 + 52) //bank3
|
||||
|
||||
/* Timer (ARM side) */
|
||||
#define ARM_TIMER_IRQ (64)
|
||||
|
||||
@@ -154,6 +154,12 @@
|
||||
|
||||
/* samples: kernel and components samples */
|
||||
|
||||
|
||||
/* Privated Packages of RealThread */
|
||||
|
||||
|
||||
/* Network Utilities */
|
||||
|
||||
#define BCM2711_SOC
|
||||
|
||||
/* Hardware Drivers Config */
|
||||
|
||||
Reference in new issue
Block a user