aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm47xx/image/Makefile
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-07 15:42:54 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-14 14:10:51 +0100
commit8fe5ad5d3373cebed4fbc55a7b779721971ce427 (patch)
tree5d9106ede800508dde24c21dda7f90b8b1b8af5b /target/linux/bcm47xx/image/Makefile
parent8590e70fab64172700c21bc5e658eba17a1eae70 (diff)
downloadupstream-8fe5ad5d3373cebed4fbc55a7b779721971ce427.tar.gz
upstream-8fe5ad5d3373cebed4fbc55a7b779721971ce427.tar.bz2
upstream-8fe5ad5d3373cebed4fbc55a7b779721971ce427.zip
brcm47xx: rename target to bcm47xx
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/bcm47xx/image/Makefile')
-rw-r--r--target/linux/bcm47xx/image/Makefile1070
1 files changed, 1070 insertions, 0 deletions
diff --git a/target/linux/bcm47xx/image/Makefile b/target/linux/bcm47xx/image/Makefile
new file mode 100644
index 0000000000..432e787cba
--- /dev/null
+++ b/target/linux/bcm47xx/image/Makefile
@@ -0,0 +1,1070 @@
+#
+# Copyright (C) 2006-2016 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
+
+USB1_PACKAGES := kmod-usb-ohci
+USB2_PACKAGES := $(USB1_PACKAGES) kmod-usb2
+
+define Build/Clean
+ $(MAKE) -C lzma-loader clean
+endef
+
+define Image/Prepare
+ # Optimized LZMA compression (with dictionary), handled by lzma-loader.
+ cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
+
+ # Less optimal LZMA compression (no dictionary), handled by CFE.
+ $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux > $(KDIR)/vmlinux-nodictionary.lzma
+
+ gzip -nc9 $(KDIR)/vmlinux > $(KDIR)/vmlinux.gz
+ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
+ cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma
+ $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs-nodictionary.lzma
+endif
+ rm -f $(KDIR)/loader.gz
+ $(MAKE) -C lzma-loader \
+ BUILD_DIR="$(KDIR)" \
+ TARGET="$(KDIR)" \
+ clean install
+ echo -ne "\\x00" >> $(KDIR)/loader.gz
+ rm -f $(KDIR)/fs_mark
+ echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
+ $(call prepare_generic_squashfs,$(KDIR)/fs_mark)
+endef
+
+define trxalign/jffs2-128k
+-a 0x20000 -f $(KDIR)/root.$(1)
+endef
+define trxalign/jffs2-64k
+-a 0x10000 -f $(KDIR)/root.$(1)
+endef
+define trxalign/squashfs
+-a 1024 -f $(1) $(if $(2),-f $(2)) -a 0x10000 -A $(KDIR)/fs_mark
+endef
+
+#################################################
+# Images
+#################################################
+
+define Build/trx-with-loader
+ $(STAGING_DIR_HOST)/bin/trx \
+ -m 33554432 \
+ -o $@.new \
+ -f $(KDIR)/loader.gz \
+ -f $(IMAGE_KERNEL) \
+ $(call trxalign/$(FILESYSTEM),$@)
+ mv $@.new $@
+endef
+
+define Build/trx-v2-with-loader
+ $(STAGING_DIR_HOST)/bin/trx \
+ -2 \
+ -m 33554432 \
+ -o $@.new \
+ -f $(KDIR)/loader.gz \
+ -f $(KDIR)/vmlinux.lzma \
+ $(call trxalign/$(FILESYSTEM),$@,$@.pattern)
+ mv $@.new $@
+endef
+
+define Build/trx-without-loader
+ $(STAGING_DIR_HOST)/bin/trx \
+ -m 33554432 \
+ -o $@.new \
+ -f $(IMAGE_KERNEL) \
+ $(call trxalign/$(FILESYSTEM),$@)
+ mv $@.new $@
+endef
+
+define Build/asus-trx
+ $(STAGING_DIR_HOST)/bin/asustrx -p $(PRODUCTID) -i $@ -o $@.new
+ mv $@.new $@
+endef
+
+define Build/edimax-bin
+ $(STAGING_DIR_HOST)/bin/trx2edips $@ $@.new
+ mv $@.new $@
+endef
+
+define Build/huawei-bin
+ dd if=/dev/zero of=$@.new bs=92 count=1
+ echo -ne 'HDR0\x08\x00\x00\x00' >> $@.new
+ cat $@ >> $@.new
+ mv $@.new $@
+endef
+
+define Build/linksys-bin
+ $(STAGING_DIR_HOST)/bin/addpattern -4 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i $@ -o $@.new
+ mv $@.new $@
+endef
+
+define Build/linksys-pattern-partition
+ $(STAGING_DIR_HOST)/bin/addpattern -5 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i /dev/null -o $@.pattern
+endef
+
+define Build/motorola-bin
+ $(STAGING_DIR_HOST)/bin/motorola-bin -$(MOTOROLA_DEVICE) $@ $@.new
+ mv $@.new $@
+endef
+
+define Build/prepend-with-elf
+ mv $@ $@.old
+ dd if=$(KDIR)/loader.elf of=$@ bs=131072 conv=sync
+ cat $@.old >> $@
+endef
+
+define Build/tailed-bin
+ echo $(BIN_TAIL) >> $@
+endef
+
+define Build/usrobotics-bin
+ $(STAGING_DIR_HOST)/bin/trx2usr $@ $@.new
+ mv $@.new $@
+endef
+
+#################################################
+# Devices
+#################################################
+
+DEVICE_VARS += PRODUCTID
+DEVICE_VARS += DEVICE_ID VERSION SERIAL
+DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
+DEVICE_VARS += MOTOROLA_DEVICE
+DEVICE_VARS += BIN_TAIL
+
+define Device/Default
+ KERNEL := kernel-bin
+ IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
+ KERNEL_NAME = vmlinux.lzma
+ KERNEL_INITRAMFS_NAME = vmlinux-initramfs.lzma
+ FILESYSTEMS := $(FS_64K)
+ IMAGES := trx
+ IMAGE/trx := append-rootfs | trx-with-loader
+endef
+
+define Device/standard
+ DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel
+endef
+
+define Device/standard-noloader-gz
+ DEVICE_TITLE := Image with gzipped kernel
+ KERNEL_NAME = vmlinux.gz
+ IMAGE/trx := append-rootfs | trx-without-loader
+endef
+
+define Device/standard-noloader-nodictionarylzma
+ DEVICE_TITLE := Image with LZMA compressed kernel matching CFE decompressor
+ KERNEL_NAME = vmlinux-nodictionary.lzma
+ IMAGE/trx := append-rootfs | trx-without-loader
+endef
+
+define Device/asus
+ DEVICE_VENDOR := ASUS
+ IMAGES := trx
+ IMAGE/trx := append-rootfs | trx-with-loader | asus-trx
+endef
+
+define Device/linksys
+ DEVICE_VENDOR := Linksys
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-with-loader | linksys-bin
+endef
+
+define Device/motorola
+ DEVICE_VENDOR := Motorola
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-with-loader | motorola-bin
+endef
+
+define Device/netgear
+ DEVICE_VENDOR := NETGEAR
+ IMAGES := chk
+ IMAGE/chk := append-rootfs | trx-with-loader | netgear-chk
+endef
+
+#################################################
+# Subtarget generic
+#################################################
+
+ifeq ($(SUBTARGET),generic)
+ # BCM4705 with tg3
+define Device/linksys-wrt300n-v1.1
+ DEVICE_MODEL := WRT300N
+ DEVICE_VARIANT := v1.1
+ DEVICE_PACKAGES := kmod-tg3 kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := EWC2
+ VERSION := 1.51.2
+endef
+TARGET_DEVICES += linksys-wrt300n-v1.1
+
+define Device/linksys-wrt310n-v1
+ DEVICE_MODEL := WRT310N
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-tg3 kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 310N
+ VERSION := 1.0.10
+endef
+TARGET_DEVICES += linksys-wrt310n-v1
+
+define Device/linksys-wrt350n-v1
+ DEVICE_MODEL := WRT350N
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ DEVICE_ID := EWCG
+ VERSION := 1.04.1
+endef
+TARGET_DEVICES += linksys-wrt350n-v1
+
+define Device/linksys-wrt610n-v1
+ DEVICE_MODEL := WRT610N
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ DEVICE_ID := 610N
+ VERSION := 1.0.1
+endef
+TARGET_DEVICES += linksys-wrt610n-v1
+
+ # BCMA SoC with SSB WiFi
+define Device/linksys-wrt610n-v2
+ DEVICE_MODEL := WRT610N
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ DEVICE_ID := 610N
+ VERSION := 2.0.0
+endef
+TARGET_DEVICES += linksys-wrt610n-v2
+
+define Device/linksys-e3000-v1
+ DEVICE_MODEL := E3000
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ DEVICE_ID := 61XN
+ VERSION := 1.0.3
+endef
+TARGET_DEVICES += linksys-e3000-v1
+
+# generic has Ethernet drivers as modules so overwrite standard image
+define Device/standard
+ DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel
+ DEVICE_PACKAGES := kmod-b44 kmod-bgmac kmod-tg3
+endef
+TARGET_DEVICES += standard
+endif
+
+#################################################
+# Subtarget legacy
+#################################################
+
+ifeq ($(SUBTARGET),legacy)
+
+define Device/asus-wl-300g
+ DEVICE_MODEL := WL-300g
+ DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
+ $(Device/asus)
+ PRODUCTID := "WL300g "
+endef
+TARGET_DEVICES += asus-wl-300g
+
+define Device/asus-wl-320gp
+ DEVICE_MODEL := WL-320gP
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := "WL320gP "
+endef
+TARGET_DEVICES += asus-wl-320gp
+
+define Device/asus-wl-330ge
+ DEVICE_MODEL := WL-330gE
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := "WL-330gE "
+endef
+TARGET_DEVICES += asus-wl-330ge
+
+define Device/asus-wl-500gd
+ DEVICE_MODEL := WL-500g Deluxe
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := "WL500gx "
+endef
+TARGET_DEVICES += asus-wl-500gd
+
+define Device/asus-wl-500gp-v1
+ DEVICE_MODEL := WL-500gP
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := "WL500gp "
+endef
+TARGET_DEVICES += asus-wl-500gp-v1
+
+define Device/asus-wl-500gp-v2
+ DEVICE_MODEL := WL-500gP
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := "WL500gpv2 "
+endef
+TARGET_DEVICES += asus-wl-500gp-v2
+
+define Device/asus-wl-500w
+ DEVICE_MODEL := WL-500W
+ DEVICE_PACKAGES := kmod-b43 kmod-usb-uhci kmod-usb2-pci
+ $(Device/asus)
+ PRODUCTID := "WL500W "
+endef
+TARGET_DEVICES += asus-wl-500w
+
+define Device/asus-wl-520gu
+ DEVICE_MODEL := WL-520gU
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := "WL520gu "
+endef
+TARGET_DEVICES += asus-wl-520gu
+
+define Device/asus-wl-550ge
+ DEVICE_MODEL := WL-550gE
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := "WL550gE "
+endef
+TARGET_DEVICES += asus-wl-550ge
+
+define Device/asus-wl-hdd25
+ DEVICE_MODEL := WL-HDD25
+ DEVICE_PACKAGES := kmod-b43 kmod-b43legacy $(USB1_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := "WLHDD "
+endef
+TARGET_DEVICES += asus-wl-hdd25
+
+define Device/dlink-dwl-3150
+ DEVICE_VENDOR := D-Link
+ DEVICE_MODEL := DWL-3150
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin
+ BIN_TAIL := BCM-5352-2050-0000000-01
+endef
+TARGET_DEVICES += dlink-dwl-3150
+
+define Device/edimax-ps1208-mfg
+ DEVICE_VENDOR := Edimax
+ DEVICE_MODEL := PS-1208MFg
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin
+endef
+TARGET_DEVICES += edimax-ps1208-mfg
+
+define Device/huawei-e970
+ DEVICE_VENDOR := Huawei
+ DEVICE_MODEL := E970
+ DEVICE_PACKAGES := kmod-b43
+ KERNEL_NAME = vmlinux.gz
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin
+endef
+TARGET_DEVICES += huawei-e970
+
+define Device/linksys-wrt54g3g
+ DEVICE_MODEL := WRT54G3G
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := W54F
+ VERSION := 2.20.1
+endef
+TARGET_DEVICES += linksys-wrt54g3g
+
+define Device/linksys-wrt54g3g-em
+ DEVICE_MODEL := WRT54G3G-EM
+ $(Device/linksys)
+ DEVICE_ID := W3GN
+ VERSION := 2.20.1
+endef
+TARGET_DEVICES += linksys-wrt54g3g-em
+
+define Device/linksys-wrt54g3gv2-vf
+ DEVICE_VENDOR := Linksys
+ DEVICE_MODEL := WRT54G3GV2-VF
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ FILESYSTEMS := $(FS_128K)
+ IMAGES := noheader.bin bin
+ IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader
+ IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin
+ DEVICE_ID := 3G2V
+ VERSION := 3.00.24
+ SERIAL := 6
+endef
+TARGET_DEVICES += linksys-wrt54g3gv2-vf
+
+define Device/linksys-wrt54g
+ DEVICE_MODEL := WRT54G
+ DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
+ $(Device/linksys)
+ DEVICE_ID := W54G
+ VERSION := 4.71.1
+endef
+TARGET_DEVICES += linksys-wrt54g
+
+define Device/linksys-wrt54gs
+ DEVICE_MODEL := WRT54GS
+ DEVICE_VARIANT := v1/v2/v3
+ DEVICE_ALT0_VENDOR := Linksys
+ DEVICE_ALT0_MODEL := WRT54G-TM
+ DEVICE_ALT0_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ FILESYSTEMS := $(FS_128K)
+ DEVICE_ID := W54S
+ VERSION := 4.80.1
+endef
+TARGET_DEVICES += linksys-wrt54gs
+
+define Device/linksys-wrt54gs-v4
+ DEVICE_MODEL := WRT54GS
+ DEVICE_VARIANT := v4
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := W54s
+ VERSION := 1.09.1
+endef
+TARGET_DEVICES += linksys-wrt54gs-v4
+
+define Device/linksys-wrtsl54gs
+ DEVICE_MODEL := WRTSL54GS
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ FILESYSTEMS := $(FS_128K)
+ DEVICE_ID := W54U
+ VERSION := 2.08.1
+endef
+TARGET_DEVICES += linksys-wrtsl54gs
+
+define Device/linksys-wrt150n
+ DEVICE_MODEL := WRT150N
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := N150
+ VERSION := 1.51.3
+endef
+TARGET_DEVICES += linksys-wrt150n
+
+define Device/linksys-wrt160n-v1
+ DEVICE_MODEL := WRT160N
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := N150
+ VERSION := 1.50.1
+endef
+TARGET_DEVICES += linksys-wrt160n-v1
+
+define Device/linksys-wrt300n-v1
+ DEVICE_MODEL := WRT300N
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ IMAGES := bin trx
+ DEVICE_ID := EWCB
+ VERSION := 1.03.6
+endef
+TARGET_DEVICES += linksys-wrt300n-v1
+
+define Device/motorola-wa840g
+ DEVICE_MODEL := WA840G
+ DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
+ $(Device/motorola)
+ MOTOROLA_DEVICE := 2
+endef
+TARGET_DEVICES += motorola-wa840g
+
+define Device/motorola-we800g
+ DEVICE_MODEL := WE800G
+ DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
+ $(Device/motorola)
+ MOTOROLA_DEVICE := 3
+endef
+TARGET_DEVICES += motorola-we800g
+
+define Device/motorola-wr850g
+ DEVICE_MODEL := WR850G
+ DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
+ $(Device/motorola)
+ MOTOROLA_DEVICE := 1
+endef
+TARGET_DEVICES += motorola-wr850g
+
+define Device/netgear-wgr614-v8
+ DEVICE_MODEL := WGR614
+ DEVICE_VARIANT := v8
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H072T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wgr614-v8
+
+define Device/netgear-wgt634u
+ DEVICE_VENDOR := NETGEAR
+ DEVICE_MODEL := WGT634U
+ DEVICE_PACKAGES := kmod-ath5k $(USB2_PACKAGES)
+ FILESYSTEMS := $(FS_128K)
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf
+endef
+TARGET_DEVICES += netgear-wgt634u
+
+define Device/netgear-wndr3300-v1
+ DEVICE_MODEL := WNDR3300
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H093T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wndr3300-v1
+
+define Device/netgear-wnr834b-v2
+ DEVICE_MODEL := WNR834B
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H081T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wnr834b-v2
+
+define Device/usrobotics-usr5461
+ DEVICE_VENDOR := US Robotics
+ DEVICE_MODEL := USR5461
+ DEVICE_PACKAGES := kmod-b43 $(USB1_PACKAGES)
+ IMAGES := bin
+ IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin
+endef
+TARGET_DEVICES += usrobotics-usr5461
+
+TARGET_DEVICES += standard standard-noloader-gz
+endif
+
+#################################################
+# Subtarget mips74k
+#################################################
+
+ifeq ($(SUBTARGET),mips74k)
+define Device/asus-rt-ac53u
+ DEVICE_MODEL := RT-AC53U
+ DEVICE_PACKAGES := $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-AC53U
+endef
+TARGET_DEVICES += asus-rt-ac53u
+
+define Device/asus-rt-ac66u
+ DEVICE_MODEL := RT-AC66U
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-AC66U
+endef
+# TARGET_DEVICES += asus-rt-ac66u
+
+define Device/asus-rt-n10
+ DEVICE_MODEL := RT-N10
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := "RT-N10 "
+endef
+TARGET_DEVICES += asus-rt-n10
+
+define Device/asus-rt-n10p
+ DEVICE_MODEL := RT-N10P
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := RT-N10P
+endef
+TARGET_DEVICES += asus-rt-n10p
+
+define Device/asus-rt-n10p-v2
+ DEVICE_MODEL := RT-N10P
+ DEVICE_VARIANT := v2
+ $(Device/asus)
+ PRODUCTID := RT-N10PV2
+endef
+TARGET_DEVICES += asus-rt-n10p-v2
+
+define Device/asus-rt-n10u
+ DEVICE_MODEL := RT-N10U
+ DEVICE_VARIANT := A
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N10U
+endef
+TARGET_DEVICES += asus-rt-n10u
+
+define Device/asus-rt-n10u-b
+ DEVICE_MODEL := RT-N10U
+ DEVICE_VARIANT := B
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N10U
+endef
+TARGET_DEVICES += asus-rt-n10u-b
+
+define Device/asus-rt-n12
+ DEVICE_MODEL := RT-N12
+ DEVICE_VARIANT := A1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := "RT-N12 "
+endef
+TARGET_DEVICES += asus-rt-n12
+
+define Device/asus-rt-n12-b1
+ DEVICE_MODEL := RT-N12
+ DEVICE_VARIANT := B1
+ $(Device/asus)
+ PRODUCTID := RT-N12B1
+endef
+TARGET_DEVICES += asus-rt-n12-b1
+
+define Device/asus-rt-n12-c1
+ DEVICE_MODEL := RT-N12
+ DEVICE_VARIANT := C1
+ $(Device/asus)
+ PRODUCTID := RT-N12C1
+endef
+TARGET_DEVICES += asus-rt-n12-c1
+
+define Device/asus-rt-n12-d1
+ DEVICE_MODEL := RT-N12
+ DEVICE_VARIANT := D1
+ $(Device/asus)
+ PRODUCTID := RT-N12D1
+endef
+TARGET_DEVICES += asus-rt-n12-d1
+
+define Device/asus-rt-n12hp
+ DEVICE_MODEL := RT-N12HP
+ $(Device/asus)
+ PRODUCTID := RT-N12HP
+endef
+TARGET_DEVICES += asus-rt-n12hp
+
+define Device/asus-rt-n14uhp
+ DEVICE_MODEL := RT-N14UHP
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N14UHP
+endef
+TARGET_DEVICES += asus-rt-n14uhp
+
+define Device/asus-rt-n15u
+ DEVICE_MODEL := RT-N15U
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N15U
+endef
+TARGET_DEVICES += asus-rt-n15u
+
+define Device/asus-rt-n16
+ DEVICE_MODEL := RT-N16
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N16
+endef
+TARGET_DEVICES += asus-rt-n16
+
+define Device/asus-rt-n53
+ DEVICE_MODEL := RT-N53
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/asus)
+ PRODUCTID := RT-N53
+endef
+TARGET_DEVICES += asus-rt-n53
+
+define Device/asus-rt-n66u
+ DEVICE_MODEL := RT-N66U
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N66U
+endef
+TARGET_DEVICES += asus-rt-n66u
+
+define Device/asus-rt-n66w
+ DEVICE_MODEL := RT-N66W
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/asus)
+ PRODUCTID := RT-N66U
+endef
+TARGET_DEVICES += asus-rt-n66w
+
+define Device/linksys-wrt160n-v3
+ DEVICE_MODEL := WRT160N
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := N150
+ VERSION := 3.0.3
+endef
+TARGET_DEVICES += linksys-wrt160n-v3
+
+define Device/linksys-wrt310n-v2
+ DEVICE_MODEL := WRT310N
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 310N
+ VERSION := 2.0.1
+endef
+TARGET_DEVICES += linksys-wrt310n-v2
+
+define Device/linksys-wrt320n-v1
+ DEVICE_MODEL := WRT320N
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 320N
+ VERSION := 1.0.5
+endef
+TARGET_DEVICES += linksys-wrt320n-v1
+
+define Device/linksys-e900-v1
+ DEVICE_MODEL := E900
+ DEVICE_VARIANT := v1
+ $(Device/linksys)
+ DEVICE_ID := E900
+ VERSION := 1.0.4
+endef
+TARGET_DEVICES += linksys-e900-v1
+
+define Device/linksys-e1000
+ DEVICE_MODEL := E1000
+ DEVICE_VARIANT := v1/v2/v2.1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := E100
+ VERSION := 1.1.3
+endef
+TARGET_DEVICES += linksys-e1000
+
+define Device/linksys-e1200-v1
+ DEVICE_MODEL := E1200
+ DEVICE_VARIANT := v1
+ $(Device/linksys)
+ DEVICE_ID := E120
+ VERSION := 1.0.3
+endef
+TARGET_DEVICES += linksys-e1200-v1
+
+define Device/linksys-e1200-v2
+ DEVICE_MODEL := E1200
+ DEVICE_VARIANT := v2
+ $(Device/linksys)
+ DEVICE_ID := E122
+ VERSION := 1.0.4
+endef
+TARGET_DEVICES += linksys-e1200-v2
+
+define Device/linksys-e1500-v1
+ DEVICE_MODEL := E1500
+ DEVICE_VARIANT := v1
+ $(Device/linksys)
+ DEVICE_ID := E150
+ VERSION := 1.0.5
+endef
+TARGET_DEVICES += linksys-e1500-v1
+
+define Device/linksys-e1550-v1
+ DEVICE_MODEL := E1550
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ DEVICE_ID := 1550
+ VERSION := 1.0.3
+endef
+TARGET_DEVICES += linksys-e1550-v1
+
+define Device/linksys-e2000-v1
+ DEVICE_MODEL := E2000
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 32XN
+ VERSION := 1.0.4
+endef
+TARGET_DEVICES += linksys-e2000-v1
+
+define Device/linksys-e2500-v1
+ DEVICE_MODEL := E2500
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := E25X
+ VERSION := 1.0.7
+endef
+TARGET_DEVICES += linksys-e2500-v1
+
+define Device/linksys-e2500-v2
+ DEVICE_MODEL := E2500
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := E25X
+ VERSION := 2.0.0
+endef
+TARGET_DEVICES += linksys-e2500-v2
+
+define Device/linksys-e2500-v2.1
+ DEVICE_MODEL := E2500
+ DEVICE_VARIANT := v2.1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 25RU
+ VERSION := 2.1.0
+endef
+TARGET_DEVICES += linksys-e2500-v2.1
+
+define Device/linksys-e2500-v3
+ DEVICE_MODEL := E2500
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 25V3
+ VERSION := 3.0.0
+endef
+TARGET_DEVICES += linksys-e2500-v3
+
+define Device/linksys-e3200-v1
+ DEVICE_MODEL := E3200
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/linksys)
+ DEVICE_ID := 3200
+ VERSION := 1.0.1
+endef
+TARGET_DEVICES += linksys-e3200-v1
+
+define Device/linksys-e4200-v1
+ DEVICE_MODEL := E4200
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/linksys)
+ DEVICE_ID := 4200
+ VERSION := 1.0.5
+endef
+TARGET_DEVICES += linksys-e4200-v1
+
+define Device/netgear-wgr614-v10-na
+ DEVICE_MODEL := WGR614
+ DEVICE_VARIANT := v10 (NA)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H139T01_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wgr614-v10-na
+
+define Device/netgear-wgr614-v10
+ DEVICE_MODEL := WGR614
+ DEVICE_VARIANT := v10
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H139T01_NETGEAR
+ NETGEAR_REGION := 1
+endef
+TARGET_DEVICES += netgear-wgr614-v10
+
+define Device/netgear-wn2500rp-v1
+ DEVICE_MODEL := WN2500RP
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H197T00_NETGEAR
+ NETGEAR_REGION := 1
+endef
+TARGET_DEVICES += netgear-wn2500rp-v1
+
+define Device/netgear-wn3000rp
+ DEVICE_MODEL := WN3000RP
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H163T01_NETGEAR
+ NETGEAR_REGION := 1
+endef
+TARGET_DEVICES += netgear-wn3000rp
+
+define Device/netgear-wndr3400-v1
+ DEVICE_MODEL := WNDR3400
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H155T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wndr3400-v1
+
+define Device/netgear-wndr3400-v2
+ DEVICE_MODEL := WNDR3400
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H187T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wndr3400-v2
+
+define Device/netgear-wndr3400-v3
+ DEVICE_MODEL := WNDR3400
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H208T00_NETGEAR
+ NETGEAR_REGION := 1
+endef
+TARGET_DEVICES += netgear-wndr3400-v3
+
+define Device/netgear-wndr3700-v3
+ DEVICE_MODEL := WNDR3700
+ DEVICE_VARIANT := v3
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H194T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wndr3700-v3
+
+define Device/netgear-wndr3400-vcna
+ DEVICE_MODEL := WNDR3400
+ DEVICE_VARIANT := vcna
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H155T01_NETGEAR
+ NETGEAR_REGION := 2
+endef
+# TARGET_DEVICES += netgear-wndr3400-vcna
+
+define Device/netgear-wndr4000
+ DEVICE_MODEL := WNDR4000
+ DEVICE_VARIANT := v1
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H181T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wndr4000
+
+define Device/netgear-wnr1000-v3
+ DEVICE_MODEL := WNR1000
+ DEVICE_VARIANT := v3
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H139T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wnr1000-v3
+
+define Device/netgear-wnr2000v2
+ DEVICE_MODEL := WNR2000
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H114T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wnr2000v2
+
+define Device/netgear-wnr3500l-v1-na
+ DEVICE_MODEL := WNR3500L
+ DEVICE_VARIANT := v1 (NA)
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H136T99_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wnr3500l-v1-na
+
+define Device/netgear-wnr3500l-v1
+ DEVICE_MODEL := WNR3500L
+ DEVICE_VARIANT := v1 (ROW)
+ DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H136T99_NETGEAR
+ NETGEAR_REGION := 1
+endef
+TARGET_DEVICES += netgear-wnr3500l-v1
+
+define Device/netgear-wnr3500l-v2
+ DEVICE_MODEL := WNR3500L
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H172T00_NETGEAR
+ NETGEAR_REGION := 1
+endef
+TARGET_DEVICES += netgear-wnr3500l-v2
+
+define Device/netgear-wnr3500u
+ DEVICE_MODEL := WNR3500U
+ DEVICE_PACKAGES := $(USB2_PACKAGES)
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H136T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+# TARGET_DEVICES += netgear-wnr3500u
+
+define Device/netgear-wnr3500-v2
+ DEVICE_MODEL := WNR3500
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H127T00_NETGEAR
+ NETGEAR_REGION := 2
+endef
+TARGET_DEVICES += netgear-wnr3500-v2
+
+define Device/netgear-wnr3500-v2-vc
+ DEVICE_MODEL := WNR3500
+ DEVICE_VARIANT := v2 (VC)
+ DEVICE_PACKAGES := kmod-b43
+ $(Device/netgear)
+ NETGEAR_BOARD_ID := U12H127T70_NETGEAR
+ NETGEAR_REGION := 2
+endef
+# TARGET_DEVICES += netgear-wnr3500-v2-vc
+
+TARGET_DEVICES += standard standard-noloader-nodictionarylzma
+endif
+
+#################################################
+# Shared BuildImage defines
+#################################################
+
+define Image/Build/Initramfs
+ $(STAGING_DIR_HOST)/bin/trx \
+ -m 33554432 \
+ -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx \
+ -f $(KDIR)/loader.gz \
+ -f $(KDIR)/vmlinux-initramfs.lzma
+ $(STAGING_DIR_HOST)/bin/trx \
+ -m 33554432 \
+ -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs-noloader-nodictionary.trx \
+ -f $(KDIR)/vmlinux-initramfs-nodictionary.lzma
+endef
+
+# $(1): filesystem type.
+define Image/Build
+ # TODO: Move it to Device/*
+ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
+ $(call Image/Build/Initramfs)
+endif
+endef
+
+$(eval $(call BuildImage))