mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-14 16:44:29 +08:00
81b34fbecb
In preparation for multi-OMAP2 kernels, split mach-omap2/clock2xxx_data.c into mach-omap2/clock2420_data.c and mach-omap2/clock2430_data.c. 2430 uses a different device space physical memory layout than past or future OMAPs, and we use a different virtual memory layout as well, which causes trouble for architecture-level code/data that tries to support both. We tried using offsets from the virtual base last year, but those patches never made it upstream; so after some discussion with Tony about the best all-around approach, we'll just grit our teeth and duplicate the structures. The maintenance advantages of a single kernel config that can compile and boot on OMAP2, 3, and 4 platforms are simply too compelling. This approach does have some nice benefits beyond multi-OMAP 2 kernel support. The runtime size of OMAP2420-specific and OMAP2430-specific kernels is smaller, since unused clocks for the other OMAP2 chip will no longer be compiled in. (At some point we will mark the clock data __initdata and allocate it during registration, which will eliminate the runtime memory advantage.) It also makes the clock trees slightly easier to read, since 2420-specific and 2430-specific clocks are no longer mixed together. This patch also splits 2430-specific clock code into its own file, mach-omap2/clock2430.c, which is only compiled in for 2430 builds - mostly for organizational clarity. While here, fix a bug in the OMAP2430 clock tree: "emul_ck" was incorrectly marked as being 2420-only, when actually it is present on both OMAP2420 and OMAP2430. Thanks to Tony for some good discussions about how to approach this problem. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Richard Woodruff <r-woodruff2@ti.com>
149 lines
4.4 KiB
Makefile
149 lines
4.4 KiB
Makefile
#
|
|
# Makefile for the linux kernel.
|
|
#
|
|
|
|
# Common support
|
|
obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o
|
|
|
|
omap-2-3-common = irq.o sdrc.o omap_hwmod.o \
|
|
omap_hwmod_common_data.o
|
|
prcm-common = prcm.o powerdomain.o
|
|
clock-common = clock.o clock_common_data.o \
|
|
clockdomain.o clkt_dpll.o \
|
|
clkt_clksel.o
|
|
|
|
obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common)
|
|
obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common)
|
|
obj-$(CONFIG_ARCH_OMAP4) += $(prcm-common)
|
|
|
|
obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
|
|
|
|
# SMP support ONLY available for OMAP4
|
|
obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o
|
|
obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o
|
|
|
|
# Functions loaded to SRAM
|
|
obj-$(CONFIG_ARCH_OMAP2420) += sram242x.o
|
|
obj-$(CONFIG_ARCH_OMAP2430) += sram243x.o
|
|
obj-$(CONFIG_ARCH_OMAP3) += sram34xx.o
|
|
|
|
AFLAGS_sram242x.o :=-Wa,-march=armv6
|
|
AFLAGS_sram243x.o :=-Wa,-march=armv6
|
|
AFLAGS_sram34xx.o :=-Wa,-march=armv7-a
|
|
|
|
# Pin multiplexing
|
|
obj-$(CONFIG_ARCH_OMAP3) += mux34xx.o
|
|
|
|
# SMS/SDRC
|
|
obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o
|
|
# obj-$(CONFIG_ARCH_OMAP3) += sdrc3xxx.o
|
|
|
|
# Power Management
|
|
ifeq ($(CONFIG_PM),y)
|
|
obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
|
|
obj-$(CONFIG_ARCH_OMAP2) += sleep24xx.o
|
|
obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o cpuidle34xx.o
|
|
obj-$(CONFIG_PM_DEBUG) += pm-debug.o
|
|
|
|
AFLAGS_sleep24xx.o :=-Wa,-march=armv6
|
|
AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a
|
|
|
|
endif
|
|
|
|
# PRCM
|
|
obj-$(CONFIG_ARCH_OMAP2) += cm.o
|
|
obj-$(CONFIG_ARCH_OMAP3) += cm.o
|
|
obj-$(CONFIG_ARCH_OMAP4) += cm4xxx.o
|
|
|
|
# Clock framework
|
|
obj-$(CONFIG_ARCH_OMAP2) += $(clock-common) clock2xxx.o \
|
|
clkt2xxx_sys.o \
|
|
clkt2xxx_dpllcore.o \
|
|
clkt2xxx_virt_prcm_set.o \
|
|
clkt2xxx_apll.o clkt2xxx_osc.o
|
|
obj-$(CONFIG_ARCH_OMAP2420) += clock2420_data.o
|
|
obj-$(CONFIG_ARCH_OMAP2430) += clock2430.o clock2430_data.o
|
|
obj-$(CONFIG_ARCH_OMAP3) += $(clock-common) clock3xxx.o \
|
|
clock34xx.o clkt34xx_dpll3m2.o \
|
|
clock3517.o clock36xx.o \
|
|
dpll3xxx.o clock3xxx_data.o
|
|
obj-$(CONFIG_ARCH_OMAP4) += $(clock-common) clock44xx_data.o \
|
|
dpll3xxx.o
|
|
|
|
# OMAP2 clock rate set data (old "OPP" data)
|
|
obj-$(CONFIG_ARCH_OMAP2420) += opp2420_data.o
|
|
obj-$(CONFIG_ARCH_OMAP2430) += opp2430_data.o
|
|
|
|
# EMU peripherals
|
|
obj-$(CONFIG_OMAP3_EMU) += emu.o
|
|
|
|
obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o
|
|
mailbox_mach-objs := mailbox.o
|
|
|
|
iommu-y += iommu2.o
|
|
iommu-$(CONFIG_ARCH_OMAP3) += omap3-iommu.o
|
|
|
|
obj-$(CONFIG_OMAP_IOMMU) += $(iommu-y)
|
|
|
|
i2c-omap-$(CONFIG_I2C_OMAP) := i2c.o
|
|
obj-y += $(i2c-omap-m) $(i2c-omap-y)
|
|
|
|
# Specific board support
|
|
obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o
|
|
obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o
|
|
obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o
|
|
obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP_LDP) += board-ldp.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OVERO) += board-overo.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP3EVM) += board-omap3evm.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP3_PANDORA) += board-omap3pandora.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \
|
|
hsmmc.o \
|
|
board-sdp-flash.o
|
|
obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
|
|
obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \
|
|
board-rx51-sdram.o \
|
|
board-rx51-peripherals.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom2.o \
|
|
board-zoom-peripherals.o \
|
|
hsmmc.o \
|
|
board-zoom-debugboard.o
|
|
obj-$(CONFIG_MACH_OMAP_ZOOM3) += board-zoom3.o \
|
|
board-zoom-peripherals.o \
|
|
hsmmc.o \
|
|
board-zoom-debugboard.o
|
|
obj-$(CONFIG_MACH_OMAP_3630SDP) += board-3630sdp.o \
|
|
board-zoom-peripherals.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP3_TOUCHBOOK) += board-omap3touchbook.o \
|
|
hsmmc.o
|
|
obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o
|
|
|
|
obj-$(CONFIG_MACH_OMAP3517EVM) += board-am3517evm.o
|
|
|
|
# Platform specific device init code
|
|
obj-y += usb-musb.o
|
|
obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o
|
|
obj-y += usb-ehci.o
|
|
|
|
onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o
|
|
obj-y += $(onenand-m) $(onenand-y)
|
|
|
|
nand-$(CONFIG_MTD_NAND_OMAP2) := gpmc-nand.o
|
|
obj-y += $(nand-m) $(nand-y)
|
|
|
|
smc91x-$(CONFIG_SMC91X) := gpmc-smc91x.o
|
|
obj-y += $(smc91x-m) $(smc91x-y)
|