Alessandro Rubini | 6323471 | 2009-07-29 18:51:56 +0200 | [diff] [blame] | 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 */ |