9 #define QUP_CONFIG 0x000
10 #define QUP_STATE 0x004
11 #define QUP_IO_MODES 0x008
12 #define QUP_SW_RESET 0x00C
13 #define QUP_TRANSFER_CANCEL 0x014
14 #define QUP_OPERATIONAL 0x018
15 #define QUP_ERROR_FLAGS 0x01C
16 #define QUP_ERROR_FLAGS_EN 0x020
17 #define QUP_TEST_CTRL 0x024
18 #define QUP_OPERATIONAL_MASK 0x028
19 #define QUP_HW_VERSION 0x030
20 #define QUP_MX_OUTPUT_COUNT 0x100
21 #define QUP_MX_OUTPUT_CNT_CURRENT 0x104
22 #define QUP_OUTPUT_DEBUG 0x108
23 #define QUP_OUTPUT_FIFO_WORD_CNT 0x10C
24 #define QUP_OUTPUT_FIFO 0x110
25 #define QUP_OUTPUT_FIFO_SIZE 64
26 #define QUP_MX_WRITE_COUNT 0x150
27 #define QUP_MX_WRITE_CNT_CURRENT 0x154
28 #define QUP_MX_INPUT_COUNT 0x200
29 #define QUP_MX_INPUT_CNT_CURRENT 0x204
30 #define QUP_MX_READ_COUNT 0x208
31 #define QUP_MX_READ_CNT_CURRENT 0x20C
32 #define QUP_INPUT_DEBUG 0x210
33 #define QUP_INPUT_FIFO_WORD_CNT 0x214
34 #define QUP_INPUT_FIFO 0x218
35 #define QUP_INPUT_FIFO_SIZE 64
36 #define QUP_I2C_MASTER_CLK_CTL 0x400
37 #define QUP_I2C_MASTER_STATUS 0x404
38 #define QUP_I2C_MASTER_CONFIG 0x408
39 #define QUP_I2C_MASTER_BUS_CLEAR 0x40C
40 #define QUP_I2C_MASTER_LOCAL_ID 0x410
41 #define QUP_I2C_MASTER_COMMAND 0x414
43 #define OUTPUT_FIFO_FULL (1<<6)
44 #define INPUT_FIFO_NOT_EMPTY (1<<5)
45 #define OUTPUT_FIFO_NOT_EMPTY (1<<4)
46 #define INPUT_SERVICE_FLAG (1<<9)
47 #define OUTPUT_SERVICE_FLAG (1<<8)
48 #define QUP_UNPACK_EN (1<<14)
49 #define QUP_PACK_EN (1<<15)
50 #define QUP_OUTPUT_BIT_SHIFT_EN (1<<16)
52 #define QUP_MODE_MASK (0x03)
53 #define QUP_OUTPUT_MODE_SHFT (10)
54 #define QUP_INPUT_MODE_SHFT (12)
56 #define QUP_FS_DIVIDER_MASK (0xFF)
58 #define QUP_APP_CLK_ON_EN (1 << 12)
59 #define QUP_CORE_CLK_ON_EN (1 << 13)
60 #define QUP_MINI_CORE_PROTO_SHFT (8)
61 #define QUP_MINI_CORE_PROTO_MASK (0x0F)
64 #define QUP_STATE_RESET 0x0
65 #define QUP_STATE_RUN 0x1
66 #define QUP_STATE_PAUSE 0x3
67 #define QUP_STATE_VALID (1<<2)
68 #define QUP_STATE_MASK 0x3
69 #define QUP_STATE_VALID_MASK (1<<2)
72 #define QUP_I2C_1CLK_NOOP_SEQ 0x1
73 #define QUP_I2C_START_SEQ (0x1 << 8)
74 #define QUP_I2C_DATA_SEQ (0x2 << 8)
75 #define QUP_I2C_STOP_SEQ (0x3 << 8)
76 #define QUP_I2C_RECV_SEQ (0x4 << 8)
79 #define QUP_I2C_MIDATA_SEQ (0x5 << 8)
80 #define QUP_I2C_MISTOP_SEQ (0x6 << 8)
81 #define QUP_I2C_MINACK_SEQ (0x7 << 8)
83 #define QUP_I2C_ADDR(x) ((x & 0xFF) << 1)
84 #define QUP_I2C_DATA(x) (x & 0xFF)
85 #define QUP_I2C_MI_TAG(x) (x & 0xFF00)
86 #define QUP_I2C_SLAVE_READ (0x1)
89 #define QUP_HS_DIVIDER_SHFT (8)
90 #define QUP_DIVIDER_MIN_VAL (0x3)
93 #define QUP_I2C_INVALID_READ_SEQ (1 << 25)
94 #define QUP_I2C_INVALID_READ_ADDR (1 << 24)
95 #define QUP_I2C_INVALID_TAG (1 << 23)
96 #define QUP_I2C_FAILED_MASK (0x3 << 6)
97 #define QUP_I2C_INVALID_WRITE (1 << 5)
98 #define QUP_I2C_ARB_LOST (1 << 4)
99 #define QUP_I2C_PACKET_NACK (1 << 3)
100 #define QUP_I2C_BUS_ERROR (1 << 2)
qup_return_t qup_set_state(blsp_qup_id_t id, uint32_t state)
qup_return_t qup_recv_data(blsp_qup_id_t id, qup_data_t *p_tx_obj)
@ QUP_MINICORE_I2C_MASTER
qup_return_t qup_send_data(blsp_qup_id_t id, qup_data_t *p_tx_obj, uint8_t stop_seq)
@ QUP_ERR_I2C_INVALID_SLAVE_ADDR
@ QUP_ERR_I2C_INVALID_WRITE
@ QUP_ERR_I2C_INVALID_TAG
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)
unsigned int src_frequency
unsigned int clk_frequency