uboot-lantiq
[openwrt/openwrt.git] / package / uboot-lantiq / Makefile
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/kernel.mk
10
11 PKG_NAME:=u-boot
12
13 PKG_VERSION:=2010.03
14 PKG_MD5SUM:=2bf5ebf497dddc52440b1ea386cc1332
15 PKG_RELEASE:=1
16
17 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
18 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
19 PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
20 PKG_TARGETS:=bin
21
22 include $(INCLUDE_DIR)/package.mk
23
24 ifeq ($(DUMP),)
25 STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/$(BUILD_VARIANT)/.configured
26 STAMP_BUILT:=$(PKG_BUILD_DIR)/$(BUILD_VARIANT)/.built
27 endif
28
29 define Package/uboot-lantiq-template
30 SECTION:=boot
31 CATEGORY:=Boot Loaders
32 DEPENDS:=@TARGET_lantiq_danube
33 URL:=http://www.denx.de/wiki/U-Boot
34 VARIANT:=$(1)
35 TITLE:=$(1) ($(2))
36 MAINTAINER:=John Crispin <blogic@openwrt.org>
37 endef
38
39 #Lantiq
40 Package/uboot-lantiq-easy50712_DDR166M=$(call Package/uboot-lantiq-template,easy50712_DDR166M,NOR)
41 Package/uboot-lantiq-easy50712_DDR166M_ramboot=$(call Package/uboot-lantiq-template,easy50712_DDR166M_ramboot,RAM)
42 Package/uboot-lantiq-easy50812_DDR166M=$(call Package/uboot-lantiq-template,easy50812_DDR166M,NOR)
43 Package/uboot-lantiq-easy50812_DDR166M_ramboot=$(call Package/uboot-lantiq-template,easy50812_DDR166M_ramboot,RAM)
44
45 DDR_CONFIG_easy50712_DDR166M_ramboot:=easy50712_DDR166M
46 DDR_CONFIG_easy50812_DDR166M_ramboot:=easy50812
47
48 #Siemens
49 Package/uboot-lantiq-gigaSX76X_DDRsamsung166=$(call Package/uboot-lantiq-template,gigaSX76X_DDRsamsung166,NOR)
50
51 #Arcadyan
52 Package/uboot-lantiq-arv3527P_flash=$(call Package/uboot-lantiq-template,arv3527P_flash,NOR)
53 Package/uboot-lantiq-arv3527P_ramboot=$(call Package/uboot-lantiq-template,arv3527P_ramboot,RAM)
54 Package/uboot-lantiq-arv3527P_brnboot=$(call Package/uboot-lantiq-template,arv3527P_brnboot,BRN)
55 Package/uboot-lantiq-arv4518PW_flash=$(call Package/uboot-lantiq-template,arv4518PW_flash,NOR)
56 Package/uboot-lantiq-arv4518PW_ramboot=$(call Package/uboot-lantiq-template,arv4518PW_ramboot,RAM)
57 Package/uboot-lantiq-arv4518PW_brnboot=$(call Package/uboot-lantiq-template,arv4518PW_brnboot,BRN)
58 Package/uboot-lantiq-arv4520PW_flash=$(call Package/uboot-lantiq-template,arv4520PW_flash,NOR)
59 Package/uboot-lantiq-arv4520PW_ramboot=$(call Package/uboot-lantiq-template,arv4520PW_ramboot,RAM)
60 Package/uboot-lantiq-arv4520PW_brnboot=$(call Package/uboot-lantiq-template,arv4520PW_brnboot,BRN)
61 Package/uboot-lantiq-arv4525PW_flash=$(call Package/uboot-lantiq-template,arv4525PW_flash,NOR)
62 Package/uboot-lantiq-arv4525PW_ramboot=$(call Package/uboot-lantiq-template,arv4525PW_ramboot,RAM)
63 Package/uboot-lantiq-arv4525PW_brnboot=$(call Package/uboot-lantiq-template,arv4525PW_brnboot,BRN)
64 Package/uboot-lantiq-arv7525PW_flash=$(call Package/uboot-lantiq-template,arv7525PW_flash,NOR)
65 Package/uboot-lantiq-arv7525PW_ramboot=$(call Package/uboot-lantiq-template,arv7525PW_ramboot,RAM)
66 Package/uboot-lantiq-arv7525PW_brnboot=$(call Package/uboot-lantiq-template,arv7525PW_brnboot,BRN)
67 Package/uboot-lantiq-arv452CPW_flash=$(call Package/uboot-lantiq-template,arv452CPW_flash,NOR)
68 Package/uboot-lantiq-arv452CPW_ramboot=$(call Package/uboot-lantiq-template,arv452CPW_ramboot,RAM)
69 Package/uboot-lantiq-arv452CPW_brnboot=$(call Package/uboot-lantiq-template,arv452CPW_brnboot,BRN)
70 Package/uboot-lantiq-arv752DPW_flash=$(call Package/uboot-lantiq-template,arv752DPW_flash,NOR)
71 Package/uboot-lantiq-arv752DPW_ramboot=$(call Package/uboot-lantiq-template,arv752DPW_ramboot,RAM)
72 Package/uboot-lantiq-arv752DPW_brnboot=$(call Package/uboot-lantiq-template,arv752DPW_brnboot,BRN)
73 Package/uboot-lantiq-arv752DPW22_flash=$(call Package/uboot-lantiq-template,arv752DPW22_flash,NOR)
74 Package/uboot-lantiq-arv752DPW22_ramboot=$(call Package/uboot-lantiq-template,arv752DPW22_ramboot,RAM)
75 Package/uboot-lantiq-arv752DPW22_brnboot=$(call Package/uboot-lantiq-template,arv752DPW22_brnboot,BRN)
76
77 DDR_CONFIG_arv3527P_ramboot:=arcadyan_psc166_32
78 DDR_CONFIG_arv4518PW_ramboot:=arcadyan_psc166_64
79 DDR_CONFIG_arv4520PW_ramboot:=arcadyan_psc166_32
80 DDR_CONFIG_arv4525PW_ramboot:=arcadyan_psc166_32
81 DDR_CONFIG_arv7525PW_ramboot:=arcadyan_psc166_32
82 DDR_CONFIG_arv452CPW_ramboot:=arcadyan_psc166_32
83 DDR_CONFIG_arv752DPW_ramboot:=arcadyan_psc166_64
84 DDR_CONFIG_arv752DPW22_ramboot:=arcadyan_psc166_64
85
86 define Build/Prepare
87 $(PKG_UNPACK)
88 cp -r $(CP_OPTS) $(FILES_DIR)/* $(PKG_BUILD_DIR)/
89 $(Build/Patch)
90 find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
91 endef
92
93 UBOOT_MAKE_OPTS:= \
94 CROSS_COMPILE=$(TARGET_CROSS) \
95 ENDIANNESS= \
96 V=1
97
98 define Build/Configure/Target
99 $(MAKE) -s -C $(PKG_BUILD_DIR) \
100 $(UBOOT_MAKE_OPTS) \
101 O=$(PKG_BUILD_DIR)/$(BUILD_VARIANT) \
102 $(1)_config
103 endef
104
105 define Build/Configure
106 $(call Build/Configure/Target,$(BUILD_VARIANT))
107 endef
108
109 define Build/Compile/Target
110 $(MAKE) -s -C $(PKG_BUILD_DIR) \
111 $(UBOOT_MAKE_OPTS) \
112 O=$(PKG_BUILD_DIR)/$(1) \
113 all
114 endef
115
116 define Build/Compile
117 $(call Build/Compile/Target,$(BUILD_VARIANT))
118 endef
119
120 define Package/uboot-lantiq-$(BUILD_VARIANT)/install
121 mkdir -p $(1)
122 ifneq ($(findstring ramboot,$(BUILD_VARIANT)),)
123 dd \
124 if=$(PKG_BUILD_DIR)/$(BUILD_VARIANT)/u-boot.bin \
125 of=$(1)/u-boot.bin \
126 bs=64k conv=sync
127 else
128 dd \
129 if=$(PKG_BUILD_DIR)/$(BUILD_VARIANT)/u-boot-bootstrap.bin \
130 of=$(1)/u-boot-bootstrap.bin \
131 bs=64k conv=sync
132 endif
133 ifneq ($(findstring ramboot,$(BUILD_VARIANT)),)
134 if [ -e $(DDR_CONFIG_$(BUILD_VARIANT)).conf ]; then \
135 perl ./gct \
136 $(DDR_CONFIG_$(BUILD_VARIANT)).conf \
137 $(PKG_BUILD_DIR)/$(BUILD_VARIANT)/u-boot.srec \
138 $(1)/u-boot.asc; \
139 fi
140 endif
141 endef
142
143 $(eval $(call BuildPackage,uboot-lantiq-easy50712_DDR166M))
144 $(eval $(call BuildPackage,uboot-lantiq-easy50712_DDR166M_ramboot))
145 $(eval $(call BuildPackage,uboot-lantiq-easy50812_DDR166M))
146 $(eval $(call BuildPackage,uboot-lantiq-easy50812_DDR166M_ramboot))
147 $(eval $(call BuildPackage,uboot-lantiq-gigaSX76X_DDRsamsung166))
148 #$(eval $(call BuildPackage,uboot-lantiq-arv3527P_flash))
149 #$(eval $(call BuildPackage,uboot-lantiq-arv3527P_brnboot))
150 #$(eval $(call BuildPackage,uboot-lantiq-arv3527P_ramboot))
151 $(eval $(call BuildPackage,uboot-lantiq-arv4518PW_flash))
152 $(eval $(call BuildPackage,uboot-lantiq-arv4518PW_brnboot))
153 $(eval $(call BuildPackage,uboot-lantiq-arv4518PW_ramboot))
154 $(eval $(call BuildPackage,uboot-lantiq-arv4520PW_flash))
155 $(eval $(call BuildPackage,uboot-lantiq-arv4520PW_brnboot))
156 $(eval $(call BuildPackage,uboot-lantiq-arv4520PW_ramboot))
157 $(eval $(call BuildPackage,uboot-lantiq-arv4525PW_flash))
158 $(eval $(call BuildPackage,uboot-lantiq-arv4525PW_brnboot))
159 $(eval $(call BuildPackage,uboot-lantiq-arv4525PW_ramboot))
160 $(eval $(call BuildPackage,uboot-lantiq-arv7525PW_flash))
161 $(eval $(call BuildPackage,uboot-lantiq-arv7525PW_brnboot))
162 $(eval $(call BuildPackage,uboot-lantiq-arv7525PW_ramboot))
163 $(eval $(call BuildPackage,uboot-lantiq-arv452CPW_flash))
164 $(eval $(call BuildPackage,uboot-lantiq-arv452CPW_brnboot))
165 $(eval $(call BuildPackage,uboot-lantiq-arv452CPW_ramboot))
166 $(eval $(call BuildPackage,uboot-lantiq-arv752DPW_flash))
167 $(eval $(call BuildPackage,uboot-lantiq-arv752DPW_brnboot))
168 $(eval $(call BuildPackage,uboot-lantiq-arv752DPW_ramboot))
169 $(eval $(call BuildPackage,uboot-lantiq-arv752DPW22_flash))
170 $(eval $(call BuildPackage,uboot-lantiq-arv752DPW22_brnboot))
171 $(eval $(call BuildPackage,uboot-lantiq-arv752DPW22_ramboot))
172