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