Merge branch 'next'
[platform/kernel/u-boot.git] / drivers / ddr / fsl / Kconfig
1 config SYS_FSL_DDR
2         bool
3         help
4           Select Freescale General DDR driver, shared between most Freescale
5           PowerPC- based SoCs (such as mpc83xx, mpc85xx and ARM- based
6           Layerscape SoCs (such as ls2080a).
7
8 config SYS_FSL_MMDC
9         bool
10         help
11           Select Freescale Multi Mode DDR controller (MMDC).
12
13 if SYS_FSL_DDR || SYS_FSL_MMDC
14
15 config SYS_FSL_DDR_BE
16         bool
17         help
18                 Access DDR registers in big-endian
19
20 config SYS_FSL_DDR_LE
21         bool
22         help
23                 Access DDR registers in little-endian
24
25 config FSL_DDR_BIST
26         bool
27
28 config FSL_DDR_INTERACTIVE
29         bool
30
31 config FSL_DDR_SYNC_REFRESH
32         bool
33
34 config FSL_DDR_FIRST_SLOT_QUAD_CAPABLE
35         bool
36
37 menu "Freescale DDR controllers"
38         depends on SYS_FSL_DDR
39
40 config SYS_NUM_DDR_CTLRS
41         int "Maximum DDR controllers"
42         default 3 if    ARCH_LS2080A    || \
43                         ARCH_T4240
44         default 2 if    ARCH_B4860      || \
45                         ARCH_BSC9132    || \
46                         ARCH_P4080      || \
47                         ARCH_P5040      || \
48                         ARCH_LX2160A    || \
49                         ARCH_LX2162A
50         default 1
51
52 config CHIP_SELECTS_PER_CTRL
53         int "Number of chip selects per controller"
54         default 4
55
56 config SYS_FSL_DDR_VER
57         int
58         default 50 if SYS_FSL_DDR_VER_50
59         default 47 if SYS_FSL_DDR_VER_47
60         default 46 if SYS_FSL_DDR_VER_46
61         default 44 if SYS_FSL_DDR_VER_44
62
63 config SYS_FSL_DDR_VER_50
64         bool
65
66 config SYS_FSL_DDR_VER_47
67         bool
68
69 config SYS_FSL_DDR_VER_46
70         bool
71
72 config SYS_FSL_DDR_VER_44
73         bool
74
75 config SYS_FSL_DDRC_GEN1
76         bool
77         help
78           Enable Freescale DDR controller.
79
80 config SYS_FSL_DDRC_GEN2
81         bool
82         depends on !MPC86xx
83         help
84           Enable Freescale DDR2 controller.
85
86 config SYS_FSL_DDRC_GEN3
87         bool
88         depends on PPC
89         help
90           Enable Freescale DDR3 controller for PowerPC SoCs.
91
92 config SYS_FSL_DDRC_ARM_GEN3
93         bool
94         depends on ARM
95         help
96           Enable Freescale DDR3 controller for ARM SoCs.
97
98 config SYS_FSL_DDRC_GEN4
99         bool
100         help
101           Enable Freescale DDR4 controller.
102
103 config SYS_FSL_HAS_DDR4
104         bool
105
106 config SYS_FSL_HAS_DDR3
107         bool
108
109 config SYS_FSL_HAS_DDR2
110         bool
111
112 config SYS_FSL_HAS_DDR1
113         bool
114
115 choice
116         prompt "DDR technology"
117         default SYS_FSL_DDR4 if SYS_FSL_HAS_DDR4
118         default SYS_FSL_DDR3 if SYS_FSL_HAS_DDR3
119         default SYS_FSL_DDR2 if SYS_FSL_HAS_DDR2
120         default SYS_FSL_DDR1 if SYS_FSL_HAS_DDR1
121
122 config SYS_FSL_DDR4
123         bool "Freescale DDR4 controller"
124         depends on SYS_FSL_HAS_DDR4
125         imply DDR_SPD
126         select SYS_FSL_DDRC_GEN4
127
128 config SYS_FSL_DDR3
129         bool "Freescale DDR3 controller"
130         depends on SYS_FSL_HAS_DDR3
131         imply DDR_SPD
132         select SYS_FSL_DDRC_GEN3 if PPC
133         select SYS_FSL_DDRC_ARM_GEN3 if ARM
134
135 config SYS_FSL_DDR2
136         bool "Freescale DDR2 controller"
137         depends on SYS_FSL_HAS_DDR2
138         imply DDR_SPD
139         select SYS_FSL_DDRC_GEN2 if (!MPC86xx && !SYS_FSL_DDRC_GEN3)
140
141 config SYS_FSL_DDR1
142         bool "Freescale DDR1 controller"
143         depends on SYS_FSL_HAS_DDR1
144         imply DDR_SPD
145         select SYS_FSL_DDRC_GEN1
146
147 endchoice
148
149 endmenu
150
151 config FSL_DMA
152         def_bool y if DDR_ECC && MPC85xx && !ECC_INIT_VIA_DDRCONTROLLER
153
154 config DDR_ECC
155         bool "ECC DDR memory support"
156
157 config DDR_ECC_CMD
158         bool "Access the ECC features of the memory controller"
159         depends on DDR_ECC && MPC83xx
160         default y
161
162 config ECC_INIT_VIA_DDRCONTROLLER
163         bool "DDR Memory controller initializes memory."
164         help
165           Use the DDR controller to auto initialize memory.  If not enabled,
166           the DMA controller is responsible for doing this.
167
168 endif
169
170 menu "PowerPC / M68K initial memory controller definitions (FLASH, SDRAM, etc)"
171         depends on MCF52x2 || MPC8xx || MPC83xx || MPC85xx
172
173 config SYS_BR0_PRELIM_BOOL
174         bool "Define Bank 0"
175
176 config SYS_BR0_PRELIM
177         hex "Preliminary value for BR0"
178         depends on SYS_BR0_PRELIM_BOOL
179
180 config SYS_OR0_PRELIM
181         hex "Preliminary value for OR0"
182         depends on SYS_BR0_PRELIM_BOOL
183
184 config SYS_BR1_PRELIM_BOOL
185         bool "Define Bank 1"
186
187 config SYS_BR1_PRELIM
188         hex "Preliminary value for BR1"
189         depends on SYS_BR1_PRELIM_BOOL
190
191 config SYS_OR1_PRELIM
192         hex "Preliminary value for OR1"
193         depends on SYS_BR1_PRELIM_BOOL
194
195 config SYS_BR2_PRELIM_BOOL
196         bool "Define Bank 2"
197
198 config SYS_BR2_PRELIM
199         hex "Preliminary value for BR2"
200         depends on SYS_BR2_PRELIM_BOOL
201
202 config SYS_OR2_PRELIM
203         hex "Preliminary value for OR2"
204         depends on SYS_BR2_PRELIM_BOOL
205
206 config SYS_BR3_PRELIM_BOOL
207         bool "Define Bank 3"
208
209 config SYS_BR3_PRELIM
210         hex "Preliminary value for BR3"
211         depends on SYS_BR3_PRELIM_BOOL
212
213 config SYS_OR3_PRELIM
214         hex "Preliminary value for OR3"
215         depends on SYS_BR3_PRELIM_BOOL
216
217 config SYS_BR4_PRELIM_BOOL
218         bool "Define Bank 4"
219
220 config SYS_BR4_PRELIM
221         hex "Preliminary value for BR4"
222         depends on SYS_BR4_PRELIM_BOOL
223
224 config SYS_OR4_PRELIM
225         hex "Preliminary value for OR4"
226         depends on SYS_BR4_PRELIM_BOOL
227
228 config SYS_BR5_PRELIM_BOOL
229         bool "Define Bank 5"
230
231 config SYS_BR5_PRELIM
232         hex "Preliminary value for BR5"
233         depends on SYS_BR5_PRELIM_BOOL
234
235 config SYS_OR5_PRELIM
236         hex "Preliminary value for OR5"
237         depends on SYS_BR5_PRELIM_BOOL
238
239 config SYS_BR6_PRELIM_BOOL
240         bool "Define Bank 6"
241
242 config SYS_BR6_PRELIM
243         hex "Preliminary value for BR6"
244         depends on SYS_BR6_PRELIM_BOOL
245
246 config SYS_OR6_PRELIM
247         hex "Preliminary value for OR6"
248         depends on SYS_BR6_PRELIM_BOOL
249
250 config SYS_BR7_PRELIM_BOOL
251         bool "Define Bank 7"
252
253 config SYS_BR7_PRELIM
254         hex "Preliminary value for BR7"
255         depends on SYS_BR7_PRELIM_BOOL
256
257 config SYS_OR7_PRELIM
258         hex "Preliminary value for OR7"
259         depends on SYS_BR7_PRELIM_BOOL
260 endmenu
261
262 config SYS_FSL_ERRATUM_A008378
263         bool
264
265 config SYS_FSL_ERRATUM_A008109
266         bool
267
268 config SYS_FSL_ERRATUM_A008511
269         bool
270
271 config SYS_FSL_ERRATUM_A009663
272         bool
273
274 config SYS_FSL_ERRATUM_A009801
275         bool
276
277 config SYS_FSL_ERRATUM_A009803
278         bool
279
280 config SYS_FSL_ERRATUM_A009942
281         bool
282
283 config SYS_FSL_ERRATUM_A010165
284         bool
285
286 config SYS_FSL_ERRATUM_NMG_DDR120
287         bool
288
289 config SYS_FSL_ERRATUM_DDR_115
290         bool
291
292 config SYS_FSL_ERRATUM_DDR111_DDR134
293         bool
294
295 config SYS_FSL_ERRATUM_DDR_A003
296         bool
297
298 config SYS_FSL_ERRATUM_DDR_A003474
299         bool