Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fsmc.h
Go to the documentation of this file.
1 
2 /* Definitions for the Nomadik FSMC "Flexible Static Memory controller" */
3 
4 #ifndef __ASM_ARCH_FSMC_H
5 #define __ASM_ARCH_FSMC_H
6 
7 #include <mach/hardware.h>
8 /*
9  * Register list
10  */
11 
12 /* bus control reg. and bus timing reg. for CS0..CS3 */
13 #define FSMC_BCR(x) (NOMADIK_FSMC_VA + (x << 3))
14 #define FSMC_BTR(x) (NOMADIK_FSMC_VA + (x << 3) + 0x04)
15 
16 /* PC-card and NAND:
17  * PCR = control register
18  * PMEM = memory timing
19  * PATT = attribute timing
20  * PIO = I/O timing
21  * PECCR = ECC result
22  */
23 #define FSMC_PCR(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x00)
24 #define FSMC_PMEM(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x08)
25 #define FSMC_PATT(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x0c)
26 #define FSMC_PIO(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x10)
27 #define FSMC_PECCR(x) (NOMADIK_FSMC_VA + ((2 + x) << 5) + 0x14)
28 
29 #endif /* __ASM_ARCH_FSMC_H */