summaryrefslogtreecommitdiffstats
path: root/package/uboot-ifxmips/Makefile
blob: 736e322c3c61a57aa1b4faffc7b5d1aa1ed3d7c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#
# Copyright (C) 2008 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)/kernel.mk

PKG_NAME:=u-boot
PKG_VERSION:=1.1.5
PKG_RELEASE:=2

PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
PKG_MD5SUM:=579707c8ecbf1ab4127285d2aac2a9ee
PKG_TARGETS:=bin

include $(INCLUDE_DIR)/package.mk

define Package/uboot-ifxmips
  SECTION:=boot
  CATEGORY:=Boot Loaders
  DEPENDS:=@TARGET_ifxmips @BROKEN
  TITLE:=U-Boot for Infineon MIPS boards
  URL:=http://www.denx.de/wiki/U-Boot
  MENU:=1
endef

define Build/Prepare
	$(call Build/Prepare/Default)
	cp -r $(CP_OPTS) ./files/* $(PKG_BUILD_DIR)
	find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
endef

define Package/uboot-ifxmips/config
	source "$(SOURCE)/Config.in"
endef

UBOOT_CONFIG:=danube

UBOOT_MAKE_OPTS:=\
	CROSS_COMPILE=$(TARGET_CROSS) \
	CROSS_COMPILE_UCLIBC=1 \
	COMPRESS=lzma \
	PLATFORM_CPU=mips32r2 \
	UBOOT_RAM_TEXT_BASE=0xA0400000

A800_FIX:=
ifeq ($(CONFIG_IFXMIPS_UBOOT_A800),y)
A800_FIX += -DA800_SWITCH
endif

define Build/Configure
	$(MAKE) -s -C $(PKG_BUILD_DIR) \
		$(UBOOT_MAKE_OPTS) \
		$(UBOOT_CONFIG)_config
endef

define Build/Compile
	$(MAKE) -C $(PKG_BUILD_DIR) \
		$(UBOOT_MAKE_OPTS) \
		OWRT_FLAGS="-DTEXT_BASE=0xa0400000 ${A800_FIX}" \
		ifx_all
	$(CP) $(PKG_BUILD_DIR)/u-boot.srec $(PKG_BUILD_DIR)/asc.srec
	$(PKG_BUILD_DIR)/gct \
		$(PKG_BUILD_DIR)/danube_ref_ddr166.conf \
		$(PKG_BUILD_DIR)/asc.srec \
		$(PKG_BUILD_DIR)/u-boot.asc
	$(MAKE) -C $(PKG_BUILD_DIR) \
		$(UBOOT_MAKE_OPTS) \
		OWRT_FLAGS="-DDANUBE_BOOT_FROM_EBU=1 -DTEXT_BASE=0xB0000000 ${A800_FIX}" \
		clean ifx_all
endef

define Package/uboot-ifxmips/install
	mkdir -p $(1)
	dd if=$(PKG_BUILD_DIR)/u-boot.ifx of=$(1)/u-boot.ifx bs=64k conv=sync
	$(CP) $(PKG_BUILD_DIR)/u-boot.asc $(1)
endef

$(eval $(call BuildPackage,uboot-ifxmips))