Merge branch 'pci-for-jesse' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[pandora-kernel.git] / arch / arm / mach-ks8695 / include / mach / regs-mem.h
1 /*
2  * arch/arm/mach-ks8695/include/mach/regs-mem.h
3  *
4  * Copyright (C) 2006 Andrew Victor
5  *
6  * KS8695 - Memory Controller registers and bit definitions
7  *
8  * This file is licensed under  the terms of the GNU General Public
9  * License version 2. This program is licensed "as is" without any
10  * warranty of any kind, whether express or implied.
11  */
12
13 #ifndef KS8695_MEM_H
14 #define KS8695_MEM_H
15
16 #define KS8695_MEM_OFFSET       (0xF0000 + 0x4000)
17 #define KS8695_MEM_VA           (KS8695_IO_VA + KS8695_MEM_OFFSET)
18 #define KS8695_MEM_PA           (KS8695_IO_PA + KS8695_MEM_OFFSET)
19
20
21 /*
22  * Memory Controller Registers
23  */
24 #define KS8695_EXTACON0         (0x00)          /* External I/O 0 Access Control */
25 #define KS8695_EXTACON1         (0x04)          /* External I/O 1 Access Control */
26 #define KS8695_EXTACON2         (0x08)          /* External I/O 2 Access Control */
27 #define KS8695_ROMCON0          (0x10)          /* ROM/SRAM/Flash 1 Control Register */
28 #define KS8695_ROMCON1          (0x14)          /* ROM/SRAM/Flash 2 Control Register */
29 #define KS8695_ERGCON           (0x20)          /* External I/O and ROM/SRAM/Flash General Register */
30 #define KS8695_SDCON0           (0x30)          /* SDRAM Control Register 0 */
31 #define KS8695_SDCON1           (0x34)          /* SDRAM Control Register 1 */
32 #define KS8695_SDGCON           (0x38)          /* SDRAM General Control */
33 #define KS8695_SDBCON           (0x3c)          /* SDRAM Buffer Control */
34 #define KS8695_REFTIM           (0x40)          /* SDRAM Refresh Timer */
35
36
37 /* External I/O Access Control Registers */
38 #define EXTACON_EBNPTR          (0x3ff << 22)           /* Last Address Pointer */
39 #define EXTACON_EBBPTR          (0x3ff << 12)           /* Base Pointer */
40 #define EXTACON_EBTACT          (7     <<  9)           /* Write Enable/Output Enable Active Time */
41 #define EXTACON_EBTCOH          (7     <<  6)           /* Chip Select Hold Time */
42 #define EXTACON_EBTACS          (7     <<  3)           /* Address Setup Time before ECSN */
43 #define EXTACON_EBTCOS          (7     <<  0)           /* Chip Select Time before OEN */
44
45 /* ROM/SRAM/Flash Control Register */
46 #define ROMCON_RBNPTR           (0x3ff << 22)           /* Next Pointer */
47 #define ROMCON_RBBPTR           (0x3ff << 12)           /* Base Pointer */
48 #define ROMCON_RBTACC           (7     <<  4)           /* Access Cycle Time */
49 #define ROMCON_RBTPA            (3     <<  2)           /* Page Address Access Time */
50 #define ROMCON_PMC              (3     <<  0)           /* Page Mode Configuration */
51 #define         PMC_NORMAL              (0 << 0)
52 #define         PMC_4WORD               (1 << 0)
53 #define         PMC_8WORD               (2 << 0)
54 #define         PMC_16WORD              (3 << 0)
55
56 /* External I/O and ROM/SRAM/Flash General Register */
57 #define ERGCON_TMULT            (3 << 28)               /* Time Multiplier */
58 #define ERGCON_DSX2             (3 << 20)               /* Data Width (External I/O Bank 2) */
59 #define ERGCON_DSX1             (3 << 18)               /* Data Width (External I/O Bank 1) */
60 #define ERGCON_DSX0             (3 << 16)               /* Data Width (External I/O Bank 0) */
61 #define ERGCON_DSR1             (3 <<  2)               /* Data Width (ROM/SRAM/Flash Bank 1) */
62 #define ERGCON_DSR0             (3 <<  0)               /* Data Width (ROM/SRAM/Flash Bank 0) */
63
64 /* SDRAM Control Register */
65 #define SDCON_DBNPTR            (0x3ff << 22)           /* Last Address Pointer */
66 #define SDCON_DBBPTR            (0x3ff << 12)           /* Base Pointer */
67 #define SDCON_DBCAB             (3     <<  8)           /* Column Address Bits */
68 #define SDCON_DBBNUM            (1     <<  3)           /* Number of Banks */
69 #define SDCON_DBDBW             (3     <<  1)           /* Data Bus Width */
70
71 /* SDRAM General Control Register */
72 #define SDGCON_SDTRC            (3 << 2)                /* RAS to CAS latency */
73 #define SDGCON_SDCAS            (3 << 0)                /* CAS latency */
74
75 /* SDRAM Buffer Control Register */
76 #define SDBCON_SDESTA           (1 << 31)               /* SDRAM Engine Status */
77 #define SDBCON_RBUFBDIS         (1 << 24)               /* Read Buffer Burst Enable */
78 #define SDBCON_WFIFOEN          (1 << 23)               /* Write FIFO Enable */
79 #define SDBCON_RBUFEN           (1 << 22)               /* Read Buffer Enable */
80 #define SDBCON_FLUSHWFIFO       (1 << 21)               /* Flush Write FIFO */
81 #define SDBCON_RBUFINV          (1 << 20)               /* Read Buffer Invalidate */
82 #define SDBCON_SDINI            (3 << 16)               /* SDRAM Initialization Control */
83 #define SDBCON_SDMODE           (0x3fff << 0)           /* SDRAM Mode Register Value Program */
84
85 /* SDRAM Refresh Timer Register */
86 #define REFTIM_REFTIM           (0xffff << 0)           /* Refresh Timer Value */
87
88
89 #endif