RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
atsam
include
libchip
include
sams70
component
component_sdramc.h
1
/* ---------------------------------------------------------------------------- */
2
/* Atmel Microcontroller Software Support */
3
/* SAM Software Package License */
4
/* ---------------------------------------------------------------------------- */
5
/* Copyright (c) 2015, Atmel Corporation */
6
/* */
7
/* All rights reserved. */
8
/* */
9
/* Redistribution and use in source and binary forms, with or without */
10
/* modification, are permitted provided that the following condition is met: */
11
/* */
12
/* - Redistributions of source code must retain the above copyright notice, */
13
/* this list of conditions and the disclaimer below. */
14
/* */
15
/* Atmel's name may not be used to endorse or promote products derived from */
16
/* this software without specific prior written permission. */
17
/* */
18
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
19
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
20
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
21
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
22
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
23
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
24
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
25
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
26
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
27
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
28
/* ---------------------------------------------------------------------------- */
29
30
#ifndef _SAMS70_SDRAMC_COMPONENT_
31
#define _SAMS70_SDRAMC_COMPONENT_
32
33
/* ============================================================================= */
35
/* ============================================================================= */
38
39
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
41
typedef
struct
{
42
__IO
uint32_t SDRAMC_MR;
43
__IO
uint32_t SDRAMC_TR;
44
__IO
uint32_t SDRAMC_CR;
45
__I
uint32_t Reserved1[1];
46
__IO
uint32_t SDRAMC_LPR;
47
__O
uint32_t SDRAMC_IER;
48
__O
uint32_t SDRAMC_IDR;
49
__I
uint32_t SDRAMC_IMR;
50
__I
uint32_t SDRAMC_ISR;
51
__IO
uint32_t SDRAMC_MDR;
52
__IO
uint32_t SDRAMC_CFR1;
53
__IO
uint32_t SDRAMC_OCMS;
54
__O
uint32_t SDRAMC_OCMS_KEY1;
55
__O
uint32_t SDRAMC_OCMS_KEY2;
56
}
Sdramc
;
57
#endif
/* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
58
/* -------- SDRAMC_MR : (SDRAMC Offset: 0x00) SDRAMC Mode Register -------- */
59
#define SDRAMC_MR_MODE_Pos 0
60
#define SDRAMC_MR_MODE_Msk (0x7u << SDRAMC_MR_MODE_Pos)
61
#define SDRAMC_MR_MODE(value) ((SDRAMC_MR_MODE_Msk & ((value) << SDRAMC_MR_MODE_Pos)))
62
#define SDRAMC_MR_MODE_NORMAL (0x0u << 0)
63
#define SDRAMC_MR_MODE_NOP (0x1u << 0)
64
#define SDRAMC_MR_MODE_ALLBANKS_PRECHARGE (0x2u << 0)
65
#define SDRAMC_MR_MODE_LOAD_MODEREG (0x3u << 0)
66
#define SDRAMC_MR_MODE_AUTO_REFRESH (0x4u << 0)
67
#define SDRAMC_MR_MODE_EXT_LOAD_MODEREG (0x5u << 0)
68
#define SDRAMC_MR_MODE_DEEP_POWERDOWN (0x6u << 0)
69
/* -------- SDRAMC_TR : (SDRAMC Offset: 0x04) SDRAMC Refresh Timer Register -------- */
70
#define SDRAMC_TR_COUNT_Pos 0
71
#define SDRAMC_TR_COUNT_Msk (0xfffu << SDRAMC_TR_COUNT_Pos)
72
#define SDRAMC_TR_COUNT(value) ((SDRAMC_TR_COUNT_Msk & ((value) << SDRAMC_TR_COUNT_Pos)))
73
/* -------- SDRAMC_CR : (SDRAMC Offset: 0x08) SDRAMC Configuration Register -------- */
74
#define SDRAMC_CR_NC_Pos 0
75
#define SDRAMC_CR_NC_Msk (0x3u << SDRAMC_CR_NC_Pos)
76
#define SDRAMC_CR_NC(value) ((SDRAMC_CR_NC_Msk & ((value) << SDRAMC_CR_NC_Pos)))
77
#define SDRAMC_CR_NC_COL8 (0x0u << 0)
78
#define SDRAMC_CR_NC_COL9 (0x1u << 0)
79
#define SDRAMC_CR_NC_COL10 (0x2u << 0)
80
#define SDRAMC_CR_NC_COL11 (0x3u << 0)
81
#define SDRAMC_CR_NR_Pos 2
82
#define SDRAMC_CR_NR_Msk (0x3u << SDRAMC_CR_NR_Pos)
83
#define SDRAMC_CR_NR(value) ((SDRAMC_CR_NR_Msk & ((value) << SDRAMC_CR_NR_Pos)))
84
#define SDRAMC_CR_NR_ROW11 (0x0u << 2)
85
#define SDRAMC_CR_NR_ROW12 (0x1u << 2)
86
#define SDRAMC_CR_NR_ROW13 (0x2u << 2)
87
#define SDRAMC_CR_NB (0x1u << 4)
88
#define SDRAMC_CR_NB_BANK2 (0x0u << 4)
89
#define SDRAMC_CR_NB_BANK4 (0x1u << 4)
90
#define SDRAMC_CR_CAS_Pos 5
91
#define SDRAMC_CR_CAS_Msk (0x3u << SDRAMC_CR_CAS_Pos)
92
#define SDRAMC_CR_CAS(value) ((SDRAMC_CR_CAS_Msk & ((value) << SDRAMC_CR_CAS_Pos)))
93
#define SDRAMC_CR_CAS_LATENCY1 (0x0u << 5)
94
#define SDRAMC_CR_CAS_LATENCY2 (0x1u << 5)
95
#define SDRAMC_CR_CAS_LATENCY3 (0x2u << 5)
96
#define SDRAMC_CR_DBW (0x1u << 7)
97
#define SDRAMC_CR_TWR_Pos 8
98
#define SDRAMC_CR_TWR_Msk (0xfu << SDRAMC_CR_TWR_Pos)
99
#define SDRAMC_CR_TWR(value) ((SDRAMC_CR_TWR_Msk & ((value) << SDRAMC_CR_TWR_Pos)))
100
#define SDRAMC_CR_TRC_TRFC_Pos 12
101
#define SDRAMC_CR_TRC_TRFC_Msk (0xfu << SDRAMC_CR_TRC_TRFC_Pos)
102
#define SDRAMC_CR_TRC_TRFC(value) ((SDRAMC_CR_TRC_TRFC_Msk & ((value) << SDRAMC_CR_TRC_TRFC_Pos)))
103
#define SDRAMC_CR_TRP_Pos 16
104
#define SDRAMC_CR_TRP_Msk (0xfu << SDRAMC_CR_TRP_Pos)
105
#define SDRAMC_CR_TRP(value) ((SDRAMC_CR_TRP_Msk & ((value) << SDRAMC_CR_TRP_Pos)))
106
#define SDRAMC_CR_TRCD_Pos 20
107
#define SDRAMC_CR_TRCD_Msk (0xfu << SDRAMC_CR_TRCD_Pos)
108
#define SDRAMC_CR_TRCD(value) ((SDRAMC_CR_TRCD_Msk & ((value) << SDRAMC_CR_TRCD_Pos)))
109
#define SDRAMC_CR_TRAS_Pos 24
110
#define SDRAMC_CR_TRAS_Msk (0xfu << SDRAMC_CR_TRAS_Pos)
111
#define SDRAMC_CR_TRAS(value) ((SDRAMC_CR_TRAS_Msk & ((value) << SDRAMC_CR_TRAS_Pos)))
112
#define SDRAMC_CR_TXSR_Pos 28
113
#define SDRAMC_CR_TXSR_Msk (0xfu << SDRAMC_CR_TXSR_Pos)
114
#define SDRAMC_CR_TXSR(value) ((SDRAMC_CR_TXSR_Msk & ((value) << SDRAMC_CR_TXSR_Pos)))
115
/* -------- SDRAMC_LPR : (SDRAMC Offset: 0x10) SDRAMC Low Power Register -------- */
116
#define SDRAMC_LPR_LPCB_Pos 0
117
#define SDRAMC_LPR_LPCB_Msk (0x3u << SDRAMC_LPR_LPCB_Pos)
118
#define SDRAMC_LPR_LPCB(value) ((SDRAMC_LPR_LPCB_Msk & ((value) << SDRAMC_LPR_LPCB_Pos)))
119
#define SDRAMC_LPR_LPCB_DISABLED (0x0u << 0)
120
#define SDRAMC_LPR_LPCB_SELF_REFRESH (0x1u << 0)
121
#define SDRAMC_LPR_LPCB_POWER_DOWN (0x2u << 0)
122
#define SDRAMC_LPR_LPCB_DEEP_POWER_DOWN (0x3u << 0)
123
#define SDRAMC_LPR_PASR_Pos 4
124
#define SDRAMC_LPR_PASR_Msk (0x7u << SDRAMC_LPR_PASR_Pos)
125
#define SDRAMC_LPR_PASR(value) ((SDRAMC_LPR_PASR_Msk & ((value) << SDRAMC_LPR_PASR_Pos)))
126
#define SDRAMC_LPR_TCSR_Pos 8
127
#define SDRAMC_LPR_TCSR_Msk (0x3u << SDRAMC_LPR_TCSR_Pos)
128
#define SDRAMC_LPR_TCSR(value) ((SDRAMC_LPR_TCSR_Msk & ((value) << SDRAMC_LPR_TCSR_Pos)))
129
#define SDRAMC_LPR_DS_Pos 10
130
#define SDRAMC_LPR_DS_Msk (0x3u << SDRAMC_LPR_DS_Pos)
131
#define SDRAMC_LPR_DS(value) ((SDRAMC_LPR_DS_Msk & ((value) << SDRAMC_LPR_DS_Pos)))
132
#define SDRAMC_LPR_TIMEOUT_Pos 12
133
#define SDRAMC_LPR_TIMEOUT_Msk (0x3u << SDRAMC_LPR_TIMEOUT_Pos)
134
#define SDRAMC_LPR_TIMEOUT(value) ((SDRAMC_LPR_TIMEOUT_Msk & ((value) << SDRAMC_LPR_TIMEOUT_Pos)))
135
#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER (0x0u << 12)
136
#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER_64 (0x1u << 12)
137
#define SDRAMC_LPR_TIMEOUT_LP_LAST_XFER_128 (0x2u << 12)
138
/* -------- SDRAMC_IER : (SDRAMC Offset: 0x14) SDRAMC Interrupt Enable Register -------- */
139
#define SDRAMC_IER_RES (0x1u << 0)
140
/* -------- SDRAMC_IDR : (SDRAMC Offset: 0x18) SDRAMC Interrupt Disable Register -------- */
141
#define SDRAMC_IDR_RES (0x1u << 0)
142
/* -------- SDRAMC_IMR : (SDRAMC Offset: 0x1C) SDRAMC Interrupt Mask Register -------- */
143
#define SDRAMC_IMR_RES (0x1u << 0)
144
/* -------- SDRAMC_ISR : (SDRAMC Offset: 0x20) SDRAMC Interrupt Status Register -------- */
145
#define SDRAMC_ISR_RES (0x1u << 0)
146
/* -------- SDRAMC_MDR : (SDRAMC Offset: 0x24) SDRAMC Memory Device Register -------- */
147
#define SDRAMC_MDR_MD_Pos 0
148
#define SDRAMC_MDR_MD_Msk (0x3u << SDRAMC_MDR_MD_Pos)
149
#define SDRAMC_MDR_MD(value) ((SDRAMC_MDR_MD_Msk & ((value) << SDRAMC_MDR_MD_Pos)))
150
#define SDRAMC_MDR_MD_SDRAM (0x0u << 0)
151
#define SDRAMC_MDR_MD_LPSDRAM (0x1u << 0)
152
/* -------- SDRAMC_CFR1 : (SDRAMC Offset: 0x28) SDRAMC Configuration Register 1 -------- */
153
#define SDRAMC_CFR1_TMRD_Pos 0
154
#define SDRAMC_CFR1_TMRD_Msk (0xfu << SDRAMC_CFR1_TMRD_Pos)
155
#define SDRAMC_CFR1_TMRD(value) ((SDRAMC_CFR1_TMRD_Msk & ((value) << SDRAMC_CFR1_TMRD_Pos)))
156
#define SDRAMC_CFR1_UNAL (0x1u << 8)
157
#define SDRAMC_CFR1_UNAL_UNSUPPORTED (0x0u << 8)
158
#define SDRAMC_CFR1_UNAL_SUPPORTED (0x1u << 8)
159
/* -------- SDRAMC_OCMS : (SDRAMC Offset: 0x2C) SDRAMC OCMS Register -------- */
160
#define SDRAMC_OCMS_SDR_SE (0x1u << 0)
161
/* -------- SDRAMC_OCMS_KEY1 : (SDRAMC Offset: 0x30) SDRAMC OCMS KEY1 Register -------- */
162
#define SDRAMC_OCMS_KEY1_KEY1_Pos 0
163
#define SDRAMC_OCMS_KEY1_KEY1_Msk (0xffffffffu << SDRAMC_OCMS_KEY1_KEY1_Pos)
164
#define SDRAMC_OCMS_KEY1_KEY1(value) ((SDRAMC_OCMS_KEY1_KEY1_Msk & ((value) << SDRAMC_OCMS_KEY1_KEY1_Pos)))
165
/* -------- SDRAMC_OCMS_KEY2 : (SDRAMC Offset: 0x34) SDRAMC OCMS KEY2 Register -------- */
166
#define SDRAMC_OCMS_KEY2_KEY2_Pos 0
167
#define SDRAMC_OCMS_KEY2_KEY2_Msk (0xffffffffu << SDRAMC_OCMS_KEY2_KEY2_Pos)
168
#define SDRAMC_OCMS_KEY2_KEY2(value) ((SDRAMC_OCMS_KEY2_KEY2_Msk & ((value) << SDRAMC_OCMS_KEY2_KEY2_Pos)))
169
171
172
173
#endif
/* _SAMS70_SDRAMC_COMPONENT_ */
__O
#define __O
Definition
core_cm4.h:238
__IO
#define __IO
Definition
core_cm4.h:239
__I
#define __I
Definition
core_cm4.h:236
Sdramc
Sdramc hardware registers.
Definition
component_sdramc.h:41
Generated by
1.18.0