openwrt/target/linux/at91/image/Makefile
Gabor Juhos 988ae9cbf8 at91: upgrade to kernel 3.8.7 and use devicetree
This upgrades the AT91 target to 3.8.7, and migrates to device tree.
This allows a single kernel to be built for most at91 variants which
simplifies things quite a bit. The immediate result is that all
subtargets are nuked, and any boards without dts files are no longer
supported, though the target now includes more boards than before. The
adc driver was also nuked as 3.8.7 includes a new one under the IIO
subsystem.

Signed-off-by: Adam Porter <porter.adam@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 36452
2013-04-26 16:55:40 +00:00

88 lines
3.1 KiB
Makefile

#
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
define Build/Clean
$(MAKE) -C u-boot clean
endef
define Build/Compile
if [ $(CONFIG_AT91_UBOOT) ]; then \
$(MAKE) -C u-boot compile; \
fi
endef
define Image/Prepare
cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage
endef
define MkuImageDtb
cat $(KDIR)/zImage $(LINUX_DIR)/arch/arm/boot/dts/$(2).dtb > $(KDIR)/zImage-$(1)
mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 \
-n "OpenWrt ARM $(LINUX_VERSION)" \
-d $(KDIR)/zImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
endef
# Atmel
Image/Build/Kernel/AT91SAM9263EK=$(call MkuImageDtb,9263ek,at91sam9263ek)
Image/Build/Kernel/AT91SAM9G15EK=$(call MkuImageDtb,9g15ek,at91sam9g15ek)
Image/Build/Kernel/AT91SAM9G20EK=$(call MkuImageDtb,9g20ek,at91sam9g20ek)
Image/Build/Kernel/AT91SAM9G20EK-2MMC=$(call MkuImageDtb,9g20ek_2mmc,at91sam9g20ek_2mmc)
Image/Build/Kernel/AT91SAM9G25EK=$(call MkuImageDtb,9g25ek,at91sam9g25ek)
Image/Build/Kernel/AT91SAM9G35EK=$(call MkuImageDtb,9g35ek,at91sam9g35ek)
Image/Build/Kernel/AT91SAM9M10G45EK=$(call MkuImageDtb,9m10g45ek,at91sam9m10g45ek)
Image/Build/Kernel/AT91SAM9X25EK=$(call MkuImageDtb,9x25ek,at91sam9x25ek)
Image/Build/Kernel/AT91SAM9X35EK=$(call MkuImageDtb,9x35ek,at91sam9x35ek)
# CalAmp
Image/Build/Kernel/LMU5000=$(call MkuImageDtb,lmu5000,lmu5000)
# Caloa
Image/Build/Kernel/TNYA9260=$(call MkuImageDtb,tny_a9260,tny_a9260)
Image/Build/Kernel/TNYA9263=$(call MkuImageDtb,tny_a9263,tny_a9263)
Image/Build/Kernel/TNYA9G20=$(call MkuImageDtb,tny_a9g20,tny_a9g20)
Image/Build/Kernel/USBA9260=$(call MkuImageDtb,usb_a9260,usb_a9260)
Image/Build/Kernel/USBA9263=$(call MkuImageDtb,usb_a9263,usb_a9263)
Image/Build/Kernel/USBA9G20=$(call MkuImageDtb,usb_a9g20,usb_a9g20)
# Ethernut
Image/Build/Kernel/ETHERNUT5=$(call MkuImageDtb,ethernut5,ethernut5)
define Image/Build/Kernel/Default
$(call Image/Build/Kernel/AT91SAM9263EK)
$(call Image/Build/Kernel/AT91SAM9G15EK)
$(call Image/Build/Kernel/AT91SAM9G20EK)
$(call Image/Build/Kernel/AT91SAM9G20EK-2MMC)
$(call Image/Build/Kernel/AT91SAM9G25EK)
$(call Image/Build/Kernel/AT91SAM9G35EK)
$(call Image/Build/Kernel/AT91SAM9M10G45EK)
$(call Image/Build/Kernel/AT91SAM9X25EK)
$(call Image/Build/Kernel/AT91SAM9X35EK)
$(call Image/Build/Kernel/LMU5000)
$(call Image/Build/Kernel/TNYA9260)
$(call Image/Build/Kernel/TNYA9263)
$(call Image/Build/Kernel/TNYA9G20)
$(call Image/Build/Kernel/USBA9260)
$(call Image/Build/Kernel/USBA9263)
$(call Image/Build/Kernel/USBA9G20)
$(call Image/Build/Kernel/ETHERNUT5)
endef
define Image/BuildKernel
mkimage -A arm -T kernel -C none -a 0x20008000 -e 0x20008000 -n linux-2.6 \
-d $(LINUX_DIR)/arch/arm/boot/Image $(BIN_DIR)/uImage
if [ $(CONFIG_FLEXIBITY_ROOT) ]; then \
$(INSTALL_BIN) $(BIN_DIR)/uImage $(TARGET_DIR)/uImage ; \
fi
$(call Image/Build/Kernel/$(PROFILE))
endef
define Image/Build
$(call Image/Build/$(1))
cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-root.$(1)
endef
$(eval $(call BuildImage))