1 #ifndef _ADF7030_1__SPI_H_ 2 #define _ADF7030_1__SPI_H_ 4 #include <drivers/spi/adi_spi.h> 5 #include <devices/rf/adf703x/adi_adf7030-1_reg.h> 22 #define ADF7030_1_SPI_BUFFER_SIZE 256u 23 #define ADF7030_1_SPI_MAX_TRX_SIZE (ADF7030_1_SPI_BUFFER_SIZE - 8u) 28 #define SPI_DEV_BITRATE 3000000 31 #define SPI_CS_NUM ADI_SPI2_CS3 36 #define ADF703x_INT1_GPIO_PORT ADI_GPIO_PORT0 37 #define ADF703x_INT1_GPIO_PIN ADI_GPIO_PIN_15 41 #define ADF703x_INT2_GPIO_PORT ADI_GPIO_PORT1 42 #define ADF703x_INT2_GPIO_PIN ADI_GPIO_PIN_0 44 extern uint32_t ADF7030_1_SPI_PNTR[8];
53 PNTR_IRQ_CTRL_ADDR = 4,
54 PNTR_CUSTOM0_ADDR = 5,
55 PNTR_CUSTOM1_ADDR = 6,
71 uint8_t MEM_ACC_STATUS: 1;
74 uint8_t FW_STATUS : 4;
76 uint8_t CMD_READY : 1;
80 uint8_t EXT_IRQ_STATUS: 1;
83 uint8_t SPIS_READY : 1;
94 #define ADF703x_SPI_MEM_WRITE (0 << 6) 95 #define ADF703x_SPI_MEM_READ (1 << 6) 96 #define ADF703x_SPI_MEM_RANDOM (0 << 5) 97 #define ADF703x_SPI_MEM_BLOCK (1 << 5) 98 #define ADF703x_SPI_MEM_POINTER (0 << 4) 99 #define ADF703x_SPI_MEM_ADDRESS (1 << 4) 100 #define ADF703x_SPI_MEM_SHORT (0 << 3) 101 #define ADF703x_SPI_MEM_LONG (1 << 3) 103 extern void thumb_aligned_memcpy(
void* dest,
const void* src, uint32_t bytesToCopy );
104 extern void thumb_aligned_memset(
void* dest,
const uint32_t val, uint32_t bytesToCopy );
117 const uint32_t RateHz
121 ADI_SPI_HANDLE hSPIDevice,
126 ADI_SPI_HANDLE hSPIDevice,
131 ADI_SPI_HANDLE hSPIDevice,
138 ADI_SPI_HANDLE hSPIDevice,
143 ADI_SPI_HANDLE hSPIDevice,
150 ADI_SPI_HANDLE hSPIDevice,
157 ADI_SPI_HANDLE hSPIDevice,
165 ADI_SPI_HANDLE hSPIDevice,
172 ADI_SPI_HANDLE hSPIDevice,
179 ADI_SPI_HANDLE hSPIDevice,
187 ADI_SPI_HANDLE hSPIDevice,
195 ADI_SPI_HANDLE hSPIDevice,
203 ADI_SPI_HANDLE hSPIDevice,
212 ADI_SPI_HANDLE hSPIDevice,
219 ADI_SPI_HANDLE hSPIDevice,
226 ADI_SPI_HANDLE hSPIDevice,
234 ADI_SPI_HANDLE hSPIDevice,
244 ADI_SPI_HANDLE *hSPIDevice,
252 ADI_SPI_HANDLE *hSPIDevice,
260 ADI_SPI_HANDLE *hSPIDevice,
265 bool pDataIO_is_pointer
268 uint32_t adf7030_1__SPI_byte_random_transaction(
269 ADI_SPI_HANDLE *hSPIDevice,
uint32_t adf7030_1__SPI_word_random_transaction(ADI_SPI_HANDLE *hSPIDevice, uint32_t offset, uint32_t nb_word, uint32_t *pAddrIO, uint32_t *pDataIO, bool pDataIO_is_pointer)
Generic SPI Random Read/Write a number of words(s) to the adf7030-1.
uint32_t adf7030_1__SPI_wr_byte_p_a(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t num_xfrs, uint8_t *pDataIn)
Write a number of byte(s) from Host to memory of the adf7030-1 starting at location pointed by "pntr"...
uint32_t adf7030_1__SPI_rd_word_b_a(ADI_SPI_HANDLE hSPIDevice, uint32_t AddrIn, uint32_t num_xfrs, uint32_t *pDataOut)
Read a number of word(s) from the adf7030-1 to memory of Host Generic 32bits bloc address read from m...
uint32_t adf7030_1__SPI_word_block_transaction(ADI_SPI_HANDLE *hSPIDevice, uint32_t offset, uint32_t nb_bytes, uint32_t *pDataIO, uint32_t *pDataRef)
Generic SPI Block Read/Write a number of words(s) to the adf7030-1.
uint32_t adf7030_1__SPI_SetMMapCustomPntr0(ADI_SPI_HANDLE hSPIDevice, uint32_t Addr)
Change the SPI Radio mmap custom pointers 0 location.
uint32_t adf7030_1__SPI_GetMMapPointers(ADI_SPI_HANDLE hSPIDevice, uint32_t *pPNTR)
Get SPI Radio mmap pointers access.
uint32_t adf7030_1__SPI_rd_byte_p_a(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t num_xfrs, uint8_t *pDataOut)
Read a number of bytes(s) from memory of the adf7030-1 to Host starting at location pointed by "pntr"...
uint32_t adf7030_1__SPI_rd_cmp_word_b_a(ADI_SPI_HANDLE hSPIDevice, uint32_t AddrIn, uint32_t num_xfrs, uint32_t *pDataOut, uint32_t *pDataRef)
Read & Compare a number of word(s) from the adf7030-1 to memory of Host Generic 32bits bloc address r...
uint32_t adf7030_1__SPI_SetSpeed(const uint32_t RateHz)
Change SPI Host to PHY Communication bitrate.
uint32_t adf7030_1__SPI_rd_cmp_byte_b_a(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t AddrIn, uint32_t num_xfrs, uint8_t *pDataOut, uint8_t *pDataRef)
Read & Compare a number of bytes(s) from memory of the adf7030-1 to Host starting at location pointed...
uint32_t adf7030_1__SPI_rd_word_b_p(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t num_xfrs, uint32_t *pDataOut)
Read a number of word(s) from memory of the adf7030-1 to Host starting at location pointed by "pntr" ...
uint32_t adf7030_1__SPI_wr_word_b_p(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t num_xfrs, uint32_t *pDataIn)
Write a number of word(s) from Host to memory of the adf7030-1 starting at location pointed by "pntr"...
void adf7030_1__SPI_FindMMapPointer(ADI_SPI_HANDLE hSPIDevice, uint32_t Addr, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE *pPNTR_ID, int32_t *ByteOffset)
This function return the best Pointer id + offset for subsequent SPI transfert to the PHY "Addr" prov...
ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE
uint32_t adf7030_1__SPI_rd_byte_b_a(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t AddrIn, uint32_t num_xfrs, uint8_t *pDataOut)
Read a number of bytes(s) from memory of the adf7030-1 to Host starting at location pointed by "pntr"...
uint32_t adf7030_1__SPI_Block_Xfer(ADI_SPI_HANDLE hSPIDevice, uint32_t cmdOffset, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE PNTR_ID, uint32_t Addr, uint32_t nbBytes, void *pDataIO, void *pDataRef)
Generic function to read or write a number of bytes between the Host and the PHY adf703x.
uint32_t adf7030_1__SPI_UnInit(void)
Uninitializes SPI device used to communication with the adf7030-1 PHY.
uint32_t adf7030_1__SPI_rd_cmp_word_b_p(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t num_xfrs, uint32_t *pDataOut, uint32_t *pDataRef)
Read & Compare a number of word(s) from memory of the adf7030-1 to Host starting at location pointed ...
uint32_t adf7030_1__SPI_wr_word_b_a(ADI_SPI_HANDLE hSPIDevice, uint32_t AddrIn, uint32_t num_xfrs, uint32_t *pDataIn)
Write a number of word(s) from Host to memory of the adf7030-1 Generic 32bits bloc address write to m...
uint32_t adf7030_1__SPI_byte_block_transaction(ADI_SPI_HANDLE *hSPIDevice, uint32_t offset, uint32_t nb_bytes, uint8_t *pDataIO, uint8_t *pDataRef)
Generic SPI Block Read/Write a number of byte(s) to the adf7030-1.
uint32_t adf7030_1__SPI_wr_byte_b_a(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t AddrIn, uint32_t num_xfrs, uint8_t *pDataIn)
Write a number of byte(s) from Host to memory of the adf7030-1 starting at location pointed by "pntr"...
uint32_t adf7030_1__SPI_Init(void)
Initializes SPI device for communication with the adf7030-1 PHY.
uint32_t adf7030_1__SPI_rd_cmp_byte_p_a(ADI_SPI_HANDLE hSPIDevice, ADI_ADF7030_1_RADIO_SPI_PNTR_TYPE pntrID, uint32_t num_xfrs, uint8_t *pDataOut, uint8_t *pDataRef)
Read & Compare a number of bytes(s) from memory of the adf7030-1 to Host starting at location pointed...
uint32_t adf7030_1__SPI_SetMMapPointers(ADI_SPI_HANDLE hSPIDevice, uint32_t *pPNTR)
Set SPI Radio mmap pointers access.
ADI_ADF7030_1_RADIO_SPI_TRX_TYPE