1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #ifndef __MEMORY_TI_AEMIF_H
4 #define __MEMORY_TI_AEMIF_H
5 
6 /**
7  * struct aemif_cs_timings: structure to hold CS timing configuration
8  * values are expressed in number of clock cycles - 1
9  * @ta: minimum turn around time
10  * @rhold: read hold width
11  * @rstrobe: read strobe width
12  * @rsetup: read setup width
13  * @whold: write hold width
14  * @wstrobe: write strobe width
15  * @wsetup: write setup width
16  */
17 struct aemif_cs_timings {
18 	u32	ta;
19 	u32	rhold;
20 	u32	rstrobe;
21 	u32	rsetup;
22 	u32	whold;
23 	u32	wstrobe;
24 	u32	wsetup;
25 };
26 
27 struct aemif_device;
28 
29 int aemif_set_cs_timings(struct aemif_device *aemif, u8 cs, struct aemif_cs_timings *timings);
30 int aemif_check_cs_timings(struct aemif_cs_timings *timings);
31 
32 #endif // __MEMORY_TI_AEMIF_H
33