aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/image/mt7622.mk
diff options
context:
space:
mode:
authorINAGAKI Hiroshi <musashino.open@gmail.com>2021-03-07 18:36:16 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2021-03-15 17:02:17 +0100
commit74f15628dd8c4b00071f7a94996ff9b695a6bd7a (patch)
tree510bd25ea48cf6d57b0b5c246a8fcb531e5189f4 /target/linux/mediatek/image/mt7622.mk
parent58c5e256648293fee08792098f1d8643ceedf7fd (diff)
downloadupstream-74f15628dd8c4b00071f7a94996ff9b695a6bd7a.tar.gz
upstream-74f15628dd8c4b00071f7a94996ff9b695a6bd7a.tar.bz2
upstream-74f15628dd8c4b00071f7a94996ff9b695a6bd7a.zip
mediatek: add support for Buffalo WSR-2533DHP2
This adds support for the Buffalo WSR-2533DHP2. The device uses the Broadcom TRX image format with a special magic. To be able to boot the images or load them they have to be wrapped with different headers depending how it is loaded. There are multiple ways to install OpenWrt on this device. Boot ramdisk from U-Boot ---------------------------- This will load the image and not write it into the flash. 1. Stop boot menu with "space" key 2. Select "System Load Linux to SDRAM via TFTP." 3. Load this image: openwrt-mediatek-mt7622-buffalo_wsr-2533dhp2-initramfs-kernel.bin 4. The system boots the image Write to flash from U-Boot ----------------------------- This will load the image over tftp and directly write it into the flash. 1. Stop boot menu with "space" key 2. Select "System Load Linux Kernel then write to Flash via TFTP." 3. Load this image: openwrt-mediatek-mt7622-buffalo_wsr-2533dhp2-squashfs-factory-uboot.bin 4. The system writes this image into the flash and boots into it. Write to flash from Web UI ----------------------------- This will load the image over over the Web UI and write it into the flash 1. Open the Web UI 2. Go to "管理" -> "ファームウェア更新" 3. Select "ローカルファイル指定" and click "更新実行" 4. Load this image: openwrt-mediatek-mt7622-buffalo_wsr-2533dhp2-squashfs-factory.bin 5. The system writes this image into the flash and boots into it. Specifications ------------------- * SoC: MT7622 (4x4 2.4 GHz Wifi) * Wifi: MT7615 (4x4 5 GHz Wifi) * Flash: Winbond W29N01HZ 128MB SLC NAND * RAM 256MB * Ethernet: Realtek RTL8367S (5 x 1GBit/s, SoC via 2.5GBit/s) Co-Developed-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/mediatek/image/mt7622.mk')
-rw-r--r--target/linux/mediatek/image/mt7622.mk64
1 files changed, 64 insertions, 0 deletions
diff --git a/target/linux/mediatek/image/mt7622.mk b/target/linux/mediatek/image/mt7622.mk
index 6824d4a8ee..e31baf2275 100644
--- a/target/linux/mediatek/image/mt7622.mk
+++ b/target/linux/mediatek/image/mt7622.mk
@@ -6,6 +6,28 @@ else
KERNEL_LOADADDR := 0x44000000
endif
+define Image/Prepare
+ # For UBI we want only one extra block
+ rm -f $(KDIR)/ubi_mark
+ echo -ne '\xde\xad\xc0\xde' > $(KDIR)/ubi_mark
+endef
+
+define Build/buffalo-kernel-trx
+ $(eval magic=$(word 1,$(1)))
+ $(eval dummy=$(word 2,$(1)))
+ $(eval kern_size=$(if $(KERNEL_SIZE),$(KERNEL_SIZE),0x400000))
+
+ $(if $(dummy),touch $(dummy))
+ $(STAGING_DIR_HOST)/bin/otrx create $@.new \
+ $(if $(magic),-M $(magic),) \
+ -f $@ \
+ $(if $(dummy),\
+ -a 0x20000 \
+ -b $$(( $(subst k, * 1024,$(kern_size)) )) \
+ -f $(dummy),)
+ mv $@.new $@
+endef
+
define Build/bl2
cat $(STAGING_DIR_IMAGE)/mt7622-$1-bl2.img >> $@
endef
@@ -34,6 +56,19 @@ define Build/mt7622-gpt
rm $@.tmp
endef
+define Build/trx-nand
+ # kernel: always use 4 MiB (-28 B or TRX header) to allow upgrades even
+ # if it grows up between releases
+ # root: UBI with one extra block containing UBI mark to trigger erasing
+ # rest of partition
+ $(STAGING_DIR_HOST)/bin/otrx create $@.new \
+ -M 0x32504844 \
+ -f $(IMAGE_KERNEL) -a 0x20000 -b 0x400000 \
+ -f $@ \
+ -A $(KDIR)/ubi_mark -a 0x20000
+ mv $@.new $@
+endef
+
define Device/bananapi_bpi-r64
DEVICE_VENDOR := Bananapi
DEVICE_MODEL := BPi-R64
@@ -51,6 +86,35 @@ define Device/bananapi_bpi-r64
endef
TARGET_DEVICES += bananapi_bpi-r64
+define Device/buffalo_wsr-2533dhp2
+ DEVICE_VENDOR := Buffalo
+ DEVICE_MODEL := WSR-2533DHP2
+ DEVICE_DTS := mt7622-buffalo-wsr-2533dhp2
+ DEVICE_DTS_DIR := ../dts
+ IMAGE_SIZE := 59392k
+ KERNEL_SIZE := 4096k
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ SUBPAGESIZE := 512
+ UBINIZE_OPTS := -E 5
+ BUFFALO_TAG_PLATFORM := MTK
+ BUFFALO_TAG_VERSION := 9.99
+ BUFFALO_TAG_MINOR := 9.99
+ IMAGES += factory.bin factory-uboot.bin
+ KERNEL_INITRAMFS := kernel-bin | lzma | \
+ fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | \
+ buffalo-kernel-trx
+ IMAGE/factory.bin := append-ubi | trx-nand | \
+ buffalo-enc WSR-2533DHP2 $$(BUFFALO_TAG_VERSION) -l | \
+ buffalo-tag-dhp WSR-2533DHP2 JP JP | buffalo-enc-tag -l | buffalo-dhp-image
+ IMAGE/factory-uboot.bin := append-ubi | trx-nand
+ IMAGE/sysupgrade.bin := append-kernel | \
+ buffalo-kernel-trx 0x32504844 $(KDIR)/tmp/$$(DEVICE_NAME).null | \
+ sysupgrade-tar kernel=$$$$@ | append-metadata
+ DEVICE_PACKAGES := kmod-mt7615e kmod-mt7615-firmware swconfig uboot-envtools
+endef
+TARGET_DEVICES += buffalo_wsr-2533dhp2
+
define Device/elecom_wrc-2533gent
DEVICE_VENDOR := Elecom
DEVICE_MODEL := WRC-2533GENT