123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /*
- * ===========================================================================================
- *
- * Filename: sunxi_eise.h
- *
- * Description: EISE HAL definition.
- *
- * Version: Melis3.0
- * Create: 2020-01-09 11:11:56
- * Revision: none
- * Compiler:
- *
- * Author: ganqiuye(ganqiuye@allwinnertech.com)
- * Organization: SWC-MPD
- * Last Modified: 2020-04-02 17:32:52
- *
- * ===========================================================================================
- */
- #ifndef SUNXI_HAL_EISE_H
- #define SUNXI_HAL_EISE_H
- #include <hal_clk.h>
- #include "hal_sem.h"
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- #include "sunxi_hal_common.h"
- #define DEVICE_NAME "sunxi_eise"
- /* system address */
- #define PLL_ISE_CTRL_REG (0x00D0)
- #define EISE_CLK_REG (0x06D0)
- #define MBUS_CLK_GATING_REG (0x0804)
- #define EISE_BGR_REG (0x06DC)
- /* eise register */
- #define EISE_CTRL_REG (0x00)
- #define EISE_IN_SIZE (0x28)
- #define EISE_OUT_SIZE (0x38)
- #define EISE_ICFG_REG (0x04)
- #define EISE_OCFG_REG (0x08)
- #define EISE_INTERRUPT_EN (0x0c)
- #define EISE_TIME_OUT_NUM (0x3c)
- #define EISE_INTERRUPT_STATUS (0x10)
- #define EISE_ERROR_FLAG (0x14)
- #define EISE_RESET_REG (0x88)
- struct eise_register{
- unsigned int addr;
- unsigned int value;
- };
- typedef struct hal_eise_t{
- unsigned int eise_base_addr;
- unsigned int ccmu_base_addr;
- // unsigned long err_cnt;
- //unsigned long interrupt_times;
- unsigned int irq_id;
- hal_clk_id_t pclk;
- hal_clk_id_t mclk;
- hal_sem_t hal_sem;
- }hal_eise_t;
- typedef struct sunxi_hal_driver_eise
- {
- int32_t (*initialize)(int32_t dev);
- int32_t (*uninitialize)(int32_t dev);
- int32_t (*send)(int32_t dev, const char *data, uint32_t num);
- int32_t (*receive)(int32_t dev, int *data, uint32_t num);
- int32_t (*control)(int32_t dev, uint32_t control, void* arg);
- sunxi_hal_poll_ops *poll_ops;
- } const sunxi_hal_driver_eise_t;
- #ifdef __cplusplus
- }
- #endif
- #endif
|