162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Makefile for the linux kernel.
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci# Common support
762306a36Sopenharmony_ciobj-y := id.o io.o control.o devices.o fb.o pm.o \
862306a36Sopenharmony_ci	 common.o dma.o omap-headsmp.o sram.o
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cihwmod-common				= omap_hwmod.o \
1162306a36Sopenharmony_ci					  omap_hwmod_common_data.o \
1262306a36Sopenharmony_ci					  omap_hwmod_common_ipblock_data.o \
1362306a36Sopenharmony_ci					  omap_device.o display.o hdq1w.o \
1462306a36Sopenharmony_ci					  i2c.o wd_timer.o
1562306a36Sopenharmony_ciclock-common				= clock.o
1662306a36Sopenharmony_cisecure-common				= omap-smc.o omap-secure.o
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
1962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common)
2062306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4) += $(secure-common)
2162306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX) += $(secure-common)
2262306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)  += $(secure-common)
2362306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX) += $(secure-common)
2462306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX) += $(secure-common)
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciifneq ($(CONFIG_SND_SOC_OMAP_MCBSP),)
2762306a36Sopenharmony_ciobj-$(CONFIG_OMAP_HWMOD) += mcbsp.o
2862306a36Sopenharmony_ciendif
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciobj-$(CONFIG_TWL4030_CORE) += omap_twl.o
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciifneq ($(CONFIG_MFD_CPCAP),)
3362306a36Sopenharmony_ciobj-y 					+= pmic-cpcap.o
3462306a36Sopenharmony_ciendif
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciobj-$(CONFIG_SOC_HAS_OMAP2_SDRC)	+= sdrc.o
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci# SMP support ONLY available for OMAP4
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cismp-$(CONFIG_SMP)			+= omap-smp.o
4162306a36Sopenharmony_cismp-$(CONFIG_HOTPLUG_CPU)		+= omap-hotplug.o
4262306a36Sopenharmony_ciomap-4-5-common				=  omap4-common.o omap-wakeupgen.o
4362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(omap-4-5-common) $(smp-y) sleep44xx.o
4462306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(omap-4-5-common) $(smp-y) sleep44xx.o
4562306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= $(omap-4-5-common)
4662306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(omap-4-5-common) $(smp-y) sleep44xx.o
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciomap5-dra7-common-$(CONFIG_SOC_HAS_REALTIME_COUNTER) =  timer.o
4962306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(omap5-dra7-common-y)
5062306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(omap5-dra7-common-y)
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci# Functions loaded to SRAM
5362306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= sram242x.o
5462306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= sram243x.o
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci# Restart code (OMAP4/5 currently in omap4-common.c)
5762306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= omap2-restart.o
5862306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= omap2-restart.o
5962306a36Sopenharmony_ciobj-$(CONFIG_SOC_TI81XX)		+= ti81xx-restart.o
6062306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= am33xx-restart.o
6162306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= omap4-restart.o
6262306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= omap3-restart.o
6362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= omap4-restart.o
6462306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= omap4-restart.o
6562306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= omap4-restart.o
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci# SMS/SDRC
6862306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= sdrc2xxx.o
6962306a36Sopenharmony_ci# obj-$(CONFIG_ARCH_OMAP3)		+= sdrc3xxx.o
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci# OPP table initialization
7262306a36Sopenharmony_ciifeq ($(CONFIG_PM_OPP),y)
7362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= opp3xxx_data.o
7462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= opp4xxx_data.o
7562306a36Sopenharmony_ciendif
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci# Power Management
7862306a36Sopenharmony_ciomap-4-5-pm-common			= omap-mpuss-lowpower.o
7962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(omap-4-5-pm-common)
8062306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(omap-4-5-pm-common)
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciifeq ($(CONFIG_PM),y)
8362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= sleep24xx.o
8462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= pm34xx.o sleep34xx.o
8562306a36Sopenharmony_ciomap-4-5-pm-common			+= pm44xx.o
8662306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(omap-4-5-pm-common)
8762306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(omap-4-5-pm-common)
8862306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(omap-4-5-pm-common)
8962306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= pm33xx-core.o sleep33xx.o
9062306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= pm33xx-core.o sleep43xx.o
9162306a36Sopenharmony_ciobj-$(CONFIG_PM_DEBUG)			+= pm-debug.o
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciobj-$(CONFIG_POWER_AVS_OMAP)		+= sr_device.o
9462306a36Sopenharmony_ciobj-$(CONFIG_POWER_AVS_OMAP_CLASS3)    += smartreflex-class3.o
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciendif
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciifeq ($(CONFIG_CPU_IDLE),y)
9962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)                += cpuidle34xx.o
10062306a36Sopenharmony_ciomap-4-5-idle-common			=  cpuidle44xx.o
10162306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(omap-4-5-idle-common)
10262306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(omap-4-5-idle-common)
10362306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(omap-4-5-idle-common)
10462306a36Sopenharmony_ciendif
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci# PRCM
10762306a36Sopenharmony_ciobj-y					+= prm_common.o cm_common.o
10862306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= prm2xxx_3xxx.o prm2xxx.o cm2xxx.o
10962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= prm2xxx_3xxx.o prm3xxx.o cm3xxx.o
11062306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= vc3xxx_data.o vp3xxx_data.o
11162306a36Sopenharmony_ciomap-prcm-4-5-common			=  cminst44xx.o prm44xx.o \
11262306a36Sopenharmony_ci					   prcm_mpu44xx.o prminst44xx.o \
11362306a36Sopenharmony_ci					   vc44xx_data.o vp44xx_data.o
11462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(omap-prcm-4-5-common)
11562306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(omap-prcm-4-5-common)
11662306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(omap-prcm-4-5-common)
11762306a36Sopenharmony_ciam33xx-43xx-prcm-common			+= prm33xx.o cm33xx.o
11862306a36Sopenharmony_ciobj-$(CONFIG_SOC_TI81XX)		+= $(am33xx-43xx-prcm-common)
11962306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= $(am33xx-43xx-prcm-common)
12062306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= $(omap-prcm-4-5-common) \
12162306a36Sopenharmony_ci					   $(am33xx-43xx-prcm-common)
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci# OMAP voltage domains
12462306a36Sopenharmony_civoltagedomain-common			:= voltage.o vc.o vp.o
12562306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common)
12662306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= voltagedomains2xxx_data.o
12762306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= $(voltagedomain-common)
12862306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= voltagedomains3xxx_data.o
12962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(voltagedomain-common)
13062306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= voltagedomains44xx_data.o
13162306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= $(voltagedomain-common)
13262306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= $(voltagedomain-common)
13362306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(voltagedomain-common)
13462306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)                += voltagedomains54xx_data.o
13562306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(voltagedomain-common)
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ci# OMAP powerdomain framework
13862306a36Sopenharmony_cipowerdomain-common			+= powerdomain.o powerdomain-common.o
13962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= $(powerdomain-common)
14062306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= powerdomains2xxx_data.o
14162306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= powerdomains2xxx_3xxx_data.o
14262306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= $(powerdomain-common)
14362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= powerdomains3xxx_data.o
14462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= powerdomains2xxx_3xxx_data.o
14562306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(powerdomain-common)
14662306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= powerdomains44xx_data.o
14762306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= $(powerdomain-common)
14862306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= powerdomains33xx_data.o
14962306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= $(powerdomain-common)
15062306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= powerdomains43xx_data.o
15162306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(powerdomain-common)
15262306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= powerdomains54xx_data.o
15362306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(powerdomain-common)
15462306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= powerdomains7xx_data.o
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci# PRCM clockdomain control
15762306a36Sopenharmony_ciclockdomain-common			+= clockdomain.o
15862306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= $(clockdomain-common)
15962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= clockdomains2xxx_3xxx_data.o
16062306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= clockdomains2420_data.o
16162306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= clockdomains2430_data.o
16262306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= $(clockdomain-common)
16362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= clockdomains2xxx_3xxx_data.o
16462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= clockdomains3xxx_data.o
16562306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(clockdomain-common)
16662306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= clockdomains44xx_data.o
16762306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= $(clockdomain-common)
16862306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= clockdomains33xx_data.o
16962306a36Sopenharmony_ciobj-$(CONFIG_SOC_TI81XX)		+= $(clockdomain-common)
17062306a36Sopenharmony_ciobj-$(CONFIG_SOC_TI81XX)		+= clockdomains81xx_data.o
17162306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= $(clockdomain-common)
17262306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= clockdomains43xx_data.o
17362306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(clockdomain-common)
17462306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= clockdomains54xx_data.o
17562306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(clockdomain-common)
17662306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= clockdomains7xx_data.o
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ci# Clock framework
17962306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= $(clock-common)
18062306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= clkt2xxx_dpllcore.o
18162306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= clkt2xxx_virt_prcm_set.o
18262306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP2)		+= clkt2xxx_dpll.o
18362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= $(clock-common)
18462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP4)		+= $(clock-common)
18562306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM33XX)		+= $(clock-common)
18662306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP5)			+= $(clock-common)
18762306a36Sopenharmony_ciobj-$(CONFIG_SOC_DRA7XX)		+= $(clock-common)
18862306a36Sopenharmony_ciobj-$(CONFIG_SOC_AM43XX)		+= $(clock-common)
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci# OMAP2 clock rate set data (old "OPP" data)
19162306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= opp2420_data.o
19262306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= opp2430_data.o
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci# hwmod data
19562306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_ipblock_data.o
19662306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o
19762306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_interconnect_data.o
19862306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2420_data.o
19962306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_ipblock_data.o
20062306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o
20162306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_interconnect_data.o
20262306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2430_data.o
20362306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o
20462306a36Sopenharmony_ciobj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_3xxx_data.o
20562306a36Sopenharmony_ciobj-$(CONFIG_SOC_TI81XX)		+= omap_hwmod_81xx_data.o
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci# OMAP2420 MSDI controller integration support ("MMC")
20862306a36Sopenharmony_ciobj-$(CONFIG_SOC_OMAP2420)		+= msdi.o
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci# Specific board support
21162306a36Sopenharmony_ciobj-$(CONFIG_MACH_OMAP_GENERIC)		+= board-generic.o pdata-quirks.o
21262306a36Sopenharmony_ciobj-$(CONFIG_MACH_NOKIA_N8X0)		+= board-n8x0.o
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci# Platform specific device init code
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ciobj-y					+= omap_phy_internal.o
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ciobj-$(CONFIG_MACH_OMAP2_TUSB6010)	+= usb-tusb6010.o
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci$(obj)/pm-asm-offsets.h: $(obj)/pm-asm-offsets.s FORCE
22162306a36Sopenharmony_ci	$(call filechk,offsets,__TI_PM_ASM_OFFSETS_H__)
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci$(obj)/sleep33xx.o $(obj)/sleep43xx.o: $(obj)/pm-asm-offsets.h
22462306a36Sopenharmony_ci
22562306a36Sopenharmony_citargets += pm-asm-offsets.s
22662306a36Sopenharmony_ciclean-files += pm-asm-offsets.h
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ciobj-$(CONFIG_OMAP_IOMMU)		+= omap-iommu.o
229