| 1234567891011121314151617181920212223242526272829303132333435 |
- #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;
- usleep(1);
- set_cfg_reg(cfg_reg);
- }
|