28#ifndef LIBBSP_ARM_XILINX_ZYNQ_CADENCE_I2C_REGS_H
29#define LIBBSP_ARM_XILINX_ZYNQ_CADENCE_I2C_REGS_H
35#define CADENCE_I2C_CONTROL_DIV_A(val) BSP_FLD32(val, 14, 15)
36#define CADENCE_I2C_CONTROL_DIV_A_GET(reg) BSP_FLD32GET(reg, 14, 15)
37#define CADENCE_I2C_CONTROL_DIV_A_SET(reg, val) BSP_FLD32SET(reg, val, 14, 15)
38#define CADENCE_I2C_CONTROL_DIV_B(val) BSP_FLD32(val, 8, 13)
39#define CADENCE_I2C_CONTROL_DIV_B_GET(reg) BSP_FLD32GET(reg, 8, 13)
40#define CADENCE_I2C_CONTROL_DIV_B_SET(reg, val) BSP_FLD32SET(reg, val, 8, 13)
41#define CADENCE_I2C_CONTROL_CLR_FIFO BSP_BIT32(6)
42#define CADENCE_I2C_CONTROL_SLVMON BSP_BIT32(5)
43#define CADENCE_I2C_CONTROL_HOLD BSP_BIT32(4)
44#define CADENCE_I2C_CONTROL_ACKEN BSP_BIT32(3)
45#define CADENCE_I2C_CONTROL_NEA BSP_BIT32(2)
46#define CADENCE_I2C_CONTROL_MS BSP_BIT32(1)
47#define CADENCE_I2C_CONTROL_RW BSP_BIT32(0)
49#define CADENCE_I2C_STATUS_BA BSP_BIT32(8)
50#define CADENCE_I2C_STATUS_RXOVF BSP_BIT32(7)
51#define CADENCE_I2C_STATUS_TXDV BSP_BIT32(6)
52#define CADENCE_I2C_STATUS_RXDV BSP_BIT32(5)
53#define CADENCE_I2C_STATUS_RXRW BSP_BIT32(3)
55#define CADENCE_I2C_ADDRESS(val) BSP_FLD32(val, 0, 9)
56#define CADENCE_I2C_ADDRESS_GET(reg) BSP_FLD32GET(reg, 0, 9)
57#define CADENCE_I2C_ADDRESS_SET(reg, val) BSP_FLD32SET(reg, val, 0, 9)
60#define CADENCE_I2C_IXR_ARB_LOST BSP_BIT32(9)
61#define CADENCE_I2C_IXR_RX_UNF BSP_BIT32(7)
62#define CADENCE_I2C_IXR_TX_OVR BSP_BIT32(6)
63#define CADENCE_I2C_IXR_RX_OVR BSP_BIT32(5)
64#define CADENCE_I2C_IXR_SLV_RDY BSP_BIT32(4)
65#define CADENCE_I2C_IXR_TO BSP_BIT32(3)
66#define CADENCE_I2C_IXR_NACK BSP_BIT32(2)
67#define CADENCE_I2C_IXR_DATA BSP_BIT32(1)
68#define CADENCE_I2C_IXR_COMP BSP_BIT32(0)
69 uint32_t transfer_size;
70#define CADENCE_I2C_TRANSFER_SIZE(val) BSP_FLD32(val, 0, 7)
71#define CADENCE_I2C_TRANSFER_SIZE_GET(reg) BSP_FLD32GET(reg, 0, 7)
72#define CADENCE_I2C_TRANSFER_SIZE_SET(reg, val) BSP_FLD32SET(reg, val, 0, 7)
73 uint32_t slave_mon_pause;
74#define CADENCE_I2C_SLAVE_MON_PAUSE(val) BSP_FLD32(val, 0, 3)
75#define CADENCE_I2C_SLAVE_MON_PAUSE_GET(reg) BSP_FLD32GET(reg, 0, 3)
76#define CADENCE_I2C_SLAVE_MON_PAUSE_SET(reg, val) BSP_FLD32SET(reg, val, 0, 3)
78#define CADENCE_I2C_TIMEOUT(val) BSP_FLD32(val, 0, 7)
79#define CADENCE_I2C_TIMEOUT_GET(reg) BSP_FLD32GET(reg, 0, 7)
80#define CADENCE_I2C_TIMEOUT_SET(reg, val) BSP_FLD32SET(reg, val, 0, 7)
This header file provides utility macros for BSPs.
Definition: cadence-i2c-regs.h:33
Definition: intercom.c:87