1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Makefile for the linux kernel. 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunccflags-y := -I$(srctree)/$(src)/include \ 7*4882a593Smuzhiyun -I$(srctree)/arch/arm/plat-omap/include 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun# Common support 10*4882a593Smuzhiyunobj-y := id.o io.o control.o devices.o fb.o pm.o \ 11*4882a593Smuzhiyun common.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \ 12*4882a593Smuzhiyun omap_device.o omap-headsmp.o sram.o 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunhwmod-common = omap_hwmod.o omap_hwmod_reset.o \ 15*4882a593Smuzhiyun omap_hwmod_common_data.o 16*4882a593Smuzhiyunclock-common = clock.o 17*4882a593Smuzhiyunsecure-common = omap-smc.o omap-secure.o 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common) 20*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common) 21*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(hwmod-common) $(secure-common) 22*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += $(hwmod-common) $(secure-common) 23*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(hwmod-common) $(secure-common) 24*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(hwmod-common) $(secure-common) 25*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(hwmod-common) $(secure-common) 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunifneq ($(CONFIG_SND_SOC_OMAP_MCBSP),) 28*4882a593Smuzhiyunobj-y += mcbsp.o 29*4882a593Smuzhiyunendif 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunobj-$(CONFIG_TWL4030_CORE) += omap_twl.o 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunifneq ($(CONFIG_MFD_CPCAP),) 34*4882a593Smuzhiyunobj-y += pmic-cpcap.o 35*4882a593Smuzhiyunendif 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunobj-$(CONFIG_SOC_HAS_OMAP2_SDRC) += sdrc.o 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun# SMP support ONLY available for OMAP4 40*4882a593Smuzhiyun 41*4882a593Smuzhiyunsmp-$(CONFIG_SMP) += omap-smp.o 42*4882a593Smuzhiyunsmp-$(CONFIG_HOTPLUG_CPU) += omap-hotplug.o 43*4882a593Smuzhiyunomap-4-5-common = omap4-common.o omap-wakeupgen.o 44*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-common) $(smp-y) sleep44xx.o 45*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-common) $(smp-y) sleep44xx.o 46*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(omap-4-5-common) 47*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(omap-4-5-common) $(smp-y) sleep44xx.o 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunomap5-dra7-common-$(CONFIG_SOC_HAS_REALTIME_COUNTER) = timer.o 50*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(omap5-dra7-common-y) 51*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(omap5-dra7-common-y) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun# Functions loaded to SRAM 54*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += sram242x.o 55*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += sram243x.o 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun# Restart code (OMAP4/5 currently in omap4-common.c) 58*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += omap2-restart.o 59*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += omap2-restart.o 60*4882a593Smuzhiyunobj-$(CONFIG_SOC_TI81XX) += ti81xx-restart.o 61*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += am33xx-restart.o 62*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += omap4-restart.o 63*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += omap3-restart.o 64*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += omap4-restart.o 65*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += omap4-restart.o 66*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += omap4-restart.o 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun# SMS/SDRC 69*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o 70*4882a593Smuzhiyun# obj-$(CONFIG_ARCH_OMAP3) += sdrc3xxx.o 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun# OPP table initialization 73*4882a593Smuzhiyunifeq ($(CONFIG_PM_OPP),y) 74*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += opp3xxx_data.o 75*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += opp4xxx_data.o 76*4882a593Smuzhiyunendif 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun# Power Management 79*4882a593Smuzhiyunomap-4-5-pm-common = omap-mpuss-lowpower.o 80*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-pm-common) 81*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-pm-common) 82*4882a593Smuzhiyun 83*4882a593Smuzhiyunifeq ($(CONFIG_PM),y) 84*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += pm24xx.o 85*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o 86*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o 87*4882a593Smuzhiyunomap-4-5-pm-common += pm44xx.o 88*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-pm-common) 89*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-pm-common) 90*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(omap-4-5-pm-common) 91*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += pm33xx-core.o sleep33xx.o 92*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += pm33xx-core.o sleep43xx.o 93*4882a593Smuzhiyunobj-$(CONFIG_PM_DEBUG) += pm-debug.o 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunobj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o 96*4882a593Smuzhiyunobj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o 97*4882a593Smuzhiyun 98*4882a593Smuzhiyunendif 99*4882a593Smuzhiyun 100*4882a593Smuzhiyunifeq ($(CONFIG_CPU_IDLE),y) 101*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += cpuidle34xx.o 102*4882a593Smuzhiyunomap-4-5-idle-common = cpuidle44xx.o 103*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(omap-4-5-idle-common) 104*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(omap-4-5-idle-common) 105*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(omap-4-5-idle-common) 106*4882a593Smuzhiyunendif 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun# PRCM 109*4882a593Smuzhiyunobj-y += prm_common.o cm_common.o 110*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += prm2xxx_3xxx.o prm2xxx.o cm2xxx.o 111*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += prm2xxx_3xxx.o prm3xxx.o cm3xxx.o 112*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += vc3xxx_data.o vp3xxx_data.o 113*4882a593Smuzhiyunomap-prcm-4-5-common = cminst44xx.o prm44xx.o \ 114*4882a593Smuzhiyun prcm_mpu44xx.o prminst44xx.o \ 115*4882a593Smuzhiyun vc44xx_data.o vp44xx_data.o 116*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(omap-prcm-4-5-common) 117*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(omap-prcm-4-5-common) 118*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(omap-prcm-4-5-common) 119*4882a593Smuzhiyunam33xx-43xx-prcm-common += prm33xx.o cm33xx.o 120*4882a593Smuzhiyunobj-$(CONFIG_SOC_TI81XX) += $(am33xx-43xx-prcm-common) 121*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += $(am33xx-43xx-prcm-common) 122*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(omap-prcm-4-5-common) \ 123*4882a593Smuzhiyun $(am33xx-43xx-prcm-common) 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun# OMAP voltage domains 126*4882a593Smuzhiyunvoltagedomain-common := voltage.o vc.o vp.o 127*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += $(voltagedomain-common) 128*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += voltagedomains2xxx_data.o 129*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += $(voltagedomain-common) 130*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += voltagedomains3xxx_data.o 131*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(voltagedomain-common) 132*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += voltagedomains44xx_data.o 133*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += $(voltagedomain-common) 134*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(voltagedomain-common) 135*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(voltagedomain-common) 136*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += voltagedomains54xx_data.o 137*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(voltagedomain-common) 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun# OMAP powerdomain framework 140*4882a593Smuzhiyunpowerdomain-common += powerdomain.o powerdomain-common.o 141*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += $(powerdomain-common) 142*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += powerdomains2xxx_data.o 143*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += powerdomains2xxx_3xxx_data.o 144*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += $(powerdomain-common) 145*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += powerdomains3xxx_data.o 146*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += powerdomains2xxx_3xxx_data.o 147*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(powerdomain-common) 148*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += powerdomains44xx_data.o 149*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += $(powerdomain-common) 150*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += powerdomains33xx_data.o 151*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(powerdomain-common) 152*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += powerdomains43xx_data.o 153*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(powerdomain-common) 154*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += powerdomains54xx_data.o 155*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(powerdomain-common) 156*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += powerdomains7xx_data.o 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun# PRCM clockdomain control 159*4882a593Smuzhiyunclockdomain-common += clockdomain.o 160*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += $(clockdomain-common) 161*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += clockdomains2xxx_3xxx_data.o 162*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += clockdomains2420_data.o 163*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += clockdomains2430_data.o 164*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += $(clockdomain-common) 165*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += clockdomains2xxx_3xxx_data.o 166*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += clockdomains3xxx_data.o 167*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(clockdomain-common) 168*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += clockdomains44xx_data.o 169*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += $(clockdomain-common) 170*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += clockdomains33xx_data.o 171*4882a593Smuzhiyunobj-$(CONFIG_SOC_TI81XX) += $(clockdomain-common) 172*4882a593Smuzhiyunobj-$(CONFIG_SOC_TI81XX) += clockdomains81xx_data.o 173*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(clockdomain-common) 174*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += clockdomains43xx_data.o 175*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(clockdomain-common) 176*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += clockdomains54xx_data.o 177*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(clockdomain-common) 178*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += clockdomains7xx_data.o 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun# Clock framework 181*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += $(clock-common) 182*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_dpllcore.o 183*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_virt_prcm_set.o 184*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP2) += clkt2xxx_dpll.o 185*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += $(clock-common) 186*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += $(clock-common) 187*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += $(clock-common) 188*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += $(clock-common) 189*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += $(clock-common) 190*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += $(clock-common) 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun# OMAP2 clock rate set data (old "OPP" data) 193*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += opp2420_data.o 194*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += opp2430_data.o 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun# hwmod data 197*4882a593Smuzhiyunobj-y += omap_hwmod_common_ipblock_data.o 198*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_ipblock_data.o 199*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_3xxx_ipblock_data.o 200*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2xxx_interconnect_data.o 201*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += omap_hwmod_2420_data.o 202*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_ipblock_data.o 203*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_3xxx_ipblock_data.o 204*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2xxx_interconnect_data.o 205*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2430) += omap_hwmod_2430_data.o 206*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_2xxx_3xxx_ipblock_data.o 207*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP3) += omap_hwmod_3xxx_data.o 208*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_data.o 209*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_43xx_interconnect_data.o 210*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM33XX) += omap_hwmod_33xx_43xx_ipblock_data.o 211*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += omap_hwmod_43xx_data.o 212*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += omap_hwmod_33xx_43xx_interconnect_data.o 213*4882a593Smuzhiyunobj-$(CONFIG_SOC_AM43XX) += omap_hwmod_33xx_43xx_ipblock_data.o 214*4882a593Smuzhiyunobj-$(CONFIG_SOC_TI81XX) += omap_hwmod_81xx_data.o 215*4882a593Smuzhiyunobj-$(CONFIG_ARCH_OMAP4) += omap_hwmod_44xx_data.o 216*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP5) += omap_hwmod_54xx_data.o 217*4882a593Smuzhiyunobj-$(CONFIG_SOC_DRA7XX) += omap_hwmod_7xx_data.o 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun# OMAP2420 MSDI controller integration support ("MMC") 220*4882a593Smuzhiyunobj-$(CONFIG_SOC_OMAP2420) += msdi.o 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun# Specific board support 223*4882a593Smuzhiyunobj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o pdata-quirks.o 224*4882a593Smuzhiyunobj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun# Platform specific device init code 227*4882a593Smuzhiyun 228*4882a593Smuzhiyunobj-y += omap_phy_internal.o 229*4882a593Smuzhiyun 230*4882a593Smuzhiyunobj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun$(obj)/pm-asm-offsets.h: $(obj)/pm-asm-offsets.s FORCE 233*4882a593Smuzhiyun $(call filechk,offsets,__TI_PM_ASM_OFFSETS_H__) 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun$(obj)/sleep33xx.o $(obj)/sleep43xx.o: $(obj)/pm-asm-offsets.h 236*4882a593Smuzhiyun 237*4882a593Smuzhiyuntargets += pm-asm-offsets.s 238*4882a593Smuzhiyunclean-files += pm-asm-offsets.h 239*4882a593Smuzhiyun 240*4882a593Smuzhiyunobj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o 241