Initial commit: TXW82x FPV v2.7.0.7-42229 SDK + project sources
This commit is contained in:
101
sdk/include/dev/gpio/hggpio_v4.h
Normal file
101
sdk/include/dev/gpio/hggpio_v4.h
Normal file
@@ -0,0 +1,101 @@
|
||||
#ifndef _HUGEIC_GPIO_V4_H_
|
||||
#define _HUGEIC_GPIO_V4_H_
|
||||
#include "hal/gpio.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define HGGPIO_V4_MAX_PINS (16)
|
||||
|
||||
|
||||
#ifdef HG_GPIOA_BASE
|
||||
#ifndef GPIOA_BASE
|
||||
#define GPIOA_BASE HG_GPIOA_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HG_GPIOB_BASE
|
||||
#ifndef GPIOB_BASE
|
||||
#define GPIOB_BASE HG_GPIOB_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HG_GPIOC_BASE
|
||||
#ifndef GPIOC_BASE
|
||||
#define GPIOC_BASE HG_GPIOC_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HG_GPIOD_BASE
|
||||
#ifndef GPIOD_BASE
|
||||
#define GPIOD_BASE HG_GPIOD_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef HG_GPIOE_BASE
|
||||
#ifndef GPIOE_BASE
|
||||
#define GPIOE_BASE HG_GPIOE_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef TXW80X
|
||||
#define INMAP_CONST_1 0x28
|
||||
#define INMAP_CONST_0 0x29
|
||||
#elif defined(TXW81X)
|
||||
#define INMAP_CONST_1 0x2e
|
||||
#define INMAP_CONST_0 0x2f
|
||||
#elif defined(TXW82X)
|
||||
#define INMAP_CONST_1 0x44
|
||||
#define INMAP_CONST_0 0x45
|
||||
#endif
|
||||
|
||||
struct gpio_bk{
|
||||
__IO uint32_t MODE;
|
||||
__IO uint32_t OTYPE;
|
||||
__IO uint32_t OSPEEDL;
|
||||
__IO uint32_t OSPEEDH;
|
||||
__IO uint32_t PUPL;
|
||||
__IO uint32_t PUPH;
|
||||
__IO uint32_t PUDL;
|
||||
__IO uint32_t PUDH;
|
||||
__IO uint32_t ODAT;
|
||||
__IO uint32_t AFRL;
|
||||
__IO uint32_t AFRH;
|
||||
__IO uint32_t IMK;
|
||||
__IO uint32_t DEBEN;
|
||||
__IO uint32_t AIOEN;
|
||||
__IO uint32_t TRG0;
|
||||
__IO uint32_t IEEN;
|
||||
__IO uint32_t IOFUNCOUTCON0;
|
||||
__IO uint32_t IOFUNCOUTCON1;
|
||||
__IO uint32_t IOFUNCOUTCON2;
|
||||
__IO uint32_t IOFUNCOUTCON3;
|
||||
};
|
||||
|
||||
struct hggpio_v4 {
|
||||
struct gpio_device dev;
|
||||
uint32 hw;
|
||||
uint32 comm_irq_num;
|
||||
int32 pin_id[HGGPIO_V4_MAX_PINS];
|
||||
gpio_irq_hdl irq_hdl[HGGPIO_V4_MAX_PINS];
|
||||
uint32 pin_num[2];
|
||||
uint8 irq_num;
|
||||
uint32_t flag;
|
||||
#ifdef CONFIG_SLEEP
|
||||
struct gpio_bk bk;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct hggpio_v4_hw;
|
||||
|
||||
int32 hggpio_v4_attach(uint32 dev_id, struct hggpio_v4 *gpio);
|
||||
uint32_t hggpio_v4_mask_opa(struct hggpio_v4_hw *reg, uint32_t pin_num, enum gpio_iomap_out_func func_sel, uint32_t flag);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
29
sdk/include/dev/gpio/hggpio_v5.h
Normal file
29
sdk/include/dev/gpio/hggpio_v5.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef _HUGEIC_GPIO_V5_H_
|
||||
#define _HUGEIC_GPIO_V5_H_
|
||||
#include "hal/gpio.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define HGGPIO_V5_MAX_PINS (16)
|
||||
|
||||
struct hggpio_v5 {
|
||||
struct gpio_device dev;
|
||||
uint32 hw;
|
||||
int32 pin_id[HGGPIO_V5_MAX_PINS];
|
||||
gpio_irq_hdl irq_hdl[HGGPIO_V5_MAX_PINS];
|
||||
uint32 pin_num[2];
|
||||
uint8 irq_num;
|
||||
};
|
||||
|
||||
|
||||
int32 hggpio_v5_attach(uint32 dev_id, struct hggpio_v5 *gpio);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user