|
87 | 87 | SPI_MEM_OP_DUMMY(ndummy, 1), \
|
88 | 88 | SPI_MEM_OP_DATA_IN(len, buf, 1))
|
89 | 89 |
|
| 90 | +#define SPINAND_PAGE_READ_FROM_CACHE_DTR_OP(addr, ndummy, buf, len, freq) \ |
| 91 | + SPI_MEM_OP(SPI_MEM_OP_CMD(0x0d, 1), \ |
| 92 | + SPI_MEM_DTR_OP_ADDR(2, addr, 1), \ |
| 93 | + SPI_MEM_DTR_OP_DUMMY(ndummy, 1), \ |
| 94 | + SPI_MEM_DTR_OP_DATA_IN(len, buf, 1), \ |
| 95 | + SPI_MEM_OP_MAX_FREQ(freq)) |
| 96 | + |
90 | 97 | #define SPINAND_PAGE_READ_FROM_CACHE_X2_OP(addr, ndummy, buf, len) \
|
91 | 98 | SPI_MEM_OP(SPI_MEM_OP_CMD(0x3b, 1), \
|
92 | 99 | SPI_MEM_OP_ADDR(2, addr, 1), \
|
|
99 | 106 | SPI_MEM_OP_DUMMY(ndummy, 1), \
|
100 | 107 | SPI_MEM_OP_DATA_IN(len, buf, 2))
|
101 | 108 |
|
| 109 | +#define SPINAND_PAGE_READ_FROM_CACHE_X2_DTR_OP(addr, ndummy, buf, len, freq) \ |
| 110 | + SPI_MEM_OP(SPI_MEM_OP_CMD(0x3d, 1), \ |
| 111 | + SPI_MEM_DTR_OP_ADDR(2, addr, 1), \ |
| 112 | + SPI_MEM_DTR_OP_DUMMY(ndummy, 1), \ |
| 113 | + SPI_MEM_DTR_OP_DATA_IN(len, buf, 2), \ |
| 114 | + SPI_MEM_OP_MAX_FREQ(freq)) |
| 115 | + |
102 | 116 | #define SPINAND_PAGE_READ_FROM_CACHE_X4_OP(addr, ndummy, buf, len) \
|
103 | 117 | SPI_MEM_OP(SPI_MEM_OP_CMD(0x6b, 1), \
|
104 | 118 | SPI_MEM_OP_ADDR(2, addr, 1), \
|
|
111 | 125 | SPI_MEM_OP_DUMMY(ndummy, 1), \
|
112 | 126 | SPI_MEM_OP_DATA_IN(len, buf, 4))
|
113 | 127 |
|
| 128 | +#define SPINAND_PAGE_READ_FROM_CACHE_X4_DTR_OP(addr, ndummy, buf, len, freq) \ |
| 129 | + SPI_MEM_OP(SPI_MEM_OP_CMD(0x6d, 1), \ |
| 130 | + SPI_MEM_DTR_OP_ADDR(2, addr, 1), \ |
| 131 | + SPI_MEM_DTR_OP_DUMMY(ndummy, 1), \ |
| 132 | + SPI_MEM_DTR_OP_DATA_IN(len, buf, 4), \ |
| 133 | + SPI_MEM_OP_MAX_FREQ(freq)) |
| 134 | + |
114 | 135 | #define SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(addr, ndummy, buf, len) \
|
115 | 136 | SPI_MEM_OP(SPI_MEM_OP_CMD(0xbb, 1), \
|
116 | 137 | SPI_MEM_OP_ADDR(2, addr, 2), \
|
|
123 | 144 | SPI_MEM_OP_DUMMY(ndummy, 2), \
|
124 | 145 | SPI_MEM_OP_DATA_IN(len, buf, 2))
|
125 | 146 |
|
| 147 | +#define SPINAND_PAGE_READ_FROM_CACHE_DUALIO_DTR_OP(addr, ndummy, buf, len, freq) \ |
| 148 | + SPI_MEM_OP(SPI_MEM_OP_CMD(0xbd, 1), \ |
| 149 | + SPI_MEM_DTR_OP_ADDR(2, addr, 2), \ |
| 150 | + SPI_MEM_DTR_OP_DUMMY(ndummy, 2), \ |
| 151 | + SPI_MEM_DTR_OP_DATA_IN(len, buf, 2), \ |
| 152 | + SPI_MEM_OP_MAX_FREQ(freq)) |
| 153 | + |
126 | 154 | #define SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(addr, ndummy, buf, len) \
|
127 | 155 | SPI_MEM_OP(SPI_MEM_OP_CMD(0xeb, 1), \
|
128 | 156 | SPI_MEM_OP_ADDR(2, addr, 4), \
|
|
135 | 163 | SPI_MEM_OP_DUMMY(ndummy, 4), \
|
136 | 164 | SPI_MEM_OP_DATA_IN(len, buf, 4))
|
137 | 165 |
|
| 166 | +#define SPINAND_PAGE_READ_FROM_CACHE_QUADIO_DTR_OP(addr, ndummy, buf, len, freq) \ |
| 167 | + SPI_MEM_OP(SPI_MEM_OP_CMD(0xed, 1), \ |
| 168 | + SPI_MEM_DTR_OP_ADDR(2, addr, 4), \ |
| 169 | + SPI_MEM_DTR_OP_DUMMY(ndummy, 4), \ |
| 170 | + SPI_MEM_DTR_OP_DATA_IN(len, buf, 4), \ |
| 171 | + SPI_MEM_OP_MAX_FREQ(freq)) |
| 172 | + |
138 | 173 | #define SPINAND_PROG_EXEC_OP(addr) \
|
139 | 174 | SPI_MEM_OP(SPI_MEM_OP_CMD(0x10, 1), \
|
140 | 175 | SPI_MEM_OP_ADDR(3, addr, 1), \
|
|
0 commit comments