RTEMS  5.1
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 _SAME70_SDRAMC_COMPONENT_
31 #define _SAME70_SDRAMC_COMPONENT_
32 
33 /* ============================================================================= */
35 /* ============================================================================= */
38 
39 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
40 
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 
173 #endif /* _SAME70_SDRAMC_COMPONENT_ */
Sdramc hardware registers.
Definition: component_sdramc.h:41
#define __IO
Definition: core_cm7.h:287
#define __O
Definition: core_cm7.h:286
__IO uint32_t SDRAMC_OCMS
(Sdramc Offset: 0x2C) SDRAMC OCMS Register
Definition: component_sdramc.h:53
__IO uint32_t SDRAMC_CFR1
(Sdramc Offset: 0x28) SDRAMC Configuration Register 1
Definition: component_sdramc.h:52
__IO uint32_t SDRAMC_CR
(Sdramc Offset: 0x08) SDRAMC Configuration Register
Definition: component_sdramc.h:44
__I uint32_t SDRAMC_IMR
(Sdramc Offset: 0x1C) SDRAMC Interrupt Mask Register
Definition: component_sdramc.h:49
__O uint32_t SDRAMC_IDR
(Sdramc Offset: 0x18) SDRAMC Interrupt Disable Register
Definition: component_sdramc.h:48
__IO uint32_t SDRAMC_MDR
(Sdramc Offset: 0x24) SDRAMC Memory Device Register
Definition: component_sdramc.h:51
__IO uint32_t SDRAMC_MR
(Sdramc Offset: 0x00) SDRAMC Mode Register
Definition: component_sdramc.h:42
__O uint32_t SDRAMC_OCMS_KEY2
(Sdramc Offset: 0x34) SDRAMC OCMS KEY2 Register
Definition: component_sdramc.h:55
__O uint32_t SDRAMC_OCMS_KEY1
(Sdramc Offset: 0x30) SDRAMC OCMS KEY1 Register
Definition: component_sdramc.h:54
__O uint32_t SDRAMC_IER
(Sdramc Offset: 0x14) SDRAMC Interrupt Enable Register
Definition: component_sdramc.h:47
__IO uint32_t SDRAMC_LPR
(Sdramc Offset: 0x10) SDRAMC Low Power Register
Definition: component_sdramc.h:46
__I uint32_t SDRAMC_ISR
(Sdramc Offset: 0x20) SDRAMC Interrupt Status Register
Definition: component_sdramc.h:50
#define __I
Definition: core_cm7.h:284
__IO uint32_t SDRAMC_TR
(Sdramc Offset: 0x04) SDRAMC Refresh Timer Register
Definition: component_sdramc.h:43