|
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