aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image/generic-ubnt.mk
diff options
context:
space:
mode:
authorJohn Crispin <john@phrozen.org>2018-05-06 10:20:11 +0200
committerJohn Crispin <john@phrozen.org>2018-05-07 08:06:51 +0200
commit53c474abbdfef8eb3499e2d10c9ad491788b8a72 (patch)
treeacd19415420664f59bc63c1ceb4ad37bb7323027 /target/linux/ath79/image/generic-ubnt.mk
parent3dc523f232ff01d31d59345f5fa6de508d5059ef (diff)
downloadupstream-53c474abbdfef8eb3499e2d10c9ad491788b8a72.tar.gz
upstream-53c474abbdfef8eb3499e2d10c9ad491788b8a72.tar.bz2
upstream-53c474abbdfef8eb3499e2d10c9ad491788b8a72.zip
ath79: add new OF only target for QCA MIPS silicon
This target aims to replace ar71xx mid-term. The big part that is still missing is making the MMIO/AHB wifi work using OF. NAND and mikrotik subtargets will follow. Signed-off-by: John Crispin <john@phrozen.org>
Diffstat (limited to 'target/linux/ath79/image/generic-ubnt.mk')
-rw-r--r--target/linux/ath79/image/generic-ubnt.mk274
1 files changed, 274 insertions, 0 deletions
diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk
new file mode 100644
index 0000000000..c0370ad589
--- /dev/null
+++ b/target/linux/ath79/image/generic-ubnt.mk
@@ -0,0 +1,274 @@
+DEVICE_VARS += UBNT_BOARD UBNT_CHIP UBNT_TYPE
+
+# mkubntimage is using the kernel image direct
+# routerboard creates partitions out of the ubnt header
+define Build/mkubntimage
+ -$(STAGING_DIR_HOST)/bin/mkfwimage \
+ -B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
+ -k $(IMAGE_KERNEL) \
+ -r $@ \
+ -o $@
+endef
+
+# all UBNT XM device expect the kernel image to have 1024k while flash, when
+# booting the image, the size doesn't matter.
+define Build/mkubntimage-split
+ -[ -f $@ ] && ( \
+ dd if=$@ of=$@.old1 bs=1024k count=1; \
+ dd if=$@ of=$@.old2 bs=1024k skip=1; \
+ $(STAGING_DIR_HOST)/bin/mkfwimage \
+ -B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
+ -k $@.old1 \
+ -r $@.old2 \
+ -o $@; \
+ rm $@.old1 $@.old2 )
+endef
+
+define Build/mkubntimage2
+ -$(STAGING_DIR_HOST)/bin/mkfwimage2 -f 0x9f000000 \
+ -v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
+ -p jffs2:0x50000:0xf60000:0:0:$@ \
+ -o $@.new
+ @mv $@.new $@
+endef
+
+
+# UBNT_BOARD e.g. one of (XS2, XS5, RS, XM)
+# UBNT_TYPE e.g. one of (BZ, XM, XW)
+# UBNT_CHIP e.g. one of (ar7240, ar933x, ar934x)
+define Device/ubnt
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+ DEVICE_PROFILE := UBNT
+ IMAGE_SIZE := 7552k
+ UBNT_BOARD := XM
+ IMAGES := sysupgrade.bin factory.bin
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+ IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
+endef
+
+define Device/ubnt-xm
+ $(Device/ubnt)
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ohci
+ UBNT_TYPE := XM
+ UBNT_CHIP := ar7240
+ ATH_SOC := ar7241
+endef
+
+define Device/ubnt-xw
+ $(Device/ubnt)
+ UBNT_TYPE := XW
+ UBNT_CHIP := ar934x
+endef
+
+define Device/ubnt-bz
+ $(Device/ubnt)
+ UBNT_TYPE := BZ
+ UBNT_CHIP := ar7240
+endef
+
+define Device/rw2458n
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti RW2458N
+ BOARDNAME := RW2458N
+endef
+#TARGET_DEVICES += rw2458n
+
+define Device/ubnt-airrouter
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti AirRouter
+ BOARDNAME := UBNT-AR
+endef
+#TARGET_DEVICES += ubnt-airrouter
+
+define Device/ubnt-bullet-m
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti Bullet-M
+ BOARDNAME := UBNT-BM
+endef
+TARGET_DEVICES += ubnt-bullet-m
+
+define Device/ubnt-rocket-m
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti Rocket-M
+ BOARDNAME := UBNT-RM
+endef
+TARGET_DEVICES += ubnt-rocket-m
+
+define Device/ubnt-nano-m
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti Nano-M
+ BOARDNAME := UBNT-NM
+endef
+TARGET_DEVICES += ubnt-nano-m
+
+define Device/ubnt-unifi
+ $(Device/ubnt-bz)
+ ATH_SOC := ar7241
+ DEVICE_TITLE := Ubiquiti UniFi
+ BOARDNAME := UBNT-UF
+ DEVICE_PROFILE += UBNTUNIFI
+endef
+TARGET_DEVICES += ubnt-unifi
+
+define Device/ubnt-unifiac
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb2
+ DEVICE_PROFILE := UBNT
+ IMAGE_SIZE := 7744k
+ MTDPARTS := spi0.0:384k(u-boot)ro,64k(u-boot-env)ro,7744k(firmware),7744k(ubnt-airos)ro,128k(bs),256k(cfg)ro,64k(EEPROM)ro
+ IMAGES := sysupgrade.bin
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+endef
+
+define Device/ubnt-unifiac-lite
+ $(Device/ubnt-unifiac)
+ DEVICE_TITLE := Ubiquiti UniFi AC-Lite
+ DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca988x
+ DEVICE_PROFILE += UBNTUNIFIACLITE
+ BOARDNAME := UBNT-UF-AC-LITE
+endef
+#TARGET_DEVICES += ubnt-unifiac-lite
+
+define Device/ubnt-unifiac-mesh
+ $(Device/ubnt-unifiac-lite)
+ DEVICE_TITLE := Ubiquiti UniFi AC-Mesh
+endef
+#TARGET_DEVICES += ubnt-unifiac-mesh
+
+define Device/ubnt-unifiac-pro
+ $(Device/ubnt-unifiac)
+ DEVICE_TITLE := Ubiquiti UniFi AC-Pro
+ DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
+ DEVICE_PROFILE += UBNTUNIFIACPRO
+ BOARDNAME := UBNT-UF-AC-PRO
+endef
+#TARGET_DEVICES += ubnt-unifiac-pro
+
+define Device/ubnt-unifi-outdoor
+ $(Device/ubnt-bz)
+ DEVICE_TITLE := Ubiquiti UniFi Outdoor
+ BOARDNAME := UBNT-U20
+ DEVICE_PROFILE += UBNTUNIFIOUTDOOR
+endef
+#TARGET_DEVICES += ubnt-unifi-outdoor
+
+define Device/ubnt-nano-m-xw
+ $(Device/ubnt-xw)
+ DEVICE_TITLE := Ubiquiti Nano M XW
+ BOARDNAME := UBNT-NM-XW
+endef
+#TARGET_DEVICES += ubnt-nano-m-xw
+
+define Device/ubnt-loco-m-xw
+ $(Device/ubnt-xw)
+ DEVICE_TITLE := Ubiquiti Loco XW
+ BOARDNAME := UBNT-LOCO-XW
+endef
+#TARGET_DEVICES += ubnt-loco-m-xw
+
+define Device/ubnt-rocket-m-xw
+ $(Device/ubnt-xw)
+ DEVICE_TITLE := Ubiquiti Rocket M XW
+ BOARDNAME := UBNT-RM-XW
+endef
+#TARGET_DEVICES += ubnt-rocket-m-xw
+
+define Device/ubnt-rocket-m-ti
+ $(Device/ubnt-xw)
+ DEVICE_TITLE := Ubiquiti Rocket M TI
+ BOARDNAME := UBNT-RM-TI
+ UBNT_TYPE := TI
+endef
+#TARGET_DEVICES += ubnt-rocket-m-ti
+
+define Device/ubnt-air-gateway
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti Air Gateway
+ BOARDNAME := UBNT-AGW
+ UBNT_TYPE := AirGW
+ UBNT_CHIP := ar933x
+ CONSOLE := ttyATH0,115200
+endef
+#TARGET_DEVICES += ubnt-air-gateway
+
+define Device/ubnt-air-gateway-pro
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti Air Gateway Pro
+ BOARDNAME := UBNT-AGWP
+ UBNT_TYPE := AirGWP
+ UBNT_CHIP := ar934x
+endef
+#TARGET_DEVICES += ubnt-air-gateway-pro
+
+define Device/ubdev01
+ $(Device/ubnt-xm)
+ DEVICE_TITLE := Ubiquiti ubDEV01
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7488k(firmware),64k(certs),256k(cfg)ro,64k(EEPROM)ro
+ BOARDNAME := UBNT-UF
+ UBNT_BOARD := UBDEV01
+endef
+#TARGET_DEVICES += ubdev01
+
+define Device/ubnt-routerstation
+ DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2
+ DEVICE_PROFILE := UBNT
+ IMAGE_SIZE := 16128k
+ IMAGES := sysupgrade.bin factory.bin
+ IMAGE/factory.bin := append-rootfs | pad-rootfs | mkubntimage
+ IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | check-size $$$$(IMAGE_SIZE)
+ KERNEL := kernel-bin | patch-cmdline | lzma | pad-to $$(BLOCKSIZE)
+endef
+
+define Device/ubnt-rs
+ $(Device/ubnt-routerstation)
+ DEVICE_TITLE := Ubiquiti RouterStation
+ BOARDNAME := UBNT-RS
+ DEVICE_PROFILE += UBNTRS
+ UBNT_BOARD := RS
+ UBNT_TYPE := RSx
+ UBNT_CHIP := ar7100
+endef
+#TARGET_DEVICES += ubnt-rs
+
+define Device/ubnt-rspro
+ $(Device/ubnt-routerstation)
+ DEVICE_TITLE := Ubiquiti RouterStation Pro
+ BOARDNAME := UBNT-RSPRO
+ DEVICE_PROFILE += UBNTRSPRO
+ UBNT_BOARD := RSPRO
+ UBNT_TYPE := RSPRO
+ UBNT_CHIP := ar7100pro
+endef
+#TARGET_DEVICES += ubnt-rspro
+
+define Device/ubnt-ls-sr71
+ $(Device/ubnt-routerstation)
+ DEVICE_TITLE := Ubiquiti LS-SR71
+ BOARDNAME := UBNT-LS-SR71
+ UBNT_BOARD := LS-SR71
+ UBNT_TYPE := LS-SR71
+ UBNT_CHIP := ar7100
+endef
+#TARGET_DEVICES += ubnt-ls-sr71
+
+define Device/ubnt-uap-pro
+ DEVICE_TITLE := Ubiquiti UAP Pro
+ KERNEL_SIZE := 1536k
+ IMAGE_SIZE := 15744k
+ MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1536k(kernel),14208k(rootfs),256k(cfg)ro,64k(EEPROM)ro,15744k@0x50000(firmware)
+ UBNT_TYPE := BZ
+ UBNT_CHIP := ar934x
+ BOARDNAME := UAP-PRO
+ DEVICE_PROFILE := UBNT UAPPRO
+ KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 kernel0
+ IMAGES := sysupgrade.bin factory.bin
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+ IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage2
+endef
+
+define Device/ubnt-unifi-outdoor-plus
+ $(Device/ubnt-uap-pro)
+ DEVICE_TITLE := Ubiquiti UniFi Outdoor Plus
+ UBNT_CHIP := ar7240
+ BOARDNAME := UBNT-UOP
+ DEVICE_PROFILE := UBNT
+endef