Merge branch 'opp/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk...
[linux-2.6-microblaze.git] / arch / arm / mach-imx / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig ARCH_MXC
3         bool "Freescale i.MX family"
4         depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M
5         select ARCH_SUPPORTS_BIG_ENDIAN
6         select CLKSRC_IMX_GPT
7         select GENERIC_IRQ_CHIP
8         select GPIOLIB
9         select PINCTRL
10         select PM_OPP if PM
11         select SOC_BUS
12         select SRAM
13         help
14           Support for Freescale MXC/iMX-based family of processors
15
16 if ARCH_MXC
17
18 config MXC_TZIC
19         bool
20
21 config MXC_AVIC
22         bool
23
24 config MXC_DEBUG_BOARD
25         bool "Enable MXC debug board(for 3-stack)"
26         depends on MACH_MX27_3DS || MACH_MX31_3DS || MACH_MX35_3DS
27         help
28           The debug board is an integral part of the MXC 3-stack(PDK)
29           platforms, it can be attached or removed from the peripheral
30           board. On debug board, several debug devices(ethernet, UART,
31           buttons, LEDs and JTAG) are implemented. Between the MCU and
32           these devices, a CPLD is added as a bridge which performs
33           data/address de-multiplexing and decode, signal level shift,
34           interrupt control and various board functions.
35
36 config HAVE_IMX_ANATOP
37         bool
38
39 config HAVE_IMX_GPC
40         bool
41         select PM_GENERIC_DOMAINS if PM
42
43 config HAVE_IMX_MMDC
44         bool
45
46 config HAVE_IMX_SRC
47         def_bool y if SMP
48         select ARCH_HAS_RESET_CONTROLLER
49
50 if ARCH_MULTI_V6
51
52 comment "ARM1136 platforms"
53
54 config SOC_IMX31
55         bool "i.MX31 support"
56         select CPU_V6
57         select MXC_AVIC
58         help
59           This enables support for Freescale i.MX31 processor
60
61 config SOC_IMX35
62         bool "i.MX35 support"
63         select MXC_AVIC
64         select PINCTRL_IMX35
65         help
66           This enables support for Freescale i.MX35 processor
67
68 endif
69
70 if ARCH_MULTI_V4T
71
72 config SOC_IMX1
73         bool "i.MX1 support"
74         select CPU_ARM920T
75         select MXC_AVIC
76         select PINCTRL_IMX1
77         help
78           This enables support for Freescale i.MX1 processor
79
80 endif
81
82 if ARCH_MULTI_V5
83
84 config SOC_IMX25
85         bool "i.MX25 support"
86         select CPU_ARM926T
87         select MXC_AVIC
88         select PINCTRL_IMX25
89         help
90           This enables support for Freescale i.MX25 processor
91
92 config SOC_IMX27
93         bool "i.MX27 support"
94         select CPU_ARM926T
95         select MXC_AVIC
96         select PINCTRL_IMX27
97         help
98           This enables support for Freescale i.MX27 processor
99
100 endif
101
102 if ARCH_MULTI_V7
103
104 comment "Cortex-A platforms"
105
106 config SOC_IMX5
107         bool
108         select HAVE_IMX_SRC
109         select MXC_TZIC
110
111 config  SOC_IMX50
112         bool "i.MX50 support"
113         select PINCTRL_IMX50
114         select SOC_IMX5
115
116         help
117           This enables support for Freescale i.MX50 processor.
118
119 config SOC_IMX51
120         bool "i.MX51 support"
121         select PINCTRL_IMX51
122         select SOC_IMX5
123         help
124           This enables support for Freescale i.MX51 processor
125
126 config  SOC_IMX53
127         bool "i.MX53 support"
128         select PINCTRL_IMX53
129         select SOC_IMX5
130
131         help
132           This enables support for Freescale i.MX53 processor.
133
134 config SOC_IMX6
135         bool
136         select ARM_CPU_SUSPEND if (PM || CPU_IDLE)
137         select ARM_GIC
138         select HAVE_IMX_ANATOP
139         select HAVE_IMX_GPC
140         select HAVE_IMX_MMDC
141         select HAVE_IMX_SRC
142         select MFD_SYSCON
143         select PL310_ERRATA_769419 if CACHE_L2X0
144
145 config SOC_IMX6Q
146         bool "i.MX6 Quad/DualLite support"
147         select ARM_ERRATA_764369 if SMP
148         select ARM_ERRATA_754322
149         select ARM_ERRATA_775420
150         select HAVE_ARM_SCU if SMP
151         select HAVE_ARM_TWD
152         select PINCTRL_IMX6Q
153         select SOC_IMX6
154
155         help
156           This enables support for Freescale i.MX6 Quad processor.
157
158 config SOC_IMX6SL
159         bool "i.MX6 SoloLite support"
160         select ARM_ERRATA_754322
161         select ARM_ERRATA_775420
162         select PINCTRL_IMX6SL
163         select SOC_IMX6
164
165         help
166           This enables support for Freescale i.MX6 SoloLite processor.
167
168 config SOC_IMX6SLL
169         bool "i.MX6 SoloLiteLite support"
170         select ARM_ERRATA_754322
171         select ARM_ERRATA_775420
172         select PINCTRL_IMX6SLL
173         select SOC_IMX6
174
175         help
176           This enables support for Freescale i.MX6 SoloLiteLite processor.
177
178 config SOC_IMX6SX
179         bool "i.MX6 SoloX support"
180         select ARM_ERRATA_754322
181         select ARM_ERRATA_775420
182         select PINCTRL_IMX6SX
183         select SOC_IMX6
184
185         help
186           This enables support for Freescale i.MX6 SoloX processor.
187
188 config SOC_IMX6UL
189         bool "i.MX6 UltraLite support"
190         select PINCTRL_IMX6UL
191         select SOC_IMX6
192         select ARM_ERRATA_814220
193
194         help
195           This enables support for Freescale i.MX6 UltraLite processor.
196
197 config SOC_LS1021A
198         bool "Freescale LS1021A support"
199         select ARM_GIC
200         select HAVE_ARM_ARCH_TIMER
201         select ZONE_DMA if ARM_LPAE
202         help
203           This enables support for Freescale LS1021A processor.
204
205 endif
206
207 if ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
208
209 comment "Cortex-A/Cortex-M asymmetric multiprocessing platforms"
210
211 config SOC_IMX7D_CA7
212         bool
213         select ARM_GIC
214         select HAVE_ARM_ARCH_TIMER
215         select HAVE_IMX_ANATOP
216         select HAVE_IMX_MMDC
217         select HAVE_IMX_SRC
218         select IMX_GPCV2
219
220 config SOC_IMX7D_CM4
221         bool
222         select ARMV7M_SYSTICK
223
224 config SOC_IMX7D
225         bool "i.MX7 Dual support"
226         select PINCTRL_IMX7D
227         select SOC_IMX7D_CA7 if ARCH_MULTI_V7
228         select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
229         select ARM_ERRATA_814220 if ARCH_MULTI_V7
230         help
231                 This enables support for Freescale i.MX7 Dual processor.
232
233 config SOC_IMX7ULP
234         bool "i.MX7ULP support"
235         select CLKSRC_IMX_TPM
236         select PINCTRL_IMX7ULP
237         select SOC_IMX7D_CA7 if ARCH_MULTI_V7
238         select SOC_IMX7D_CM4 if ARM_SINGLE_ARMV7M
239         help
240           This enables support for Freescale i.MX7 Ultra Low Power processor.
241
242 config SOC_VF610
243         bool "Vybrid Family VF610 support"
244         select ARM_GIC if ARCH_MULTI_V7
245         select PINCTRL_VF610
246
247         help
248           This enables support for Freescale Vybrid VF610 processor.
249
250 choice
251         prompt "Clocksource for scheduler clock"
252         depends on SOC_VF610
253         default VF_USE_ARM_GLOBAL_TIMER
254
255         config VF_USE_ARM_GLOBAL_TIMER
256                 bool "Use ARM Global Timer"
257                 depends on ARCH_MULTI_V7
258                 select ARM_GLOBAL_TIMER
259                 select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
260                 help
261                   Use the ARM Global Timer as clocksource
262
263         config VF_USE_PIT_TIMER
264                 bool "Use PIT timer"
265                 select VF_PIT_TIMER
266                 help
267                   Use SoC Periodic Interrupt Timer (PIT) as clocksource
268
269 endchoice
270
271 endif
272
273 endif