74 lines
1.8 KiB
C
Executable File
74 lines
1.8 KiB
C
Executable File
|
|
#ifndef _ADRV9009_H_
|
|
#define _ADRV9009_H_
|
|
|
|
#define USR_AD9009_FPGA_WR 1
|
|
|
|
//#define FPGA_NODE "/dev/zynq_axi0"
|
|
//#define FPGA_NODE "/dev/spidev1.0"
|
|
|
|
#define FPGA_ADRV9009_NODE "/dev/zynq_axi0"
|
|
|
|
#include "fcntl.h"
|
|
|
|
|
|
|
|
|
|
|
|
#define RETRY_GET_STATUS_COUNT_MAX 100
|
|
|
|
|
|
|
|
// 使用fpga作为转发时使用以下结构体
|
|
//分开寄存器控制
|
|
#if 1
|
|
|
|
struct ad9009_init
|
|
{
|
|
u32 write_en_reg; //写使能寄存器
|
|
u32 write_en_bit; //写使能寄存器的控制位
|
|
u32 read_en_reg; //读使能寄存器
|
|
u32 read_en_bit; //读使能寄存器的控制位
|
|
u32 addr_reg; //操作寄存器
|
|
u32 write_data_reg; //写数据寄存器
|
|
u32 read_data_reg; //读数据寄存器
|
|
u32 write_status_reg; //写数据状态寄存器
|
|
u32 write_status_bit; //写数据状态寄存器的标志位
|
|
u32 read_status_reg; //读数据状态寄存器
|
|
u32 read_status_bit; //读数据状态寄存器的标志位
|
|
u32 reset_reg; //复位寄存器
|
|
u32 reset_bit; //复位寄存器的标志位
|
|
u32 reset_level; //reset level
|
|
u32 sleep_time; //每次发送休眠时间
|
|
};
|
|
|
|
struct ad9009_chip_init
|
|
{
|
|
u32 chip_count;
|
|
struct ad9009_init data[4];
|
|
};
|
|
|
|
//int write_ad9009(u32 num, u32 addr, u32 data);
|
|
//int read_ad9009(u32 num, u32 addr, u32 count);
|
|
//int read_ad9009_value(int num,int addr, unsigned int *value);
|
|
//int ad9009_read(int num, u32 addr, u32 *pdata, u32 count);
|
|
int ad9009_reset(int num);
|
|
|
|
|
|
#define ad9009_write_spi ad9009_write_hw_spi
|
|
#define ad9009_read_spi ad9009_read_hw_spi
|
|
|
|
//#define ad9009_write_spi ad9009_write_sim_spi
|
|
//#define ad9009_read_spi ad9009_read_sim_spi
|
|
|
|
|
|
int ad9009_write_spi(int num, u32 addr, u32 *pdata, u32 count);
|
|
int ad9009_read_spi(int num, u32 addr, u32 *pdata, u32 count);
|
|
void spi_9009_init(void);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|