History

mtd: spinand: Define macros for page-read ops with three-byte addresses

The GigaDevice GD5F1GQ4UFxxG SPI NAND utilizes three-byte addresses for its page-read ops. http://www.gigadevice.com/datasheet/gd5f1gq4xfxxg/

Jeff Kletsky committed 7 years ago

Commit bded0331 parent 78933211 file · +30 −0Browse files

Showing the changes to include/linux (1 of 1 file). Show all

Unified · Split

include/linux/mtd/spinand.h+30−0
@@ -68,30 +68,60 @@ · 67 unmodified lines
6868 SPI_MEM_OP_DUMMY(ndummy, 1), \
6969 SPI_MEM_OP_DATA_IN(len, buf, 1))
7070
71+#define SPINAND_PAGE_READ_FROM_CACHE_OP_3A(fast, addr, ndummy, buf, len) \
72+ SPI_MEM_OP(SPI_MEM_OP_CMD(fast ? 0x0b : 0x03, 1), \
73+ SPI_MEM_OP_ADDR(3, addr, 1), \
74+ SPI_MEM_OP_DUMMY(ndummy, 1), \
75+ SPI_MEM_OP_DATA_IN(len, buf, 1))
76+
7177 #define SPINAND_PAGE_READ_FROM_CACHE_X2_OP(addr, ndummy, buf, len) \
7278 SPI_MEM_OP(SPI_MEM_OP_CMD(0x3b, 1), \
7379 SPI_MEM_OP_ADDR(2, addr, 1), \
7480 SPI_MEM_OP_DUMMY(ndummy, 1), \
7581 SPI_MEM_OP_DATA_IN(len, buf, 2))
7682
83+#define SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(addr, ndummy, buf, len) \
84+ SPI_MEM_OP(SPI_MEM_OP_CMD(0x3b, 1), \
85+ SPI_MEM_OP_ADDR(3, addr, 1), \
86+ SPI_MEM_OP_DUMMY(ndummy, 1), \
87+ SPI_MEM_OP_DATA_IN(len, buf, 2))
88+
7789 #define SPINAND_PAGE_READ_FROM_CACHE_X4_OP(addr, ndummy, buf, len) \
7890 SPI_MEM_OP(SPI_MEM_OP_CMD(0x6b, 1), \
7991 SPI_MEM_OP_ADDR(2, addr, 1), \
8092 SPI_MEM_OP_DUMMY(ndummy, 1), \
8193 SPI_MEM_OP_DATA_IN(len, buf, 4))
8294
95+#define SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(addr, ndummy, buf, len) \
96+ SPI_MEM_OP(SPI_MEM_OP_CMD(0x6b, 1), \
97+ SPI_MEM_OP_ADDR(3, addr, 1), \
98+ SPI_MEM_OP_DUMMY(ndummy, 1), \
99+ SPI_MEM_OP_DATA_IN(len, buf, 4))
100+
83101 #define SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(addr, ndummy, buf, len) \
84102 SPI_MEM_OP(SPI_MEM_OP_CMD(0xbb, 1), \
85103 SPI_MEM_OP_ADDR(2, addr, 2), \
86104 SPI_MEM_OP_DUMMY(ndummy, 2), \
87105 SPI_MEM_OP_DATA_IN(len, buf, 2))
88106
107+#define SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP_3A(addr, ndummy, buf, len) \
108+ SPI_MEM_OP(SPI_MEM_OP_CMD(0xbb, 1), \
109+ SPI_MEM_OP_ADDR(3, addr, 2), \
110+ SPI_MEM_OP_DUMMY(ndummy, 2), \
111+ SPI_MEM_OP_DATA_IN(len, buf, 2))
112+
89113 #define SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(addr, ndummy, buf, len) \
90114 SPI_MEM_OP(SPI_MEM_OP_CMD(0xeb, 1), \
91115 SPI_MEM_OP_ADDR(2, addr, 4), \
92116 SPI_MEM_OP_DUMMY(ndummy, 4), \
93117 SPI_MEM_OP_DATA_IN(len, buf, 4))
94118
119+#define SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP_3A(addr, ndummy, buf, len) \
120+ SPI_MEM_OP(SPI_MEM_OP_CMD(0xeb, 1), \
121+ SPI_MEM_OP_ADDR(3, addr, 4), \
122+ SPI_MEM_OP_DUMMY(ndummy, 4), \
123+ SPI_MEM_OP_DATA_IN(len, buf, 4))
124+
95125 #define SPINAND_PROG_EXEC_OP(addr) \
96126 SPI_MEM_OP(SPI_MEM_OP_CMD(0x10, 1), \
97127 SPI_MEM_OP_ADDR(3, addr, 1), \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t