kirkwood: exploit BOARD_NAME to set DEVICE_DTS and SUPPORTED_DEVICES
[oweals/openwrt.git] / target / linux / kirkwood / image / Makefile
1 #
2 # Copyright (C) 2009-2013 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)/image.mk
10
11 KERNEL_LOADADDR:=0x8000
12
13 define Device/Default
14   PROFILES := Default
15   DEVICE_DTS = $$(if $$(BOARD_NAME),kirkwood-$$(BOARD_NAME),)
16   KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
17   KERNEL := kernel-bin | append-dtb | uImage none
18   KERNEL_NAME := zImage
19   KERNEL_SUFFIX  := -uImage
20   KERNEL_IN_UBI := 1
21
22   PAGESIZE := 2048
23   SUBPAGESIZE := 512
24   BLOCKSIZE := 128k
25   IMAGES := sysupgrade.bin factory.bin
26   IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
27   IMAGE/factory.bin := append-ubi
28   SUPPORTED_DEVICES = $(subst _,$(comma),$(1)) $$(BOARD_NAME)
29 endef
30
31 define Device/cisco_on100
32   DEVICE_VENDOR := Cisco Systems
33   DEVICE_MODEL := ON100
34   DEVICE_PACKAGES := kmod-i2c-mv64xxx
35   KERNEL_SIZE := 5376k
36   KERNEL_IN_UBI :=
37   UBINIZE_OPTS := -E 5
38   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
39   BOARD_NAME := on100
40 endef
41 TARGET_DEVICES += cisco_on100
42
43 define Device/cloudengines_pogoe02
44   DEVICE_VENDOR := Cloud Engines
45   DEVICE_MODEL := Pogoplug E02
46   BOARD_NAME := pogo_e02
47 endef
48 TARGET_DEVICES += cloudengines_pogoe02
49
50 define Device/cloudengines_pogoplugv4
51   DEVICE_VENDOR := Cloud Engines
52   DEVICE_MODEL := Pogoplug V4
53   DEVICE_DTS := kirkwood-pogoplug-series-4
54   DEVICE_PACKAGES := kmod-usb3
55 endef
56 TARGET_DEVICES += cloudengines_pogoplugv4
57
58 define Device/iom_iconnect-1.1
59   DEVICE_VENDOR := Iomega
60   DEVICE_MODEL := Iconnect
61   BOARD_NAME := iconnect
62 endef
63 TARGET_DEVICES += iom_iconnect-1.1
64
65 define Device/iom_ix2_200
66   DEVICE_VENDOR := Iomega
67   DEVICE_MODEL := StorCenter ix2-200
68   DEVICE_DTS := kirkwood-iomega_ix2_200
69   DEVICE_PACKAGES += kmod-gpio-button-hotplug kmod-i2c-mv64xxx kmod-hwmon-lm63
70   DEVICE_TYPE:=nas
71   PAGESIZE := 512
72   SUBPAGESIZE := 256
73   BLOCKSIZE := 16KiB
74   KERNEL_SIZE := 3072k
75   KERNEL_IN_UBI :=
76   UBINIZE_OPTS := -E 5
77   IMAGE_SIZE := 32505856
78   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
79 endef
80 TARGET_DEVICES += iom_ix2_200
81
82 define Device/linksys_audi
83   DEVICE_VENDOR := Linksys
84   DEVICE_MODEL := EA3500 (Audi)
85   DEVICE_PACKAGES := kmod-mwl8k swconfig wpad-basic kmod-gpio-button-hotplug
86   PAGESIZE := 512
87   SUBPAGESIZE := 256
88   BLOCKSIZE := 16KiB
89   KERNEL_SIZE := 2624k
90   KERNEL_IN_UBI :=
91   UBINIZE_OPTS := -E 5
92   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
93   BOARD_NAME := linksys-audi
94 endef
95 TARGET_DEVICES += linksys_audi
96
97 define Device/linksys_viper
98   DEVICE_VENDOR := Linksys
99   DEVICE_MODEL := E4200v2 / EA4500 (Viper)
100   DEVICE_PACKAGES := kmod-mwl8k swconfig wpad-basic kmod-gpio-button-hotplug
101   KERNEL_SIZE := 2688k
102   KERNEL_IN_UBI :=
103   UBINIZE_OPTS := -E 5
104   IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
105   BOARD_NAME := linksys-viper
106 endef
107 TARGET_DEVICES += linksys_viper
108
109 define Device/raidsonic_ib-nas62x0
110   DEVICE_VENDOR := RaidSonic
111   DEVICE_MODEL := ICY BOX IB-NAS62x0
112   BOARD_NAME := ib62x0
113 endef
114 TARGET_DEVICES += raidsonic_ib-nas62x0
115
116 define Device/seagate_dockstar
117   DEVICE_VENDOR := Seagate
118   DEVICE_MODEL := FreeAgent Dockstar
119   BOARD_NAME := dockstar
120 endef
121 TARGET_DEVICES += seagate_dockstar
122
123 define Device/seagate_goflexnet
124   DEVICE_VENDOR := Seagate
125   DEVICE_MODEL := GoFlexNet
126   BOARD_NAME := goflexnet
127 endef
128 TARGET_DEVICES += seagate_goflexnet
129
130 define Device/seagate_goflexhome
131   DEVICE_VENDOR := Seagate
132   DEVICE_MODEL := GoFlexHome
133   BOARD_NAME := goflexhome
134 endef
135 TARGET_DEVICES += seagate_goflexhome
136
137 define Device/zyxel_nsa310b
138   DEVICE_VENDOR := ZyXEL
139   DEVICE_MODEL := NSA310b
140   DEVICE_PACKAGES := kmod-r8169 kmod-gpio-button-hotplug kmod-hwmon-lm85
141   BOARD_NAME := nsa310b
142 endef
143 TARGET_DEVICES += zyxel_nsa310b
144
145 define Device/zyxel_nsa325
146   DEVICE_VENDOR := ZyXEL
147   DEVICE_MODEL := NSA325
148   DEVICE_VARIANT := v1/v2
149   DEVICE_PACKAGES := kmod-gpio-button-hotplug kmod-rtc-pcf8563 kmod-usb3
150   BOARD_NAME := nsa325
151 endef
152 TARGET_DEVICES += zyxel_nsa325
153
154 $(eval $(call BuildImage))