# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the linux kernel.
#
ccflags-y := -I$(srctree)/$(src)/include \
-I$(srctree)/arch/arm/plat-omap/include
# Common support
obj-y := id.o io.o control.o devices.o fb.o timer.o pm.o \
common.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \
omap_device.o omap-headsmp.o sram.o
hwmod-common = omap_hwmod.o omap_hwmod_reset.o \
omap_hwmod_common_data.o
clock-common = clock.o
secure-common = omap-smc.o omap-secure.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += $(omap-2-3-common) $(hwmod-common)
obj-$([31mCONFIG_ARCH_OMAP3[0m) += $(omap-2-3-common) $(hwmod-common) $(secure-common)
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(hwmod-common) $(secure-common)
obj-$([31mCONFIG_SOC_AM33XX[0m) += $(hwmod-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(hwmod-common) $(secure-common)
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(hwmod-common) $(secure-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(hwmod-common) $(secure-common)
ifneq ($([31mCONFIG_SND_SOC_OMAP_MCBSP[0m),)
obj-y += mcbsp.o
endif
obj-$([31mCONFIG_TWL4030_CORE[0m) += omap_twl.o
obj-$([31mCONFIG_SOC_HAS_OMAP2_SDRC[0m) += sdrc.o
# SMP support ONLY available for OMAP4
smp-$([31mCONFIG_SMP[0m) += omap-smp.o
smp-$([31mCONFIG_HOTPLUG_CPU[0m) += omap-hotplug.o
omap-4-5-common = omap4-common.o omap-wakeupgen.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(omap-4-5-common) $(smp-y) sleep44xx.o
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(omap-4-5-common) $(smp-y) sleep44xx.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(omap-4-5-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(omap-4-5-common) $(smp-y) sleep44xx.o
# Functions loaded to SRAM
obj-$([31mCONFIG_SOC_OMAP2420[0m) += sram242x.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += sram243x.o
# Restart code (OMAP4/5 currently in omap4-common.c)
obj-$([31mCONFIG_SOC_OMAP2420[0m) += omap2-restart.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += omap2-restart.o
obj-$([31mCONFIG_SOC_TI81XX[0m) += ti81xx-restart.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += am33xx-restart.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += omap4-restart.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += omap3-restart.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += omap4-restart.o
obj-$([31mCONFIG_SOC_OMAP5[0m) += omap4-restart.o
obj-$([31mCONFIG_SOC_DRA7XX[0m) += omap4-restart.o
# SMS/SDRC
obj-$([31mCONFIG_ARCH_OMAP2[0m) += sdrc2xxx.o
# obj-$([31mCONFIG_ARCH_OMAP3[0m) += sdrc3xxx.o
# OPP table initialization
ifeq ($([31mCONFIG_PM_OPP[0m),y)
obj-$([31mCONFIG_ARCH_OMAP3[0m) += opp3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += opp4xxx_data.o
endif
# Power Management
omap-4-5-pm-common = omap-mpuss-lowpower.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(omap-4-5-pm-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(omap-4-5-pm-common)
ifeq ($([31mCONFIG_PM[0m),y)
obj-$([31mCONFIG_ARCH_OMAP2[0m) += pm24xx.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += sleep24xx.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += pm34xx.o sleep34xx.o
omap-4-5-pm-common += pm44xx.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(omap-4-5-pm-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(omap-4-5-pm-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(omap-4-5-pm-common)
obj-$([31mCONFIG_SOC_AM33XX[0m) += pm33xx-core.o sleep33xx.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += pm33xx-core.o sleep43xx.o
obj-$([31mCONFIG_PM_DEBUG[0m) += pm-debug.o
obj-$([31mCONFIG_POWER_AVS_OMAP[0m) += sr_device.o
obj-$([31mCONFIG_POWER_AVS_OMAP_CLASS3[0m) += smartreflex-class3.o
endif
ifeq ($([31mCONFIG_CPU_IDLE[0m),y)
obj-$([31mCONFIG_ARCH_OMAP3[0m) += cpuidle34xx.o
omap-4-5-idle-common = cpuidle44xx.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(omap-4-5-idle-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(omap-4-5-idle-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(omap-4-5-idle-common)
endif
# PRCM
obj-y += prm_common.o cm_common.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += prm2xxx_3xxx.o prm2xxx.o cm2xxx.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += prm2xxx_3xxx.o prm3xxx.o cm3xxx.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += vc3xxx_data.o vp3xxx_data.o
omap-prcm-4-5-common = cminst44xx.o prm44xx.o \
prcm_mpu44xx.o prminst44xx.o \
vc44xx_data.o vp44xx_data.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(omap-prcm-4-5-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(omap-prcm-4-5-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(omap-prcm-4-5-common)
am33xx-43xx-prcm-common += prm33xx.o cm33xx.o
obj-$([31mCONFIG_SOC_TI81XX[0m) += $(am33xx-43xx-prcm-common)
obj-$([31mCONFIG_SOC_AM33XX[0m) += $(am33xx-43xx-prcm-common)
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(omap-prcm-4-5-common) \
$(am33xx-43xx-prcm-common)
# OMAP voltage domains
voltagedomain-common := voltage.o vc.o vp.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += $(voltagedomain-common)
obj-$([31mCONFIG_ARCH_OMAP2[0m) += voltagedomains2xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += $(voltagedomain-common)
obj-$([31mCONFIG_ARCH_OMAP3[0m) += voltagedomains3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(voltagedomain-common)
obj-$([31mCONFIG_ARCH_OMAP4[0m) += voltagedomains44xx_data.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += $(voltagedomain-common)
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(voltagedomain-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(voltagedomain-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += voltagedomains54xx_data.o
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(voltagedomain-common)
# OMAP powerdomain framework
powerdomain-common += powerdomain.o powerdomain-common.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += $(powerdomain-common)
obj-$([31mCONFIG_ARCH_OMAP2[0m) += powerdomains2xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += powerdomains2xxx_3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += $(powerdomain-common)
obj-$([31mCONFIG_ARCH_OMAP3[0m) += powerdomains3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += powerdomains2xxx_3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(powerdomain-common)
obj-$([31mCONFIG_ARCH_OMAP4[0m) += powerdomains44xx_data.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += $(powerdomain-common)
obj-$([31mCONFIG_SOC_AM33XX[0m) += powerdomains33xx_data.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(powerdomain-common)
obj-$([31mCONFIG_SOC_AM43XX[0m) += powerdomains43xx_data.o
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(powerdomain-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += powerdomains54xx_data.o
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(powerdomain-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += powerdomains7xx_data.o
# PRCM clockdomain control
clockdomain-common += clockdomain.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += $(clockdomain-common)
obj-$([31mCONFIG_ARCH_OMAP2[0m) += clockdomains2xxx_3xxx_data.o
obj-$([31mCONFIG_SOC_OMAP2420[0m) += clockdomains2420_data.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += clockdomains2430_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += $(clockdomain-common)
obj-$([31mCONFIG_ARCH_OMAP3[0m) += clockdomains2xxx_3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += clockdomains3xxx_data.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(clockdomain-common)
obj-$([31mCONFIG_ARCH_OMAP4[0m) += clockdomains44xx_data.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += $(clockdomain-common)
obj-$([31mCONFIG_SOC_AM33XX[0m) += clockdomains33xx_data.o
obj-$([31mCONFIG_SOC_TI81XX[0m) += $(clockdomain-common)
obj-$([31mCONFIG_SOC_TI81XX[0m) += clockdomains81xx_data.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(clockdomain-common)
obj-$([31mCONFIG_SOC_AM43XX[0m) += clockdomains43xx_data.o
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(clockdomain-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += clockdomains54xx_data.o
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(clockdomain-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += clockdomains7xx_data.o
# Clock framework
obj-$([31mCONFIG_ARCH_OMAP2[0m) += $(clock-common)
obj-$([31mCONFIG_ARCH_OMAP2[0m) += clkt2xxx_dpllcore.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += clkt2xxx_virt_prcm_set.o
obj-$([31mCONFIG_ARCH_OMAP2[0m) += clkt2xxx_dpll.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += $(clock-common)
obj-$([31mCONFIG_ARCH_OMAP4[0m) += $(clock-common)
obj-$([31mCONFIG_SOC_AM33XX[0m) += $(clock-common)
obj-$([31mCONFIG_SOC_OMAP5[0m) += $(clock-common)
obj-$([31mCONFIG_SOC_DRA7XX[0m) += $(clock-common)
obj-$([31mCONFIG_SOC_AM43XX[0m) += $(clock-common)
# OMAP2 clock rate set data (old "OPP" data)
obj-$([31mCONFIG_SOC_OMAP2420[0m) += opp2420_data.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += opp2430_data.o
# hwmod data
obj-y += omap_hwmod_common_ipblock_data.o
obj-$([31mCONFIG_SOC_OMAP2420[0m) += omap_hwmod_2xxx_ipblock_data.o
obj-$([31mCONFIG_SOC_OMAP2420[0m) += omap_hwmod_2xxx_3xxx_ipblock_data.o
obj-$([31mCONFIG_SOC_OMAP2420[0m) += omap_hwmod_2xxx_interconnect_data.o
obj-$([31mCONFIG_SOC_OMAP2420[0m) += omap_hwmod_2420_data.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += omap_hwmod_2xxx_ipblock_data.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += omap_hwmod_2xxx_3xxx_ipblock_data.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += omap_hwmod_2xxx_interconnect_data.o
obj-$([31mCONFIG_SOC_OMAP2430[0m) += omap_hwmod_2430_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += omap_hwmod_2xxx_3xxx_ipblock_data.o
obj-$([31mCONFIG_ARCH_OMAP3[0m) += omap_hwmod_3xxx_data.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += omap_hwmod_33xx_data.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += omap_hwmod_33xx_43xx_interconnect_data.o
obj-$([31mCONFIG_SOC_AM33XX[0m) += omap_hwmod_33xx_43xx_ipblock_data.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += omap_hwmod_43xx_data.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += omap_hwmod_33xx_43xx_interconnect_data.o
obj-$([31mCONFIG_SOC_AM43XX[0m) += omap_hwmod_33xx_43xx_ipblock_data.o
obj-$([31mCONFIG_SOC_TI81XX[0m) += omap_hwmod_81xx_data.o
obj-$([31mCONFIG_ARCH_OMAP4[0m) += omap_hwmod_44xx_data.o
obj-$([31mCONFIG_SOC_OMAP5[0m) += omap_hwmod_54xx_data.o
obj-$([31mCONFIG_SOC_DRA7XX[0m) += omap_hwmod_7xx_data.o
# OMAP2420 MSDI controller integration support ("MMC")
obj-$([31mCONFIG_SOC_OMAP2420[0m) += msdi.o
# Specific board support
obj-$([31mCONFIG_MACH_OMAP_GENERIC[0m) += board-generic.o pdata-quirks.o
obj-$([31mCONFIG_MACH_NOKIA_N8X0[0m) += board-n8x0.o
# Platform specific device init code
omap-hsmmc-$([31mCONFIG_MMC_OMAP_HS[0m) := hsmmc.o
obj-y += $(omap-hsmmc-m) $(omap-hsmmc-y)
obj-y += omap_phy_internal.o
obj-$([31mCONFIG_MACH_OMAP2_TUSB6010[0m) += usb-tusb6010.o
$(obj)/pm-asm-offsets.h: $(obj)/pm-asm-offsets.s FORCE
$(call filechk,offsets,__TI_PM_ASM_OFFSETS_H__)
$(obj)/sleep33xx.o $(obj)/sleep43xx.o: $(obj)/pm-asm-offsets.h
targets += pm-asm-offsets.s
clean-files += pm-asm-offsets.h
obj-$([31mCONFIG_OMAP_IOMMU[0m) += omap-iommu.o