162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "TI OMAP/AM/DM/DRA Family"
362306a36Sopenharmony_ci	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciconfig OMAP_HWMOD
662306a36Sopenharmony_ci	bool
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig ARCH_OMAP2
962306a36Sopenharmony_ci	bool "TI OMAP2"
1062306a36Sopenharmony_ci	depends on ARCH_MULTI_V6
1162306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
1262306a36Sopenharmony_ci	select CPU_V6
1362306a36Sopenharmony_ci	select OMAP_HWMOD
1462306a36Sopenharmony_ci	select SOC_HAS_OMAP2_SDRC
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciconfig ARCH_OMAP3
1762306a36Sopenharmony_ci	bool "TI OMAP3"
1862306a36Sopenharmony_ci	depends on ARCH_MULTI_V7
1962306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
2062306a36Sopenharmony_ci	select ARM_CPU_SUSPEND
2162306a36Sopenharmony_ci	select OMAP_HWMOD
2262306a36Sopenharmony_ci	select OMAP_INTERCONNECT
2362306a36Sopenharmony_ci	select PM_OPP
2462306a36Sopenharmony_ci	select SOC_HAS_OMAP2_SDRC
2562306a36Sopenharmony_ci	select ARM_ERRATA_430973
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciconfig ARCH_OMAP4
2862306a36Sopenharmony_ci	bool "TI OMAP4"
2962306a36Sopenharmony_ci	depends on ARCH_MULTI_V7
3062306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
3162306a36Sopenharmony_ci	select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
3262306a36Sopenharmony_ci	select ARM_CPU_SUSPEND
3362306a36Sopenharmony_ci	select ARM_ERRATA_720789
3462306a36Sopenharmony_ci	select ARM_GIC
3562306a36Sopenharmony_ci	select HAVE_ARM_SCU if SMP
3662306a36Sopenharmony_ci	select HAVE_ARM_TWD if SMP
3762306a36Sopenharmony_ci	select OMAP_INTERCONNECT
3862306a36Sopenharmony_ci	select OMAP_INTERCONNECT_BARRIER
3962306a36Sopenharmony_ci	select PL310_ERRATA_588369 if CACHE_L2X0
4062306a36Sopenharmony_ci	select PL310_ERRATA_727915 if CACHE_L2X0
4162306a36Sopenharmony_ci	select PM_OPP
4262306a36Sopenharmony_ci	select PM if CPU_IDLE
4362306a36Sopenharmony_ci	select ARM_ERRATA_754322
4462306a36Sopenharmony_ci	select ARM_ERRATA_775420
4562306a36Sopenharmony_ci	select OMAP_INTERCONNECT
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig SOC_OMAP5
4862306a36Sopenharmony_ci	bool "TI OMAP5"
4962306a36Sopenharmony_ci	depends on ARCH_MULTI_V7
5062306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
5162306a36Sopenharmony_ci	select ARM_CPU_SUSPEND
5262306a36Sopenharmony_ci	select ARM_GIC
5362306a36Sopenharmony_ci	select HAVE_ARM_SCU if SMP
5462306a36Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER
5562306a36Sopenharmony_ci	select ARM_ERRATA_798181 if SMP
5662306a36Sopenharmony_ci	select OMAP_INTERCONNECT
5762306a36Sopenharmony_ci	select OMAP_INTERCONNECT_BARRIER
5862306a36Sopenharmony_ci	select PM_OPP
5962306a36Sopenharmony_ci	select ZONE_DMA if ARM_LPAE
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ciconfig SOC_AM33XX
6262306a36Sopenharmony_ci	bool "TI AM33XX"
6362306a36Sopenharmony_ci	depends on ARCH_MULTI_V7
6462306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
6562306a36Sopenharmony_ci	select ARM_CPU_SUSPEND
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciconfig SOC_AM43XX
6862306a36Sopenharmony_ci	bool "TI AM43x"
6962306a36Sopenharmony_ci	depends on ARCH_MULTI_V7
7062306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
7162306a36Sopenharmony_ci	select ARM_GIC
7262306a36Sopenharmony_ci	select MACH_OMAP_GENERIC
7362306a36Sopenharmony_ci	select HAVE_ARM_SCU
7462306a36Sopenharmony_ci	select GENERIC_CLOCKEVENTS_BROADCAST
7562306a36Sopenharmony_ci	select HAVE_ARM_TWD
7662306a36Sopenharmony_ci	select ARM_ERRATA_754322
7762306a36Sopenharmony_ci	select ARM_ERRATA_775420
7862306a36Sopenharmony_ci	select OMAP_INTERCONNECT
7962306a36Sopenharmony_ci	select ARM_CPU_SUSPEND
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ciconfig SOC_DRA7XX
8262306a36Sopenharmony_ci	bool "TI DRA7XX"
8362306a36Sopenharmony_ci	depends on ARCH_MULTI_V7
8462306a36Sopenharmony_ci	select ARCH_OMAP2PLUS
8562306a36Sopenharmony_ci	select ARM_CPU_SUSPEND
8662306a36Sopenharmony_ci	select ARM_GIC
8762306a36Sopenharmony_ci	select HAVE_ARM_SCU if SMP
8862306a36Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER
8962306a36Sopenharmony_ci	select IRQ_CROSSBAR
9062306a36Sopenharmony_ci	select ARM_ERRATA_798181 if SMP
9162306a36Sopenharmony_ci	select OMAP_INTERCONNECT
9262306a36Sopenharmony_ci	select OMAP_INTERCONNECT_BARRIER
9362306a36Sopenharmony_ci	select PM_OPP
9462306a36Sopenharmony_ci	select ZONE_DMA if ARM_LPAE
9562306a36Sopenharmony_ci	select PINCTRL_TI_IODELAY if OF && PINCTRL
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig ARCH_OMAP2PLUS
9862306a36Sopenharmony_ci	bool
9962306a36Sopenharmony_ci	select ARCH_HAS_BANDGAP
10062306a36Sopenharmony_ci	select ARCH_HAS_RESET_CONTROLLER
10162306a36Sopenharmony_ci	select ARCH_OMAP
10262306a36Sopenharmony_ci	select CLKSRC_MMIO
10362306a36Sopenharmony_ci	select GENERIC_IRQ_CHIP
10462306a36Sopenharmony_ci	select GPIOLIB
10562306a36Sopenharmony_ci	select MACH_OMAP_GENERIC
10662306a36Sopenharmony_ci	select MEMORY
10762306a36Sopenharmony_ci	select MFD_SYSCON
10862306a36Sopenharmony_ci	select OMAP_DM_SYSTIMER
10962306a36Sopenharmony_ci	select OMAP_DM_TIMER
11062306a36Sopenharmony_ci	select OMAP_GPMC
11162306a36Sopenharmony_ci	select PINCTRL
11262306a36Sopenharmony_ci	select PM
11362306a36Sopenharmony_ci	select PM_GENERIC_DOMAINS
11462306a36Sopenharmony_ci	select PM_GENERIC_DOMAINS_OF
11562306a36Sopenharmony_ci	select RESET_CONTROLLER
11662306a36Sopenharmony_ci	select SOC_BUS
11762306a36Sopenharmony_ci	select TI_SYSC
11862306a36Sopenharmony_ci	select OMAP_IRQCHIP
11962306a36Sopenharmony_ci	select CLKSRC_TI_32K
12062306a36Sopenharmony_ci	help
12162306a36Sopenharmony_ci	  Systems based on OMAP2, OMAP3, OMAP4 or OMAP5
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig OMAP_INTERCONNECT_BARRIER
12462306a36Sopenharmony_ci	bool
12562306a36Sopenharmony_ci	select ARM_HEAVY_MB
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ciconfig ARCH_OMAP
12862306a36Sopenharmony_ci	bool
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciif ARCH_OMAP2PLUS
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_cimenu "TI OMAP2/3/4 Specific Features"
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ciconfig ARCH_OMAP2PLUS_TYPICAL
13562306a36Sopenharmony_ci	bool "Typical OMAP configuration"
13662306a36Sopenharmony_ci	default y
13762306a36Sopenharmony_ci	select AEABI
13862306a36Sopenharmony_ci	select HIGHMEM
13962306a36Sopenharmony_ci	select I2C
14062306a36Sopenharmony_ci	select I2C_OMAP
14162306a36Sopenharmony_ci	select MENELAUS if ARCH_OMAP2
14262306a36Sopenharmony_ci	select NEON if CPU_V7
14362306a36Sopenharmony_ci	select REGULATOR
14462306a36Sopenharmony_ci	select REGULATOR_FIXED_VOLTAGE
14562306a36Sopenharmony_ci	select TWL4030_CORE if ARCH_OMAP3 || ARCH_OMAP4
14662306a36Sopenharmony_ci	select TWL4030_POWER if ARCH_OMAP3 || ARCH_OMAP4
14762306a36Sopenharmony_ci	select VFP
14862306a36Sopenharmony_ci	help
14962306a36Sopenharmony_ci	  Compile a kernel suitable for booting most boards
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ciconfig SOC_HAS_OMAP2_SDRC
15262306a36Sopenharmony_ci	bool "OMAP2 SDRAM Controller support"
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciconfig SOC_HAS_REALTIME_COUNTER
15562306a36Sopenharmony_ci	bool "Real time free running counter"
15662306a36Sopenharmony_ci	depends on SOC_OMAP5 || SOC_DRA7XX
15762306a36Sopenharmony_ci	default y
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ciconfig POWER_AVS_OMAP
16062306a36Sopenharmony_ci	bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
16162306a36Sopenharmony_ci	depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
16262306a36Sopenharmony_ci	select POWER_SUPPLY
16362306a36Sopenharmony_ci	help
16462306a36Sopenharmony_ci	  Say Y to enable AVS(Adaptive Voltage Scaling)
16562306a36Sopenharmony_ci	  support on OMAP containing the version 1 or
16662306a36Sopenharmony_ci	  version 2 of the SmartReflex IP.
16762306a36Sopenharmony_ci	  V1 is the 65nm version used in OMAP3430.
16862306a36Sopenharmony_ci	  V2 is the update for the 45nm version of the IP used in OMAP3630
16962306a36Sopenharmony_ci	  and OMAP4430
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci	  Please note, that by default SmartReflex is only
17262306a36Sopenharmony_ci	  initialized and not enabled. To enable the automatic voltage
17362306a36Sopenharmony_ci	  compensation for vdd mpu and vdd core from user space,
17462306a36Sopenharmony_ci	  user must write 1 to
17562306a36Sopenharmony_ci		/debug/smartreflex/sr_<X>/autocomp,
17662306a36Sopenharmony_ci	  where X is mpu_iva or core for OMAP3.
17762306a36Sopenharmony_ci	  Optionally autocompensation can be enabled in the kernel
17862306a36Sopenharmony_ci	  by default during system init via the enable_on_init flag
17962306a36Sopenharmony_ci	  which an be passed as platform data to the smartreflex driver.
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ciconfig POWER_AVS_OMAP_CLASS3
18262306a36Sopenharmony_ci	bool "Class 3 mode of Smartreflex Implementation"
18362306a36Sopenharmony_ci	depends on POWER_AVS_OMAP && TWL4030_CORE
18462306a36Sopenharmony_ci	help
18562306a36Sopenharmony_ci	  Say Y to enable Class 3 implementation of Smartreflex
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci	  Class 3 implementation of Smartreflex employs continuous hardware
18862306a36Sopenharmony_ci	  voltage calibration.
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ciconfig OMAP3_L2_AUX_SECURE_SAVE_RESTORE
19162306a36Sopenharmony_ci	bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
19262306a36Sopenharmony_ci	depends on ARCH_OMAP3 && PM
19362306a36Sopenharmony_ci	help
19462306a36Sopenharmony_ci	  Without this option, L2 Auxiliary control register contents are
19562306a36Sopenharmony_ci	  lost during off-mode entry on HS/EMU devices. This feature
19662306a36Sopenharmony_ci	  requires support from PPA / boot-loader in HS/EMU devices, which
19762306a36Sopenharmony_ci	  currently does not exist by default.
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ciconfig OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
20062306a36Sopenharmony_ci	int "Service ID for the support routine to set L2 AUX control"
20162306a36Sopenharmony_ci	depends on OMAP3_L2_AUX_SECURE_SAVE_RESTORE
20262306a36Sopenharmony_ci	default 43
20362306a36Sopenharmony_ci	help
20462306a36Sopenharmony_ci	  PPA routine service ID for setting L2 auxiliary control register.
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_cicomment "OMAP Core Type"
20762306a36Sopenharmony_ci	depends on ARCH_OMAP2
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ciconfig SOC_OMAP2420
21062306a36Sopenharmony_ci	bool "OMAP2420 support"
21162306a36Sopenharmony_ci	depends on ARCH_OMAP2
21262306a36Sopenharmony_ci	default y
21362306a36Sopenharmony_ci	select OMAP_DM_SYSTIMER
21462306a36Sopenharmony_ci	select OMAP_DM_TIMER
21562306a36Sopenharmony_ci	select SOC_HAS_OMAP2_SDRC
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ciconfig SOC_OMAP2430
21862306a36Sopenharmony_ci	bool "OMAP2430 support"
21962306a36Sopenharmony_ci	depends on ARCH_OMAP2
22062306a36Sopenharmony_ci	default y
22162306a36Sopenharmony_ci	select SOC_HAS_OMAP2_SDRC
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ciconfig SOC_OMAP3430
22462306a36Sopenharmony_ci	bool "OMAP3430 support"
22562306a36Sopenharmony_ci	depends on ARCH_OMAP3
22662306a36Sopenharmony_ci	default y
22762306a36Sopenharmony_ci	select SOC_HAS_OMAP2_SDRC
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ciconfig SOC_TI81XX
23062306a36Sopenharmony_ci	bool "TI81XX support"
23162306a36Sopenharmony_ci	depends on ARCH_OMAP3
23262306a36Sopenharmony_ci	default y
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_cicomment "OMAP Legacy Platform Data Board Type"
23562306a36Sopenharmony_ci	depends on ARCH_OMAP2PLUS
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ciconfig MACH_OMAP_GENERIC
23862306a36Sopenharmony_ci	bool
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ciconfig MACH_OMAP2_TUSB6010
24162306a36Sopenharmony_ci	bool
24262306a36Sopenharmony_ci	depends on ARCH_OMAP2 && SOC_OMAP2420
24362306a36Sopenharmony_ci	default y if MACH_NOKIA_N8X0
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ciconfig MACH_NOKIA_N810
24662306a36Sopenharmony_ci	bool
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ciconfig MACH_NOKIA_N810_WIMAX
24962306a36Sopenharmony_ci	bool
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ciconfig MACH_NOKIA_N8X0
25262306a36Sopenharmony_ci	bool "Nokia N800/N810"
25362306a36Sopenharmony_ci	depends on SOC_OMAP2420
25462306a36Sopenharmony_ci	default y
25562306a36Sopenharmony_ci	select MACH_NOKIA_N810
25662306a36Sopenharmony_ci	select MACH_NOKIA_N810_WIMAX
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ciendmenu
25962306a36Sopenharmony_ci
26062306a36Sopenharmony_ciendif
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ciconfig OMAP5_ERRATA_801819
26362306a36Sopenharmony_ci	bool "Errata 801819: An eviction from L1 data cache might stall indefinitely"
26462306a36Sopenharmony_ci	depends on SOC_OMAP5 || SOC_DRA7XX
26562306a36Sopenharmony_ci	help
26662306a36Sopenharmony_ci	  A livelock can occur in the L2 cache arbitration that might prevent
26762306a36Sopenharmony_ci	  a snoop from completing. Under certain conditions this can cause the
26862306a36Sopenharmony_ci	  system to deadlock.
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ciendmenu
271