Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/arm/mach-ks8695/include/mach/regs-mem.h
15159 views
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
90
91