xref: /rk3399_rockchip-uboot/arch/arm/include/asm/ti-common/ti-aemif.h (revision dab5e3469d294a4e1ffed8407d296a78e02cc01f)
1*909ea9aaSKhoronzhuk, Ivan /*
2*909ea9aaSKhoronzhuk, Ivan  * AEMIF definitions
3*909ea9aaSKhoronzhuk, Ivan  *
4*909ea9aaSKhoronzhuk, Ivan  * (C) Copyright 2012-2014
5*909ea9aaSKhoronzhuk, Ivan  *     Texas Instruments Incorporated, <www.ti.com>
6*909ea9aaSKhoronzhuk, Ivan  *
7*909ea9aaSKhoronzhuk, Ivan  * SPDX-License-Identifier:     GPL-2.0+
8*909ea9aaSKhoronzhuk, Ivan  */
9*909ea9aaSKhoronzhuk, Ivan 
10*909ea9aaSKhoronzhuk, Ivan #ifndef _AEMIF_H_
11*909ea9aaSKhoronzhuk, Ivan #define _AEMIF_H_
12*909ea9aaSKhoronzhuk, Ivan 
13*909ea9aaSKhoronzhuk, Ivan #define AEMIF_NUM_CS               4
14*909ea9aaSKhoronzhuk, Ivan #define AEMIF_MODE_NOR             0
15*909ea9aaSKhoronzhuk, Ivan #define AEMIF_MODE_NAND            1
16*909ea9aaSKhoronzhuk, Ivan #define AEMIF_MODE_ONENAND         2
17*909ea9aaSKhoronzhuk, Ivan #define AEMIF_PRESERVE             -1
18*909ea9aaSKhoronzhuk, Ivan 
19*909ea9aaSKhoronzhuk, Ivan struct aemif_config {
20*909ea9aaSKhoronzhuk, Ivan 	unsigned mode;
21*909ea9aaSKhoronzhuk, Ivan 	unsigned select_strobe;
22*909ea9aaSKhoronzhuk, Ivan 	unsigned extend_wait;
23*909ea9aaSKhoronzhuk, Ivan 	unsigned wr_setup;
24*909ea9aaSKhoronzhuk, Ivan 	unsigned wr_strobe;
25*909ea9aaSKhoronzhuk, Ivan 	unsigned wr_hold;
26*909ea9aaSKhoronzhuk, Ivan 	unsigned rd_setup;
27*909ea9aaSKhoronzhuk, Ivan 	unsigned rd_strobe;
28*909ea9aaSKhoronzhuk, Ivan 	unsigned rd_hold;
29*909ea9aaSKhoronzhuk, Ivan 	unsigned turn_around;
30*909ea9aaSKhoronzhuk, Ivan 	enum {
31*909ea9aaSKhoronzhuk, Ivan 		AEMIF_WIDTH_8	= 0,
32*909ea9aaSKhoronzhuk, Ivan 		AEMIF_WIDTH_16	= 1,
33*909ea9aaSKhoronzhuk, Ivan 		AEMIF_WIDTH_32	= 2,
34*909ea9aaSKhoronzhuk, Ivan 	} width;
35*909ea9aaSKhoronzhuk, Ivan };
36*909ea9aaSKhoronzhuk, Ivan 
37*909ea9aaSKhoronzhuk, Ivan void aemif_init(int num_cs, struct aemif_config *config);
38*909ea9aaSKhoronzhuk, Ivan 
39*909ea9aaSKhoronzhuk, Ivan #endif
40