summaryrefslogtreecommitdiffstats
path: root/include/linux/memory/ti-aemif.h
blob: da94a9d985e7466a21b560567207c4beb35aa922 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef __MEMORY_TI_AEMIF_H
#define __MEMORY_TI_AEMIF_H

/**
 * struct aemif_cs_timings: structure to hold CS timing configuration
 * values are expressed in number of clock cycles - 1
 * @ta: minimum turn around time
 * @rhold: read hold width
 * @rstrobe: read strobe width
 * @rsetup: read setup width
 * @whold: write hold width
 * @wstrobe: write strobe width
 * @wsetup: write setup width
 */
struct aemif_cs_timings {
	u32	ta;
	u32	rhold;
	u32	rstrobe;
	u32	rsetup;
	u32	whold;
	u32	wstrobe;
	u32	wsetup;
};

struct aemif_device;

int aemif_set_cs_timings(struct aemif_device *aemif, u8 cs, struct aemif_cs_timings *timings);
int aemif_check_cs_timings(struct aemif_cs_timings *timings);

#endif // __MEMORY_TI_AEMIF_H