~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to arch/arm/mach-pxa/include/mach/smemc.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Static memory controller register definitions for PXA CPUs
 
3
 *
 
4
 * Copyright (C) 2010 Marek Vasut <marek.vasut@gmail.com>
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or modify
 
7
 * it under the terms of the GNU General Public License version 2 as
 
8
 * published by the Free Software Foundation.
 
9
 */
 
10
 
 
11
#ifndef __SMEMC_REGS_H
 
12
#define __SMEMC_REGS_H
 
13
 
 
14
#define PXA2XX_SMEMC_BASE       0x48000000
 
15
#define PXA3XX_SMEMC_BASE       0x4a000000
 
16
#define SMEMC_VIRT              IOMEM(0xf6000000)
 
17
 
 
18
#define MDCNFG          (SMEMC_VIRT + 0x00)  /* SDRAM Configuration Register 0 */
 
19
#define MDREFR          (SMEMC_VIRT + 0x04)  /* SDRAM Refresh Control Register */
 
20
#define MSC0            (SMEMC_VIRT + 0x08)  /* Static Memory Control Register 0 */
 
21
#define MSC1            (SMEMC_VIRT + 0x0C)  /* Static Memory Control Register 1 */
 
22
#define MSC2            (SMEMC_VIRT + 0x10)  /* Static Memory Control Register 2 */
 
23
#define MECR            (SMEMC_VIRT + 0x14)  /* Expansion Memory (PCMCIA/Compact Flash) Bus Configuration */
 
24
#define SXLCR           (SMEMC_VIRT + 0x18)  /* LCR value to be written to SDRAM-Timing Synchronous Flash */
 
25
#define SXCNFG          (SMEMC_VIRT + 0x1C)  /* Synchronous Static Memory Control Register */
 
26
#define SXMRS           (SMEMC_VIRT + 0x24)  /* MRS value to be written to Synchronous Flash or SMROM */
 
27
#define MCMEM0          (SMEMC_VIRT + 0x28)  /* Card interface Common Memory Space Socket 0 Timing */
 
28
#define MCMEM1          (SMEMC_VIRT + 0x2C)  /* Card interface Common Memory Space Socket 1 Timing */
 
29
#define MCATT0          (SMEMC_VIRT + 0x30)  /* Card interface Attribute Space Socket 0 Timing Configuration */
 
30
#define MCATT1          (SMEMC_VIRT + 0x34)  /* Card interface Attribute Space Socket 1 Timing Configuration */
 
31
#define MCIO0           (SMEMC_VIRT + 0x38)  /* Card interface I/O Space Socket 0 Timing Configuration */
 
32
#define MCIO1           (SMEMC_VIRT + 0x3C)  /* Card interface I/O Space Socket 1 Timing Configuration */
 
33
#define MDMRS           (SMEMC_VIRT + 0x40)  /* MRS value to be written to SDRAM */
 
34
#define BOOT_DEF        (SMEMC_VIRT + 0x44)  /* Read-Only Boot-Time Register. Contains BOOT_SEL and PKG_SEL */
 
35
#define MEMCLKCFG       (SMEMC_VIRT + 0x68)  /* Clock Configuration */
 
36
#define CSADRCFG0       (SMEMC_VIRT + 0x80)  /* Address Configuration Register for CS0 */
 
37
#define CSADRCFG1       (SMEMC_VIRT + 0x84)  /* Address Configuration Register for CS1 */
 
38
#define CSADRCFG2       (SMEMC_VIRT + 0x88)  /* Address Configuration Register for CS2 */
 
39
#define CSADRCFG3       (SMEMC_VIRT + 0x8C)  /* Address Configuration Register for CS3 */
 
40
 
 
41
/*
 
42
 * More handy macros for PCMCIA
 
43
 *
 
44
 * Arg is socket number
 
45
 */
 
46
#define MCMEM(s)        (SMEMC_VIRT + 0x28 + ((s)<<2))  /* Card interface Common Memory Space Socket s Timing */
 
47
#define MCATT(s)        (SMEMC_VIRT + 0x30 + ((s)<<2))  /* Card interface Attribute Space Socket s Timing Configuration */
 
48
#define MCIO(s)         (SMEMC_VIRT + 0x38 + ((s)<<2))  /* Card interface I/O Space Socket s Timing Configuration */
 
49
 
 
50
/* MECR register defines */
 
51
#define MECR_NOS        (1 << 0)        /* Number Of Sockets: 0 -> 1 sock, 1 -> 2 sock */
 
52
#define MECR_CIT        (1 << 1)        /* Card Is There: 0 -> no card, 1 -> card inserted */
 
53
 
 
54
#define MDCNFG_DE0      (1 << 0)        /* SDRAM Bank 0 Enable */
 
55
#define MDCNFG_DE1      (1 << 1)        /* SDRAM Bank 1 Enable */
 
56
#define MDCNFG_DE2      (1 << 16)       /* SDRAM Bank 2 Enable */
 
57
#define MDCNFG_DE3      (1 << 17)       /* SDRAM Bank 3 Enable */
 
58
 
 
59
#define MDREFR_K0DB4    (1 << 29)       /* SDCLK0 Divide by 4 Control/Status */
 
60
#define MDREFR_K2FREE   (1 << 25)       /* SDRAM Free-Running Control */
 
61
#define MDREFR_K1FREE   (1 << 24)       /* SDRAM Free-Running Control */
 
62
#define MDREFR_K0FREE   (1 << 23)       /* SDRAM Free-Running Control */
 
63
#define MDREFR_SLFRSH   (1 << 22)       /* SDRAM Self-Refresh Control/Status */
 
64
#define MDREFR_APD      (1 << 20)       /* SDRAM/SSRAM Auto-Power-Down Enable */
 
65
#define MDREFR_K2DB2    (1 << 19)       /* SDCLK2 Divide by 2 Control/Status */
 
66
#define MDREFR_K2RUN    (1 << 18)       /* SDCLK2 Run Control/Status */
 
67
#define MDREFR_K1DB2    (1 << 17)       /* SDCLK1 Divide by 2 Control/Status */
 
68
#define MDREFR_K1RUN    (1 << 16)       /* SDCLK1 Run Control/Status */
 
69
#define MDREFR_E1PIN    (1 << 15)       /* SDCKE1 Level Control/Status */
 
70
#define MDREFR_K0DB2    (1 << 14)       /* SDCLK0 Divide by 2 Control/Status */
 
71
#define MDREFR_K0RUN    (1 << 13)       /* SDCLK0 Run Control/Status */
 
72
#define MDREFR_E0PIN    (1 << 12)       /* SDCKE0 Level Control/Status */
 
73
 
 
74
#endif