ESP8266 ILI9341 display support code with printf sources, wire-frame viewer and custom fonts  1.0
ESP8266ILI9341DisplayProject
spi_register.h
Go to the documentation of this file.
1 //Generated at 2014-07-29 11:03:29
2 /*
3  * Copyright (c) 2010 - 2011 Espressif System
4  *
5  */
6 
7 #ifndef SPI_REGISTER_H_INCLUDED
8 #define SPI_REGISTER_H_INCLUDED
9 
10 #define REG_SPI_BASE(i) (0x60000200-i*0x100)
11 
12 #define SPI_FLASH_CMD(i) (REG_SPI_BASE(i) + 0x0)
13 #define SPI_FLASH_READ (BIT(31))
14 #define SPI_FLASH_WREN (BIT(30))
15 #define SPI_FLASH_WRDI (BIT(29))
16 #define SPI_FLASH_RDID (BIT(28))
17 #define SPI_FLASH_RDSR (BIT(27))
18 #define SPI_FLASH_WRSR (BIT(26))
19 #define SPI_FLASH_PP (BIT(25))
20 #define SPI_FLASH_SE (BIT(24))
21 #define SPI_FLASH_BE (BIT(23))
22 #define SPI_FLASH_CE (BIT(22))
23 #define SPI_FLASH_DP (BIT(21))
24 #define SPI_FLASH_RES (BIT(20))
25 #define SPI_FLASH_HPM (BIT(19))
26 #define SPI_FLASH_USR (BIT(18))
27 
28 #define SPI_FLASH_ADDR(i) (REG_SPI_BASE(i) + 0x4)
29 
30 #define SPI_FLASH_CTRL(i) (REG_SPI_BASE(i) + 0x8)
31 #define SPI_WR_BIT_ODER (BIT(26))
32 #define SPI_RD_BIT_ODER (BIT(25))
33 #define SPI_QIO_MODE (BIT(24))
34 #define SPI_DIO_MODE (BIT(23))
35 #define SPI_TWO_BYTE_STATUS_EN (BIT(22))
36 #define SPI_WP_REG (BIT(21))
37 #define SPI_QOUT_MODE (BIT(20))
38 #define SPI_SHARE_BUS (BIT(19))
39 #define SPI_HOLD_MODE (BIT(18))
40 #define SPI_ENABLE_AHB (BIT(17))
41 #define SPI_SST_AAI (BIT(16))
42 #define SPI_RESANDRES (BIT(15))
43 #define SPI_DOUT_MODE (BIT(14))
44 #define SPI_FASTRD_MODE (BIT(13))
45 
46 #define SPI_FLASH_CTRL1(i) (REG_SPI_BASE (i) + 0xC)
47 #define SPI_T_CSH 0x0000000F
48 #define SPI_T_CSH_S 28
49 #define SPI_T_RES 0x00000FFF
50 #define SPI_T_RES_S 16
51 #define SPI_BUS_TIMER_LIMIT 0x0000FFFF
52 #define SPI_BUS_TIMER_LIMIT_S 0
53 
54 #define SPI_FLASH_STATUS(i) (REG_SPI_BASE(i) + 0x10)
55 #define SPI_STATUS_EXT 0x000000FF
56 #define SPI_STATUS_EXT_S 24
57 #define SPI_WB_MODE 0x000000FF
58 #define SPI_WB_MODE_S 16
59 #define SPI_FLASH_STATUS_PRO_FLAG (BIT(7))
60 #define SPI_FLASH_TOP_BOT_PRO_FLAG (BIT(5))
61 #define SPI_FLASH_BP2 (BIT(4))
62 #define SPI_FLASH_BP1 (BIT(3))
63 #define SPI_FLASH_BP0 (BIT(2))
64 #define SPI_FLASH_WRENABLE_FLAG (BIT(1))
65 #define SPI_FLASH_BUSY_FLAG (BIT(0))
66 
67 #define SPI_FLASH_CTRL2(i) (REG_SPI_BASE(i) + 0x14)
68 #define SPI_CS_DELAY_NUM 0x0000000F
69 #define SPI_CS_DELAY_NUM_S 28
70 #define SPI_CS_DELAY_MODE 0x00000003
71 #define SPI_CS_DELAY_MODE_S 26
72 #define SPI_MOSI_DELAY_NUM 0x00000007
73 #define SPI_MOSI_DELAY_NUM_S 23
74 #define SPI_MOSI_DELAY_MODE 0x00000003
75 #define SPI_MOSI_DELAY_MODE_S 21
76 #define SPI_MISO_DELAY_NUM 0x00000007
77 #define SPI_MISO_DELAY_NUM_S 18
78 #define SPI_MISO_DELAY_MODE 0x00000003
79 #define SPI_MISO_DELAY_MODE_S 16
80 #define SPI_CK_OUT_HIGH_MODE 0x0000000F
81 #define SPI_CK_OUT_HIGH_MODE_S 12
82 #define SPI_CK_OUT_LOW_MODE 0x0000000F
83 #define SPI_CK_OUT_LOW_MODE_S 8
84 #define SPI_HOLD_TIME 0x0000000F
85 #define SPI_HOLD_TIME_S 4
86 #define SPI_SETUP_TIME 0x0000000F
87 #define SPI_SETUP_TIME_S 0
88 
89 #define SPI_FLASH_CLOCK(i) (REG_SPI_BASE(i) + 0x18)
90 #define SPI_CLK_EQU_SYSCLK (BIT(31))
91 #define SPI_CLKDIV_PRE 0x00001FFF
92 #define SPI_CLKDIV_PRE_S 18
93 #define SPI_CLKCNT_N 0x0000003F
94 #define SPI_CLKCNT_N_S 12
95 #define SPI_CLKCNT_H 0x0000003F
96 #define SPI_CLKCNT_H_S 6
97 #define SPI_CLKCNT_L 0x0000003F
98 #define SPI_CLKCNT_L_S 0
99 
100 #define SPI_FLASH_USER(i) (REG_SPI_BASE(i) + 0x1C)
101 #define SPI_USR_COMMAND (BIT(31))
102 #define SPI_FLASH_USR_ADDR (BIT(30))
103 #define SPI_FLASH_USR_DUMMY (BIT(29))
104 #define SPI_FLASH_USR_DIN (BIT(28))
105 #define SPI_FLASH_DOUT (BIT(27))
106 #define SPI_USR_DUMMY_IDLE (BIT(26))
107 #define SPI_USR_DOUT_HIGHPART (BIT(25))
108 #define SPI_USR_DIN_HIGHPART (BIT(24))
109 #define SPI_USR_PREP_HOLD (BIT(23))
110 #define SPI_USR_CMD_HOLD (BIT(22))
111 #define SPI_USR_ADDR_HOLD (BIT(21))
112 #define SPI_USR_DUMMY_HOLD (BIT(20))
113 #define SPI_USR_DIN_HOLD (BIT(19))
114 #define SPI_USR_DOUT_HOLD (BIT(18))
115 #define SPI_USR_HOLD_POL (BIT(17))
116 #define SPI_SIO (BIT(16))
117 #define SPI_FWRITE_QIO (BIT(15))
118 #define SPI_FWRITE_DIO (BIT(14))
119 #define SPI_FWRITE_QUAD (BIT(13))
120 #define SPI_FWRITE_DUAL (BIT(12))
121 #define SPI_WR_BYTE_ORDER (BIT(11))
122 #define SPI_RD_BYTE_ORDER (BIT(10))
123 #define SPI_AHB_ENDIAN_MODE 0x00000003
124 #define SPI_AHB_ENDIAN_MODE_S 8
125 #define SPI_CK_OUT_EDGE (BIT(7))
126 #define SPI_CK_I_EDGE (BIT(6))
127 #define SPI_CS_SETUP (BIT(5))
128 #define SPI_CS_HOLD (BIT(4))
129 #define SPI_AHB_USR_COMMAND (BIT(3))
130 #define SPI_AHB_USR_COMMAND_4BYTE (BIT(1))
131 #define SPI_DOUTDIN (BIT(0))
132 
133 #define SPI_FLASH_USER1(i) (REG_SPI_BASE(i) + 0x20)
134 #define SPI_USR_ADDR_BITLEN 0x0000003F
135 #define SPI_USR_ADDR_BITLEN_S 26
136 #define SPI_USR_OUT_BITLEN 0x000001FF
137 #define SPI_USR_OUT_BITLEN_S 17
138 #define SPI_USR_DIN_BITLEN 0x000001FF
139 #define SPI_USR_DIN_BITLEN_S 8
140 #define SPI_USR_DUMMY_CYCLELEN 0x000000FF
141 #define SPI_USR_DUMMY_CYCLELEN_S 0
142 
143 #define SPI_FLASH_USER2(i) (REG_SPI_BASE(i) + 0x24)
144 #define SPI_USR_COMMAND_BITLEN 0x0000000F
145 #define SPI_USR_COMMAND_BITLEN_S 28
146 #define SPI_USR_COMMAND_VALUE 0x0000FFFF
147 #define SPI_USR_COMMAND_VALUE_S 0
148 
149 #define SPI_FLASH_USER3(i) (REG_SPI_BASE(i) + 0x28)
150 #define SPI_FLASH_PIN(i) (REG_SPI_BASE(i) + 0x2C)
151 #define SPI_FLASH_SLAVE(i) (REG_SPI_BASE(i) + 0x30)
152 #define SPI_SYNC_RESET (BIT(31))
153 #define SPI_SLAVE_MODE (BIT(30))
154 #define SPI_SLV_WR_RD_BUF_EN (BIT(29))
155 #define SPI_SLV_WR_RD_STA_EN (BIT(28))
156 #define SPI_SLV_CMD_DEFINE (BIT(27))
157 #define SPI_TRANS_CNT 0x0000000F
158 #define SPI_TRANS_CNT_S 23
159 #define SPI_SLV_LAST_STATE 0x00000007
160 #define SPI_SLV_LAST_STATE_S 20
161 #define SPI_SLV_LAST_COMMAND 0x00000007
162 #define SPI_SLV_LAST_COMMAND_S 17
163 #define SPI_CS_I_MODE 0x00000003
164 #define SPI_CS_I_MODE_S 10
165 #define SPI_INT_EN 0x0000001F
166 #define SPI_INT_EN_S 5
167 #define SPI_TRANS_DONE (BIT(4))
168 #define SPI_SLV_WR_STA_DONE (BIT(3))
169 #define SPI_SLV_RD_STA_DONE (BIT(2))
170 #define SPI_SLV_WR_BUF_DONE (BIT(1))
171 #define SPI_SLV_RD_BUF_DONE (BIT(0))
172 
173 #define SPI_FLASH_SLAVE1(i) (REG_SPI_BASE(i) + 0x34)
174 #define SPI_SLV_STATUS_BITLEN 0x0000001F
175 #define SPI_SLV_STATUS_BITLEN_S 27
176 #define SPI_SLV_STATUS_FAST_EN (BIT(26))
177 #define SPI_SLV_STATUS_READBACK (BIT(25))
178 #define SPI_SLV_BUF_BITLEN 0x000001FF
179 #define SPI_SLV_BUF_BITLEN_S 16
180 #define SPI_SLV_RD_ADDR_BITLEN 0x0000003F
181 #define SPI_SLV_RD_ADDR_BITLEN_S 10
182 #define SPI_SLV_WR_ADDR_BITLEN 0x0000003F
183 #define SPI_SLV_WR_ADDR_BITLEN_S 4
184 #define SPI_SLV_WRSTA_DUMMY_EN (BIT(3))
185 #define SPI_SLV_RDSTA_DUMMY_EN (BIT(2))
186 #define SPI_SLV_WRBUF_DUMMY_EN (BIT(1))
187 #define SPI_SLV_RDBUF_DUMMY_EN (BIT(0))
188 
189 #define SPI_FLASH_SLAVE2(i) (REG_SPI_BASE(i) + 0x38)
190 #define SPI_SLV_WRBUF_DUMMY_CYCLELEN 0x000000FF
191 #define SPI_SLV_WRBUF_DUMMY_CYCLELEN_S 24
192 #define SPI_SLV_RDBUF_DUMMY_CYCLELEN 0x000000FF
193 #define SPI_SLV_RDBUF_DUMMY_CYCLELEN_S 16
194 #define SPI_SLV_WRSTA_DUMMY_CYCLELEN 0x000000FF
195 #define SPI_SLV_WRSTA_DUMMY_CYCLELEN_S 8
196 #define SPI_SLV_RDSTA_DUMMY_CYCLELEN 0x000000FF
197 #define SPI_SLV_RDSTA_DUMMY_CYCLELEN_S 0
198 
199 #define SPI_FLASH_SLAVE3(i) (REG_SPI_BASE(i) + 0x3C)
200 #define SPI_SLV_WRSTA_CMD_VALUE 0x000000FF
201 #define SPI_SLV_WRSTA_CMD_VALUE_S 24
202 #define SPI_SLV_RDSTA_CMD_VALUE 0x000000FF
203 #define SPI_SLV_RDSTA_CMD_VALUE_S 16
204 #define SPI_SLV_WRBUF_CMD_VALUE 0x000000FF
205 #define SPI_SLV_WRBUF_CMD_VALUE_S 8
206 #define SPI_SLV_RDBUF_CMD_VALUE 0x000000FF
207 #define SPI_SLV_RDBUF_CMD_VALUE_S 0
208 
209 #define SPI_FLASH_C0(i) (REG_SPI_BASE(i) +0x40)
210 #define SPI_FLASH_C1(i) (REG_SPI_BASE(i) +0x44)
211 #define SPI_FLASH_C2(i) (REG_SPI_BASE(i) +0x48)
212 #define SPI_FLASH_C3(i) (REG_SPI_BASE(i) +0x4C)
213 #define SPI_FLASH_C4(i) (REG_SPI_BASE(i) +0x50)
214 #define SPI_FLASH_C5(i) (REG_SPI_BASE(i) +0x54)
215 #define SPI_FLASH_C6(i) (REG_SPI_BASE(i) +0x58)
216 #define SPI_FLASH_C7(i) (REG_SPI_BASE(i) +0x5C)
217 
218 #define SPI_FLASH_EXT0(i) (REG_SPI_BASE(i) + 0xF0)
219 #define SPI_T_PP_ENA (BIT(31))
220 #define SPI_T_PP_SHIFT 0x0000000F
221 #define SPI_T_PP_SHIFT_S 16
222 #define SPI_T_PP_TIME 0x00000FFF
223 #define SPI_T_PP_TIME_S 0
224 
225 #define SPI_FLASH_EXT1(i) (REG_SPI_BASE(i) + 0xF4)
226 #define SPI_T_ERASE_ENA (BIT(31))
227 #define SPI_T_ERASE_SHIFT 0x0000000F
228 #define SPI_T_ERASE_SHIFT_S 16
229 #define SPI_T_ERASE_TIME 0x00000FFF
230 #define SPI_T_ERASE_TIME_S 0
231 
232 #define SPI_FLASH_EXT2(i) (REG_SPI_BASE(i) + 0xF8)
233 #define SPI_ST 0x00000007
234 #define SPI_ST_S 0
235 
236 #define SPI_FLASH_EXT3(i) (REG_SPI_BASE(i) + 0xFC)
237 #define SPI_INT_HOLD_ENA 0x00000003
238 #define SPI_INT_HOLD_ENA_S 0
239 #endif // SPI_REGISTER_H_INCLUDED