xref: /linux/arch/arm/mach-omap2/Kconfig (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1# SPDX-License-Identifier: GPL-2.0-only
2menu "TI OMAP/AM/DM/DRA Family"
3	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
4
5config OMAP_HWMOD
6	bool
7
8config ARCH_OMAP2
9	bool "TI OMAP2"
10	depends on ARCH_MULTI_V6
11	select ARCH_OMAP2PLUS
12	select CPU_V6
13	select OMAP_HWMOD
14	select SOC_HAS_OMAP2_SDRC
15
16config ARCH_OMAP3
17	bool "TI OMAP3"
18	depends on ARCH_MULTI_V7
19	select ARCH_OMAP2PLUS
20	select ARM_CPU_SUSPEND
21	select OMAP_HWMOD
22	select OMAP_INTERCONNECT
23	select PM_OPP
24	select SOC_HAS_OMAP2_SDRC
25	select ARM_ERRATA_430973
26
27config ARCH_OMAP4
28	bool "TI OMAP4"
29	depends on ARCH_MULTI_V7
30	select ARCH_OMAP2PLUS
31	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
32	select ARM_CPU_SUSPEND
33	select ARM_ERRATA_720789
34	select ARM_GIC
35	select HAVE_ARM_SCU if SMP
36	select HAVE_ARM_TWD if SMP
37	select OMAP_INTERCONNECT
38	select OMAP_INTERCONNECT_BARRIER
39	select PL310_ERRATA_588369 if CACHE_L2X0
40	select PL310_ERRATA_727915 if CACHE_L2X0
41	select PM_OPP
42	select PM if CPU_IDLE
43	select ARM_ERRATA_754322
44	select ARM_ERRATA_775420
45
46config SOC_OMAP5
47	bool "TI OMAP5"
48	depends on ARCH_MULTI_V7
49	select ARCH_OMAP2PLUS
50	select ARM_CPU_SUSPEND
51	select ARM_GIC
52	select HAVE_ARM_SCU if SMP
53	select HAVE_ARM_ARCH_TIMER
54	select ARM_ERRATA_798181 if SMP
55	select OMAP_INTERCONNECT
56	select OMAP_INTERCONNECT_BARRIER
57	select PM_OPP
58	select ZONE_DMA if ARM_LPAE
59
60config SOC_AM33XX
61	bool "TI AM33XX"
62	depends on ARCH_MULTI_V7
63	select ARCH_OMAP2PLUS
64	select ARM_CPU_SUSPEND
65
66config SOC_AM43XX
67	bool "TI AM43x"
68	depends on ARCH_MULTI_V7
69	select ARCH_OMAP2PLUS
70	select ARM_GIC
71	select MACH_OMAP_GENERIC
72	select HAVE_ARM_SCU
73	select GENERIC_CLOCKEVENTS_BROADCAST
74	select HAVE_ARM_TWD
75	select ARM_ERRATA_754322
76	select ARM_ERRATA_775420
77	select OMAP_INTERCONNECT
78	select ARM_CPU_SUSPEND
79
80config SOC_DRA7XX
81	bool "TI DRA7XX"
82	depends on ARCH_MULTI_V7
83	select ARCH_OMAP2PLUS
84	select ARM_CPU_SUSPEND
85	select ARM_GIC
86	select HAVE_ARM_SCU if SMP
87	select HAVE_ARM_ARCH_TIMER
88	select IRQ_CROSSBAR
89	select ARM_ERRATA_798181 if SMP
90	select OMAP_INTERCONNECT
91	select OMAP_INTERCONNECT_BARRIER
92	select PM_OPP
93	select ZONE_DMA if ARM_LPAE
94	select PINCTRL_TI_IODELAY if OF && PINCTRL
95
96config ARCH_OMAP2PLUS
97	bool
98	select ARCH_HAS_BANDGAP
99	select ARCH_HAS_RESET_CONTROLLER
100	select ARCH_OMAP
101	select CLKSRC_MMIO
102	select GENERIC_IRQ_CHIP
103	select GPIOLIB
104	select MACH_OMAP_GENERIC
105	select MEMORY
106	select MFD_SYSCON
107	select OMAP_DM_SYSTIMER
108	select OMAP_DM_TIMER
109	select OMAP_GPMC
110	select PINCTRL
111	select PM
112	select PM_GENERIC_DOMAINS
113	select PM_GENERIC_DOMAINS_OF
114	select RESET_CONTROLLER
115	select SOC_BUS
116	select TI_SYSC
117	select OMAP_IRQCHIP
118	select CLKSRC_TI_32K
119	help
120	  Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
121
122config OMAP_INTERCONNECT_BARRIER
123	bool
124	select ARM_HEAVY_MB
125
126config ARCH_OMAP
127	bool
128
129if ARCH_OMAP2PLUS
130
131menu "TI OMAP2/3/4 Specific Features"
132
133config ARCH_OMAP2PLUS_TYPICAL
134	bool "Typical OMAP configuration"
135	default y
136	select AEABI
137	select HIGHMEM
138	select I2C
139	select I2C_OMAP
140	select MENELAUS if ARCH_OMAP2
141	select NEON if CPU_V7
142	select REGULATOR
143	select REGULATOR_FIXED_VOLTAGE
144	select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
145	select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
146	select VFP
147	help
148	  Compile a kernel suitable for booting most boards
149
150config SOC_HAS_OMAP2_SDRC
151	bool "OMAP2 SDRAM Controller support"
152
153config SOC_HAS_REALTIME_COUNTER
154	bool "Real time free running counter"
155	depends on SOC_OMAP5 || SOC_DRA7XX
156	default y
157
158config POWER_AVS_OMAP
159	bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
160	depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
161	select POWER_SUPPLY
162	help
163	  Say Y to enable AVS(Adaptive Voltage Scaling)
164	  support on OMAP containing the version 1 or
165	  version 2 of the SmartReflex IP.
166	  V1 is the 65nm version used in OMAP3430.
167	  V2 is the update for the 45nm version of the IP used in OMAP3630
168	  and OMAP4430
169
170	  Please note, that by default SmartReflex is only
171	  initialized and not enabled. To enable the automatic voltage
172	  compensation for vdd mpu and vdd core from user space,
173	  user must write 1 to
174		/debug/smartreflex/sr_<X>/autocomp,
175	  where X is mpu_iva or core for OMAP3.
176	  Optionally autocompensation can be enabled in the kernel
177	  by default during system init via the enable_on_init flag
178	  which an be passed as platform data to the smartreflex driver.
179
180config POWER_AVS_OMAP_CLASS3
181	bool "Class 3 mode of Smartreflex Implementation"
182	depends on POWER_AVS_OMAP && TWL4030_CORE
183	help
184	  Say Y to enable Class 3 implementation of Smartreflex
185
186	  Class 3 implementation of Smartreflex employs continuous hardware
187	  voltage calibration.
188
189config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
190	bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
191	depends on ARCH_OMAP3 && PM
192	help
193	  Without this option, L2 Auxiliary control register contents are
194	  lost during off-mode entry on HS/EMU devices. This feature
195	  requires support from PPA / boot-loader in HS/EMU devices, which
196	  currently does not exist by default.
197
198config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
199	int "Service ID for the support routine to set L2 AUX control"
200	depends on OMAP3_L2_AUX_SECURE_SAVE_RESTORE
201	default 43
202	help
203	  PPA routine service ID for setting L2 auxiliary control register.
204
205comment "OMAP Core Type"
206	depends on ARCH_OMAP2
207
208config SOC_OMAP2420
209	bool "OMAP2420 support"
210	depends on ARCH_OMAP2
211	default y
212	select OMAP_DM_SYSTIMER
213	select OMAP_DM_TIMER
214	select SOC_HAS_OMAP2_SDRC
215
216config SOC_OMAP2430
217	bool "OMAP2430 support"
218	depends on ARCH_OMAP2
219	default y
220	select SOC_HAS_OMAP2_SDRC
221
222config SOC_OMAP3430
223	bool "OMAP3430 support"
224	depends on ARCH_OMAP3
225	default y
226	select SOC_HAS_OMAP2_SDRC
227
228config SOC_TI81XX
229	bool "TI81XX support"
230	depends on ARCH_OMAP3
231	default y
232
233comment "OMAP Legacy Platform Data Board Type"
234	depends on ARCH_OMAP2PLUS
235
236config MACH_OMAP_GENERIC
237	bool
238
239config MACH_OMAP2_TUSB6010
240	bool
241	depends on ARCH_OMAP2 && SOC_OMAP2420
242	default y if MACH_NOKIA_N8X0
243
244config MACH_NOKIA_N810
245	bool
246
247config MACH_NOKIA_N810_WIMAX
248	bool
249
250config MACH_NOKIA_N8X0
251	bool "Nokia N800/N810"
252	depends on SOC_OMAP2420
253	default y
254	select MACH_NOKIA_N810
255	select MACH_NOKIA_N810_WIMAX
256
257endmenu
258
259endif
260
261config OMAP5_ERRATA_801819
262	bool "Errata 801819: An eviction from L1 data cache might stall indefinitely"
263	depends on SOC_OMAP5 || SOC_DRA7XX
264	help
265	  A livelock can occur in the L2 cache arbitration that might prevent
266	  a snoop from completing. Under certain conditions this can cause the
267	  system to deadlock.
268
269endmenu
270