SemiDrive SSDK Appication Program Interface PTG3.0
sdrv_xspi_slv.h
Go to the documentation of this file.
1
9#ifndef _SDRV_XSPI_SLV_H_
10#define _SDRV_XSPI_SLV_H_
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#include <debug.h>
17#include <stdlib.h>
18#include <types.h>
19
20#include <sdrv_ckgen.h>
21#include <sdrv_common.h>
29};
30
34};
35
39};
40
46};
47
51};
52
54 bool enable;
55 uint8_t idle_time;
56};
57
59 bool enable;
60 uint8_t time;
61};
62
64 uint8_t dummy_val;
65};
66
68 bool enable;
69 uint16_t time;
70};
71
73 bool enable;
74 uint8_t aid;
75};
76
78 bool enable;
79 uint8_t acache;
80};
81
83 bool enable;
84 uint8_t aprot;
85};
86
88 bool enable;
89 uint32_t offset_addr;
90 uint32_t begin_addr;
91 uint32_t end_addr;
92 uint32_t id;
93};
94
96 bool addr_en;
97 bool addr_lock;
98 uint32_t begin_addr;
99 uint32_t end_addr;
100 uint32_t id;
101};
102
153
158 paddr_t base;
159 uint16_t irq;
161 bool crc_dis;
165 bool is_ddr;
169 uint8_t cmd_wr_trg;
170 uint8_t cmd_rd_trg;
174 uint8_t cmd_wr_wdata;
175 uint8_t cmd_wr_st;
176 uint8_t cmd_rd_id;
177 uint8_t cmd_rd_st;
178 uint8_t cmd_rd_rdata;
180};
181
186 paddr_t base;
187 uint16_t irq;
188};
189
200 const struct sdrv_xspi_slv_conf *conf);
201
213 enum sdrv_xspi_slv_ioctl_flag flag, const void *buf);
214
226 enum sdrv_xspi_slv_ioctl_flag flag, void *buf);
227
237
247
257
267#ifdef __cplusplus
268}
269#endif
270
271#endif
272
SemiDrive clock generator driver header file.
SemiDrive driver common header file.
@ SDRV_STATUS_GROUP_XSPI_MST_SLV
Definition: sdrv_common.h:61
int32_t status_t
Type used for all status and error return values.
Definition: sdrv_common.h:82
#define SDRV_ERROR_STATUS(group, code)
Construct a status code value from a group and code number. All the error statuses are negetive numbe...
Definition: sdrv_common.h:17
sdrv_xspi_master_error
xspi master status error code.
Definition: sdrv_xspi_mst.h:26
sdrv_xspi_slv_tx_mode
Definition: sdrv_xspi_slv.h:36
@ XSPI_SLV_DQS_SCLK
Definition: sdrv_xspi_slv.h:38
@ XSPI_SLV_DQS_DIV2_ACLK
Definition: sdrv_xspi_slv.h:37
status_t sdrv_xspi_slv_disable(struct sdrv_xspi_slv *slave)
xspi slave disable.
status_t sdrv_xspi_slv_get_attr(struct sdrv_xspi_slv *slave, enum sdrv_xspi_slv_ioctl_flag flag, void *buf)
xspi slave get attr.
sdrv_xspi_slv_mode
Definition: sdrv_xspi_slv.h:48
@ XSPI_SLV_INDIRECT_MODE
Definition: sdrv_xspi_slv.h:49
@ XSPI_SLV_DIRECT_MODE
Definition: sdrv_xspi_slv.h:50
status_t sdrv_xspi_slv_clr_status(struct sdrv_xspi_slv *slave)
xspi slave status.
sdrv_xspi_slv_bit_endian
Definition: sdrv_xspi_slv.h:31
@ XSPI_SLV_LITTLE_ENDIAN
Definition: sdrv_xspi_slv.h:33
@ XSPI_SLV_BIG_ENDIAN
Definition: sdrv_xspi_slv.h:32
status_t sdrv_xspi_slv_init(struct sdrv_xspi_slv *slave, const struct sdrv_xspi_slv_conf *conf)
xspi slave slave init.
@ SSDRV_STATUS_GROUP_XSPI_SLAVER_SET_FLAG_ATTR_ERR
Definition: sdrv_xspi_slv.h:26
@ SSDRV_STATUS_GROUP_XSPI_SLAVER_GET_STATUS_ERR
Definition: sdrv_xspi_slv.h:28
@ SSDRV_STATUS_GROUP_XSPI_SLAVER_GET_FLAG_ATTR_ERR
Definition: sdrv_xspi_slv.h:27
sdrv_xspi_slv_ioctl_flag
xspi slave set attr.
Definition: sdrv_xspi_slv.h:106
@ XSPI_SLV_FLAG_ID0
Definition: sdrv_xspi_slv.h:122
@ XSPI_SLV_FLAG_EN
Definition: sdrv_xspi_slv.h:107
@ XSPI_SLV_FLAG_AXI_RD_EN
Definition: sdrv_xspi_slv.h:114
@ XSPI_SLV_FLAG_TX_MODE
Definition: sdrv_xspi_slv.h:112
@ XSPI_SLV_FLAG_WR_CHK_EN
Definition: sdrv_xspi_slv.h:111
@ XSPI_SLV_FLAG_CMD_RD_RDATA_CRC
Definition: sdrv_xspi_slv.h:140
@ XSPI_SLV_FLAG_RATE
Definition: sdrv_xspi_slv.h:117
@ XSPI_SLV_FLAG_RD_MON
Definition: sdrv_xspi_slv.h:148
@ XSPI_SLV_FLAG_INT_MASK
Definition: sdrv_xspi_slv.h:127
@ XSPI_SLV_FLAG_PAD_CRCB_MASK
Definition: sdrv_xspi_slv.h:125
@ XSPI_SLV_FLAG_CMD_RD_ID
Definition: sdrv_xspi_slv.h:137
@ XSPI_SLV_FLAG_ARID_OVERRIDE
Definition: sdrv_xspi_slv.h:141
@ XSPI_SLV_FLAG_CMD_RD_RDATA
Definition: sdrv_xspi_slv.h:139
@ XSPI_SLV_FLAG_BIT_ENDIAN
Definition: sdrv_xspi_slv.h:109
@ XSPI_SLV_FLAG_CMD_WR_PAYLOAD
Definition: sdrv_xspi_slv.h:134
@ XSPI_SLV_FLAG_ST
Definition: sdrv_xspi_slv.h:128
@ XSPI_SLV_FLAG_REGION_MAP
Definition: sdrv_xspi_slv.h:147
@ XSPI_SLV_FLAG_INT_ST
Definition: sdrv_xspi_slv.h:126
@ XSPI_SLV_FLAG_CMD_WR_PACKET1
Definition: sdrv_xspi_slv.h:133
@ XSPI_SLV_FLAG_CMD_WR_TRG
Definition: sdrv_xspi_slv.h:130
@ XSPI_SLV_FLAG_DEBOUNCE_CTRL
Definition: sdrv_xspi_slv.h:119
@ XSPI_SLV_FLAG_ST_ACCESS
Definition: sdrv_xspi_slv.h:121
@ XSPI_SLV_FLAG_LINE
Definition: sdrv_xspi_slv.h:118
@ XSPI_SLV_FLAG_AWPROT_OVERRIDE
Definition: sdrv_xspi_slv.h:146
@ XSPI_SLV_FLAG_ST_UPDATE
Definition: sdrv_xspi_slv.h:129
@ XSPI_SLV_FLAG_ARPROT_OVERRIDE
Definition: sdrv_xspi_slv.h:143
@ XSPI_SLV_FLAG_AWCACHE_OVERRIDE
Definition: sdrv_xspi_slv.h:145
@ XSPI_SLV_FLAG_AXI_WR_EN
Definition: sdrv_xspi_slv.h:113
@ XSPI_SLV_FLAG_CRC_EN
Definition: sdrv_xspi_slv.h:108
@ XSPI_SLV_FLAG_TIMEOUT_CTRL
Definition: sdrv_xspi_slv.h:120
@ XSPI_SLV_FLAG_AWID_OVERRIDE
Definition: sdrv_xspi_slv.h:144
@ XSPI_SLV_FLAG_PAD_RESET_MASK
Definition: sdrv_xspi_slv.h:110
@ XSPI_SLV_FLAG_ID1
Definition: sdrv_xspi_slv.h:123
@ XSPI_SLV_FLAG_WR_DUMMY_CYCLE
Definition: sdrv_xspi_slv.h:150
@ XSPI_SLV_FLAG_SCLK_IDLE_TIME
Definition: sdrv_xspi_slv.h:116
@ XSPI_SLV_FLAG_CMD_WR_WDATA
Definition: sdrv_xspi_slv.h:135
@ XSPI_SLV_FLAG_CMD_RD_ST
Definition: sdrv_xspi_slv.h:138
@ XSPI_SLV_FLAG_CMD_RD_TRG
Definition: sdrv_xspi_slv.h:131
@ XSPI_SLV_FLAG_PAD_INTB_MASK
Definition: sdrv_xspi_slv.h:124
@ XSPI_SLV_FLAG_CMD_WR_ST
Definition: sdrv_xspi_slv.h:136
@ XSPI_SLV_FLAG_ARCACHE_OVERRIDE
Definition: sdrv_xspi_slv.h:142
@ XSPI_SLV_FLAG_MAX
Definition: sdrv_xspi_slv.h:151
@ XSPI_SLV_FLAG_CMD_WR_PACKET0
Definition: sdrv_xspi_slv.h:132
@ XSPI_SLV_FLAG_WR_MON
Definition: sdrv_xspi_slv.h:149
@ XSPI_SLV_FLAG_MODE
Definition: sdrv_xspi_slv.h:115
status_t sdrv_xspi_slv_enable(struct sdrv_xspi_slv *slave)
xspi slave enable.
sdrv_xspi_slv_line
Definition: sdrv_xspi_slv.h:41
@ XSPI_SLV_4_LINE
Definition: sdrv_xspi_slv.h:43
@ XSPI_SLV_8_LINE
Definition: sdrv_xspi_slv.h:44
@ XSPI_SLV_1_LINE
Definition: sdrv_xspi_slv.h:42
@ XSPI_SLV_16_LINE
Definition: sdrv_xspi_slv.h:45
status_t sdrv_xspi_slv_set_attr(struct sdrv_xspi_slv *slave, enum sdrv_xspi_slv_ioctl_flag flag, const void *buf)
xspi slave set attr.
status_t sdrv_xspi_slv_deinit(struct sdrv_xspi_slv *slave)
xspi slave deinit.
Definition: sdrv_xspi_slv.h:77
uint8_t acache
Definition: sdrv_xspi_slv.h:79
bool enable
Definition: sdrv_xspi_slv.h:78
Definition: sdrv_xspi_slv.h:72
uint8_t aid
Definition: sdrv_xspi_slv.h:74
bool enable
Definition: sdrv_xspi_slv.h:73
Definition: sdrv_xspi_slv.h:82
uint8_t aprot
Definition: sdrv_xspi_slv.h:84
bool enable
Definition: sdrv_xspi_slv.h:83
sdrv_xspi_slv slave configurations.
Definition: sdrv_xspi_slv.h:157
enum sdrv_xspi_slv_line line
Definition: sdrv_xspi_slv.h:166
enum sdrv_xspi_slv_tx_mode tx_mode
Definition: sdrv_xspi_slv.h:163
enum sdrv_xspi_slv_mode mode
Definition: sdrv_xspi_slv.h:164
uint8_t cmd_rd_rdata
Definition: sdrv_xspi_slv.h:178
bool is_ddr
Definition: sdrv_xspi_slv.h:165
uint8_t cmd_wr_payload
Definition: sdrv_xspi_slv.h:173
bool crc_dis
Definition: sdrv_xspi_slv.h:161
uint8_t cmd_rd_id
Definition: sdrv_xspi_slv.h:176
uint8_t cmd_rd_rdata_crc
Definition: sdrv_xspi_slv.h:179
uint16_t irq
Definition: sdrv_xspi_slv.h:159
uint8_t cmd_wr_trg
Definition: sdrv_xspi_slv.h:169
enum sdrv_xspi_slv_bit_endian bit_endian
Definition: sdrv_xspi_slv.h:162
paddr_t base
Definition: sdrv_xspi_slv.h:158
uint8_t cmd_wr_wdata
Definition: sdrv_xspi_slv.h:174
uint8_t cmd_wr_packet0
Definition: sdrv_xspi_slv.h:171
uint8_t cmd_wr_packet1
Definition: sdrv_xspi_slv.h:172
uint8_t cmd_wr_st
Definition: sdrv_xspi_slv.h:175
uint8_t cmd_rd_trg
Definition: sdrv_xspi_slv.h:170
uint8_t cmd_rd_st
Definition: sdrv_xspi_slv.h:177
Definition: sdrv_xspi_slv.h:58
uint8_t time
Definition: sdrv_xspi_slv.h:60
bool enable
Definition: sdrv_xspi_slv.h:59
Definition: sdrv_xspi_slv.h:63
uint8_t dummy_val
Definition: sdrv_xspi_slv.h:64
Definition: sdrv_xspi_slv.h:95
bool addr_lock
Definition: sdrv_xspi_slv.h:97
uint32_t end_addr
Definition: sdrv_xspi_slv.h:99
uint32_t id
Definition: sdrv_xspi_slv.h:100
bool addr_en
Definition: sdrv_xspi_slv.h:96
uint32_t begin_addr
Definition: sdrv_xspi_slv.h:98
Definition: sdrv_xspi_slv.h:87
uint32_t offset_addr
Definition: sdrv_xspi_slv.h:89
uint32_t end_addr
Definition: sdrv_xspi_slv.h:91
uint32_t id
Definition: sdrv_xspi_slv.h:92
bool enable
Definition: sdrv_xspi_slv.h:88
uint32_t begin_addr
Definition: sdrv_xspi_slv.h:90
Definition: sdrv_xspi_slv.h:53
bool enable
Definition: sdrv_xspi_slv.h:54
uint8_t idle_time
Definition: sdrv_xspi_slv.h:55
Definition: sdrv_xspi_slv.h:67
uint16_t time
Definition: sdrv_xspi_slv.h:69
bool enable
Definition: sdrv_xspi_slv.h:68
slv_device
Definition: sdrv_xspi_slv.h:185
uint16_t irq
Definition: sdrv_xspi_slv.h:187
paddr_t base
Definition: sdrv_xspi_slv.h:186