Merge branch '2022-03-02-scmi-updates' into 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 SYS_FSL_DDR_VER
53         int
54         default 50 if SYS_FSL_DDR_VER_50
55         default 47 if SYS_FSL_DDR_VER_47
56         default 46 if SYS_FSL_DDR_VER_46
57         default 44 if SYS_FSL_DDR_VER_44
58
59 config SYS_FSL_DDR_VER_50
60         bool
61
62 config SYS_FSL_DDR_VER_47
63         bool
64
65 config SYS_FSL_DDR_VER_46
66         bool
67
68 config SYS_FSL_DDR_VER_44
69         bool
70
71 config SYS_FSL_DDRC_GEN1
72         bool
73         help
74           Enable Freescale DDR controller.
75
76 config SYS_FSL_DDRC_GEN2
77         bool
78         depends on !MPC86xx
79         help
80           Enable Freescale DDR2 controller.
81
82 config SYS_FSL_DDRC_GEN3
83         bool
84         depends on PPC
85         help
86           Enable Freescale DDR3 controller for PowerPC SoCs.
87
88 config SYS_FSL_DDRC_ARM_GEN3
89         bool
90         depends on ARM
91         help
92           Enable Freescale DDR3 controller for ARM SoCs.
93
94 config SYS_FSL_DDRC_GEN4
95         bool
96         help
97           Enable Freescale DDR4 controller.
98
99 config SYS_FSL_HAS_DDR4
100         bool
101
102 config SYS_FSL_HAS_DDR3
103         bool
104
105 config SYS_FSL_HAS_DDR2
106         bool
107
108 config SYS_FSL_HAS_DDR1
109         bool
110
111 choice
112         prompt "DDR technology"
113         default SYS_FSL_DDR4 if SYS_FSL_HAS_DDR4
114         default SYS_FSL_DDR3 if SYS_FSL_HAS_DDR3
115         default SYS_FSL_DDR2 if SYS_FSL_HAS_DDR2
116         default SYS_FSL_DDR1 if SYS_FSL_HAS_DDR1
117
118 config SYS_FSL_DDR4
119         bool "Freescale DDR4 controller"
120         depends on SYS_FSL_HAS_DDR4
121         imply DDR_SPD
122         select SYS_FSL_DDRC_GEN4
123
124 config SYS_FSL_DDR3
125         bool "Freescale DDR3 controller"
126         depends on SYS_FSL_HAS_DDR3
127         imply DDR_SPD
128         select SYS_FSL_DDRC_GEN3 if PPC
129         select SYS_FSL_DDRC_ARM_GEN3 if ARM
130
131 config SYS_FSL_DDR2
132         bool "Freescale DDR2 controller"
133         depends on SYS_FSL_HAS_DDR2
134         imply DDR_SPD
135         select SYS_FSL_DDRC_GEN2 if (!MPC86xx && !SYS_FSL_DDRC_GEN3)
136
137 config SYS_FSL_DDR1
138         bool "Freescale DDR1 controller"
139         depends on SYS_FSL_HAS_DDR1
140         imply DDR_SPD
141         select SYS_FSL_DDRC_GEN1
142
143 endchoice
144
145 endmenu
146
147 config FSL_DMA
148         def_bool y if DDR_ECC && MPC85xx && !ECC_INIT_VIA_DDRCONTROLLER
149
150 config DDR_ECC
151         bool "ECC DDR memory support"
152
153 config DDR_ECC_CMD
154         bool "Access the ECC features of the memory controller"
155         depends on DDR_ECC && MPC83xx
156         default y
157
158 config ECC_INIT_VIA_DDRCONTROLLER
159         bool "DDR Memory controller initializes memory."
160         help
161           Use the DDR controller to auto initialize memory.  If not enabled,
162           the DMA controller is responsible for doing this.
163
164 endif
165
166 menu "PowerPC / M68K initial memory controller definitions (FLASH, SDRAM, etc)"
167         depends on MCF52x2 || MPC8xx || MPC83xx || MPC85xx
168
169 config SYS_BR0_PRELIM_BOOL
170         bool "Define Bank 0"
171
172 config SYS_BR0_PRELIM
173         hex "Preliminary value for BR0"
174         depends on SYS_BR0_PRELIM_BOOL
175
176 config SYS_OR0_PRELIM
177         hex "Preliminary value for OR0"
178         depends on SYS_BR0_PRELIM_BOOL
179
180 config SYS_BR1_PRELIM_BOOL
181         bool "Define Bank 1"
182
183 config SYS_BR1_PRELIM
184         hex "Preliminary value for BR1"
185         depends on SYS_BR1_PRELIM_BOOL
186
187 config SYS_OR1_PRELIM
188         hex "Preliminary value for OR1"
189         depends on SYS_BR1_PRELIM_BOOL
190
191 config SYS_BR2_PRELIM_BOOL
192         bool "Define Bank 2"
193
194 config SYS_BR2_PRELIM
195         hex "Preliminary value for BR2"
196         depends on SYS_BR2_PRELIM_BOOL
197
198 config SYS_OR2_PRELIM
199         hex "Preliminary value for OR2"
200         depends on SYS_BR2_PRELIM_BOOL
201
202 config SYS_BR3_PRELIM_BOOL
203         bool "Define Bank 3"
204
205 config SYS_BR3_PRELIM
206         hex "Preliminary value for BR3"
207         depends on SYS_BR3_PRELIM_BOOL
208
209 config SYS_OR3_PRELIM
210         hex "Preliminary value for OR3"
211         depends on SYS_BR3_PRELIM_BOOL
212
213 config SYS_BR4_PRELIM_BOOL
214         bool "Define Bank 4"
215
216 config SYS_BR4_PRELIM
217         hex "Preliminary value for BR4"
218         depends on SYS_BR4_PRELIM_BOOL
219
220 config SYS_OR4_PRELIM
221         hex "Preliminary value for OR4"
222         depends on SYS_BR4_PRELIM_BOOL
223
224 config SYS_BR5_PRELIM_BOOL
225         bool "Define Bank 5"
226
227 config SYS_BR5_PRELIM
228         hex "Preliminary value for BR5"
229         depends on SYS_BR5_PRELIM_BOOL
230
231 config SYS_OR5_PRELIM
232         hex "Preliminary value for OR5"
233         depends on SYS_BR5_PRELIM_BOOL
234
235 config SYS_BR6_PRELIM_BOOL
236         bool "Define Bank 6"
237
238 config SYS_BR6_PRELIM
239         hex "Preliminary value for BR6"
240         depends on SYS_BR6_PRELIM_BOOL
241
242 config SYS_OR6_PRELIM
243         hex "Preliminary value for OR6"
244         depends on SYS_BR6_PRELIM_BOOL
245
246 config SYS_BR7_PRELIM_BOOL
247         bool "Define Bank 7"
248
249 config SYS_BR7_PRELIM
250         hex "Preliminary value for BR7"
251         depends on SYS_BR7_PRELIM_BOOL
252
253 config SYS_OR7_PRELIM
254         hex "Preliminary value for OR7"
255         depends on SYS_BR7_PRELIM_BOOL
256 endmenu
257
258 config SYS_FSL_ERRATUM_A008378
259         bool
260
261 config SYS_FSL_ERRATUM_A008109
262         bool
263
264 config SYS_FSL_ERRATUM_A008511
265         bool
266
267 config SYS_FSL_ERRATUM_A009663
268         bool
269
270 config SYS_FSL_ERRATUM_A009801
271         bool
272
273 config SYS_FSL_ERRATUM_A009803
274         bool
275
276 config SYS_FSL_ERRATUM_A009942
277         bool
278
279 config SYS_FSL_ERRATUM_A010165
280         bool
281
282 config SYS_FSL_ERRATUM_NMG_DDR120
283         bool
284
285 config SYS_FSL_ERRATUM_DDR_115
286         bool
287
288 config SYS_FSL_ERRATUM_DDR111_DDR134
289         bool
290
291 config SYS_FSL_ERRATUM_DDR_A003
292         bool
293
294 config SYS_FSL_ERRATUM_DDR_A003474
295         bool