10 #define TIMEOUT_CNT 100000
23 #define QUP_ADDR(gsbi_num, reg) ((void *)((gsbi_qup_base[gsbi_num-1]) + (reg)))
129 unsigned int data_len = p_tx_obj->
p.
iic.data_len;
130 unsigned int idx = 0;
141 if (data_len == 1 && stop_seq) {
205 unsigned int data_len = p_tx_obj->
p.
iic.data_len;
206 unsigned int idx = 0;
262 p_tx_obj->
p.
iic.data_len = idx;
325 switch (config_ptr->
mode) {
387 gsbi_id, p_tx_obj->
p.
iic.addr);
388 for (i = 0; i < p_tx_obj->
p.
iic.data_len; i++)
425 gsbi_id, p_rx_obj->
p.
iic.addr);
426 for (i = 0; i < p_rx_obj->
p.
iic.data_len; i++)
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define printk(level,...)
static int stopwatch_expired(struct stopwatch *sw)
static void stopwatch_init_usecs_expire(struct stopwatch *sw, long us)
#define QUP_I2C_INVALID_READ_ADDR
#define QUP_I2C_MISTOP_SEQ
#define QUP_MINI_CORE_PROTO_MASK
#define QUP_I2C_BUS_ERROR
#define QUP_I2C_FAILED_MASK
#define QUP_ERROR_FLAGS_EN
#define OUTPUT_SERVICE_FLAG
#define QUP_I2C_MIDATA_SEQ
#define QUP_I2C_INVALID_TAG
#define QUP_MINI_CORE_PROTO_SHFT
#define QUP_I2C_SLAVE_READ
#define QUP_I2C_MASTER_CLK_CTL
@ QUP_MINICORE_I2C_MASTER
#define QUP_STATE_VALID_MASK
#define QUP_I2C_MASTER_STATUS
#define QUP_FS_DIVIDER_MASK
#define QUP_DIVIDER_MIN_VAL
#define QUP_HS_DIVIDER_SHFT
#define QUP_I2C_PACKET_NACK
@ QUP_ERR_I2C_INVALID_SLAVE_ADDR
@ QUP_ERR_I2C_INVALID_WRITE
@ QUP_ERR_I2C_INVALID_TAG
#define QUP_OUTPUT_BIT_SHIFT_EN
#define QUP_I2C_MI_TAG(x)
#define INPUT_SERVICE_FLAG
#define QUP_OUTPUT_MODE_SHFT
#define QUP_INPUT_MODE_SHFT
#define QUP_I2C_INVALID_WRITE
#define OUTPUT_FIFO_NOT_EMPTY
#define QUP_I2C_START_SEQ
qup_return_t qup_recv_data(blsp_qup_id_t id, qup_data_t *p_rx_obj)
qup_return_t qup_set_state(blsp_qup_id_t id, uint32_t state)
qup_return_t qup_send_data(blsp_qup_id_t id, qup_data_t *p_tx_obj, uint8_t stop_seq)
qup_return_t qup_reset_i2c_master_status(blsp_qup_id_t id)
qup_return_t qup_init(blsp_qup_id_t id, const qup_config_t *config_ptr)
static qup_return_t qup_fifo_wait_for(gsbi_id_t gsbi_id, uint32_t status, struct stopwatch *timeout)
static qup_return_t qup_i2c_read_fifo(gsbi_id_t gsbi_id, qup_data_t *p_tx_obj)
static qup_return_t qup_i2c_write_fifo(gsbi_id_t gsbi_id, qup_data_t *p_tx_obj, uint8_t stop_seq)
static qup_return_t qup_wait_for_state(gsbi_id_t gsbi_id, unsigned int wait_for)
static qup_return_t qup_reset_master_status(gsbi_id_t gsbi_id)
static qup_return_t qup_i2c_send_data(gsbi_id_t gsbi_id, qup_data_t *p_tx_obj, uint8_t stop_seq)
#define QUP_ADDR(gsbi_num, reg)
static qup_return_t qup_i2c_write(gsbi_id_t gsbi_id, uint8_t mode, qup_data_t *p_tx_obj, uint8_t stop_seq)
static int check_bit_state(uint32_t *reg, int wait_for)
static qup_return_t qup_fifo_wait_while(gsbi_id_t gsbi_id, uint32_t status, struct stopwatch *timeout)
static unsigned int gsbi_qup_base[]
static qup_return_t qup_i2c_read(gsbi_id_t gsbi_id, uint8_t mode, qup_data_t *p_tx_obj)
static qup_return_t qup_i2c_recv_data(gsbi_id_t gsbi_id, qup_data_t *p_rx_obj)
static qup_return_t qup_i2c_master_status(gsbi_id_t gsbi_id)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
unsigned int src_frequency
unsigned int clk_frequency
struct qup_data_t::@1401::@1402 iic
union qup_data_t::@1401 p