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