#include "max2870.h" #include "tmsgheaders.h" const uint32_t max2870_regs[] ={ 0x80280000, 0x800303E9, 0x94005E42, 0x00000133, 0x638E80FC, 0x01400005 }; void max2870_init(void *bar1) { uint32_t cfg_reg = get_cfg_reg(); // Set the command to enter the 32-bit mode SET_REGISTER_PARAM(cfg_reg, CFG_REG_WIDTH_SPI_TMSG_BITM, CFG_REG_WIDTH_SPI_TMSG_BITP, CFG_REG_WIDTH_SPI_TMSG_32_BIT); uint32_t *ptr_cmd = bar1 + CFG_REG_ADDR; *ptr_cmd = cfg_reg; //Init Header uint32_t *ptr = bar1 + MAX2870_BASE_ADDR; *ptr = InitMAX2870Header; //Init Data for (int k = 0; k < sizeof(max2870_regs)/4; k++) { uint32_t *ptr = bar1 + MAX2870_BASE_ADDR; *ptr = max2870_regs[k]; } usleep(1); // Return to 24-bit mode SET_REGISTER_PARAM(cfg_reg, CFG_REG_WIDTH_SPI_TMSG_BITM, CFG_REG_WIDTH_SPI_TMSG_BITP, CFG_REG_WIDTH_SPI_TMSG_24_BIT); uint32_t *ptr_cmd_2 = bar1 + CFG_REG_ADDR; *ptr_cmd_2 = cfg_reg; set_cfg_reg(cfg_reg); }